diff options
Diffstat (limited to 'meta/recipes-support/boost')
15 files changed, 123 insertions, 461 deletions
diff --git a/meta/recipes-support/boost/bjam-native_1.73.0.bb b/meta/recipes-support/boost/bjam-native_1.73.0.bb deleted file mode 100644 index d843eb038c..0000000000 --- a/meta/recipes-support/boost/bjam-native_1.73.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -require boost-${PV}.inc - -SUMMARY = "Portable Boost.Jam build tool for boost" -SECTION = "devel" - -inherit native - -SRC_URI += "file://0001-Build-debug-version-of-bjam.patch \ - file://0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch \ - " - -do_compile() { - ./bootstrap.sh --with-toolset=gcc -} - -do_install() { - install -d ${D}${bindir}/ - # install unstripped version for bjam - install -c -m 755 b2 ${D}${bindir}/bjam -} diff --git a/meta/recipes-support/boost/boost-1.73.0.inc b/meta/recipes-support/boost/boost-1.84.0.inc index b574757199..5bbea2ba5b 100644 --- a/meta/recipes-support/boost/boost-1.73.0.inc +++ b/meta/recipes-support/boost/boost-1.84.0.inc @@ -11,11 +11,10 @@ BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" BOOST_P = "boost_${BOOST_VER}" -SRC_URI = "https://dl.bintray.com/boostorg/release/${PV}/source/${BOOST_P}.tar.bz2" -SRC_URI[md5sum] = "9273c8c4576423562bbe84574b07b2bd" -SRC_URI[sha256sum] = "4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402" +SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2" +SRC_URI[sha256sum] = "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454" UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" -UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/" +UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/" S = "${WORKDIR}/${BOOST_P}" diff --git a/meta/recipes-support/boost/boost-build-native_1.84.0.bb b/meta/recipes-support/boost/boost-build-native_1.84.0.bb new file mode 100644 index 0000000000..a345bac499 --- /dev/null +++ b/meta/recipes-support/boost/boost-build-native_1.84.0.bb @@ -0,0 +1,28 @@ +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 = "8d86b9a85407d73d6e8c631771f18c2a237d2d71" +PE = "1" + +UPSTREAM_CHECK_GITTAGREGEX = "boost-(?P<pver>(\d+(\.\d+)+))" + +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 ca140d595f..77105aa1fa 100644 --- a/meta/recipes-support/boost/boost.inc +++ b/meta/recipes-support/boost/boost.inc @@ -1,22 +1,34 @@ 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" CVE_PRODUCT = "boost:boost" -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +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 \ @@ -24,23 +36,14 @@ BOOST_LIBS = "\ regex \ serialization \ system \ - timer \ test \ thread \ + timer \ + type_erasure \ + url \ wave \ " -# only supported by x86 and powerpc -BOOST_LIBS_append_x86 = " context coroutine" -BOOST_LIBS_append_x86-64 = " context coroutine" -BOOST_LIBS_append_powerpc = " context coroutine" -BOOST_LIBS_append_arm = " context coroutine" -BOOST_LIBS_append_aarch64 = " context coroutine" -# need consistent settings for native builds (x86 override not applied for native) -BOOST_LIBS_remove_class-native = " context coroutine" -# does not compile -BOOST_LIBS_remove_mips16e = "wave" - # optional libraries PACKAGECONFIG ??= "locale python" PACKAGECONFIG[locale] = ",,icu" @@ -62,40 +65,43 @@ PACKAGES = "${PN}-dbg ${BOOST_PACKAGES}" python __anonymous () { packages = [] extras = [] + 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) + if not d.getVar("FILES:%s" % pkg): + d.setVar("FILES:%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib) else: - d.setVar("FILES_%s%s" % (mlprefix, pkg), d.getVar("FILES_%s" % pkg)) + 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_${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.* \ +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 ${libdir}/cmake" -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}" -FILES_${PN} = "" -ALLOW_EMPTY_${PN} = "1" -RRECOMMENDS_${PN} += "${BOOST_PACKAGES}" -RRECOMMENDS_${PN}_class-native = "" +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}" @@ -146,26 +152,28 @@ 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=${WORKDIR}/user-config.jam \ - --build-dir=${S}/${TARGET_SYS} \ + -sICU_PATH=${STAGING_EXECPREFIXDIR} \ + --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" +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" +BJAM_OPTS:append:arm = " abi=aapcs architecture=arm" +BJAM_OPTS:append:aarch64 = " abi=aapcs address-model=64 architecture=arm" 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. rm -f ${WORKDIR}/user-config.jam - echo 'using gcc : 4.3.1 : ${CXX} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;' >> ${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 @@ -176,7 +184,7 @@ do_configure() { echo "using mpi : : <find-shared-library>mpi ;" >> ${WORKDIR}/user-config.jam fi - CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" ./bootstrap.sh --with-bjam=bjam --with-toolset=gcc + 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 @@ -184,8 +192,9 @@ do_configure() { } do_compile() { - rm -rf ${S}/${TARGET_SYS} - bjam ${BJAM_OPTS} --prefix=${prefix} \ + cd ${S} + b2 ${BJAM_OPTS} \ + --prefix=${prefix} \ --exec-prefix=${exec_prefix} \ --libdir=${libdir} \ --includedir=${includedir} \ @@ -193,7 +202,8 @@ do_compile() { } do_install() { - bjam ${BJAM_OPTS} \ + cd ${S} + b2 ${BJAM_OPTS} \ --libdir=${D}${libdir} \ --includedir=${D}${includedir} \ install diff --git a/meta/recipes-support/boost/boost/0001-Apply-boost-1.62.0-no-forced-flags.patch.patch b/meta/recipes-support/boost/boost/0001-Apply-boost-1.62.0-no-forced-flags.patch.patch deleted file mode 100644 index 169906344f..0000000000 --- a/meta/recipes-support/boost/boost/0001-Apply-boost-1.62.0-no-forced-flags.patch.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 8845a786598f1d9e83aa1b7d2966b0d1eb765ba0 Mon Sep 17 00:00:00 2001 -From: Christopher Larson <chris_larson@mentor.com> -Date: Tue, 13 Dec 2016 10:14:31 -0700 -Subject: [PATCH 1/3] Apply boost-1.62.0-no-forced-flags.patch - -Upstream-Status: Inappropriate -Signed-off-by: Christopher Larson <chris_larson@mentor.com> ---- - libs/log/build/Jamfile.v2 | 4 ++-- - libs/log/config/x86-ext/Jamfile.jam | 16 ++++++++-------- - libs/log/src/dump_avx2.cpp | 4 ++++ - libs/log/src/dump_ssse3.cpp | 4 ++++ - 4 files changed, 18 insertions(+), 10 deletions(-) - -diff --git a/libs/log/build/Jamfile.v2 b/libs/log/build/Jamfile.v2 -index 4abbdbc..b3016fc 100644 ---- a/libs/log/build/Jamfile.v2 -+++ b/libs/log/build/Jamfile.v2 -@@ -373,7 +373,7 @@ rule avx2-targets-cond ( properties * ) - } - else if <toolset>clang in $(properties) - { -- result = <cxxflags>"-mavx -mavx2" ; -+ result = <cxxflags> ; - } - else if <toolset>intel in $(properties) - { -@@ -383,7 +383,7 @@ rule avx2-targets-cond ( properties * ) - } - else - { -- result = <cxxflags>"-xCORE-AVX2 -fabi-version=0" ; -+ result = <cxxflags>"-fabi-version=0" ; - } - } - else if <toolset>msvc in $(properties) -diff --git a/libs/log/config/x86-ext/Jamfile.jam b/libs/log/config/x86-ext/Jamfile.jam -index 0e9695a..dcc394d 100644 ---- a/libs/log/config/x86-ext/Jamfile.jam -+++ b/libs/log/config/x86-ext/Jamfile.jam -@@ -15,19 +15,19 @@ project /boost/log/x86-extensions - - obj ssse3 : ssse3.cpp - : -- <toolset>gcc:<cxxflags>"-msse -msse2 -msse3 -mssse3" -- <toolset>clang:<cxxflags>"-msse -msse2 -msse3 -mssse3" -- <toolset>intel-linux:<cxxflags>"-xSSSE3" -- <toolset>intel-darwin:<cxxflags>"-xSSSE3" -+ <toolset>gcc:<cxxflags> -+ <toolset>clang:<cxxflags> -+ <toolset>intel-linux:<cxxflags> -+ <toolset>intel-darwin:<cxxflags> - <toolset>intel-win:<cxxflags>"/QxSSSE3" - ; - - obj avx2 : avx2.cpp - : -- <toolset>gcc:<cxxflags>"-mavx -mavx2 -fabi-version=0" -- <toolset>clang:<cxxflags>"-mavx -mavx2" -- <toolset>intel-linux:<cxxflags>"-xCORE-AVX2 -fabi-version=0" -- <toolset>intel-darwin:<cxxflags>"-xCORE-AVX2 -fabi-version=0" -+ <toolset>gcc:<cxxflags>"-fabi-version=0" -+ <toolset>clang:<cxxflags> -+ <toolset>intel-linux:<cxxflags>"-fabi-version=0" -+ <toolset>intel-darwin:<cxxflags>"-fabi-version=0" - <toolset>intel-win:<cxxflags>"/arch:CORE-AVX2" - <toolset>msvc:<cxxflags>"/arch:AVX" - ; -diff --git a/libs/log/src/dump_avx2.cpp b/libs/log/src/dump_avx2.cpp -index 4ab1250..610fc6d 100644 ---- a/libs/log/src/dump_avx2.cpp -+++ b/libs/log/src/dump_avx2.cpp -@@ -22,6 +22,10 @@ - #include <boost/cstdint.hpp> - #include <boost/log/detail/header.hpp> - -+#if !defined(__AVX2__) -+#error "AVX2 Unsupported!" -+#endif -+ - #if defined(__x86_64) || defined(__x86_64__) || \ - defined(__amd64__) || defined(__amd64) || \ - defined(_M_X64) -diff --git a/libs/log/src/dump_ssse3.cpp b/libs/log/src/dump_ssse3.cpp -index 1325b49..60d4112 100644 ---- a/libs/log/src/dump_ssse3.cpp -+++ b/libs/log/src/dump_ssse3.cpp -@@ -22,6 +22,10 @@ - #include <boost/cstdint.hpp> - #include <boost/log/detail/header.hpp> - -+#if !defined(__SSSE3__) -+#error "SSSE3 Unsupported!" -+#endif -+ - #if defined(__x86_64) || defined(__x86_64__) || \ - defined(__amd64__) || defined(__amd64) || \ - defined(_M_X64) --- -2.8.0 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 index 7c6b62e383..9ba5d5cc33 100644 --- 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 @@ -1,22 +1,22 @@ -From f4d3fad43d67808d71325ba0df1457555b9a0086 Mon Sep 17 00:00:00 2001 +From 18185e939ca121335a6172c8e50872af8122a759 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 | 133 ---------------------------------- - 1 file changed, 133 deletions(-) + tools/build/src/tools/gcc.jam | 153 ---------------------------------- + 1 file changed, 153 deletions(-) diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam -index 8910a55f2..ed7e7b20c 100644 +index 834f5e1bf..493a43e6d 100644 --- a/tools/build/src/tools/gcc.jam +++ b/tools/build/src/tools/gcc.jam -@@ -1195,136 +1195,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : +@@ -1113,156 +1113,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : <architecture>$(architecture)/<instruction-set>$(instruction-set) : $(values) ; } @@ -66,7 +66,14 @@ index 8910a55f2..ed7e7b20c 100644 -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 : -march=icelake ; +-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 : rocketlake : -march=rocketlake ; +-cpu-flags gcc OPTIONS : x86 : alderlake : -march=alderlake ; +-cpu-flags gcc OPTIONS : x86 : sapphirerapids : -march=sapphirerapids ; -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 ; @@ -92,10 +99,13 @@ index 8910a55f2..ed7e7b20c 100644 -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 : znver3 : -march=znver3 ; -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 @@ -151,8 +161,15 @@ index 8910a55f2..ed7e7b20c 100644 -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" ; --- -2.17.1 - +- +-# Enable response file control +-toolset.flags gcc RESPONSE_FILE_SUB <response-file>auto : a ; +-toolset.flags gcc RESPONSE_FILE_SUB <response-file>file : f ; +-toolset.flags gcc RESPONSE_FILE_SUB <response-file>contents : c ; diff --git a/meta/recipes-support/boost/boost/0001-Make-index-detail-rtree-visitors-insert-base-class-p.patch b/meta/recipes-support/boost/boost/0001-Make-index-detail-rtree-visitors-insert-base-class-p.patch deleted file mode 100644 index 1edad329ca..0000000000 --- a/meta/recipes-support/boost/boost/0001-Make-index-detail-rtree-visitors-insert-base-class-p.patch +++ /dev/null @@ -1,30 +0,0 @@ -From aafbceccc76dccb75963dd4f596fd1f10ee34b03 Mon Sep 17 00:00:00 2001 -From: Jonathan Wakely <boost@kayari.org> -Date: Fri, 5 Jun 2020 19:29:27 +0100 -Subject: [PATCH] Make index::detail::rtree::visitors::insert base class public - -Fixes #721 - -Upstream-Status: Backport [https://github.com/boostorg/geometry/commit/aafbceccc76dccb75963dd4f596fd1f10ee34b03] - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - boost/geometry/index/detail/rtree/visitors/insert.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/boost/geometry/index/detail/rtree/visitors/insert.hpp b/boost/geometry/index/detail/rtree/visitors/insert.hpp -index 2d324cb7f..5709a930c 100644 ---- a/boost/geometry/index/detail/rtree/visitors/insert.hpp -+++ b/boost/geometry/index/detail/rtree/visitors/insert.hpp -@@ -265,7 +265,7 @@ struct insert_traverse_data - // Default insert visitor - template <typename Element, typename MembersHolder> - class insert -- : MembersHolder::visitor -+ : public MembersHolder::visitor - { - protected: - typedef typename MembersHolder::box_type box_type; --- -2.26.2 - 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 index 78b19225d4..913810a340 100644 --- 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 @@ -1,4 +1,4 @@ -From 59402e3a61d14eb7ce8c2019ea1a87ad4bd28605 Mon Sep 17 00:00:00 2001 +From bbb0845c0a79238fb2e84cca41826a0944b6ce7e 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 @@ -13,13 +13,14 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> 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 +index 493a43e6d..42dccbdfe 100644 --- a/tools/build/src/tools/gcc.jam +++ b/tools/build/src/tools/gcc.jam -@@ -430,20 +430,6 @@ local rule compile-link-flags ( * ) +@@ -360,20 +360,6 @@ local rule compile-link-flags ( * ) + compile-link-flags <link>shared/<target-os>$(non-windows) : -fPIC ; } - { +-{ - # Handle address-model - compile-link-flags <target-os>aix/<address-model>32 : -maix32 ; - compile-link-flags <target-os>aix/<address-model>64 : -maix64 ; @@ -33,10 +34,6 @@ index c7e3cf3..24486e0 100644 - 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/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 deleted file mode 100644 index 917617a044..0000000000 --- a/meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch +++ /dev/null @@ -1,112 +0,0 @@ -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 index 595ba17865..9b6fcc6358 100644 --- 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 @@ -1,4 +1,4 @@ -From cabfcba1ff7511ffd6b91ca244288d44f585aad2 Mon Sep 17 00:00:00 2001 +From d6864bd78c01c5e8578805a7b67555c70a0e99a2 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 @@ -14,10 +14,10 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com> 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 +index fd840287e..5aff7d724 100644 --- a/libs/math/build/Jamfile.v2 +++ b/libs/math/build/Jamfile.v2 -@@ -13,7 +13,7 @@ project +@@ -14,7 +14,7 @@ project #<toolset>intel-linux:<pch>off <toolset>intel-darwin:<pch>off <toolset>msvc-7.1:<pch>off @@ -26,6 +26,3 @@ index e19fb2e..82472a7 100644 #<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_1.73.0.bb b/meta/recipes-support/boost/boost_1.73.0.bb deleted file mode 100644 index 995c14e8cc..0000000000 --- a/meta/recipes-support/boost/boost_1.73.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -require boost-${PV}.inc -require boost.inc - -SRC_URI += "file://arm-intrinsics.patch \ - file://boost-CVE-2012-2677.patch \ - file://boost-math-disable-pch-for-gcc.patch \ - file://0001-Apply-boost-1.62.0-no-forced-flags.patch.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://0001-Make-index-detail-rtree-visitors-insert-base-class-p.patch \ - " diff --git a/meta/recipes-support/boost/boost_1.84.0.bb b/meta/recipes-support/boost/boost_1.84.0.bb new file mode 100644 index 0000000000..4b580d078b --- /dev/null +++ b/meta/recipes-support/boost/boost_1.84.0.bb @@ -0,0 +1,7 @@ +require boost-${PV}.inc +require boost.inc + +SRC_URI += "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 \ + " diff --git a/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch b/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch deleted file mode 100644 index c6dcee915e..0000000000 --- a/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 19c117c3d1388654da484e26afb3fb6c3e4181a9 Mon Sep 17 00:00:00 2001 -From: Daniel Klauer <daniel.klauer@gin.de> -Date: Tue, 30 Jul 2019 11:39:09 +0200 -Subject: [PATCH] Build debug version of bjam - -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: Alexander Kanavin <alex.kanavin@gmail.com> ---- - bootstrap.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bootstrap.sh b/bootstrap.sh -index ca0b08d58..87f38dcf2 100755 ---- a/bootstrap.sh -+++ b/bootstrap.sh -@@ -223,7 +223,7 @@ rm -f config.log - if test "x$BJAM" = x; then - $ECHO -n "Building Boost.Build engine with toolset $TOOLSET... " - pwd=`pwd` -- (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1 -+ (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET" --debug) > bootstrap.log 2>&1 - if [ $? -ne 0 ]; then - echo - echo "Failed to build Boost.Build build engine" --- -2.17.1 - diff --git a/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch b/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch deleted file mode 100644 index 4c6ef2ed84..0000000000 --- a/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 2afd025997a57794ce24e07e914b461dfea6ba5f Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 26 Aug 2019 16:04:16 +0200 -Subject: [PATCH] build.sh: use -DNDEBUG also in debug builds - -Without it, there is a significant performance regression -when running 'bjam install'. - -Upstream-Status: Inappropriate [configuration] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - tools/build/src/engine/build.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh -index a1e4cd335..64e0a4c80 100755 ---- a/tools/build/src/engine/build.sh -+++ b/tools/build/src/engine/build.sh -@@ -436,7 +436,7 @@ case $B2_OS in - ;; - esac - --if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}" -+if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG} -DNDEBUG" - else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG" - fi - echo_run ${B2_CXX} ${CXXFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 |