[OE-core] boost: Ineffective compileflags and linkflags in user-config.jam

Mike Crowe mac at mcrowe.com
Tue Feb 18 20:53:46 UTC 2014


boost.inc's do_boostconfig task contains:

 # D2194:Fixing the failure of "error: duplicate initialization of gcc with the following parameters" during compilation.
 if ! grep -qe "^using gcc : 4.3.1" ${S}/tools/build/v2/user-config.jam
 then
   echo 'using gcc : 4.3.1 : ${CXX} : compileflags -DBOOST_SP_USE_PTHREADS -I${includedir} linkflags -L${libdir} ;' >> ${S}/tools/build/v2/user-config.jam
 fi

The compileflags and linkflags have no effect as far as I can tell when
passing -d+2 to bjam to display the command invocations. The "using gcc"
line appears to date back into the mists of meta-oe.

The correct syntax would appear to be:

 'using gcc ; 4.3.1 : ${CXX} : <compileflags>"-DBOOST_SP_USE_PTHREADS -I${includedir}" <linkflags>"-L${libdir}" ;'

(this syntax can be seen in the -sBUILD part of BJAM_TOOLS and is
documented at
http://www.boost.org/boost-build2/doc/html/bbv2/reference/tools.html .)

But, if those options have no effect then they can't be required so should they just be removed? i.e. just use:

 'using gcc ; 4.3.1 : ${CXX} : ;'

or should users of this recipe be given a convenient ability to override
the compileflags, with perhaps something like:

 'using gcc ; 4.3.1 : ${CXX} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" ;'

I'm mainly interested in this because I wish to pass "-std=gnu++11". I can
confirm that the last suggestion solves my problem when I add this to my
bbappend:

CXXFLAGS += "-std=gnu++11"

Any advice gratefully received. Thanks.

Mike.




More information about the Openembedded-core mailing list