Compare commits

...

23 Commits

Author SHA1 Message Date
9dd5eacdd3 Fix up CI.
* Fix Circle-ci build.
* Move old compilers to drone.
Try adding gcc-14 to github runner.
2025-05-06 11:06:26 +01:00
c31aa2aee1 Merge pull request #515 from grafikrobot/patch-2
Move project dependencies to specific targets.
2025-04-16 09:20:12 +01:00
897765e348 Move project dependencies to specific targets. 2025-04-15 14:49:59 -05:00
cc87b132f8 Modular Boost and big CI update.
* Make the library modular usable.

* Add missing import-search for cconfig/predef checks.

* Add requires-b2 check to top-level build file.

* Bump B2 require to 5.2

* Remove boost-root target refs.

* Change all <source> references to <library>.

* Update copyright dates.

* Fix library global (relative) references.

* Move inter-lib dependencies to a project variable and into the build targets.

* Add Boost.StaticAssert transitive dep module.

* Only test on latest macOS.

* Add Boost.ThrowExceptions transitive dep module.

* Add Boost.Preprocessor transitive dep module.

* Change MacOS Clang std version to 20 from 2a

* Disable ranges on MacOS.
Remove CUDA testing - I just can't get CUDA to install any more.

* Update drone checkouts.

---------

Co-authored-by: Rene Rivera <grafikrobot@gmail.com>
2025-04-15 10:40:21 +01:00
404c7831d9 Merge pull request #507 from boostorg/mclow-patch-7
Update version.hpp
2024-12-13 09:31:24 -05:00
61a676cbdc Update version.hpp 2024-12-12 07:16:32 -08:00
19701e05d4 Merge pull request #501 from boostorg/mclow-patch-6
Update version.hpp to 1.87.0
2024-08-16 19:58:13 -04:00
504587b476 Update version.hpp 2024-08-14 10:10:46 -07:00
5734e160e0 Merge pull request #495 from boostorg/mclow-patch-5
Update version.hpp to 1.86
2024-04-17 19:38:50 -04:00
b160041a1b Update version.hpp to 1.86 2024-04-15 12:00:49 -07:00
601598f832 Merge pull request #492 from Lastique/feature/cxx17_auto_nontype_template_params
Fix Boost.Filesystem usage, add `BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS`
2024-01-26 16:25:50 +00:00
f68e9c6e8d Add BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS macro.
The macro indicates whether the compiler does not support C++17
auto non-type template parameters.
2024-01-22 16:23:23 +03:00
b8e57320d6 Update test generator to avoid using removed Boost.Filesystem APIs.
The previously deprecated Boost.Filesystem APIs are now removed. This
commit updates test generator to use the up-to-date replacement APIs.
2024-01-22 16:17:35 +03:00
d3b2997e91 Merge pull request #491 from boostorg/mclow-patch-2
Update version.hpp to 1.85.0
2023-12-19 12:48:29 +02:00
dba21bbaa1 Update version.hpp to 1.85.0 2023-12-14 13:56:22 -08:00
ccff36321f Update CI clang version now that gcc has changed. (#489) 2023-11-01 19:41:47 +00:00
b35f77942d Merge pull request #471 from boostorg/pr/gha-msvc140-cxxstd
Update cxxstd values for GHA msvc jobs
2023-11-01 11:28:46 +00:00
ce6e42df6f Merge pull request #488 from boostorg/pr/boost-clang-version-2
Update BOOST_CLANG_VERSION for Xcode 14.3, 15.0, 15.1
2023-11-01 11:28:08 +00:00
1d2698c1f6 Update BOOST_CLANG_VERSION for Xcode 14.3, 15.0, 15.1 2023-10-25 15:24:23 +03:00
a98574fc12 Merge pull request #487 from chrstphrchvz/patch-1
Use `__apple_build_version__` to detect Apple clang
2023-10-25 00:04:31 +01:00
9c34fb6585 Use __apple_build_version__ to detect Apple clang
…since __APPLE__ is defined by both Apple Clang and LLVM.org Clang
on Apple platforms.
2023-10-20 17:15:12 -05:00
54afd34839 Merge pull request #485 from boostorg/cpp23feature_test
Add C++23 feature test macro support.
2023-10-14 09:26:22 +01:00
9f8fbf36a6 Update cxxstd values for GHA msvc jobs 2023-01-24 03:15:28 +02:00
45 changed files with 358 additions and 215 deletions

View File

@ -6,7 +6,7 @@ jobs:
- BOOST_LIBRARY=config
- CXX_STANDARD=gnu++11
docker:
- image: gcc:7
- image: gcc:13
steps:
- checkout
- run:
@ -46,7 +46,7 @@ jobs:
- run:
name: Building inspect
command: |
cd $BOOST/boost/tools/inspect/build && ../../../b2 -j2 address-model=64 architecture=x86 toolset=gcc cxxflags="-std=gnu++14" release dist-bin
cd $BOOST/boost/tools/inspect && ../../b2 -j2 address-model=64 architecture=x86 toolset=gcc cxxflags="-std=gnu++14" release dist-bin
- run:
name: Building docs
command: |

View File

@ -43,6 +43,8 @@ def main(ctx):
linux_cxx("clang++-8 03,11,14,17", "clang++-8", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-8', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
linux_cxx("clang++-9 03,11,14,17,2a", "clang++-9", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-9', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
linux_cxx("clang++-10 03,11,14,17,20", "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': '03,11,14,17,20', }, globalenv=globalenv),
linux_cxx("clang++-11 03,11,14,17,20", "clang++-11", packages="clang-11", llvm_os="focal", llvm_ver="11", buildtype="boost", image="cppalliance/droneubuntu2004:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-11', 'CXXSTD': '03,11,14,17,20', }, globalenv=globalenv),
linux_cxx("clang++-12 03,11,14,17,20", "clang++-12", packages="clang-12", llvm_os="focal", llvm_ver="12", buildtype="boost", image="cppalliance/droneubuntu2004:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-12', 'CXXSTD': '03,11,14,17,20', }, globalenv=globalenv),
linux_cxx("Ubuntu g++-13", packages="g++-13", buildtype="boost", image="cppalliance/droneubuntu2304:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-13', 'CXXSTD': '14,17,20,23', }, globalenv=globalenv),
osx_cxx("XCode-11.7 03,11,17,2a", "clang++", packages="", buildtype="boost", xcode_version="11.7", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
osx_cxx("XCode-10.2 03,11,17,2a", "clang++", packages="", buildtype="boost", xcode_version="10.2", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),

View File

@ -25,6 +25,9 @@ git submodule update --init libs/detail
git submodule update --init libs/core
git submodule update --init libs/assert
git submodule update --init libs/type_traits
git submodule update --init libs/throw_exception
git submodule update --init libs/static_assert
git submodule update --init libs/preprocessor
cp -r $TRAVIS_BUILD_DIR/* libs/config
./bootstrap.sh
./b2 headers

View File

@ -14,12 +14,12 @@ on:
release:
types: [published, created, edited]
jobs:
ubuntu-jammy:
runs-on: ubuntu-22.04
ubuntu-noble:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
compiler: [ g++-11, g++-12, clang++-14 ]
compiler: [ g++-13, g++-14 ]
steps:
- uses: actions/checkout@v3
with:
@ -34,11 +34,55 @@ jobs:
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-11 g++-12 clang-14
run: sudo apt install g++-13 g++-14
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: Generate user config
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam'
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
ubuntu-jammy:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
compiler: [ g++-11, g++-12, g++-13 ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- name: Set TOOLSET
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-11 g++-12 g++-13
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
@ -63,7 +107,7 @@ jobs:
strategy:
fail-fast: false
matrix:
compiler: [ clang++-11, clang++-12, clang++-13 ]
compiler: [ clang++-15 ]
steps:
- uses: actions/checkout@v3
with:
@ -78,11 +122,11 @@ jobs:
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install clang-11 clang-12 clang-13
run: sudo apt install clang-15
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
@ -102,87 +146,8 @@ jobs:
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
ubuntu-focal:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
compiler: [ g++-9, g++-10, clang++-9, clang++-10 ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- name: Set TOOLSET
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-9 g++-10 clang-9 clang-10
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: Generate user config
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam'
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
macos_11:
runs-on: macos-11
strategy:
fail-fast: false
matrix:
toolset: [ clang, gcc-11, gcc-10 ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[linux];[Linux];[LINUX]'
commit-filter-separator: ';'
fail-fast: true
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
macos_12:
runs-on: macos-12
macos:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
@ -199,7 +164,7 @@ jobs:
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
@ -211,7 +176,7 @@ jobs:
run: ./b2 headers
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
@ -237,7 +202,7 @@ jobs:
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\config
@ -249,10 +214,10 @@ jobs:
run: b2 headers
working-directory: ../boost-root
- name: Config info
run: ..\..\..\b2 print_config_info cxxstd=14,17 address-model=64 toolset=msvc-14.0
run: ..\..\..\b2 print_config_info cxxstd=14,latest address-model=64 toolset=msvc-14.0
working-directory: ../boost-root/libs/config/test
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17 toolset=msvc-14.0
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,latest toolset=msvc-14.0
working-directory: ../boost-root/libs/config/test
windows_msvc_14_2:
runs-on: windows-2019
@ -275,7 +240,7 @@ jobs:
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\config
@ -287,10 +252,10 @@ jobs:
run: b2 headers
working-directory: ../boost-root
- name: Config info
run: ..\..\..\b2 print_config_info cxxstd=14,17,latest address-model=64 toolset=msvc-14.2
run: ..\..\..\b2 print_config_info cxxstd=14,17,20,latest address-model=64 toolset=msvc-14.2
working-directory: ../boost-root/libs/config/test
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,latest toolset=msvc-14.2
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,20,latest toolset=msvc-14.2
working-directory: ../boost-root/libs/config/test
windows_msvc_14_3:
runs-on: windows-2022
@ -313,7 +278,7 @@ jobs:
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\config
@ -325,7 +290,7 @@ jobs:
run: b2 headers
working-directory: ../boost-root
- name: Config info
run: ..\..\..\b2 print_config_info cxxstd=14,17,latest address-model=64 toolset=msvc-14.3
run: ..\..\..\b2 print_config_info cxxstd=14,17,20,latest address-model=64 toolset=msvc-14.3
working-directory: ../boost-root/libs/config/test
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,20,latest toolset=msvc-14.3
@ -351,7 +316,7 @@ jobs:
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\config
@ -368,20 +333,20 @@ jobs:
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,latest toolset=clang-win embed-manifest-via=linker
working-directory: ../boost-root/libs/config/test
non_intel_ubuntu_20_04_gcc:
runs-on: ubuntu-20.04
non_intel_ubuntu_22_04_gcc:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
qemu_arch: [ aarch64, s390x, ppc64le ]
steps:
- uses: actions/checkout@v3
- uses: uraimo/run-on-arch-action@v2
- uses: uraimo/run-on-arch-action@v3
name: Run commands
id: runcmd
with:
arch: ${{ matrix.qemu_arch }}
distro: ubuntu20.04
distro: ubuntu22.04
# Not required, but speeds up builds by storing container images in
# a GitHub package registry.
@ -391,7 +356,7 @@ jobs:
run: |
uname -a
apt update
apt -y install gcc g++ git python
apt -y install gcc g++ git python3
echo $PWD
config=$PWD
cd ..
@ -399,25 +364,25 @@ jobs:
cd boost-root
rm -rf libs/config/*
cp -r $config/* libs/config
git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
./bootstrap.sh
./b2 headers
./b2 toolset=gcc libs/config/test//print_config_info libs/config/test//print_math_info
cd libs/config/test && ../../../b2 toolset=gcc cxxstd=03,11,14,17
non_intel_ubuntu_20_04_clang:
runs-on: ubuntu-20.04
non_intel_ubuntu_22_04_clang:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
qemu_arch: [ aarch64, ppc64le ]
steps:
- uses: actions/checkout@v3
- uses: uraimo/run-on-arch-action@v2
- uses: uraimo/run-on-arch-action@v3
name: Run commands
id: runcmd
with:
arch: ${{ matrix.qemu_arch }}
distro: ubuntu20.04
distro: ubuntu22.04
# Not required, but speeds up builds by storing container images in
# a GitHub package registry.
@ -427,7 +392,7 @@ jobs:
run: |
uname -a
apt update
apt -y install clang gcc g++ git python
apt -y install clang gcc g++ git python3
echo $PWD
config=$PWD
cd ..
@ -435,14 +400,14 @@ jobs:
cd boost-root
rm -rf libs/config/*
cp -r $config/* libs/config
git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
./bootstrap.sh
./b2 headers
./b2 toolset=clang libs/config/test//print_config_info libs/config/test//print_math_info
cd libs/config/test
../../../b2 toolset=clang cxxstd=03,11,14,17
emscripten_wasm:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
@ -471,7 +436,7 @@ jobs:
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits libs/static_assert libs/throw_exception libs/preprocessor
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
@ -518,58 +483,3 @@ jobs:
source ../emsdk/emsdk_env.sh
emcc -pthread -s EXIT_RUNTIME=1 -s PTHREAD_POOL_SIZE=32 -s DISABLE_EXCEPTION_CATCHING=0 -I. -O3 -o config_test_pthread libs/config/test/config_test.cpp
node --experimental-wasm-threads config_test_pthread
ubuntu-cuda:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
std: [ 11, 14, 17 ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- uses: Jimver/cuda-toolkit@v0.2.4
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-11 clang-11
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: nvcc version
run: nvcc --version
working-directory: ../boost-root/libs/config/test
- name: Config info nvcc
run: nvcc -std=c++${{ matrix.std }} -o config_info -I../../.. config_info.cpp && ./config_info
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc
run: nvcc -std=c++${{ matrix.std }} -o config_test -I../../.. config_test.cpp && ./config_test
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc-cuda
run: nvcc -c -std=c++${{ matrix.std }} -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test
- name: Config info nvcc+clang
run: nvcc -std=c++${{ matrix.std }} --compiler-bindir=clang++ -o config_info -I../../.. config_info.cpp && ./config_info
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc+clang
run: nvcc -std=c++${{ matrix.std }} --compiler-bindir=clang++ -o config_test -I../../.. config_test.cpp -latomic && ./config_test
working-directory: ../boost-root/libs/config/test
- name: Config_test clang-cuda
run: clang++ -nocudalib --no-cuda-version-check -c --cuda-gpu-arch=sm_75 -std=c++${{ matrix.std }} -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test

32
build.jam Normal file
View File

@ -0,0 +1,32 @@
# Copyright René Ferdinand Rivera Morell 2023-2024
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
require-b2 5.2 ;
path-constant BOOST_CONFIG_ROOT : . ;
import-search $(BOOST_CONFIG_ROOT)/checks ;
project /boost/config
: common-requirements
<include>include
;
explicit
[ alias boost_config : : : : <library>$(boost_dependencies) ]
[ alias all : boost_config test ]
[ alias testing
: # sources
: # requirements
: # default-buidl
: # usage-requirements
<include>test
]
;
call-if : boost-library config
;
use-project /boost/architecture : checks/architecture ;

View File

@ -1,6 +1,6 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Fri Oct 13 19:09:38 2023
# This file was automatically generated on Mon Jan 22 16:16:53 2024
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@ -119,6 +119,7 @@ obj cxx14_return_type_deduction : test_case.cpp : <define>TEST_BOOST_NO_CXX14_RE
obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE ;
obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ;
obj cxx17 : test_case.cpp : <define>TEST_BOOST_NO_CXX17 ;
obj cxx17_auto_nontype_template_params : test_case.cpp : <define>TEST_BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS ;
obj cxx17_deduction_guides : test_case.cpp : <define>TEST_BOOST_NO_CXX17_DEDUCTION_GUIDES ;
obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ;
obj cxx17_hdr_any : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_ANY ;

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@ -551,6 +551,11 @@
# error "Defect macro BOOST_NO_CXX17 is defined."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
# ifdef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
# error "Defect macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS is defined."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_DEDUCTION_GUIDES
# ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
# error "Defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES is defined."

View File

@ -1027,6 +1027,7 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX17_IF_CONSTEXPR`][The compiler does not support `if constexpr`.]]
[[`BOOST_NO_CXX17_INLINE_VARIABLES`][The compiler does not support `inline` variables.]]
[[`BOOST_NO_CXX17_DEDUCTION_GUIDES`][The compiler does not support class template argument deduction (CTAD) guides.]]
[[`BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS`][The compiler does not support `auto` non-type template parameters.]]
]
[endsect]

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@ -12,6 +12,9 @@
#include <boost/config.hpp>
#include <boost/config/assert_cxx14.hpp>
#ifdef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS."
#endif
#ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES."
#endif

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@ -245,6 +245,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if __BORLANDC__ >= 0x590
# define BOOST_HAS_TR1_HASH

View File

@ -321,6 +321,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if (__clang_major__ < 4) || (__cplusplus < 201406L) /* non-standard value that is greater than 201402, which is reported by clang 4.0.0 for C++1z */
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if __cplusplus < 201103L
#define BOOST_NO_CXX11_SFINAE_EXPR
#endif

View File

@ -2,7 +2,7 @@
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt)
#if !defined(__APPLE__)
#if !defined(__apple_build_version__)
# define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100)
@ -11,7 +11,13 @@
// https://en.wikipedia.org/wiki/Xcode#Toolchain_versions
# if BOOST_CLANG_REPORTED_VERSION >= 140000
# if BOOST_CLANG_REPORTED_VERSION >= 150000
# define BOOST_CLANG_VERSION 160000
# elif BOOST_CLANG_REPORTED_VERSION >= 140003
# define BOOST_CLANG_VERSION 150000
# elif BOOST_CLANG_REPORTED_VERSION >= 140000
# define BOOST_CLANG_VERSION 140000
# elif BOOST_CLANG_REPORTED_VERSION >= 130100

View File

@ -316,6 +316,10 @@
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
//
// TR1 macros:
//

View File

@ -171,10 +171,12 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#ifdef c_plusplus
// EDG has "long long" in non-strict mode

View File

@ -130,6 +130,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if (__DMC__ <= 0x840)
#error "Compiler not supported or configured - please reconfigure"

View File

@ -319,6 +319,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if (__GNUC__ < 7) || (__cplusplus < 201703L)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if __GNUC__ >= 7
# define BOOST_FALLTHROUGH __attribute__((fallthrough))

View File

@ -108,7 +108,8 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__

View File

@ -137,6 +137,10 @@
#define BOOST_NO_CXX11_VARIADIC_MACROS
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#endif
//

View File

@ -173,6 +173,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)

View File

@ -122,6 +122,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
//
// versions check:

View File

@ -57,5 +57,8 @@
# define BOOST_NO_CXX11_NOEXCEPT
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#endif

View File

@ -135,4 +135,7 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#endif

View File

@ -194,6 +194,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
// Turn on threading support for Solaris 12.
// Ticket #11972

View File

@ -184,3 +184,6 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

View File

@ -263,6 +263,9 @@
#define BOOST_NO_CXX17_INLINE_VARIABLES
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if (_MSC_VER < 1914) || (_MSVC_LANG < 201703)
#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
//
// Things that don't work in clr mode:

View File

@ -265,6 +265,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#if !__has_feature(cxx_thread_local)
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif

View File

@ -157,6 +157,7 @@
#define BOOST_NO_CXX17_INLINE_VARIABLES
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#define BOOST_NO_CXX17_IF_CONSTEXPR
#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
// -------------------------------------

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@ -164,6 +164,7 @@
#endif
#if defined(BOOST_NO_CXX14)\
|| defined(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS)\
|| defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\
|| defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\
|| defined(BOOST_NO_CXX17_HDR_ANY)\

View File

@ -177,4 +177,9 @@
#endif
#endif
#if _LIBCPP_VERSION <= 170006
// no std::ranges::join_view
# define BOOST_NO_CXX20_HDR_RANGES
#endif
// --- end ---

View File

@ -19,7 +19,7 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 108400
#define BOOST_VERSION 108800
//
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@ -27,6 +27,6 @@
// number, y is the minor version number, and z is the patch level if not 0.
// This is used by <config/auto_link.hpp> to select which library version to link to.
#define BOOST_LIB_VERSION "1_84"
#define BOOST_LIB_VERSION "1_88"
#endif

View File

@ -10,15 +10,18 @@
import feature ;
import testing ;
import notfile ;
project
: requirements
<toolset>gcc:<cxxflags>-Wno-deprecated-declarations
<library>/boost/core//boost_core
;
import modules ;
import ../checks/config : requires ;
import-search /boost/config/checks ;
import config : requires ;
local is_unix = [ modules.peek : UNIX ] ;
@ -87,9 +90,9 @@ test-suite config
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off
<target-os>vxworks:<build>no
: config_info_no_except ]
[ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
[ run math_info.cpp : : : <library>/boost/type_traits//boost_type_traits <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
[ run abi/abi_test.cpp abi/main.cpp ]
[ run limits_test.cpp ]
[ run limits_test.cpp : : : <library>/boost/detail//boost_detail ]
[ run link/main.cpp link//link_test
: #args
: #input-files
@ -98,7 +101,7 @@ test-suite config
<threading>single
<define>BOOST_DYN_LINK=1
<define>BOOST_CONFIG_NO_LIB=1
<target-os>vxworks:<link>shared
<target-os>vxworks:<link>shared
:
config_link_test
]
@ -124,7 +127,7 @@ explicit has_clang_implicit_fallthrough ;
exe config_info_printer : config_info.cpp ;
explicit config_info_printer ;
exe math_info_printer : math_info.cpp ;
exe math_info_printer : math_info.cpp : <library>/boost/type_traits//boost_type_traits ;
explicit math_info_printer ;
actions print-run

View File

@ -1,7 +1,7 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Fri Oct 13 19:09:38 2023
# This file was automatically generated on Mon Jan 22 16:16:53 2024
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@ -346,6 +346,9 @@ test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
test-suite "BOOST_NO_CXX17" :
[ run ../no_cxx17_pass.cpp ]
[ compile-fail ../no_cxx17_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS" :
[ run ../no_cxx17_auto_nontype_template_params_pass.cpp ]
[ compile-fail ../no_cxx17_auto_nontype_template_params_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_DEDUCTION_GUIDES" :
[ run ../no_cxx17_deduction_guides_pass.cpp ]
[ compile-fail ../no_cxx17_deduction_guides_fail.cpp ] ;

View File

@ -1,12 +1,12 @@
# copyright John Maddock 2003
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
project
: requirements
: requirements
# threading tests require thread support turned on:
<threading>multi
;
local test-requirements = <library>../../test/build//boost_test_exec_monitor ;
local test-requirements = <library>/boost/test//boost_test_exec_monitor ;

View File

@ -0,0 +1,31 @@
/*
* Copyright 2024 Andrey Semashev
*
* Distributed under Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*/
// MACRO: BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
// TITLE: C++17 auto non-type template parameters
// DESCRIPTION: C++17 auto non-type template parameters are not supported.
namespace boost_no_cxx17_auto_nontype_template_params {
template< auto Value >
struct foo
{
static auto get()
{
return Value;
}
};
const int ten = 10;
int test()
{
return foo< 10 >::get() - *foo< &ten >::get();
}
} // boost_no_cxx17_auto_nontype_template_params

View File

@ -1168,6 +1168,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
PRINT_MACRO(BOOST_NO_CXX17);
PRINT_MACRO(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS);
PRINT_MACRO(BOOST_NO_CXX17_DEDUCTION_GUIDES);
PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
PRINT_MACRO(BOOST_NO_CXX17_HDR_ANY);
@ -1287,6 +1288,7 @@ void print_boost_macros()
// END GENERATED BLOCK
PRINT_MACRO(BOOST_CXX_VERSION);

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@ -377,6 +377,11 @@ namespace boost_no_cxx14_variable_templates = empty_boost;
#else
namespace boost_no_cxx17 = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#include "boost_no_cxx17_auto_nontype_template_params.ipp"
#else
namespace boost_no_cxx17_auto_nontype_template_params = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_DEDUCTION_GUIDES
#include "boost_no_cxx17_deduction_guides.ipp"
#else
@ -1741,6 +1746,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX17 at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_auto_nontype_template_params::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_deduction_guides::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_DEDUCTION_GUIDES at: " << __FILE__ << ":" << __LINE__ << std::endl;

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
// This file should not compile, if it does then
// BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS should not be defined.
// See file boost_no_cxx17_auto_nontype_template_params.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#include "boost_no_cxx17_auto_nontype_template_params.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx17_auto_nontype_template_params::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
// This file should compile, if it does not then
// BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS should be defined.
// See file boost_no_cxx17_auto_nontype_template_params.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#include "boost_no_cxx17_auto_nontype_template_params.ipp"
#else
namespace boost_no_cxx17_auto_nontype_template_params = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx17_auto_nontype_template_params::test();
}

View File

@ -1,11 +1,11 @@
# Copyright John Maddock 2005.
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
run generate.cpp
../../regex/build//boost_regex
../../filesystem/build//boost_filesystem ../../system/build//boost_system
run generate.cpp
/boost/regex//boost_regex
/boost/filesystem//boost_filesystem /boost/system//boost_system
: ../../..
;

View File

@ -14,6 +14,7 @@
#include <boost/regex.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/directory.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/detail/lightweight_main.hpp>
#include <iostream>
@ -267,10 +268,10 @@ void process_ipp_file(const fs::path& file, bool positive_test)
// get the output filesnames:
boost::regex file_regex("boost_([^.]+)\\.ipp");
positive_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_pass.cpp");
negative_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_fail.cpp");
write_test_file(positive_file, macro_name, namespace_name, file.leaf().string(), positive_test, true);
write_test_file(negative_file, macro_name, namespace_name, file.leaf().string(), positive_test, false);
positive_file = file.parent_path() / boost::regex_replace(file.filename().string(), file_regex, "$1_pass.cpp");
negative_file = file.parent_path() / boost::regex_replace(file.filename().string(), file_regex, "$1_fail.cpp");
write_test_file(positive_file, macro_name, namespace_name, file.filename().string(), positive_test, true);
write_test_file(negative_file, macro_name, namespace_name, file.filename().string(), positive_test, false);
// always create config_test data,
// positive and negative tests go to separate streams, because for some
@ -280,7 +281,7 @@ void process_ipp_file(const fs::path& file, bool positive_test)
if(!positive_test)
*pout << "n";
*pout << "def " << macro_name
<< "\n#include \"" << file.leaf().string() << "\"\n#else\nnamespace "
<< "\n#include \"" << file.filename().string() << "\"\n#else\nnamespace "
<< namespace_name << " = empty_boost;\n#endif\n";
config_test2 << " if(0 != " << namespace_name << "::test())\n"
@ -291,12 +292,12 @@ void process_ipp_file(const fs::path& file, bool positive_test)
// always generate the jamfile data:
jamfile << "test-suite \"" << macro_name << "\" : \n"
"[ run " << positive_file.leaf().string() << " <template>config_options ]\n"
"[ compile-fail " << negative_file.leaf().string() << " <template>config_options ] ;\n";
"[ run " << positive_file.filename().string() << " <template>config_options ]\n"
"[ compile-fail " << negative_file.filename().string() << " <template>config_options ] ;\n";
jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
"[ run ../" << positive_file.leaf().string() << " ]\n"
"[ compile-fail ../" << negative_file.leaf().string() << " ] ;\n";
"[ run ../" << positive_file.filename().string() << " ]\n"
"[ compile-fail ../" << negative_file.filename().string() << " ] ;\n";
// Generate data for the Build-checks test file:
build_config_test << "#ifdef TEST_" << macro_name << std::endl;
@ -597,7 +598,7 @@ int cpp_main(int argc, char* argv[])
{
// try __FILE__:
fs::path p(__FILE__);
config_path = p.branch_path().branch_path() / "test";
config_path = p.parent_path().parent_path() / "test";
}
std::cout << "Info: Boost.Config test path set as: " << config_path.string() << std::endl;
@ -608,7 +609,7 @@ int cpp_main(int argc, char* argv[])
std::map<fs::path, bool> files_to_process;
while(i != j)
{
if(boost::regex_match(i->path().leaf().string(), ipp_match, ipp_mask))
if(boost::regex_match(i->path().filename().string(), ipp_match, ipp_mask))
{
files_to_process[*i] = ipp_match[1].matched;
}