Boost logo

Boost :

From: Roland Schwarz (roland.schwarz_at_[hidden])
Date: 2007-01-26 14:59:30


I tried to port parts of the libs/serialization/build/serialization.jam
to bbv2 for better support of the msvc-6.5 compiler.

I am currently running a regression which seems to have far lower
failing tests.

To build with this compiler it is necessary to check out the
SPIRIT_RC_1_6_2 branch to a directory first.

In the environmet or better in site-config the statement

path-constant SPIRIT_RC_1_6_2 : "H:/Projects/boost/SPIRIT_RC_1_6_2" ;

has to be added. Of course the shown path needs to be replaced with your
checkout path. (Forgetting to do this will emit an error message with
instructions.)

Unfortunately this approach does not help with borland-8.5.2 because it
still does not compile with SPIRIT_RC_1_6_2 in place. Any help on this
highly appreciated!

(patch attached)
Roland


? patch.diff
Index: Jamfile.v2
===================================================================
RCS file: /cvsroot/boost/boost/libs/serialization/build/Jamfile.v2,v
retrieving revision 1.7
diff -u -r1.7 Jamfile.v2
--- Jamfile.v2 6 Mar 2006 08:20:39 -0000 1.7
+++ Jamfile.v2 26 Jan 2007 19:47:47 -0000
@@ -8,6 +8,8 @@
 
 project boost/serialization
     : source-location ../src
+ : requirements
+ <conditional>@require-boost-spirit-support
     ;
 
 SOURCES =
@@ -68,3 +70,32 @@
         :
         : <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
         ;
+
+# building this library needs the 1.6 version of spirit
+# for certain compilers
+rule require-boost-spirit-support ( properties * )
+{
+ local result ;
+ local req-legacy = false ;
+
+ if <toolset-msvc:version>6.5 in $(properties) { req-legacy = true ; }
+ if <toolset-borland:version>8.5.2 in $(properties) { req-legacy = true ; }
+
+ if $(req-legacy) = true
+ {
+ if $(SPIRIT_RC_1_6_2) {
+ # using the <cxxflags> for include will ensure it comes before
+ # the regular boost includes
+ result += <cxxflags>-I$(SPIRIT_RC_1_6_2) ;
+ }
+ else {
+ echo "**** spirit 1.6x required to build serialization library with this compiler ****" ;
+ echo "**** You wil need to get branch SPIRIT_RC_1_6_2 from CVS and add ****" ;
+ echo "**** path-constant SPIRIT_RC_1_6_2 : your_path_to_checked_out_branch ; ****" ;
+ echo "**** to site-config.jam . ==> skipping build for now. ****" ;
+ result += <build>no ;
+ }
+ }
+
+ return $(result) ;
+}


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk