[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