diff options
Diffstat (limited to 'meta/recipes-support/boost')
16 files changed, 567 insertions, 284 deletions
diff --git a/meta/recipes-support/boost/bjam-native_1.58.0.bb b/meta/recipes-support/boost/bjam-native_1.58.0.bb deleted file mode 100644 index 32646d707b..0000000000 --- a/meta/recipes-support/boost/bjam-native_1.58.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -include boost-${PV}.inc - -SUMMARY = "Portable Boost.Jam build tool for boost" -SECTION = "devel" - -inherit native - -SRC_URI += "file://bjam-native-build-bjam.debug.patch" - -do_compile() { - ./bootstrap.sh --with-toolset=gcc -} - -do_install() { - install -d ${D}${bindir}/ - # install unstripped version for bjam - install -c -m 755 bjam.debug ${D}${bindir}/bjam -} diff --git a/meta/recipes-support/boost/boost-1.58.0.inc b/meta/recipes-support/boost/boost-1.78.0.inc index b47d091335..729a47b54f 100644 --- a/meta/recipes-support/boost/boost-1.58.0.inc +++ b/meta/recipes-support/boost/boost-1.78.0.inc @@ -7,16 +7,14 @@ HOMEPAGE = "http://www.boost.org/" LICENSE = "BSL-1.0 & MIT & Python-2.0" LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" -BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}" -BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}" +BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" +BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" BOOST_P = "boost_${BOOST_VER}" -SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \ - file://0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch \ - file://0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch \ -" +SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2" +SRC_URI[sha256sum] = "8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc" -SRC_URI[md5sum] = "b8839650e61e9c1c0a89f371dd475546" -SRC_URI[sha256sum] = "fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5" +UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" +UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/" S = "${WORKDIR}/${BOOST_P}" diff --git a/meta/recipes-support/boost/boost-build-native_4.4.1.bb b/meta/recipes-support/boost/boost-build-native_4.4.1.bb new file mode 100644 index 0000000000..de566eeb82 --- /dev/null +++ b/meta/recipes-support/boost/boost-build-native_4.4.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Boost.Build" +DESCRIPTION = "B2 makes it easy to build C++ projects, everywhere." +HOMEPAGE = "https://github.com/boostorg/build" +SECTION = "devel" + +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI = "git://github.com/boostorg/build;protocol=https;branch=master" +SRCREV = "76da80f33187a3d9e5336157cdfae12ce82e37eb" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+){2,}))" + +inherit native + +S = "${WORKDIR}/git" + +do_compile() { + ./bootstrap.sh +} + +do_install() { + HOME=/var/run ./b2 install --prefix=${prefix} staging-prefix=${D}${prefix} +} + +# The build is either release mode (pre-stripped) or debug (-O0). +INSANE_SKIP:${PN} = "already-stripped" diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc index 3288e845f9..402f1592cf 100644 --- a/meta/recipes-support/boost/boost.inc +++ b/meta/recipes-support/boost/boost.inc @@ -1,32 +1,62 @@ SUMMARY = "Free peer-reviewed portable C++ source libraries" +DESCRIPTION = "Provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ \ +Standard Library. One goal is to establish 'existing practice' and \ +provide reference implementations so that the Boost libraries are suitable for eventual standardization. Some of the libraries have already been proposed for inclusion in the C++ Standards Committee's \ +upcoming C++ Standard Library Technical Report." SECTION = "libs" -DEPENDS = "bjam-native zlib bzip2" +DEPENDS = "boost-build-native zlib bzip2" -ARM_INSTRUCTION_SET = "arm" +CVE_PRODUCT = "boost:boost" + +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" + +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" BOOST_LIBS = "\ atomic \ chrono \ + container \ + context \ + contract \ + coroutine \ date_time \ + exception \ + fiber \ filesystem \ graph \ + headers \ iostreams \ + json \ log \ + math \ program_options \ random \ regex \ serialization \ - signals \ system \ test \ thread \ + timer \ + type_erasure \ + wave \ " -# optional boost-python library -PACKAGECONFIG ??= "" -PACKAGECONFIG[python] = ",,python python3" -BOOST_LIBS += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python python3', '', d)}" -inherit python-dir +# optional libraries +PACKAGECONFIG ??= "locale python" +PACKAGECONFIG[locale] = ",,icu" +PACKAGECONFIG[graph_parallel] = ",,,boost-mpi mpich" +PACKAGECONFIG[mpi] = ",,mpich" +PACKAGECONFIG[python] = ",,python3" + +BOOST_LIBS += "\ + ${@bb.utils.filter('PACKAGECONFIG', 'locale python', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel', 'graph_parallel mpi', \ + bb.utils.filter('PACKAGECONFIG', 'mpi', d), d)} \ +" + +inherit python3-dir PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}" # Make a package for each library, plus -dev @@ -34,39 +64,43 @@ PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}" python __anonymous () { packages = [] extras = [] - for lib in d.getVar('BOOST_LIBS', True).split( ): - # BJAM does not know '--with-python3' (only --with-python) - if lib != "python3": - extras.append("--with-%s" % lib) - pkg = "boost-%s" % lib.replace("_", "-") - packages.append(pkg) - if lib == "python": - # special: python*.so matches python3.so !! - if not d.getVar("FILES_%s" % pkg, True): - d.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s.so.*" % lib) + pn = d.getVar("PN") + mlprefix = d.getVar("MLPREFIX") + for lib in d.getVar('BOOST_LIBS').split(): + extras.append("--with-%s" % lib) + pkg = "boost-%s" % (lib.replace("_", "-")) + if "-native" in pn: + pkg = pkg + "-native" + packages.append(mlprefix + pkg) + if not d.getVar("FILES:%s" % pkg): + d.setVar("FILES:%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib) else: - if not d.getVar("FILES_%s" % pkg, True): - d.setVar("FILES_%s" % pkg, "${libdir}/libboost_%s*.so.*" % lib) + d.setVar("FILES:%s%s" % (mlprefix, pkg), d.getVar("FILES:%s" % pkg)) + d.setVar("BOOST_PACKAGES", " ".join(packages)) d.setVar("BJAM_EXTRA", " ".join(extras)) } # Override the contents of specific packages -FILES_boost-serialization = "${libdir}/libboost_serialization*.so.* \ +FILES:${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*" +FILES:${PN}-locale = "${libdir}/libboost_locale.so.*" +FILES:${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*" +FILES:boost-serialization = "${libdir}/libboost_serialization*.so.* \ ${libdir}/libboost_wserialization*.so.*" -FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \ +FILES:boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \ ${libdir}/libboost_unit_test_framework*.so.*" # -dev last to pick up the remaining stuff PACKAGES += "${PN}-dev ${PN}-staticdev" -FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so" -FILES_${PN}-staticdev = "${libdir}/libboost_*.a" +FILES:${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/cmake" +FILES:${PN}-staticdev = "${libdir}/libboost_*.a" # "boost" is a metapackage which pulls in all boost librabries PACKAGES += "${PN}" -RRECOMMENDS_${PN} += "${BOOST_PACKAGES}" -RRECOMMENDS_${PN}_class-native = "" -ALLOW_EMPTY_${PN} = "1" +FILES:${PN} = "" +ALLOW_EMPTY:${PN} = "1" +RRECOMMENDS:${PN} += "${BOOST_PACKAGES}" +RRECOMMENDS:${PN}:class-native = "" # to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works TARGET_CC_ARCH += "${LDFLAGS}" @@ -112,69 +146,62 @@ BJAM_TOOLS = "--ignore-site-config \ '--layout=system' \ " -# use PARALLEL_MAKE to speed up the build, but limit it by -j 64, greater paralelism causes bjam to segfault or to ignore -j -# https://svn.boost.org/trac/boost/ticket/7634 -def get_boost_parallel_make(bb, d): - pm = d.getVar('PARALLEL_MAKE', True) - if pm: - # look for '-j' and throw other options (e.g. '-l') away - # because they might have different meaning in bjam - pm = pm.split() - while pm: - v = None - opt = pm.pop(0) - if opt == '-j': - v = pm.pop(0) - elif opt.startswith('-j'): - v = opt[2:].strip() - else: - v = None - - if v: - v = min(64, int(v)) - return '-j' + str(v) - - return "" - -BOOST_PARALLEL_MAKE = "${@get_boost_parallel_make(bb, d)}" -BJAM_OPTS = '${BOOST_PARALLEL_MAKE} \ +# use PARALLEL_MAKE to speed up the build +BOOST_PARALLEL_MAKE = "${@oe.utils.parallel_make_argument(d, '-j%d')}" +BJAM_OPTS = '${BOOST_PARALLEL_MAKE} -d+2 -q \ ${BJAM_TOOLS} \ - -sBOOST_BUILD_USER_CONFIG=${S}/tools/build/example/user-config.jam \ - --builddir=${S}/${TARGET_SYS} \ + -sBOOST_BUILD_USER_CONFIG=${WORKDIR}/user-config.jam \ + --build-dir=${B} \ --disable-icu \ ${BJAM_EXTRA}' # Native compilation of bzip2 isn't working -BJAM_OPTS_append_class-native = ' -sNO_BZIP2=1' +BJAM_OPTS:append:class-native = ' -sNO_BZIP2=1' + +# Adjust the build for x32 +BJAM_OPTS:append:x86-x32 = " abi=x32 address-model=64" + +# cross compiling for arm fails to detect abi, so provide some help +BJAM_OPTS:append:arm = " abi=aapcs architecture=arm" +BJAM_OPTS:append:aarch64 = " abi=aapcs address-model=64 architecture=arm" -do_boostconfig() { - cp -f boost/config/platform/linux.hpp boost/config/platform/linux-gnueabi.hpp +do_configure() { + cd ${S} + cp -f ${S}/boost/config/platform/linux.hpp ${S}/boost/config/platform/linux-gnueabi.hpp # D2194:Fixing the failure of "error: duplicate initialization of gcc with the following parameters" during compilation. - sed -i "/^using gcc : 4.3.1/d" ${S}/tools/build/example/user-config.jam - sed -i "/^using python : ${PYTHON_BASEVERSION}"/d ${S}/tools/build/example/user-config.jam - echo 'using gcc : 4.3.1 : ${CXX} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;' >> ${S}/tools/build/example/user-config.jam - echo "using python : ${PYTHON_BASEVERSION} : : ${STAGING_INCDIR}/python${PYTHON_BASEVERSION} ;" >> ${S}/tools/build/example/user-config.jam - echo "using python : 3.4 : : ${STAGING_INCDIR}/python3.4m ;" >> ${S}/tools/build/example/user-config.jam - - CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=bjam --with-toolset=gcc --with-python-root=${PYTHON_ROOT} - sed -i '/^using python/d' project-config.jam -} + rm -f ${WORKDIR}/user-config.jam + echo 'using gcc : : ${CXX} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;' >> ${WORKDIR}/user-config.jam + + # If we want Python then we need to tell Boost *exactly* where to find it + if ${@bb.utils.contains('BOOST_LIBS', 'python', 'true', 'false', d)}; then + echo "using python : ${PYTHON_BASEVERSION} : ${STAGING_DIR_HOST}${bindir}/python3 : ${STAGING_DIR_HOST}${includedir}/${PYTHON_DIR}${PYTHON_ABI} : ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR} ;" >> ${WORKDIR}/user-config.jam + fi + + if ${@bb.utils.contains('BOOST_LIBS', 'mpi', 'true', 'false', d)}; then + echo "using mpi : : <find-shared-library>mpi ;" >> ${WORKDIR}/user-config.jam + fi -do_boostconfig[dirs] = "${S}" -addtask do_boostconfig after do_patch before do_configure + CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=b2 --with-toolset=gcc + + # Boost can't be trusted to find Python on it's own, so remove any mention + # of it from the boost configuration + sed -i '/using python/d' ${S}/project-config.jam +} do_compile() { - set -ex - bjam ${BJAM_OPTS} --prefix=${prefix} \ + cd ${S} + b2 ${BJAM_OPTS} \ + --prefix=${prefix} \ --exec-prefix=${exec_prefix} \ --libdir=${libdir} \ - --includedir=${includedir} + --includedir=${includedir} \ + --debug-configuration } do_install() { - set -ex - bjam ${BJAM_OPTS} \ + cd ${S} + b2 ${BJAM_OPTS} \ --libdir=${D}${libdir} \ --includedir=${D}${includedir} \ install @@ -187,6 +214,11 @@ do_install() { fi done + # Cmake files reference full paths to image + find ${D}${libdir}/cmake -type f | \ + grep 'cmake$' | \ + xargs -n 1 sed -e 's,${D}${libdir}/cmake,${libdir}/cmake,' -i + } BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch b/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch new file mode 100644 index 0000000000..67d5dff125 --- /dev/null +++ b/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch @@ -0,0 +1,167 @@ +From 4d2a8fc8117e56bc283349e5f7f889ebbfc55c71 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 18 Dec 2018 15:42:57 +0100 +Subject: [PATCH] Don't set up arch/instruction-set flags, we do that + +ourselves + +Upstream-Status: Inappropriate +Signed-off-by: Christopher Larson <chris_larson@mentor.com> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + tools/build/src/tools/gcc.jam | 144 ---------------------------------- + 1 file changed, 144 deletions(-) + +diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam +index 47a113223..d77525724 100644 +--- a/tools/build/src/tools/gcc.jam ++++ b/tools/build/src/tools/gcc.jam +@@ -1122,147 +1122,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : + <architecture>$(architecture)/<instruction-set>$(instruction-set) + : $(values) ; + } +- +- +-# Set architecture/instruction-set options. +-# +-# x86 and compatible +-# The 'native' option appeared in gcc 4.2 so we cannot safely use it as default. +-# Use i686 instead for 32-bit. +-toolset.flags gcc OPTIONS <architecture>x86/<address-model>32/<instruction-set> : -march=i686 ; +-cpu-flags gcc OPTIONS : x86 : native : -march=native ; +-cpu-flags gcc OPTIONS : x86 : i486 : -march=i486 ; +-cpu-flags gcc OPTIONS : x86 : i586 : -march=i586 ; +-cpu-flags gcc OPTIONS : x86 : i686 : -march=i686 ; +-cpu-flags gcc OPTIONS : x86 : pentium : -march=pentium ; +-cpu-flags gcc OPTIONS : x86 : pentium-mmx : -march=pentium-mmx ; +-cpu-flags gcc OPTIONS : x86 : pentiumpro : -march=pentiumpro ; +-cpu-flags gcc OPTIONS : x86 : pentium2 : -march=pentium2 ; +-cpu-flags gcc OPTIONS : x86 : pentium3 : -march=pentium3 ; +-cpu-flags gcc OPTIONS : x86 : pentium3m : -march=pentium3m ; +-cpu-flags gcc OPTIONS : x86 : pentium-m : -march=pentium-m ; +-cpu-flags gcc OPTIONS : x86 : pentium4 : -march=pentium4 ; +-cpu-flags gcc OPTIONS : x86 : pentium4m : -march=pentium4m ; +-cpu-flags gcc OPTIONS : x86 : prescott : -march=prescott ; +-cpu-flags gcc OPTIONS : x86 : nocona : -march=nocona ; +-cpu-flags gcc OPTIONS : x86 : core2 : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : conroe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : conroe-xe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : conroe-l : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : allendale : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : wolfdale : -march=core2 -msse4.1 ; +-cpu-flags gcc OPTIONS : x86 : merom : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : merom-xe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : kentsfield : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : kentsfield-xe : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : yorksfield : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : penryn : -march=core2 ; +-cpu-flags gcc OPTIONS : x86 : corei7 : -march=corei7 ; +-cpu-flags gcc OPTIONS : x86 : nehalem : -march=corei7 ; +-cpu-flags gcc OPTIONS : x86 : corei7-avx : -march=corei7-avx ; +-cpu-flags gcc OPTIONS : x86 : sandy-bridge : -march=corei7-avx ; +-cpu-flags gcc OPTIONS : x86 : core-avx-i : -march=core-avx-i ; +-cpu-flags gcc OPTIONS : x86 : ivy-bridge : -march=core-avx-i ; +-cpu-flags gcc OPTIONS : x86 : haswell : -march=core-avx-i -mavx2 -mfma -mbmi -mbmi2 -mlzcnt ; +-cpu-flags gcc OPTIONS : x86 : broadwell : -march=broadwell ; +-cpu-flags gcc OPTIONS : x86 : skylake : -march=skylake ; +-cpu-flags gcc OPTIONS : x86 : skylake-avx512 : -march=skylake-avx512 ; +-cpu-flags gcc OPTIONS : x86 : cannonlake : -march=skylake-avx512 -mavx512vbmi -mavx512ifma -msha ; +-cpu-flags gcc OPTIONS : x86 : icelake-client : -march=icelake-client ; +-cpu-flags gcc OPTIONS : x86 : icelake-server : -march=icelake-server ; +-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ; +-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ; +-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ; +-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ; +-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ; +-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ; +-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ; +-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ; +-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ; +-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ; +-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ; +-## +-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ; +-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ; +-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ; +-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ; +-cpu-flags gcc OPTIONS : x86 : k8-sse3 : -march=k8-sse3 ; +-cpu-flags gcc OPTIONS : x86 : opteron-sse3 : -march=opteron-sse3 ; +-cpu-flags gcc OPTIONS : x86 : athlon64-sse3 : -march=athlon64-sse3 ; +-cpu-flags gcc OPTIONS : x86 : amdfam10 : -march=amdfam10 ; +-cpu-flags gcc OPTIONS : x86 : barcelona : -march=barcelona ; +-cpu-flags gcc OPTIONS : x86 : bdver1 : -march=bdver1 ; +-cpu-flags gcc OPTIONS : x86 : bdver2 : -march=bdver2 ; +-cpu-flags gcc OPTIONS : x86 : bdver3 : -march=bdver3 ; +-cpu-flags gcc OPTIONS : x86 : bdver4 : -march=bdver4 ; +-cpu-flags gcc OPTIONS : x86 : btver1 : -march=btver1 ; +-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ; +-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ; +-cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ; +-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ; +-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ; +-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ; +-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ; +-cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ; +-## +-cpu-flags gcc OPTIONS : x86 : atom : -march=atom ; +-# Sparc +-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ; +-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ; +-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ; +-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ; +-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ; +-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ; +-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ; +-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ; +-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ; +-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ; +-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ; +-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ; +-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ; +-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ; +-# RS/6000 & PowerPC +-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ; +-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ; +-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ; +-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ; +-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ; +-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ; +-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ; +-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ; +-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ; +-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ; +-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ; +-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ; +-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ; +-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ; +-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ; +-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ; +-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ; +-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ; +-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ; +-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ; +-cpu-flags gcc OPTIONS : power : power : -mcpu=power ; +-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ; +-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ; +-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ; +-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ; +-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ; +-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ; +-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ; +-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ; +-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ; +-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ; +-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ; +-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ; +-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ; +-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ; +-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ; +-cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ; +-# ARM +-cpu-flags gcc OPTIONS : arm : cortex-a9+vfpv3 : -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard ; +-cpu-flags gcc OPTIONS : arm : cortex-a53 : -mcpu=cortex-a53 ; +-cpu-flags gcc OPTIONS : arm : cortex-r5 : -mcpu=cortex-r5 ; +-cpu-flags gcc OPTIONS : arm : cortex-r5+vfpv3-d16 : -mcpu=cortex-r5 -mfpu=vfpv3-d16 -mfloat-abi=hard ; +-# AIX variant of RS/6000 & PowerPC +-toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ; diff --git a/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch b/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch new file mode 100644 index 0000000000..78b19225d4 --- /dev/null +++ b/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch @@ -0,0 +1,42 @@ +From 59402e3a61d14eb7ce8c2019ea1a87ad4bd28605 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Thu, 14 Nov 2019 10:13:53 +0800 +Subject: [PATCH] dont setup compiler flags -m32/-m64 + +We don't want these to be setup by boost as we pass our own flags. + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + tools/build/src/tools/gcc.jam | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam +index c7e3cf3..24486e0 100644 +--- a/tools/build/src/tools/gcc.jam ++++ b/tools/build/src/tools/gcc.jam +@@ -430,20 +430,6 @@ local rule compile-link-flags ( * ) + } + + { +- # Handle address-model +- compile-link-flags <target-os>aix/<address-model>32 : -maix32 ; +- compile-link-flags <target-os>aix/<address-model>64 : -maix64 ; +- +- compile-link-flags <target-os>hpux/<address-model>32 : -milp32 ; +- compile-link-flags <target-os>hpux/<address-model>64 : -mlp64 ; +- +- local generic-os = [ set.difference $(all-os) : aix hpux ] ; +- local arch = power sparc x86 ; +- compile-link-flags <target-os>$(generic-os)/<architecture>$(arch)/<address-model>32 : -m32 ; +- compile-link-flags <target-os>$(generic-os)/<architecture>$(arch)/<address-model>64 : -m64 ; +-} +- +-{ + # Handle threading + local rule threading-flags ( * ) + { +-- +2.7.4 + diff --git a/meta/recipes-support/boost/boost/0001-futex-fix-build-on-32-bit-architectures-using-64-bit.patch b/meta/recipes-support/boost/boost/0001-futex-fix-build-on-32-bit-architectures-using-64-bit.patch new file mode 100644 index 0000000000..20dc3ca54e --- /dev/null +++ b/meta/recipes-support/boost/boost/0001-futex-fix-build-on-32-bit-architectures-using-64-bit.patch @@ -0,0 +1,36 @@ +From b15d8d0754bb545ba10d0cfba8bbfdfb22a62c38 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 20 Feb 2022 22:03:14 -0800 +Subject: [PATCH] futex: fix build on 32-bit architectures using 64-bit time_t + +Fix the following build failure on 32-bit architectures using 64-bit +time_t (e.g. riscv32): +| ./boost/fiber/detail/futex.hpp:31:23: error: use of undeclared identifier 'SYS_futex' +| return ::syscall( SYS_futex, addr, op, x, nullptr, nullptr, 0); +| ^ +| 1 error generated. + +Upstream-Status: Submitted [https://github.com/boostorg/fiber/pull/292] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + boost/fiber/detail/futex.hpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/boost/fiber/detail/futex.hpp b/boost/fiber/detail/futex.hpp +index e64bd5990..d0353e9e5 100644 +--- a/boost/fiber/detail/futex.hpp ++++ b/boost/fiber/detail/futex.hpp +@@ -12,6 +12,10 @@ + + #include <boost/fiber/detail/config.hpp> + ++#ifndef SYS_futex ++#define SYS_futex SYS_futex_time64 ++#endif ++ + #if BOOST_OS_LINUX + extern "C" { + #include <linux/futex.h> +-- +2.35.1 + diff --git a/meta/recipes-support/boost/boost/arm-intrinsics.patch b/meta/recipes-support/boost/boost/arm-intrinsics.patch deleted file mode 100644 index fe85c69a82..0000000000 --- a/meta/recipes-support/boost/boost/arm-intrinsics.patch +++ /dev/null @@ -1,55 +0,0 @@ -Upstream-Status: Backport - -8/17/2010 - rebased to 1.44 by Qing He <qing.he@intel.com> - -diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp b/boost/smart_ptr/detail/atomic_count_sync.hpp -index b6359b5..78b1cc2 100644 ---- a/boost/smart_ptr/detail/atomic_count_sync.hpp -+++ b/boost/smart_ptr/detail/atomic_count_sync.hpp -@@ -33,17 +33,46 @@ public: - - long operator++() - { -+#ifdef __ARM_ARCH_7A__ -+ int v1, tmp; -+ asm volatile ("1: \n\t" -+ "ldrex %0, %1 \n\t" -+ "add %0 ,%0, #1 \n\t" -+ "strex %2, %0, %1 \n\t" -+ "cmp %2, #0 \n\t" -+ "bne 1b \n\t" -+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp) -+ ); -+#else - return __sync_add_and_fetch( &value_, 1 ); -+#endif - } - - long operator--() - { -+#ifdef __ARM_ARCH_7A__ -+ int v1, tmp; -+ asm volatile ("1: \n\t" -+ "ldrex %0, %1 \n\t" -+ "sub %0 ,%0, #1 \n\t" -+ "strex %2, %0, %1 \n\t" -+ "cmp %2, #0 \n\t" -+ "bne 1b \n\t" -+ : "=&r" (v1), "+Q"(value_), "=&r"(tmp) -+ ); -+ return value_; -+#else - return __sync_add_and_fetch( &value_, -1 ); -+#endif - } - - operator long() const - { -+#if __ARM_ARCH_7A__ -+ return value_; -+#else - return __sync_fetch_and_add( &value_, 0 ); -+#endif - } - - private: diff --git a/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch b/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch new file mode 100644 index 0000000000..917617a044 --- /dev/null +++ b/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch @@ -0,0 +1,112 @@ +Reference + +https://svn.boost.org/trac/boost/changeset/78326 + +Upstream-Status: Backport +CVE: CVE-2012-2677 +Signed-off-by: Yue Tao <yue.tao@windriver.com> + +diff --git a/boost/pool/pool.hpp.old b/boost/pool/pool.hpp +index c47b11f..417a1e0 100644 +--- a/boost/pool/pool.hpp.old ++++ b/boost/pool/pool.hpp +@@ -26,6 +26,8 @@ + + #include <boost/pool/poolfwd.hpp> + ++// std::numeric_limits ++#include <boost/limits.hpp> + // boost::integer::static_lcm + #include <boost/integer/common_factor_ct.hpp> + // boost::simple_segregated_storage +@@ -355,6 +357,15 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t + return s; + } + ++ size_type max_chunks() const ++ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. ++ size_type partition_size = alloc_size(); ++ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type); ++ size_type max_chunks = (std::numeric_limits<size_type>::max() - POD_size) / alloc_size(); ++ ++ return max_chunks; ++ } ++ + static void * & nextof(void * const ptr) + { //! \returns Pointer dereferenced. + //! (Provided and used for the sake of code readability :) +@@ -375,6 +386,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t + //! the first time that object needs to allocate system memory. + //! The default is 32. This parameter may not be 0. + //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ set_next_size(nnext_size); ++ set_max_size(nmax_size); + } + + ~pool() +@@ -398,8 +411,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t + } + void set_next_size(const size_type nnext_size) + { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. +- //! \returns nnext_size. +- next_size = start_size = nnext_size; ++ BOOST_USING_STD_MIN(); ++ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks()); + } + size_type get_max_size() const + { //! \returns max_size. +@@ -407,7 +420,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t + } + void set_max_size(const size_type nmax_size) + { //! Set max_size. +- max_size = nmax_size; ++ BOOST_USING_STD_MIN(); ++ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks()); + } + size_type get_requested_size() const + { //! \returns the requested size passed into the constructor. +@@ -708,9 +722,9 @@ void * pool<UserAllocator>::malloc_need_resize() + + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, + store().add_block(node.begin(), node.element_size(), partition_size); +@@ -748,9 +762,9 @@ void * pool<UserAllocator>::ordered_malloc_need_resize() + + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, + // (we can use "add_block" here because we know that +@@ -792,6 +806,8 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n) + { //! Gets address of a chunk n, allocating new memory if not already available. + //! \returns Address of chunk n if allocated ok. + //! \returns 0 if not enough memory for n chunks. ++ if (n > max_chunks()) ++ return 0; + + const size_type partition_size = alloc_size(); + const size_type total_req_size = n * requested_size; +@@ -840,9 +856,9 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n) + + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // insert it into the list, + // handle border case. diff --git a/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch b/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch new file mode 100644 index 0000000000..595ba17865 --- /dev/null +++ b/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch @@ -0,0 +1,31 @@ +From cabfcba1ff7511ffd6b91ca244288d44f585aad2 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Fri, 23 Sep 2016 01:04:50 -0700 +Subject: [PATCH] boost-math: disable pch for gcc + +Upstream-Status: Inappropriate [*] + +* It's a work around for a defect when build in parallel: +https://svn.boost.org/trac/boost/ticket/12477 + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + libs/math/build/Jamfile.v2 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libs/math/build/Jamfile.v2 b/libs/math/build/Jamfile.v2 +index e19fb2e..82472a7 100644 +--- a/libs/math/build/Jamfile.v2 ++++ b/libs/math/build/Jamfile.v2 +@@ -13,7 +13,7 @@ project + #<toolset>intel-linux:<pch>off + <toolset>intel-darwin:<pch>off + <toolset>msvc-7.1:<pch>off +- <toolset>gcc,<target-os>windows:<pch>off ++ <toolset>gcc:<pch>off + #<toolset>gcc:<cxxflags>-fvisibility=hidden + <toolset>intel-linux:<cxxflags>-fvisibility=hidden + #<toolset>sun:<cxxflags>-xldscope=hidden +-- +2.7.4 + diff --git a/meta/recipes-support/boost/boost/de657e01635306085488290ea83de541ec393f8b.patch b/meta/recipes-support/boost/boost/de657e01635306085488290ea83de541ec393f8b.patch new file mode 100644 index 0000000000..867ec03ba6 --- /dev/null +++ b/meta/recipes-support/boost/boost/de657e01635306085488290ea83de541ec393f8b.patch @@ -0,0 +1,30 @@ +From de657e01635306085488290ea83de541ec393f8b Mon Sep 17 00:00:00 2001 +From: Leonardo Neumann <leonardo@neumann.dev.br> +Date: Mon, 13 Dec 2021 01:07:20 -0300 +Subject: [PATCH] Fix missing sys/stat.h include on musl-based systems + +Boost 1.78.0 fails to build on musl-based systems because musl does +not include sys/stat.h by default. + +Fixes #161 ("Boost compiler error") +Upstream-Status: Submitted [https://github.com/boostorg/interprocess/pull/162] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + include/boost/interprocess/permissions.hpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/boost/interprocess/permissions.hpp b/boost/interprocess/permissions.hpp +index ab55411e..0b21a685 100644 +--- a/boost/interprocess/permissions.hpp ++++ b/boost/interprocess/permissions.hpp +@@ -29,6 +29,10 @@ + + #include <boost/interprocess/detail/win32_api.hpp> + ++#else ++ ++#include <sys/stat.h> ++ + #endif + + #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED diff --git a/meta/recipes-support/boost/boost_1.58.0.bb b/meta/recipes-support/boost/boost_1.58.0.bb deleted file mode 100644 index c09d5f431f..0000000000 --- a/meta/recipes-support/boost/boost_1.58.0.bb +++ /dev/null @@ -1,6 +0,0 @@ -include boost-${PV}.inc -include boost.inc - -SRC_URI += "\ - file://arm-intrinsics.patch \ -" diff --git a/meta/recipes-support/boost/boost_1.78.0.bb b/meta/recipes-support/boost/boost_1.78.0.bb new file mode 100644 index 0000000000..58be9dcf12 --- /dev/null +++ b/meta/recipes-support/boost/boost_1.78.0.bb @@ -0,0 +1,10 @@ +require boost-${PV}.inc +require boost.inc + +SRC_URI += "file://boost-CVE-2012-2677.patch \ + file://boost-math-disable-pch-for-gcc.patch \ + file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ + file://0001-dont-setup-compiler-flags-m32-m64.patch \ + file://de657e01635306085488290ea83de541ec393f8b.patch \ + file://0001-futex-fix-build-on-32-bit-architectures-using-64-bit.patch \ + " diff --git a/meta/recipes-support/boost/files/0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch b/meta/recipes-support/boost/files/0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch deleted file mode 100644 index 329b4c3612..0000000000 --- a/meta/recipes-support/boost/files/0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 817aed0d755bf8c0ba4ef6a77d41538e50b571fd Mon Sep 17 00:00:00 2001 -From: claymore <carlosmf.pt@gmail.com> -Date: Fri, 24 Apr 2015 02:28:47 +0100 -Subject: [PATCH 1/2] mips1 fix added gcc.jam was passing the options -m32 and - -m64 to mips cross-compilers, when those do not use - such options This modification solves it by adding mips - as an exception - -Signed-off-by: Carlos M. Ferreira carlosmf.pt@gmail.com - -Upstream-Status: Backport -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> - ---- - tools/build/src/tools/gcc.jam | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index db04534..eff95ae 100644 ---- a/tools/build/src/tools/gcc.jam -+++ b/tools/build/src/tools/gcc.jam -@@ -451,7 +451,7 @@ rule setup-address-model ( targets * : sources * : properties * ) - else - { - local arch = [ feature.get-values architecture : $(properties) ] ; -- if $(arch) != arm -+ if $(arch) != arm && $(arch) != mips1 - { - if $(model) = 32 - { --- -1.7.9.5 - diff --git a/meta/recipes-support/boost/files/0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch b/meta/recipes-support/boost/files/0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch deleted file mode 100644 index ecf7e550f8..0000000000 --- a/meta/recipes-support/boost/files/0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f825634a56b119dfa9d712119a66279cc7635978 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks> -Date: Sat, 2 May 2015 14:24:02 +0200 -Subject: [PATCH 2/2] Don't pass -m32/-m64 where it's not supported. - -Only PowerPC, SPARC, and x86 do support the -m32 and -m64 compiler options [1]. - -Rather then excluding all architectures not supporting these options as it is -done in commit c0634341d9ee2c02d3a55c91dafb988afc066c49 [2], include all -architectures that do support them. - -This will fix building Boost for the SuperH architecture with Buildroot [3]. - -[1] https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html -[2] https://github.com/boostorg/build/commit/c0634341d9ee2c02d3a55c91dafb988afc066c49 -[3] http://autobuild.buildroot.net/results/ccd/ccd5c83963032ba49b1627b1dff39e34a9486943/build-end.log - -Upstream-Status: Backport -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> - ---- - tools/build/src/tools/gcc.jam | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index eff95ae..2f6af93 100644 ---- a/tools/build/src/tools/gcc.jam -+++ b/tools/build/src/tools/gcc.jam -@@ -451,7 +451,7 @@ rule setup-address-model ( targets * : sources * : properties * ) - else - { - local arch = [ feature.get-values architecture : $(properties) ] ; -- if $(arch) != arm && $(arch) != mips1 -+ if $(arch) = power || $(arch) = sparc || $(arch) = x86 - { - if $(model) = 32 - { --- -1.7.9.5 - diff --git a/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch b/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch deleted file mode 100644 index 9f8b7eac0a..0000000000 --- a/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 619ada314ab26c0c9cbfe5702cd9c0caa8f6415a Mon Sep 17 00:00:00 2001 -From: Wenzong Fan <wenzong.fan@windriver.com> -Date: Mon, 3 Aug 2015 17:12:33 +0800 -Subject: [PATCH] bjam-native: build bjam.debug - -bjam is stripped by default, this causes QA warning while stripping it -from do_populate_sysroot(): - - WARNING: File '.../tmp/sysroots/x86_64-linux/usr/bin/bjam' \ - from bjam-native was already stripped, \ - this will prevent future debugging! - -The JAM scripts allow to build unstripped version with '--debug'. Just -build and install the bjam.debug to stop bjam from being stripped in -compile step. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> ---- - bootstrap.sh | 1 + - tools/build/src/engine/build.sh | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/bootstrap.sh b/bootstrap.sh -index 98cf88b..54690aa 100755 ---- a/bootstrap.sh -+++ b/bootstrap.sh -@@ -228,6 +228,7 @@ if test "x$BJAM" = x; then - echo "tools/build/src/engine/$arch/b2" - cp "$BJAM" . - cp "$my_dir/tools/build/src/engine/$arch/bjam" . -+ cp "$my_dir/tools/build/src/engine/${arch}.debug/bjam" bjam.debug - - fi - -diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh -index 6dbc706..c69fdc7 100755 ---- a/tools/build/src/engine/build.sh -+++ b/tools/build/src/engine/build.sh -@@ -312,5 +312,5 @@ if test -x "./bootstrap/jam0" ; then - if test "${BJAM_UPDATE}" != "update" ; then - echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" clean - fi -- echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" -+ echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" --debug - fi --- -1.9.1 - |