2
0
mirror of https://github.com/boostorg/lambda.git synced 2026-01-21 17:02:36 +00:00

Compare commits

...

15 Commits

Author SHA1 Message Date
Peter Dimov
0068b4d90d Update ci.yml 2025-05-03 03:20:27 +03:00
Peter Dimov
9b378ee3d0 Merge pull request #28 from grafikrobot/modular
Add support for modular build structure.
2025-05-02 19:13:07 +03:00
Rene Rivera
eb079473e2 Move project global include to target local include. 2025-04-07 17:37:01 -05:00
Rene Rivera
8e2446440c Sync from upstream. 2025-04-04 21:39:38 -05:00
Peter Dimov
593ddc7382 Apply Node20 workaround 2025-02-08 18:55:43 +02:00
Peter Dimov
9fd5cd190e Update test/CMakeLists.txt 2025-02-08 18:53:27 +02:00
Peter Dimov
cd036b65e2 Update ci.yml 2025-02-08 18:50:51 +02:00
Rene Rivera
7e792bbbef Update build deps. 2024-08-03 16:10:28 -05:00
Rene Rivera
bd56ab5976 Move inter-lib dependencies to a project variable and into the build targets. 2024-07-23 22:34:22 -05:00
Rene Rivera
717daf5483 Update copyright dates. 2024-07-20 22:52:03 -05:00
Rene Rivera
b3d68b5e4e Change all <source> references to <library>. 2024-07-20 19:40:11 -05:00
Rene Rivera
f26babea3c Bump B2 require to 5.2 2024-06-14 11:33:55 -05:00
Rene Rivera
0d1820513c Add requires-b2 check to top-level build file. 2024-05-05 09:00:01 -05:00
Rene Rivera
5968889209 Switch to library requirements instead of source. As source puts extra source in install targets. 2024-03-29 21:15:59 -05:00
Rene Rivera
ea61b3aa85 Make the library modular usable. 2024-03-11 08:38:17 -05:00
4 changed files with 110 additions and 44 deletions

View File

@@ -34,18 +34,22 @@ jobs:
install: g++-6 install: g++-6
- toolset: gcc-7 - toolset: gcc-7
cxxstd: "11,14,17" cxxstd: "11,14,17"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: g++-7 install: g++-7
- toolset: gcc-8 - toolset: gcc-8
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: g++-8 install: g++-8
- toolset: gcc-9 - toolset: gcc-9
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
- toolset: gcc-10 - toolset: gcc-10
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: g++-10 install: g++-10
- toolset: gcc-11 - toolset: gcc-11
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
@@ -56,9 +60,14 @@ jobs:
install: g++-12 install: g++-12
- toolset: gcc-13 - toolset: gcc-13
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
container: ubuntu:23.04 container: ubuntu:24.04
os: ubuntu-latest os: ubuntu-latest
install: g++-13 install: g++-13
- toolset: gcc-14
cxxstd: "11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: g++-14
- toolset: clang - toolset: clang
compiler: clang++-3.9 compiler: clang++-3.9
cxxstd: "11,14" cxxstd: "11,14"
@@ -80,37 +89,44 @@ jobs:
- toolset: clang - toolset: clang
compiler: clang++-6.0 compiler: clang++-6.0
cxxstd: "11,14,17" cxxstd: "11,14,17"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: clang-6.0 install: clang-6.0
- toolset: clang - toolset: clang
compiler: clang++-7 compiler: clang++-7
cxxstd: "11,14,17" cxxstd: "11,14,17"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: clang-7 install: clang-7
- toolset: clang - toolset: clang
compiler: clang++-8 compiler: clang++-8
cxxstd: "11,14,17" cxxstd: "11,14,17"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: clang-8 install: clang-8
- toolset: clang - toolset: clang
compiler: clang++-9 compiler: clang++-9
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: clang-9 install: clang-9
- toolset: clang - toolset: clang
compiler: clang++-10 compiler: clang++-10
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: clang-10 install: clang-10
- toolset: clang - toolset: clang
compiler: clang++-11 compiler: clang++-11
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: clang-11 install: clang-11
- toolset: clang - toolset: clang
compiler: clang++-12 compiler: clang++-12
cxxstd: "11,14,17,2a" cxxstd: "11,14,17,2a"
os: ubuntu-20.04 container: ubuntu:20.04
os: ubuntu-latest
install: clang-12 install: clang-12
- toolset: clang - toolset: clang
compiler: clang++-13 compiler: clang++-13
@@ -133,40 +149,58 @@ jobs:
- toolset: clang - toolset: clang
compiler: clang++-16 compiler: clang++-16
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
container: ubuntu:23.04 container: ubuntu:24.04
os: ubuntu-latest os: ubuntu-latest
install: clang-16 install: clang-16
- toolset: clang - toolset: clang
compiler: clang++-17 compiler: clang++-17
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
container: ubuntu:23.10 container: ubuntu:24.04
os: ubuntu-latest os: ubuntu-latest
install: clang-17 install: clang-17
- toolset: clang - toolset: clang
cxxstd: "11,14,17,2a" compiler: clang++-18
os: macos-11
- toolset: clang
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
os: macos-12 container: ubuntu:24.04
os: ubuntu-latest
install: clang-18
- toolset: clang - toolset: clang
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
os: macos-13 os: macos-13
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-14
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-15
runs-on: ${{matrix.os}} 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: defaults:
run: run:
shell: bash shell: bash
steps: steps:
- uses: actions/checkout@v3
- name: Setup container environment - name: Setup container environment
if: matrix.container if: matrix.container
run: | run: |
apt-get update 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@v4
- name: Install packages - name: Install packages
if: matrix.install if: matrix.install
@@ -236,7 +270,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd
@@ -271,16 +305,16 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-20.04
- os: ubuntu-22.04 - os: ubuntu-22.04
- os: macos-11 - os: ubuntu-24.04
- os: macos-12
- os: macos-13 - os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install packages - name: Install packages
if: matrix.install if: matrix.install
@@ -319,16 +353,16 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-20.04
- os: ubuntu-22.04 - os: ubuntu-22.04
- os: macos-11 - os: ubuntu-24.04
- os: macos-12
- os: macos-13 - os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install packages - name: Install packages
if: matrix.install if: matrix.install
@@ -377,16 +411,16 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-20.04
- os: ubuntu-22.04 - os: ubuntu-22.04
- os: macos-11 - os: ubuntu-24.04
- os: macos-12
- os: macos-13 - os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install packages - name: Install packages
if: matrix.install if: matrix.install
@@ -439,7 +473,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd
@@ -488,7 +522,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd
@@ -555,7 +589,7 @@ jobs:
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Setup Boost - name: Setup Boost
shell: cmd shell: cmd

30
build.jam Normal file
View File

@@ -0,0 +1,30 @@
# 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/bind//boost_bind
/boost/config//boost_config
/boost/core//boost_core
/boost/detail//boost_detail
/boost/iterator//boost_iterator
/boost/mpl//boost_mpl
/boost/preprocessor//boost_preprocessor
/boost/tuple//boost_tuple
/boost/type_traits//boost_type_traits
/boost/utility//boost_utility ;
project /boost/lambda
;
explicit
[ alias boost_lambda : : :
: <include>include <library>$(boost_dependencies) ]
[ alias all : boost_lambda test ]
;
call-if : boost-library lambda
;

View File

@@ -6,6 +6,6 @@ include(BoostTestJamfile OPTIONAL RESULT_VARIABLE HAVE_BOOST_TEST)
if(HAVE_BOOST_TEST) if(HAVE_BOOST_TEST)
boost_test_jamfile(FILE Jamfile LINK_LIBRARIES Boost::lambda Boost::core Boost::any Boost::function) boost_test_jamfile(FILE Jamfile LINK_LIBRARIES Boost::lambda Boost::core Boost::any Boost::function Boost::smart_ptr)
endif() endif()

View File

@@ -1,17 +1,19 @@
# Lambda library # Lambda library
# Copyright (C) 2001-2003 Jaakko Järvi # Copyright (C) 2001-2003 Jaakko J<EFBFBD>rvi
# Use, modification and distribution is subject to the Boost Software License, # Use, modification and distribution is subject to the Boost Software License,
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt) # http://www.boost.org/LICENSE_1_0.txt)
# For more information, see http://www.boost.org/ # For more information, see http://www.boost.org/
import testing ; import testing ;
project : requirements <library>/boost/lambda//boost_lambda ;
run algorithm_test.cpp ; run algorithm_test.cpp ;
run bind_tests_advanced.cpp ; run bind_tests_advanced.cpp : : : <library>/boost/any//boost_any ;
run bind_tests_simple.cpp ; run bind_tests_simple.cpp ;
run bind_tests_simple_f_refs.cpp ; run bind_tests_simple_f_refs.cpp ;
run bll_and_function.cpp ; run bll_and_function.cpp ;