Boost logo

Boost Users :

Subject: [Boost-users] building universal boost binaries (MacOS)
From: Nick Zavaritsky (mejedi_at_[hidden])
Date: 2012-10-23 16:29:21


Hi!

Boost.build docs says that to build 'fat' binaries on the Mac two options exist: architecture=combined and/or address-model=32_64. The first one builds a binary with PowerPC and x86 code. The second one builds a binary with 32 and 64bit code. The doc further states that architectire= and address-model= are independent: one can use the first one alone or the second one alone or both simultaneously yielding different results.
(http://www.boost.org/boost-build2/doc/html/bbv2/reference/tools.html#bbv2.reference.tools.compiler.darwin)

I would like to use address-mode=x86_64 to build x86/x86_64 fat binaries of boost libraries. Unfortunately with boost 1.51 it doesn't work this way — in order to get fat binaries one has to specify both architecture=combined and address-mode=32_64. Since we don't want power pc support we strip binaries from ppc code using lipo.

This is a very suboptimal solution since we compile ppc variant anyway and that takes time. Even worse is that the modern toolchain doesn't support PowerPC hence we have to compile Boost using older toolchain.

Currently address-model=32_64 works only if architecture=combined was specified as well (tried with Xcode 4.5 and 3.2.5).

Is this really a bug in Boost.build? If that is by design what is the method to build boost fat binaries with modern toolchain lacking ppc support?


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net