Boost logo

Boost :

From: Vladimir Prus (vladimir_at_[hidden])
Date: 2008-07-07 00:15:29


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


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