
Daryle Walker wrote:
On Jul 6, 2008, at 7:35 AM, Vladimir Prus wrote:
Daryle Walker wrote:
OK, I tried Boost.Build out:
1. Since I'm loading from SVN, I'm have to make sure bjam is always generated after an update. I have this in a shell script:
//================================= MY_HOME=~ MY_PROGRAMMING="$MY_HOME"/Documents/Programming MY_BOOST="$MY_PROGRAMMING"/Boost MY_BOOST_SVN="$MY_BOOST"/main-svn/boost-trunk
echo "Updating Boost Main SVN" cd "$MY_BOOST_SVN" svn update echo "Rebuilding Boost.Jam for SVN" cd "$MY_BOOST_SVN"/tools/jam/src sh ./build.sh cp bin.macosxppc/bjam "$MY_HOME"/bin/bjam-svn rm -rf bootstrap rm -rf bin.macosxppc //=================================
Is there a better way to do this? Is making the final executable be named "bjam-svn" bad? Calling "bjam-svn --version" gets me "Boost.Build V2 (Milestone 12) Boost.Jam 03.1.17" (on two lines). It properly uses the "darwin" toolset when building.
This looks fine. I'm not sure about "better" way -- if this one works, then it works.
But I don't think Boost.Jam gets updated that often, but I'm building each time (and cleaning afterwards). I wonder if there's a way to use "svn info --xml" to get the date of the last Boost.Jam repository update, do some comparisons, and use that to activate the need for a rebuild. (My scripting skills are minimal.)
I don't think you need to bother, as building bjam takes about zero time. Furthermore, bjam is not changed very often, so you may use the last released version.
2. I put $MY_BOOST down as my $BOOST_BUILD_PATH, so I wouldn't have to put the *-config.jam files in my home directory. My copies of the latest Boost download and the subversion repository are also in this directory. Will that mess anything up? What's the "site-config.jam" file for anyway? Only one line was uncommented in "user-config.jam", the "using gcc ;" line. Is this suitable for a Mac OS X (10.4.11) system?
No, you need "darwin" as tools.
Do you mean changing the "using gcc ;" line to "using gcc : : : <linker-type>darwin ;"? But doing "bjam-svn --help gcc.init" makes it seems that the "linker-type" should have been chosen by default?
No, I mean "using darwin ; "
Hmm, doing that change made it work! However, I got a help message from doing "bjam-svn --help darwin.init" too. Does this mean I should add a "using darwin ;" line in my user-config.jam? Would that line complement or replace the current GCC line?
The version of gcc provided by apple goes by the name 'darwnin'. You'd need 'gcc' toolset only if you have a FSF gcc somewhere.
daryle[hello]$ bjam-svn toolset=darwin ~/Documents/Programming/Boost/main-svn/boost-trunk/tools/build/v2/ build/feature.jam:466: in feature.validate-value-string from module feature error: "10.2" is not a known value of feature <macosx-version>
Oh, you actually have 10.2 SDK installed? Can you "svn up" and try again?
Building the Hello example after my last SVN update didn't change anything.
Is the error message *exactly* the same? Or it now complains about 10.1?
Are you assuming that I'm actively using the 10.2 SDK? I'm not, but...
..I have all of the SDKs I can support. I'm on a Mac OS X 10.4 (PowerPC) system. The versions of XCode that my OS supports can retain multiple SDKs. Besides the native 10.4 (Universal) SDK, I also have the SDKs for 10.3.9, 10.2.8, and the super secret 10.1(.5?)
Oh, you have 10.1 too? Please update, make sure tools/build/v2/tools/darwin.jam is of revision 47164 and try again. - Volodya