|
Boost : |
From: Daryle Walker (darylew_at_[hidden])
Date: 2008-07-06 20:15:25
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.)
>> 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?
..
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?
>> 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. 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?)
[1] loaded. So far, I've only used the native 10.4 one. Boost.Build
must be able to deal with the presence of multiple SDKs, and
(generally) pick the latest; if it can't, then a bug report needs to
be filed.
I don't have a 10.5 system, but the setup has changed from what I've
read. The version of xcode that come with 10.5, xcode 3.0, made a
clean break from sub-10.5 systems; they will only build 10.5
programs. The last version of xcode for 10.4, xcode 2.5, is made to
be loaded onto a 10.5 system (in a separate directory) to serve all
sub-10.5 programming needs.
[1] The sub-10.4 SDKs are targeted to the last free point-version of
each line. There's no 10.0 SDK because 10.1 was a free upgrade from it.
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk