Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 48 additions & 36 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,30 +34,34 @@ jobs:
install: g++-6
- toolset: gcc-7
cxxstd: "11,14,17"
os: ubuntu-20.04
install: g++-7
container: ubuntu:18.04
os: ubuntu-latest
- toolset: gcc-8
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:18.04
os: ubuntu-latest
install: g++-8
- toolset: gcc-9
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
- toolset: gcc-10
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: g++-10
- toolset: gcc-11
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:24.04
os: ubuntu-latest
install: g++-11
- toolset: gcc-12
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
install: g++-12
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
container: ubuntu:23.04
container: ubuntu:24.04
os: ubuntu-latest
install: g++-13
- toolset: clang
Expand All @@ -81,37 +85,44 @@ jobs:
- toolset: clang
compiler: clang++-6.0
cxxstd: "11,14,17"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: clang-6.0
- toolset: clang
compiler: clang++-7
cxxstd: "11,14,17"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: clang-7
- toolset: clang
compiler: clang++-8
cxxstd: "11,14,17"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: clang-8
- toolset: clang
compiler: clang++-9
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: clang-9
- toolset: clang
compiler: clang++-10
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: clang-10
- toolset: clang
compiler: clang++-11
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: clang-11
- toolset: clang
compiler: clang++-12
cxxstd: "11,14,17,2a"
os: ubuntu-20.04
container: ubuntu:20.04
os: ubuntu-latest
install: clang-12
- toolset: clang
compiler: clang++-13
Expand All @@ -134,46 +145,55 @@ jobs:
- toolset: clang
compiler: clang++-16
cxxstd: "11,14,17,20,2b"
container: ubuntu:23.04
container: ubuntu:24.04
os: ubuntu-latest
install: clang-16
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
container: ubuntu:23.10
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
cxxstd: "11,14,17,2a"
os: macos-11
cxxstd: "11,14,17,20,2b"
os: macos-13
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-12
os: macos-14
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-13
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:
shell: bash

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

- name: Install packages
if: matrix.install
run: |
sudo apt-get update
sudo apt-get -y install ${{matrix.install}}
run: sudo apt-get -y install ${{matrix.install}}

- uses: actions/checkout@v3

- name: Setup Boost
run: |
Expand Down Expand Up @@ -212,14 +232,6 @@ jobs:
fail-fast: false
matrix:
include:
- toolset: msvc-14.0
cxxstd: "14,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.2
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.3
cxxstd: "14,17,20,latest"
addrmd: 32,64
Expand All @@ -231,7 +243,7 @@ jobs:
- toolset: gcc
cxxstd: "11,14,17,2a"
addrmd: 64
os: windows-2019
os: windows-2022

runs-on: ${{matrix.os}}

Expand Down
28 changes: 28 additions & 0 deletions build.jam
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# 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 ;

constant boost_dependencies :
/boost/config//boost_config
/boost/mpl//boost_mpl
/boost/preprocessor//boost_preprocessor
/boost/scope_exit//boost_scope_exit
/boost/type_traits//boost_type_traits
/boost/typeof//boost_typeof
/boost/utility//boost_utility ;

project /boost/local_function
;

explicit
[ alias boost_local_function : : :
: <include>include <library>$(boost_dependencies) ]
[ alias all : boost_local_function example test ]
;

call-if : boost-library local_function
;

4 changes: 2 additions & 2 deletions doc/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ path-constant images_location : html ;
path-constant here : . ;

doxygen reference
: ../../../boost/local_function.hpp
../../../boost/local_function/config.hpp
: ../include/boost/local_function.hpp
../include/boost/local_function/config.hpp
: <reftitle>"Reference"
<doxygen:param>PREDEFINED="DOXYGEN"
<doxygen:param>QUIET=YES
Expand Down
10 changes: 6 additions & 4 deletions example/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import testing ;
# Sun does not automatically detect type-of emulation mode (force it).
project :
requirements
<library>/boost/local_function//boost_local_function
<toolset>sun:<define>BOOST_TYPEOF_EMULATION
<toolset>gcc:<cxxflags>-Wno-unused-local-typedefs
<toolset>clang:<cxxflags>-Wno-unused-local-typedefs
Expand All @@ -18,7 +19,7 @@ project :
run add_cxx11_lambda.cpp ;
run add_global_functor.cpp ;
run add_local_functor.cpp ;
run add_phoenix.cpp ;
run add_phoenix.cpp : : : <library>/boost/phoenix//boost_phoenix ;

run const_block.cpp ;
compile-fail const_block_error.cpp : <variant>debug ;
Expand All @@ -43,8 +44,8 @@ run n2550_find_if.cpp ;
compile-fail noncopyable_cxx11_lambda_error.cpp ;
run noncopyable_local_function.cpp ;

run phoenix_factorial.cpp ;
run phoenix_factorial_local.cpp ;
run phoenix_factorial.cpp : : : <library>/boost/phoenix//boost_phoenix ;
run phoenix_factorial_local.cpp : : : <library>/boost/phoenix//boost_phoenix ;

# Only compile but do not run profiling programs (they take a long time to run).
exe profile_global_functor : profile_global_functor.cpp
Expand Down Expand Up @@ -75,8 +76,9 @@ exe profile_local_functor : profile_local_functor.cpp
exe profile_phoenix : profile_phoenix.cpp
: <library>/boost/chrono//boost_chrono
<library>/boost/system//boost_system
<library>/boost/phoenix//boost_phoenix
<link>static
;

run scope_exit.cpp ;
run scope_exit.cpp : : : <library>/boost/foreach//boost_foreach ;

3 changes: 3 additions & 0 deletions test/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@ import testing ;
# Sun does not automatically detect type-of emulation mode (force it).
project :
requirements
<library>/boost/local_function//boost_local_function
<toolset>sun:<define>BOOST_TYPEOF_EMULATION
<toolset>gcc:<cxxflags>-Wno-unused-local-typedefs
<toolset>clang:<cxxflags>-Wno-unused-local-typedefs
<library>/boost/concept_check//boost_concept_check
<library>/boost/functional//boost_functional
;

rule vaseq ( command target )
Expand Down
Loading