On Oct 6, 2008, at 12:07 PM, Mat Marcus wrote:
On Mon, Oct 6, 2008 at 9:47 AM, Rush Manbert
wrote: On Oct 4, 2008, at 3:08 PM, Sachin Garg wrote:
On Sat, Oct 4, 2008 at 1:11 AM, Rush Manbert
wrote: On Oct 3, 2008, at 6:30 AM, kittymaguire wrote:
When I put -static into the linker options, I get a lot of linker errors. So I don't think a static version is possible on the MAC.
How can I built each library that I need into a framework for the MAC?
Vladimir Prus-3 wrote:
kittymaguire wrote:
> > Hi > > I have tried to build the boost libraries on the MacOS as a > static > library > by giving bjam the --buid_type=static but it still built the > dynamic > version > of the libraries.
Here is a bjam command line that builds the 32 bit libraries, debug and release versions, both static and dynamic, targeted to Os X 10.4, with 10.4 as the minimum supported rev. It also installs them. You will need to adjust the path stuff to use it.
bjam debug release toolset=darwin address-model=32 architecture=combined threading=multi link=shared,static macosx-version=10.4 macosx-version-min=10.4 --layout=system --prefix=/tmp/boostbuild_20081003_104356/32 --exec-prefix=/tmp/boostbuild_20081003_104356/32 --builddir=./../buildProductsMac/boost install
Here's the equivalent for 64 bit libaries.
bjam debug release toolset=darwin address-model=64 architecture=combined threading=multi link=shared,static macosx-version=10.4 macosx-version-min=10.4 --layout=system --prefix=/tmp/boostbuild_20081003_104356/64 --exec-prefix=/tmp/boostbuild_20081003_104356/64 --builddir=./../buildProductsMac/boost install
Why the need to specify OsX version? (I am new to OsX development) _______________________________________________
By default, you get targeted to the current version, which is 10.5. If you need to be compatible with previous versions, you need to specify. I honestly don't quite know what the difference is between macosx- version and macosx-version-min, because I'm not the one who worked out what command line we needed. If you use Xcode, you will see that you can specify which SDK version you target there as well, to support backward compatibility.
macosx-version: which version of the SDK to use macosx-version-min: oldest OS version on which executables will be deployed
I'm not sure why the suggestion was made to set prefix and exec-prefix
Thanks, and sorry, I just threw out the entire command line that we use, expecting interested parties to edit for their circumstances. Note that this command line also builds dynamic and static libs, so you need to change that too if static is all you want. You also might not want --layout=system... - Rush