diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c2d16653..fdf7b8932 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,11 +43,12 @@ jobs: install: g++-10 - toolset: gcc-11 os: ubuntu-22.04 + install: g++-11 - toolset: gcc-12 os: ubuntu-22.04 install: g++-12 - toolset: gcc-13 - container: ubuntu:23.04 + container: ubuntu:24.04 os: ubuntu-latest install: g++-13 - toolset: gcc-14 @@ -111,12 +112,12 @@ jobs: install: clang-15 - toolset: clang compiler: clang++-16 - container: ubuntu:23.04 + container: ubuntu:24.04 os: ubuntu-latest install: clang-16 - toolset: clang compiler: clang++-17 - container: ubuntu:23.10 + container: ubuntu:24.04 os: ubuntu-latest install: clang-17 - toolset: clang @@ -124,15 +125,19 @@ jobs: container: ubuntu:24.04 os: ubuntu-latest install: clang-18 - - toolset: clang - os: macos-12 - toolset: clang os: macos-13 - toolset: clang os: macos-14 + - toolset: clang + os: macos-15 runs-on: ${{matrix.os}} - container: ${{matrix.container}} + container: + image: ${{matrix.container}} + volumes: + - /node20217:/node20217:rw,rshared + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }} defaults: run: @@ -140,13 +145,20 @@ jobs: steps: - - uses: actions/checkout@v3 - - name: Setup container environment if: matrix.container run: | apt-get update - apt-get -y install sudo python3 git g++ + apt-get -y install sudo python3 git g++ curl xz-utils + + - name: Install nodejs20glibc2.17 + if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }} + run: | + curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz + tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 + ldd /__e/node20/bin/node + + - uses: actions/checkout@v3 - name: Install packages if: matrix.install @@ -181,7 +193,7 @@ jobs: - name: Run tests run: | cd ../boost-root - ./b2 -j3 tools/quickbook/test toolset=${{matrix.toolset}} variant=debug,release + ./b2 tools/quickbook//all toolset=${{matrix.toolset}} variant=debug,release windows: strategy: @@ -230,4 +242,4 @@ jobs: shell: cmd run: | cd ../boost-root - b2 -j3 tools/quickbook/test toolset=${{matrix.toolset}} variant=debug,release embed-manifest-via=linker + b2 tools/quickbook//all toolset=${{matrix.toolset}} variant=debug,release embed-manifest-via=linker diff --git a/Jamfile.v2 b/Jamfile.v2 index 678b68c3c..18d6309e9 100644 --- a/Jamfile.v2 +++ b/Jamfile.v2 @@ -9,7 +9,18 @@ # http://www.boost.org/LICENSE_1_0.txt) #============================================================================== -project quickbook +require-b2 5.2 ; + +import path ; +import option ; + +local DIST_DIR = [ option.get distdir ] ; +DIST_DIR ?= [ option.get build-dir ] ; +DIST_DIR ?= [ path.join $(BOOST_ROOT) dist ] ; +DIST_DIR ?= dist ; +DIST_DIR = [ path.root [ path.make $(DIST_DIR) ] [ path.pwd ] ] ; + +project /boost/quickbook : requirements gcc:300 darwin:300 @@ -19,39 +30,17 @@ project quickbook all BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE : default-build - 0x - ; - -import boostcpp ; -import path ; -import option ; - -local DIST_DIR = [ option.get distdir ] ; -if $(DIST_DIR) { - DIST_DIR = [ path.root [ path.make $(DIST_DIR) ] [ path.pwd ] ] ; -} else { - DIST_DIR = [ path.join $(BOOST_ROOT) dist ] ; -} -local DIST_BIN = [ path.join $(DIST_DIR) bin ] ; - -# Install quickbook by default. - -install dist-bin - : - src//quickbook - : - EXE - $(DIST_BIN) - : - release + 11 ; -# Target for quickbook toolset's auto build. - -alias quickbook - : src//quickbook - : release +explicit + [ install dist-bin + : src//quickbook/static + : EXE $(DIST_DIR)/bin + : release ] + [ alias quickbook : src//quickbook/static ] + [ alias all : quickbook dist test ] ; -explicit quickbook - ; +# Install distribution files/execs by default. +alias dist : dist-bin ; diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 deleted file mode 100644 index 6873ef424..000000000 --- a/build/Jamfile.v2 +++ /dev/null @@ -1,9 +0,0 @@ -#============================================================================== -# Copyright (c) 2017 Daniel James -# -# Use, modification and distribution is 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) -#============================================================================== - -alias dist-bin : ..//dist-bin ; diff --git a/src/Jamfile.v2 b/src/Jamfile.v2 index fe62c33f5..7a7079ee2 100644 --- a/src/Jamfile.v2 +++ b/src/Jamfile.v2 @@ -44,19 +44,19 @@ exe quickbook block_element_grammar.cpp phrase_element_grammar.cpp doc_info_grammar.cpp - /boost//program_options - /boost//filesystem - : #QUICKBOOK_NO_DATES - BOOST_FILESYSTEM_NO_DEPRECATED - msvc:/wd4355 - msvc:/wd4511 - msvc:/wd4512 - msvc:/wd4701 - msvc:/wd4702 - msvc:/wd4244 - msvc:/wd4267 - msvc:/wd4800 - msvc:_CRT_SECURE_NO_DEPRECATE - msvc:_SCL_SECURE_NO_DEPRECATE - windows:shell32 + /boost/program_options//boost_program_options/static + /boost/filesystem//boost_filesystem/static + : #QUICKBOOK_NO_DATES + BOOST_FILESYSTEM_NO_DEPRECATED + msvc:/wd4355 + msvc:/wd4511 + msvc:/wd4512 + msvc:/wd4701 + msvc:/wd4702 + msvc:/wd4244 + msvc:/wd4267 + msvc:/wd4800 + msvc:_CRT_SECURE_NO_DEPRECATE + msvc:_SCL_SECURE_NO_DEPRECATE + windows:shell32 ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index c0d543f59..4c68043af 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -6,7 +6,7 @@ # http://www.boost.org/LICENSE_1_0.txt) # -project quickbook/test +project : requirements msvc:off 98:no