forked from boostorg/predef
Merge branch 'develop'
This commit is contained in:
@ -1,13 +1,9 @@
|
|||||||
# Copyright Mike Dev 2018
|
# Copyright Mike Dev 2018
|
||||||
# Copyright René Ferdinand Rivera Morell 2018-2021
|
# Copyright René Ferdinand Rivera Morell 2018-2023
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
# See accompanying file LICENSE_1_0.txt or copy at
|
# 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
|
||||||
|
|
||||||
# NOTE:
|
|
||||||
# CMake support for Boost.Predef is currently experimental at best and the
|
|
||||||
# interface is likely to change in the future
|
|
||||||
#
|
|
||||||
# This file provides minimal cmake support (no unit-tests,
|
# This file provides minimal cmake support (no unit-tests,
|
||||||
# no installation) for integration into a "host" cmake project
|
# no installation) for integration into a "host" cmake project
|
||||||
# via the "add_subdirectory( <path-to-boost-predef> )" command.
|
# via the "add_subdirectory( <path-to-boost-predef> )" command.
|
||||||
@ -20,12 +16,12 @@
|
|||||||
|
|
||||||
# Only need the basic minimum of project, add_library, and
|
# Only need the basic minimum of project, add_library, and
|
||||||
# target_include_directories commands.
|
# target_include_directories commands.
|
||||||
cmake_minimum_required( VERSION 3.0 )
|
cmake_minimum_required( VERSION 3.5...3.999 )
|
||||||
|
|
||||||
# Don't set VERSION, as that's a pita to keep up to date with the version
|
# Don't set LANGUAGES as we are multi-language and header only, so it's
|
||||||
# header. And don't set LANGUAGES as we are multi-language and header
|
# irrelevant.
|
||||||
# only, so it's irrelevant.
|
set( BOOST_PREDEF_VERSION "1.15" )
|
||||||
project( BoostPredef LANGUAGES NONE )
|
project( boost_predef VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES NONE )
|
||||||
|
|
||||||
# Simple INTERFACE, and header only, library target.
|
# Simple INTERFACE, and header only, library target.
|
||||||
add_library( boost_predef INTERFACE )
|
add_library( boost_predef INTERFACE )
|
||||||
|
20
appveyor.yml
20
appveyor.yml
@ -63,20 +63,20 @@ for:
|
|||||||
choco install vswhere
|
choco install vswhere
|
||||||
echo ">>>>> INSTALL B2 .."
|
echo ">>>>> INSTALL B2 .."
|
||||||
cd %APPVEYOR_BUILD_FOLDER%/..
|
cd %APPVEYOR_BUILD_FOLDER%/..
|
||||||
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
|
curl "https://github.com/bfgroup/b2/archive/refs/heads/release.zip" -L -o b2.zip
|
||||||
7z x b2.zip -r
|
7z x b2.zip -r
|
||||||
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
||||||
cd %APPVEYOR_BUILD_FOLDER%/../build-develop
|
cd %APPVEYOR_BUILD_FOLDER%/../b2-release
|
||||||
cmd.exe /c bootstrap.bat
|
cmd.exe /c bootstrap.bat
|
||||||
build_script:
|
build_script:
|
||||||
- cmd: |
|
- cmd: |
|
||||||
echo ">>>>>"
|
echo ">>>>>"
|
||||||
echo ">>>>> TEST .."
|
echo ">>>>> TEST .."
|
||||||
echo ">>>>>"
|
echo ">>>>>"
|
||||||
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../build-develop
|
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../b2-release
|
||||||
cd %APPVEYOR_BUILD_FOLDER%/test
|
cd %APPVEYOR_BUILD_FOLDER%/test
|
||||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
%APPVEYOR_BUILD_FOLDER%/../b2-release/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
||||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
%APPVEYOR_BUILD_FOLDER%/../b2-release/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
||||||
# Windows MinGW & Cygwin job steps.
|
# Windows MinGW & Cygwin job steps.
|
||||||
- matrix:
|
- matrix:
|
||||||
only:
|
only:
|
||||||
@ -85,17 +85,17 @@ for:
|
|||||||
- cmd: |
|
- cmd: |
|
||||||
echo ">>>>> INSTALL B2 .."
|
echo ">>>>> INSTALL B2 .."
|
||||||
cd %APPVEYOR_BUILD_FOLDER%/..
|
cd %APPVEYOR_BUILD_FOLDER%/..
|
||||||
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
|
curl "https://github.com/bfgroup/b2/archive/refs/heads/release.zip" -L -o b2.zip
|
||||||
7z x b2.zip -r
|
7z x b2.zip -r
|
||||||
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
||||||
cd %APPVEYOR_BUILD_FOLDER%/../build-develop
|
cd %APPVEYOR_BUILD_FOLDER%/../b2-release
|
||||||
cmd.exe /c bootstrap.bat
|
cmd.exe /c bootstrap.bat
|
||||||
build_script:
|
build_script:
|
||||||
# The build itself just calls the compiler directly.
|
# The build itself just calls the compiler directly.
|
||||||
- cmd: |
|
- cmd: |
|
||||||
echo ">>>>> TEST .."
|
echo ">>>>> TEST .."
|
||||||
set PATH=%CXXPATH%\..\;%PATH%
|
set PATH=%CXXPATH%\..\;%PATH%
|
||||||
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../build-develop
|
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../b2-release
|
||||||
cd %APPVEYOR_BUILD_FOLDER%/test
|
cd %APPVEYOR_BUILD_FOLDER%/test
|
||||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
%APPVEYOR_BUILD_FOLDER%/../b2-release/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
||||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
%APPVEYOR_BUILD_FOLDER%/../b2-release/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
||||||
|
@ -41,25 +41,26 @@ stages:
|
|||||||
- job: 'Linux'
|
- job: 'Linux'
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
GCC 11 (GNU): { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=gnu' }
|
GCC 12 (GNU): { CXX: g++-12, PACKAGES: g++-12, VM_IMAGE: 'ubuntu-22.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=gnu' }
|
||||||
GCC 11 (ISO): { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=iso' }
|
GCC 12 (ISO): { CXX: g++-12, PACKAGES: g++-12, VM_IMAGE: 'ubuntu-22.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=iso' }
|
||||||
GCC 11: { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc }
|
GCC 12: { CXX: g++-12, PACKAGES: g++-12, VM_IMAGE: 'ubuntu-22.04', TOOLSET: gcc }
|
||||||
GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc }
|
GCC 11: { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-22.04', TOOLSET: gcc }
|
||||||
GCC 9: { CXX: g++-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-22.04', TOOLSET: gcc }
|
||||||
GCC 8: { CXX: g++-8, PACKAGES: g++-8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
GCC 9: { CXX: g++-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-22.04', TOOLSET: gcc }
|
||||||
GCC 7: { CXX: g++-7, PACKAGES: g++-7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
GCC 8: { CXX: g++-8, PACKAGES: g++-8, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc }
|
||||||
GCC 6: { CXX: g++-6, PACKAGES: g++-6, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
GCC 7: { CXX: g++-7, PACKAGES: g++-7, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc }
|
||||||
GCC 5: { CXX: g++-5, PACKAGES: g++-5, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
Clang 15: { CXX: clang++-15, PACKAGES: clang-15, LLVM_OS: jammy, LLVM_VER: 13, VM_IMAGE: 'ubuntu-22.04', TOOLSET: clang }
|
||||||
Clang 13: { CXX: clang++-13, PACKAGES: clang-13, LLVM_OS: focal, LLVM_VER: 13, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
Clang 14: { CXX: clang++-14, PACKAGES: clang-14, LLVM_OS: jammy, LLVM_VER: 13, VM_IMAGE: 'ubuntu-22.04', TOOLSET: clang }
|
||||||
|
Clang 13: { CXX: clang++-13, PACKAGES: clang-13, LLVM_OS: jammy, LLVM_VER: 13, VM_IMAGE: 'ubuntu-22.04', TOOLSET: clang }
|
||||||
Clang 12: { CXX: clang++-12, PACKAGES: clang-12, LLVM_OS: focal, LLVM_VER: 12, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
Clang 12: { CXX: clang++-12, PACKAGES: clang-12, LLVM_OS: focal, LLVM_VER: 12, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
||||||
Clang 11: { CXX: clang++-11, PACKAGES: clang-11, LLVM_OS: focal, LLVM_VER: 11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
Clang 11: { CXX: clang++-11, PACKAGES: clang-11, LLVM_OS: focal, LLVM_VER: 11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
||||||
Clang 10: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
Clang 10: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: focal, LLVM_VER: 10, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
||||||
Clang 9: { CXX: clang++-9, PACKAGES: clang-9, LLVM_OS: bionic, LLVM_VER: 9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
Clang 9: { CXX: clang++-9, PACKAGES: clang-9, LLVM_OS: focal, LLVM_VER: 9, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
||||||
Clang 8: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
# Ubuntu 18.04 is deprecated.
|
||||||
Clang 7: { CXX: clang++-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
# Clang 8: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
||||||
Clang 6.0: { CXX: clang++-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
# Clang 7: { CXX: clang++-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
||||||
Clang 5.0: { CXX: clang++-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
# Clang 6.0: { CXX: clang++-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
||||||
Clang 4.0: { CXX: clang++-4.0, PACKAGES: clang-4.0, LLVM_OS: xenial, LLVM_VER: 4.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
# Clang 5.0: { CXX: clang++-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
||||||
pool:
|
pool:
|
||||||
vmImage: $(VM_IMAGE)
|
vmImage: $(VM_IMAGE)
|
||||||
steps:
|
steps:
|
||||||
@ -91,20 +92,24 @@ stages:
|
|||||||
- job: 'macOS'
|
- job: 'macOS'
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
Xcode 13.4.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.4.1.app, VM_IMAGE: 'macOS-12'}
|
||||||
|
Xcode 13.3.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.3.1.app, VM_IMAGE: 'macOS-12'}
|
||||||
Xcode 13.2.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.2.1.app, VM_IMAGE: 'macOS-11'}
|
Xcode 13.2.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.2.1.app, VM_IMAGE: 'macOS-11'}
|
||||||
Xcode 13.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.1.app, VM_IMAGE: 'macOS-11'}
|
Xcode 13.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.1.app, VM_IMAGE: 'macOS-12'}
|
||||||
Xcode 13.0: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.0.app, VM_IMAGE: 'macOS-11'}
|
Xcode 13.0: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.0.app, VM_IMAGE: 'macOS-11'}
|
||||||
|
Xcode 12.5.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.4.app, VM_IMAGE: 'macOS-11'}
|
||||||
Xcode 12.4: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.4.app, VM_IMAGE: 'macOS-11'}
|
Xcode 12.4: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.4.app, VM_IMAGE: 'macOS-11'}
|
||||||
Xcode 12.3: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.3.app, VM_IMAGE: 'macOS-10.15'}
|
# macOS-10.15 is deprecated.
|
||||||
Xcode 12.2: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.2.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 12.3: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.3.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 12.1.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.1.1.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 12.2: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.2.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 12.0.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.0.1.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 12.1.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.1.1.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 11.7: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.7.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 12.0.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.0.1.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 11.6: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.6.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 11.7: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.7.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 11.5: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.5.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 11.6: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.6.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 11.4.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.4.1.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 11.5: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.5.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 11.3.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.3.1.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 11.4.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.4.1.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
Xcode 11.2.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.2.1.app, VM_IMAGE: 'macOS-10.15'}
|
# Xcode 11.3.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.3.1.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
|
# Xcode 11.2.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.2.1.app, VM_IMAGE: 'macOS-10.15'}
|
||||||
pool:
|
pool:
|
||||||
vmImage: $(VM_IMAGE)
|
vmImage: $(VM_IMAGE)
|
||||||
steps:
|
steps:
|
||||||
@ -217,9 +222,6 @@ stages:
|
|||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-latest'
|
vmImage: 'ubuntu-latest'
|
||||||
steps:
|
steps:
|
||||||
- task: UsePythonVersion@0
|
|
||||||
inputs:
|
|
||||||
versionSpec: '2.x'
|
|
||||||
- task: UseRubyVersion@0
|
- task: UseRubyVersion@0
|
||||||
- bash: |
|
- bash: |
|
||||||
gem install asciidoctor
|
gem install asciidoctor
|
||||||
|
49
build.jam
49
build.jam
@ -1,38 +1,32 @@
|
|||||||
# Copyright René Ferdinand Rivera Morell 2014-2019
|
# Copyright René Ferdinand Rivera Morell 2014-2023
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
# (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)
|
||||||
|
|
||||||
#|
|
#|
|
||||||
This B2 project provides support for using the Predef library externally as
|
This B2 project provides support for using the Predef library externally as
|
||||||
a standalone project or by embedding in your B2 project tree. To use
|
a standalone project. To use externally you would need a `use-project`
|
||||||
externally you would need a `use-project` declaration and to use the
|
declaration and to use the project as a dependency where needed:
|
||||||
project as a dependency where needed:
|
|
||||||
|
|
||||||
----
|
----
|
||||||
use-project /hash-predef : /path/to/hash-predef/root ;
|
use-project /boost/predef : /path/to/boost/predef/root ;
|
||||||
|
|
||||||
exe my_thing : main.cpp : <dependency>/hash-predef ;
|
exe my_thing : main.cpp : <dependency>/boost/predef ;
|
||||||
----
|
|
||||||
|
|
||||||
To use in your project tree you would only need to place the Predef tree
|
|
||||||
in a subdirectory and reference the project location as a dependency where
|
|
||||||
needed.
|
|
||||||
|
|
||||||
----
|
|
||||||
exe my_thin : main.cpp : <dependency>libs/hash-predef ;
|
|
||||||
----
|
----
|
||||||
|#
|
|#
|
||||||
|
|
||||||
import project ;
|
import project ;
|
||||||
|
import modules ;
|
||||||
|
|
||||||
path-constant BOOST_PREDEF_ROOT : . ;
|
path-constant PREDEF_ROOT : . ;
|
||||||
path-constant BOOST_PREDEF_INCLUDE : include ;
|
|
||||||
constant PREDEF_DIST : boost ;
|
modules.poke : BOOST_BUILD_PATH
|
||||||
|
: $(PREDEF_ROOT)/tools/check [ modules.peek : BOOST_BUILD_PATH ] ;
|
||||||
|
|
||||||
project /boost/predef
|
project /boost/predef
|
||||||
: usage-requirements
|
: common-requirements
|
||||||
<include>$(BOOST_PREDEF_INCLUDE) ;
|
<include>include
|
||||||
|
;
|
||||||
|
|
||||||
if [ project.is-jamroot-module $(__name__) ]
|
if [ project.is-jamroot-module $(__name__) ]
|
||||||
{
|
{
|
||||||
@ -40,4 +34,19 @@ if [ project.is-jamroot-module $(__name__) ]
|
|||||||
$(attributes).set "build-dir" : .bin ;
|
$(attributes).set "build-dir" : .bin ;
|
||||||
}
|
}
|
||||||
|
|
||||||
alias libs ;
|
explicit
|
||||||
|
[ alias boost_predef ]
|
||||||
|
[ alias all : boost_predef test//all tools/check ]
|
||||||
|
[ install install-global-headers
|
||||||
|
: [ glob-tree-ex include : *.h ]
|
||||||
|
: <install-source-root>include <location>(includedir) ]
|
||||||
|
[ install install-data
|
||||||
|
: build.jam [ glob-tree-ex tools/check : * ] [ glob-tree-ex include : *.h ]
|
||||||
|
: <install-source-root>. <location>(datadir)/boost_predef ]
|
||||||
|
[ alias install :
|
||||||
|
install-global-headers install-data ]
|
||||||
|
;
|
||||||
|
|
||||||
|
call-if
|
||||||
|
: boost-library predef
|
||||||
|
;
|
||||||
|
@ -14,7 +14,7 @@ project predefdoc ;
|
|||||||
doc-dir = [ MATCH "--doc-dir=(.*)" : [ modules.peek : ARGV ] ] ;
|
doc-dir = [ MATCH "--doc-dir=(.*)" : [ modules.peek : ARGV ] ] ;
|
||||||
doc-dir ?= . ;
|
doc-dir ?= . ;
|
||||||
|
|
||||||
local headers = [ glob-tree-ex $(BOOST_PREDEF_INCLUDE) : *.h ] ;
|
local headers = [ glob-tree-ex ../include/boost : *.h ] ;
|
||||||
|
|
||||||
html index : predef.adoc :
|
html index : predef.adoc :
|
||||||
:
|
:
|
||||||
|
@ -7,6 +7,10 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
|
|
||||||
= History
|
= History
|
||||||
|
|
||||||
|
== 1.15.0
|
||||||
|
|
||||||
|
* Add detection of Microsoft STL (from Henrik Gaßmann).
|
||||||
|
|
||||||
== 1.14.0
|
== 1.14.0
|
||||||
|
|
||||||
* Add detection of LoongArch (from Zhang Na).
|
* Add detection of LoongArch (from Zhang Na).
|
||||||
|
167
doc/index.html
167
doc/index.html
@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="generator" content="Asciidoctor 2.0.16">
|
<meta name="generator" content="Asciidoctor 2.0.20">
|
||||||
<meta name="author" content="René Ferdinand Rivera Morell">
|
<meta name="author" content="René Ferdinand Rivera Morell">
|
||||||
<title>Boost.Predef</title>
|
<title>Boost.Predef</title>
|
||||||
<style>
|
<style>
|
||||||
@ -1044,6 +1044,7 @@ pre.rouge .ss {
|
|||||||
<li><a href="#_boost_lib_std_gnu">4.4.13. <code>BOOST_LIB_STD_GNU</code></a></li>
|
<li><a href="#_boost_lib_std_gnu">4.4.13. <code>BOOST_LIB_STD_GNU</code></a></li>
|
||||||
<li><a href="#_boost_lib_std_stlport">4.4.14. <code>BOOST_LIB_STD_STLPORT</code></a></li>
|
<li><a href="#_boost_lib_std_stlport">4.4.14. <code>BOOST_LIB_STD_STLPORT</code></a></li>
|
||||||
<li><a href="#_boost_lib_std_ibm">4.4.15. <code>BOOST_LIB_STD_IBM</code></a></li>
|
<li><a href="#_boost_lib_std_ibm">4.4.15. <code>BOOST_LIB_STD_IBM</code></a></li>
|
||||||
|
<li><a href="#_boost_lib_std_msvc">4.4.16. <code>BOOST_LIB_STD_MSVC</code></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#_boost_os_operating_system_macros">4.5. <code>BOOST_OS</code> operating system macros</a>
|
<li><a href="#_boost_os_operating_system_macros">4.5. <code>BOOST_OS</code> operating system macros</a>
|
||||||
@ -1129,21 +1130,23 @@ pre.rouge .ss {
|
|||||||
</li>
|
</li>
|
||||||
<li><a href="#_history">6. History</a>
|
<li><a href="#_history">6. History</a>
|
||||||
<ul class="sectlevel2">
|
<ul class="sectlevel2">
|
||||||
<li><a href="#_1_13_1">6.1. 1.13.1</a></li>
|
<li><a href="#_1_15_0">6.1. 1.15.0</a></li>
|
||||||
<li><a href="#_1_13">6.2. 1.13</a></li>
|
<li><a href="#_1_14_0">6.2. 1.14.0</a></li>
|
||||||
<li><a href="#_1_12">6.3. 1.12</a></li>
|
<li><a href="#_1_13_1">6.3. 1.13.1</a></li>
|
||||||
<li><a href="#_1_11">6.4. 1.11</a></li>
|
<li><a href="#_1_13">6.4. 1.13</a></li>
|
||||||
<li><a href="#_1_10">6.5. 1.10</a></li>
|
<li><a href="#_1_12">6.5. 1.12</a></li>
|
||||||
<li><a href="#_1_9">6.6. 1.9</a></li>
|
<li><a href="#_1_11">6.6. 1.11</a></li>
|
||||||
<li><a href="#_1_8">6.7. 1.8</a></li>
|
<li><a href="#_1_10">6.7. 1.10</a></li>
|
||||||
<li><a href="#_1_7">6.8. 1.7</a></li>
|
<li><a href="#_1_9">6.8. 1.9</a></li>
|
||||||
<li><a href="#_1_6">6.9. 1.6</a></li>
|
<li><a href="#_1_8">6.9. 1.8</a></li>
|
||||||
<li><a href="#_1_5">6.10. 1.5</a></li>
|
<li><a href="#_1_7">6.10. 1.7</a></li>
|
||||||
<li><a href="#_1_4_1">6.11. 1.4.1</a></li>
|
<li><a href="#_1_6">6.11. 1.6</a></li>
|
||||||
<li><a href="#_1_4">6.12. 1.4</a></li>
|
<li><a href="#_1_5">6.12. 1.5</a></li>
|
||||||
<li><a href="#_1_3">6.13. 1.3</a></li>
|
<li><a href="#_1_4_1">6.13. 1.4.1</a></li>
|
||||||
<li><a href="#_1_2">6.14. 1.2</a></li>
|
<li><a href="#_1_4">6.14. 1.4</a></li>
|
||||||
<li><a href="#_1_1">6.15. 1.1</a></li>
|
<li><a href="#_1_3">6.15. 1.3</a></li>
|
||||||
|
<li><a href="#_1_2">6.16. 1.2</a></li>
|
||||||
|
<li><a href="#_1_1">6.17. 1.1</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#_to_do">7. To Do</a></li>
|
<li><a href="#_to_do">7. To Do</a></li>
|
||||||
@ -1335,7 +1338,7 @@ single top-level header:</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef.h></span></code></pre>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef.h></span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
@ -1398,8 +1401,8 @@ a choice based on the version of the GCC C++ compiler one would:</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef.h></span><span class="cp">
|
||||||
#include <iostream>
|
#include</span> <span class="cpf"><iostream></span><span class="cp">
|
||||||
</span>
|
</span>
|
||||||
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
||||||
<span class="p">{</span>
|
<span class="p">{</span>
|
||||||
@ -1420,8 +1423,8 @@ detection with a natural single condition. For example:</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef.h></span><span class="cp">
|
||||||
#include <iostream>
|
#include</span> <span class="cpf"><iostream></span><span class="cp">
|
||||||
</span>
|
</span>
|
||||||
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
||||||
<span class="p">{</span>
|
<span class="p">{</span>
|
||||||
@ -1439,8 +1442,8 @@ from the preprocessor:</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef.h></span><span class="cp">
|
||||||
#include <iostream>
|
#include</span> <span class="cpf"><iostream></span><span class="cp">
|
||||||
</span>
|
</span>
|
||||||
<span class="cp">#if BOOST_COMP_GNUC
|
<span class="cp">#if BOOST_COMP_GNUC
|
||||||
</span> <span class="cp">#if BOOST_COMP_GNUC >= BOOST_VERSION_NUMBER(4,0,0)
|
</span> <span class="cp">#if BOOST_COMP_GNUC >= BOOST_VERSION_NUMBER(4,0,0)
|
||||||
@ -1649,7 +1652,7 @@ include those headers here.</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/CATEGORY_TAG/DEPENDENCY.h></span></code></pre>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/CATEGORY_TAG/DEPENDENCY.h></span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
@ -1660,8 +1663,8 @@ macros:</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/version_number.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/version_number.h></span><span class="cp">
|
||||||
#include <boost/predef/make.h></span></code></pre>
|
#include</span> <span class="cpf"><boost/predef/make.h></span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
@ -1745,7 +1748,7 @@ to create informational output:</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/detail/test.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/detail/test.h></span><span class="cp">
|
||||||
</span><span class="n">BOOST_PREDEF_DECLARE_TEST</span><span class="p">(</span><span class="n">BOOST_category_tag</span><span class="p">,</span><span class="n">BOOST_category_tag_NAME</span><span class="p">)</span></code></pre>
|
</span><span class="n">BOOST_PREDEF_DECLARE_TEST</span><span class="p">(</span><span class="n">BOOST_category_tag</span><span class="p">,</span><span class="n">BOOST_category_tag_NAME</span><span class="p">)</span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -1842,7 +1845,7 @@ define either the base compiler predef <code>BOOST_COMP_compiler</code> or the a
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/make.h></span></code></pre>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/make.h></span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
@ -4735,6 +4738,43 @@ Version number available as major, minor, and patch.</p>
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="sect3">
|
||||||
|
<h4 id="_boost_lib_std_msvc"><a class="anchor" href="#_boost_lib_std_msvc"></a>4.4.16. <code>BOOST_LIB_STD_MSVC</code></h4>
|
||||||
|
<div class="paragraph">
|
||||||
|
<p><a href="https://github.com/microsoft/STL">Microsoft’s C++ Standard Library</a>.
|
||||||
|
If available version number as major, minor, and patch.
|
||||||
|
The patch number is derived from <code>_MSVC_STL_UPDATE</code> by taking its five last
|
||||||
|
digits (see below). This implies that pasting a <code>_MSVC_STL_UPDATE</code> value into
|
||||||
|
<code>BOOST_VERSION_NUMBER</code> will produce a version number that is directly comparable
|
||||||
|
to <code>BOOST_LIB_STD_MSVC</code>.</p>
|
||||||
|
</div>
|
||||||
|
<table class="tableblock frame-all grid-all stretch">
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 50%;">
|
||||||
|
<col style="width: 50%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="tableblock halign-left valign-top">Symbol</th>
|
||||||
|
<th class="tableblock halign-left valign-top">Version</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>_MSVC_STL_VERSION</code></p></td>
|
||||||
|
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>detection</strong></p></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>_MSVC_STL_VERSION</code></p></td>
|
||||||
|
<td class="tableblock halign-left valign-top"><p class="tableblock">VV.R.0</p></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>_MSVC_STL_UPDATE</code></p></td>
|
||||||
|
<td class="tableblock halign-left valign-top"><p class="tableblock">00.0.0YYYMM</p></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_boost_os_operating_system_macros"><a class="anchor" href="#_boost_os_operating_system_macros"></a>4.5. <code>BOOST_OS</code> operating system macros</h3>
|
<h3 id="_boost_os_operating_system_macros"><a class="anchor" href="#_boost_os_operating_system_macros"></a>4.5. <code>BOOST_OS</code> operating system macros</h3>
|
||||||
@ -5309,7 +5349,7 @@ version 4 is specifically detected.</p>
|
|||||||
<div class="sect3">
|
<div class="sect3">
|
||||||
<h4 id="_boost_os_vms"><a class="anchor" href="#_boost_os_vms"></a>4.5.17. <code>BOOST_OS_VMS</code></h4>
|
<h4 id="_boost_os_vms"><a class="anchor" href="#_boost_os_vms"></a>4.5.17. <code>BOOST_OS_VMS</code></h4>
|
||||||
<div class="paragraph">
|
<div class="paragraph">
|
||||||
<p><a href="http://en.wikipedia.org/wiki/Vms">VMS</a> operating system.</p>
|
<p><a href="http://en.wikipedia.org/wiki/OpenVMS">VMS</a> operating system.</p>
|
||||||
</div>
|
</div>
|
||||||
<table class="tableblock frame-all grid-all stretch">
|
<table class="tableblock frame-all grid-all stretch">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -6129,8 +6169,8 @@ architecture.
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/hardware/simd.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/hardware/simd.h></span><span class="cp">
|
||||||
#include <iostream>
|
#include</span> <span class="cpf"><iostream></span><span class="cp">
|
||||||
</span>
|
</span>
|
||||||
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
||||||
<span class="p">{</span>
|
<span class="p">{</span>
|
||||||
@ -6154,8 +6194,8 @@ version number of the most recent SIMD extension detected for the architecture.<
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/hardware/simd.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/hardware/simd.h></span><span class="cp">
|
||||||
#include <iostream>
|
#include</span> <span class="cpf"><iostream></span><span class="cp">
|
||||||
</span>
|
</span>
|
||||||
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
||||||
<span class="p">{</span>
|
<span class="p">{</span>
|
||||||
@ -6185,8 +6225,8 @@ version numbers.
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/hardware/simd.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/hardware/simd.h></span><span class="cp">
|
||||||
#include <iostream>
|
#include</span> <span class="cpf"><iostream></span><span class="cp">
|
||||||
</span>
|
</span>
|
||||||
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
||||||
<span class="p">{</span>
|
<span class="p">{</span>
|
||||||
@ -6204,8 +6244,8 @@ extensions macros, you can easily check for ranges of supported extensions:</p>
|
|||||||
</div>
|
</div>
|
||||||
<div class="listingblock">
|
<div class="listingblock">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include <boost/predef/hardware/simd.h>
|
<pre class="rouge highlight"><code data-lang="cpp"><span class="cp">#include</span> <span class="cpf"><boost/predef/hardware/simd.h></span><span class="cp">
|
||||||
#include <iostream>
|
#include</span> <span class="cpf"><iostream></span><span class="cp">
|
||||||
</span>
|
</span>
|
||||||
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
|
||||||
<span class="p">{</span>
|
<span class="p">{</span>
|
||||||
@ -7096,6 +7136,9 @@ indicates an ignored digit.</p>
|
|||||||
<p><code>BOOST_PREDEF_MAKE_10_VV00(V)</code></p>
|
<p><code>BOOST_PREDEF_MAKE_10_VV00(V)</code></p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
<p><code>BOOST_PREDEF_MAKE_10_VVR_0PPPPP(V, P)</code>, the second parameter specifies a year-month patch level with the first digit discarded</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
<p><code>BOOST_PREDEF_MAKE_10_VVRR(V)</code></p>
|
<p><code>BOOST_PREDEF_MAKE_10_VVRR(V)</code></p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
@ -7300,7 +7343,27 @@ expressions. It defaults to "c++", but can be any of: "c", "cpp",
|
|||||||
<h2 id="_history"><a class="anchor" href="#_history"></a>6. History</h2>
|
<h2 id="_history"><a class="anchor" href="#_history"></a>6. History</h2>
|
||||||
<div class="sectionbody">
|
<div class="sectionbody">
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_13_1"><a class="anchor" href="#_1_13_1"></a>6.1. 1.13.1</h3>
|
<h3 id="_1_15_0"><a class="anchor" href="#_1_15_0"></a>6.1. 1.15.0</h3>
|
||||||
|
<div class="ulist">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Add detection of Microsoft STL (from Henrik Gaßmann).</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="sect2">
|
||||||
|
<h3 id="_1_14_0"><a class="anchor" href="#_1_14_0"></a>6.2. 1.14.0</h3>
|
||||||
|
<div class="ulist">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Add detection of LoongArch (from Zhang Na).</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="sect2">
|
||||||
|
<h3 id="_1_13_1"><a class="anchor" href="#_1_13_1"></a>6.3. 1.13.1</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7316,7 +7379,7 @@ expressions. It defaults to "c++", but can be any of: "c", "cpp",
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_13"><a class="anchor" href="#_1_13"></a>6.2. 1.13</h3>
|
<h3 id="_1_13"><a class="anchor" href="#_1_13"></a>6.4. 1.13</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7335,7 +7398,7 @@ expressions. It defaults to "c++", but can be any of: "c", "cpp",
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_12"><a class="anchor" href="#_1_12"></a>6.3. 1.12</h3>
|
<h3 id="_1_12"><a class="anchor" href="#_1_12"></a>6.5. 1.12</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7364,7 +7427,7 @@ Initial implementation inspired by submission from Mikhail Komarov.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_11"><a class="anchor" href="#_1_11"></a>6.4. 1.11</h3>
|
<h3 id="_1_11"><a class="anchor" href="#_1_11"></a>6.6. 1.11</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7392,7 +7455,7 @@ Initial implementation inspired by submission from Mikhail Komarov.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_10"><a class="anchor" href="#_1_10"></a>6.5. 1.10</h3>
|
<h3 id="_1_10"><a class="anchor" href="#_1_10"></a>6.7. 1.10</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7417,7 +7480,7 @@ removed in a future release.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_9"><a class="anchor" href="#_1_9"></a>6.6. 1.9</h3>
|
<h3 id="_1_9"><a class="anchor" href="#_1_9"></a>6.8. 1.9</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7430,7 +7493,7 @@ removed in a future release.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_8"><a class="anchor" href="#_1_8"></a>6.7. 1.8</h3>
|
<h3 id="_1_8"><a class="anchor" href="#_1_8"></a>6.9. 1.8</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7452,7 +7515,7 @@ removed in a future release.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_7"><a class="anchor" href="#_1_7"></a>6.8. 1.7</h3>
|
<h3 id="_1_7"><a class="anchor" href="#_1_7"></a>6.10. 1.7</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7468,7 +7531,7 @@ removed in a future release.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_6"><a class="anchor" href="#_1_6"></a>6.9. 1.6</h3>
|
<h3 id="_1_6"><a class="anchor" href="#_1_6"></a>6.11. 1.6</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7492,7 +7555,7 @@ Baratov)</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_5"><a class="anchor" href="#_1_5"></a>6.10. 1.5</h3>
|
<h3 id="_1_5"><a class="anchor" href="#_1_5"></a>6.12. 1.5</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7511,7 +7574,7 @@ version instead of the varied product versions.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_4_1"><a class="anchor" href="#_1_4_1"></a>6.11. 1.4.1</h3>
|
<h3 id="_1_4_1"><a class="anchor" href="#_1_4_1"></a>6.13. 1.4.1</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7524,7 +7587,7 @@ version instead of the varied product versions.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_4"><a class="anchor" href="#_1_4"></a>6.12. 1.4</h3>
|
<h3 id="_1_4"><a class="anchor" href="#_1_4"></a>6.14. 1.4</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7545,7 +7608,7 @@ use cases. And changed the BBv2 check support to use compile only checks.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_3"><a class="anchor" href="#_1_3"></a>6.13. 1.3</h3>
|
<h3 id="_1_3"><a class="anchor" href="#_1_3"></a>6.15. 1.3</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7570,7 +7633,7 @@ use cases. And changed the BBv2 check support to use compile only checks.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_2"><a class="anchor" href="#_1_2"></a>6.14. 1.2</h3>
|
<h3 id="_1_2"><a class="anchor" href="#_1_2"></a>6.16. 1.2</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -7594,7 +7657,7 @@ checks.</p>
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sect2">
|
<div class="sect2">
|
||||||
<h3 id="_1_1"><a class="anchor" href="#_1_1"></a>6.15. 1.1</h3>
|
<h3 id="_1_1"><a class="anchor" href="#_1_1"></a>6.17. 1.1</h3>
|
||||||
<div class="ulist">
|
<div class="ulist">
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -708,6 +708,8 @@ include::../include/boost/predef/library/std/stlport.h[tag=reference]
|
|||||||
|
|
||||||
include::../include/boost/predef/library/std/vacpp.h[tag=reference]
|
include::../include/boost/predef/library/std/vacpp.h[tag=reference]
|
||||||
|
|
||||||
|
include::../include/boost/predef/library/std/msvc.h[tag=reference]
|
||||||
|
|
||||||
:leveloffset: -3
|
:leveloffset: -3
|
||||||
|
|
||||||
=== `BOOST_OS` operating system macros
|
=== `BOOST_OS` operating system macros
|
||||||
|
@ -16,6 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
#include <boost/predef/library/std/libcomo.h>
|
#include <boost/predef/library/std/libcomo.h>
|
||||||
#include <boost/predef/library/std/modena.h>
|
#include <boost/predef/library/std/modena.h>
|
||||||
#include <boost/predef/library/std/msl.h>
|
#include <boost/predef/library/std/msl.h>
|
||||||
|
#include <boost/predef/library/std/msvc.h>
|
||||||
#include <boost/predef/library/std/roguewave.h>
|
#include <boost/predef/library/std/roguewave.h>
|
||||||
#include <boost/predef/library/std/sgi.h>
|
#include <boost/predef/library/std/sgi.h>
|
||||||
#include <boost/predef/library/std/stdcpp3.h>
|
#include <boost/predef/library/std/stdcpp3.h>
|
||||||
|
53
include/boost/predef/library/std/msvc.h
Normal file
53
include/boost/predef/library/std/msvc.h
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
Copyright Henrik S. Gaßmann 2023
|
||||||
|
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)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef BOOST_PREDEF_LIBRARY_STD_MSVC_H
|
||||||
|
#define BOOST_PREDEF_LIBRARY_STD_MSVC_H
|
||||||
|
|
||||||
|
#include <boost/predef/library/std/_prefix.h>
|
||||||
|
|
||||||
|
#include <boost/predef/version_number.h>
|
||||||
|
#include <boost/predef/make.h>
|
||||||
|
|
||||||
|
/* tag::reference[]
|
||||||
|
= `BOOST_LIB_STD_MSVC`
|
||||||
|
|
||||||
|
https://github.com/microsoft/STL[Microsoft's {CPP} Standard Library].
|
||||||
|
If available version number as major, minor, and patch.
|
||||||
|
The patch number is derived from `_MSVC_STL_UPDATE` by taking its five last
|
||||||
|
digits (see below). This implies that pasting a `_MSVC_STL_UPDATE` value into
|
||||||
|
`BOOST_VERSION_NUMBER` will produce a version number that is directly comparable
|
||||||
|
to `BOOST_LIB_STD_MSVC`.
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|===
|
||||||
|
| {predef_symbol} | {predef_version}
|
||||||
|
|
||||||
|
| `+_MSVC_STL_VERSION+` | {predef_detection}
|
||||||
|
|
||||||
|
| `+_MSVC_STL_VERSION+` | VV.R.0
|
||||||
|
| `+_MSVC_STL_UPDATE+` | 00.0.0YYYMM
|
||||||
|
|===
|
||||||
|
*/ // end::reference[]
|
||||||
|
|
||||||
|
#define BOOST_LIB_STD_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||||
|
|
||||||
|
#if defined(_MSVC_STL_VERSION)
|
||||||
|
# undef BOOST_LIB_STD_MSVC
|
||||||
|
# define BOOST_LIB_STD_MSVC BOOST_PREDEF_MAKE_10_VVR_0PPPPP(_MSVC_STL_VERSION, _MSVC_STL_UPDATE)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if BOOST_LIB_STD_MSVC
|
||||||
|
# define BOOST_LIB_STD_MSVC_AVAILABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BOOST_LIB_STD_MSVC_NAME "Microsoft stdlib"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <boost/predef/detail/test.h>
|
||||||
|
BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_MSVC, BOOST_LIB_STD_MSVC_NAME)
|
@ -106,6 +106,10 @@ Macros are:
|
|||||||
*/ // end::reference[]
|
*/ // end::reference[]
|
||||||
#define BOOST_PREDEF_MAKE_10_VV00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0)
|
#define BOOST_PREDEF_MAKE_10_VV00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0)
|
||||||
/* tag::reference[]
|
/* tag::reference[]
|
||||||
|
* `BOOST_PREDEF_MAKE_10_VVR_0PPPPP(V, P)`, the second parameter specifies a year-month patch level with the first digit discarded
|
||||||
|
*/ // end::reference[]
|
||||||
|
#define BOOST_PREDEF_MAKE_10_VVR_0PPPPP(V, P) BOOST_VERSION_NUMBER(((V)/10)%100,(V)%10,(P)%100000)
|
||||||
|
/* tag::reference[]
|
||||||
* `BOOST_PREDEF_MAKE_10_VVRR(V)`
|
* `BOOST_PREDEF_MAKE_10_VVRR(V)`
|
||||||
*/ // end::reference[]
|
*/ // end::reference[]
|
||||||
#define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0)
|
#define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0)
|
||||||
|
@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
/* tag::reference[]
|
/* tag::reference[]
|
||||||
= `BOOST_OS_VMS`
|
= `BOOST_OS_VMS`
|
||||||
|
|
||||||
http://en.wikipedia.org/wiki/Vms[VMS] operating system.
|
http://en.wikipedia.org/wiki/OpenVMS[VMS] operating system.
|
||||||
|
|
||||||
[options="header"]
|
[options="header"]
|
||||||
|===
|
|===
|
||||||
|
@ -10,6 +10,6 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|||||||
|
|
||||||
#include <boost/predef/version_number.h>
|
#include <boost/predef/version_number.h>
|
||||||
|
|
||||||
#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,14,0)
|
#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,15,0)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,28 +1,18 @@
|
|||||||
# Copyright Rene Rivera 2011-2019
|
# Copyright Rene Rivera 2011-2023
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
# (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)
|
||||||
|
|
||||||
import ../tools/check/predef : require check : predef-require predef-check ;
|
import predef : require check : predef-require predef-check ;
|
||||||
import common ;
|
import common ;
|
||||||
import path ;
|
import path ;
|
||||||
import regex ;
|
import regex ;
|
||||||
|
|
||||||
# This deals with the unfortunate aspect of a Boost monolithic release
|
|
||||||
# not having the modular include dirs. This is a kludge that just removes
|
|
||||||
# the direct dependency to the header if it can't find it.
|
|
||||||
local PREDEF_H = $(BOOST_PREDEF_INCLUDE)/boost/predef.h ;
|
|
||||||
if ! [ path.exists $(PREDEF_H) ]
|
|
||||||
{
|
|
||||||
PREDEF_H = ;
|
|
||||||
}
|
|
||||||
|
|
||||||
project
|
project
|
||||||
: requirements
|
: requirements
|
||||||
<include>$(BOOST_PREDEF_INCLUDE)
|
|
||||||
# Add explicit dependency since we don't have header scanner for
|
# Add explicit dependency since we don't have header scanner for
|
||||||
# .m and .mm files.
|
# .m and .mm files.
|
||||||
<dependency>$(PREDEF_H)
|
<dependency>../include/boost/predef.h
|
||||||
;
|
;
|
||||||
|
|
||||||
using testing ;
|
using testing ;
|
||||||
@ -53,34 +43,13 @@ test-suite predef :
|
|||||||
[ compile workaround_strict_config.cpp ]
|
[ compile workaround_strict_config.cpp ]
|
||||||
[ run tested_at.cpp ]
|
[ run tested_at.cpp ]
|
||||||
[ compile-fail tested_at_outdated.cpp : <test-info>always_show_run_output ]
|
[ compile-fail tested_at_outdated.cpp : <test-info>always_show_run_output ]
|
||||||
[ compile platform_windows.cpp ]
|
[ compile platform_windows.cpp ]
|
||||||
;
|
;
|
||||||
|
|
||||||
local HEADERS = [ path.glob
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/architecture
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/architecture/x86
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/compiler
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/hardware
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/hardware/simd
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/hardware/simd/arm
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/hardware/simd/ppc
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/hardware/simd/x86
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/hardware/simd/x86_amd
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/language
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/library
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/library/c
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/library/std
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/os
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/os/bsd
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/other
|
|
||||||
$(BOOST_PREDEF_INCLUDE)/predef/platform
|
|
||||||
: *.h
|
|
||||||
] ;
|
|
||||||
local single_header_cpp ;
|
local single_header_cpp ;
|
||||||
for local h in $(HEADERS)
|
for local h in [ glob-tree-ex ../include/boost/predef : *.h ]
|
||||||
{
|
{
|
||||||
local header_include = [ path.relative $(h) [ path.make $(BOOST_PREDEF_INCLUDE) ] ] ;
|
local header_include = [ path.relative $(h) ../include ] ;
|
||||||
local header_cpp = [ regex.replace $(header_include:S=.cpp) "/" "_" ] ;
|
local header_cpp = [ regex.replace $(header_include:S=.cpp) "/" "_" ] ;
|
||||||
.HEADER($(header_cpp:B:S=)) = $(header_include) ;
|
.HEADER($(header_cpp:B:S=)) = $(header_include) ;
|
||||||
make $(header_cpp) : : @gen_single_header_cpp ;
|
make $(header_cpp) : : @gen_single_header_cpp ;
|
||||||
@ -113,5 +82,8 @@ alias full : predef predef-info ;
|
|||||||
# Extra's target.
|
# Extra's target.
|
||||||
alias extra : predef-headers ;
|
alias extra : predef-headers ;
|
||||||
|
|
||||||
|
alias all : predef predef-info predef-headers ;
|
||||||
|
|
||||||
explicit minimal ;
|
explicit minimal ;
|
||||||
explicit extra ;
|
explicit extra ;
|
||||||
|
explicit all ;
|
||||||
|
@ -54,6 +54,7 @@ void test_BOOST_VERSION_NUMBER()
|
|||||||
/* PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR00PP00(9999009900ull) == BOOST_VERSION_NUMBER(99,99,99)); */
|
/* PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR00PP00(9999009900ull) == BOOST_VERSION_NUMBER(99,99,99)); */
|
||||||
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR0PP00(999909900) == BOOST_VERSION_NUMBER(99,99,99));
|
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR0PP00(999909900) == BOOST_VERSION_NUMBER(99,99,99));
|
||||||
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VV00(9900) == BOOST_VERSION_NUMBER(99,00,00));
|
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VV00(9900) == BOOST_VERSION_NUMBER(99,00,00));
|
||||||
|
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVR_0PPPPP(999,299999) == BOOST_VERSION_NUMBER(99,9,99999));
|
||||||
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR0PPPP(999909999) == BOOST_VERSION_NUMBER(99,99,9999));
|
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR0PPPP(999909999) == BOOST_VERSION_NUMBER(99,99,9999));
|
||||||
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRR(999) == BOOST_VERSION_NUMBER(9,99,00));
|
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRR(999) == BOOST_VERSION_NUMBER(9,99,00));
|
||||||
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRRPPP(903122) == BOOST_VERSION_NUMBER(9,3,122));
|
PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRRPPP(903122) == BOOST_VERSION_NUMBER(9,3,122));
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
# Copyright Rene Rivera 2015
|
# Copyright Rene Rivera 2015-2023
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
# (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)
|
||||||
|
|
||||||
exe predef_check_as_c : predef_check_as_c.c : <include>../include ;
|
exe predef_check_as_c : predef_check_as_c.c ;
|
||||||
exe predef_check_as_cpp : predef_check_as_cpp.cpp : <include>../include ;
|
exe predef_check_as_cpp : predef_check_as_cpp.cpp ;
|
||||||
exe predef_check_as_objc : predef_check_as_objc.m : <include>../include ;
|
exe predef_check_as_objc : predef_check_as_objc.m : <conditional>@objc ;
|
||||||
exe predef_check_as_objcpp : predef_check_as_objcpp.mm : <include>../include ;
|
exe predef_check_as_objcpp : predef_check_as_objcpp.mm : <conditional>@objc ;
|
||||||
|
|
||||||
|
rule objc ( props * )
|
||||||
|
{
|
||||||
|
if ! ( <target-os>darwin in $(props) )
|
||||||
|
{
|
||||||
|
return <build>no ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright Rene Rivera 2015
|
# Copyright Rene Rivera 2015-2023
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
# (See accompanying file LICENSE_1_0.txt or copy at
|
# (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)
|
||||||
@ -31,6 +31,7 @@ rule check ( expressions + : language ? : true-properties * : false-properties *
|
|||||||
language ?= cpp ;
|
language ?= cpp ;
|
||||||
|
|
||||||
local project_target = [ project.target $(__name__) ] ;
|
local project_target = [ project.target $(__name__) ] ;
|
||||||
|
$(project_target).reset-alternatives ;
|
||||||
project.push-current $(project_target) ;
|
project.push-current $(project_target) ;
|
||||||
local terms ;
|
local terms ;
|
||||||
local result ;
|
local result ;
|
||||||
@ -69,6 +70,30 @@ rule require ( expressions + : language ? )
|
|||||||
return [ check $(expressions) : $(language) : : <build>no ] ;
|
return [ check $(expressions) : $(language) : : <build>no ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Set the address-model to the default/deduced value for the context.
|
||||||
|
rule address-model ( )
|
||||||
|
{
|
||||||
|
return
|
||||||
|
[ check "BOOST_ARCH_WORD_BITS == 0.0.16" : : <address-model>16 ]
|
||||||
|
[ check "BOOST_ARCH_WORD_BITS == 0.0.32" : : <address-model>32 ]
|
||||||
|
[ check "BOOST_ARCH_WORD_BITS == 0.0.64" : : <address-model>64 ]
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set the architecture to the default/deduced value to the context.
|
||||||
|
rule architecture ( )
|
||||||
|
{
|
||||||
|
local result = ;
|
||||||
|
local deducable-arch =
|
||||||
|
x86 ia64 sparc ppc loongarch mips parisc arm riscv ;
|
||||||
|
for arch in $(deducable-arch)
|
||||||
|
{
|
||||||
|
result += [ check BOOST_ARCH_$(arch:U) : : <architecture>$(arch) ] ;
|
||||||
|
}
|
||||||
|
result += [ check BOOST_ARCH_SYS390 : : <architecture>s390x ] ;
|
||||||
|
return $(result) ;
|
||||||
|
}
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
.c.ext = c ;
|
.c.ext = c ;
|
||||||
@ -88,7 +113,7 @@ local rule check_target ( language key : requirements * )
|
|||||||
local source_path
|
local source_path
|
||||||
= $(predef_jam:D)/predef_check_cc_as_$(language).$(.$(language).ext) ;
|
= $(predef_jam:D)/predef_check_cc_as_$(language).$(.$(language).ext) ;
|
||||||
local include_path
|
local include_path
|
||||||
= $(predef_jam:D)/../../include $(BOOST_ROOT) ;
|
= $(predef_jam:D)/../../include ;
|
||||||
obj predef_check_cc_$(key)
|
obj predef_check_cc_$(key)
|
||||||
: $(source_path)
|
: $(source_path)
|
||||||
: <include>$(include_path) $(requirements) ;
|
: <include>$(include_path) $(requirements) ;
|
||||||
@ -112,6 +137,7 @@ local rule change_term_to_def ( term )
|
|||||||
class check-expression-evaluator
|
class check-expression-evaluator
|
||||||
{
|
{
|
||||||
import configure ;
|
import configure ;
|
||||||
|
import property ;
|
||||||
|
|
||||||
rule __init__ ( expression + : true-properties * : false-properties * )
|
rule __init__ ( expression + : true-properties * : false-properties * )
|
||||||
{
|
{
|
||||||
@ -155,14 +181,22 @@ class check-expression-evaluator
|
|||||||
# Eval full the expression.
|
# Eval full the expression.
|
||||||
local eval-result = [ eval $(to-eval) ] ;
|
local eval-result = [ eval $(to-eval) ] ;
|
||||||
# And resolve true/false properties.
|
# And resolve true/false properties.
|
||||||
|
local result = ;
|
||||||
if $(eval-result) = "true"
|
if $(eval-result) = "true"
|
||||||
{
|
{
|
||||||
return $(self.true-properties) ;
|
result = $(self.true-properties) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return $(self.false-properties) ;
|
result = $(self.false-properties) ;
|
||||||
}
|
}
|
||||||
|
if $(result)
|
||||||
|
{
|
||||||
|
# Don't override anything that is explicitly specified.
|
||||||
|
local base = [ property.select $(result:G) : $(properties) ] ;
|
||||||
|
result = [ property.refine $(result) : $(base) ] ;
|
||||||
|
}
|
||||||
|
return $(result) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
rule eval ( e * )
|
rule eval ( e * )
|
||||||
|
Reference in New Issue
Block a user