Boost logo

Boost Users :

Subject: [Boost-users] [boost] [build] [context] Mac build options for Boost.Context
From: Nat Goodspeed (nat_at_[hidden])
Date: 2016-12-22 15:46:48


Building Boost 1.57 on OS X 10.11, but building it *for* OS X down to
10.9, we're passing bjam a cxxflags command-line argument including
-mmacosx-version-min=10.9.

We see that switch (along with our other cxxflags switches) in most
"g++" lines in the build output, since we also pass -d2 -d+4.

But for the assembly source files in Boost.Context, the lines do not
contain our requested -mmacosx-version-min switch. In fact they don't
seem to contain any of our cxxflags switches. As a result, the
assembly object files are built for the OS X version on the build
host, 10.11.

At executable link time, this produces messages:

ld: warning: object file
(packages/lib/Release/libboost_context-mt.a(jump_x86_64_sysv_macho_gas.o))
was built for newer OSX version (10.11) than being linked (10.9)
ld: warning: object file
(packages/lib/Release/libboost_context-mt.a(make_x86_64_sysv_macho_gas.o))
was built for newer OSX version (10.11) than being linked (10.9)

(These are the only two .o files producing such messages.)

I'm afraid that the resulting executable won't run on OS X 10.9 or
10.10, and that segment of the population is still interesting to us.

How should we propagate the cxxflags=-mmacosx-version-min=10.9 feature
to the assembler command for Boost.Context?


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