forked from boostorg/predef
Compare commits
27 Commits
boost-1.73
...
esp-idf-co
Author | SHA1 | Date | |
---|---|---|---|
2d2f10715d | |||
af3e70ada5 | |||
499d28e34f | |||
9577047aa8 | |||
4abc13fa55 | |||
8e62bd04dd | |||
01f4cbe4a4 | |||
e777e38a43 | |||
76218d7a19 | |||
b48ed9ec62 | |||
1be0e4a2d8 | |||
df63bf3dca | |||
8ee83ef1aa | |||
c9ee4eb329 | |||
cfbda6e0cc | |||
d37f35e578 | |||
d3460e05aa | |||
f51e4ff45e | |||
40c6205858 | |||
caa0627ab5 | |||
a7ac034985 | |||
6bcceefb48 | |||
d990549214 | |||
e697cafd12 | |||
99cfb298de | |||
17cb5b78d5 | |||
095faae58d |
49
.cirrus.yml
Normal file
49
.cirrus.yml
Normal file
@ -0,0 +1,49 @@
|
||||
# Use, modification, and distribution are
|
||||
# subject to the Boost Software License, Version 1.0. (See accompanying
|
||||
# file LICENSE.txt)
|
||||
#
|
||||
# Copyright René Ferdinand Rivera Morell 2020-2021.
|
||||
|
||||
freebsd_task:
|
||||
# All the GCC's and Clang's currently supported by FreeBSD ports.
|
||||
matrix:
|
||||
- { name: 'FreeBSD, GCC 11', env: { CXX: 'g++11', PACKAGE: 'gcc11-devel', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, GCC 10', env: { CXX: 'g++10', PACKAGE: 'gcc10-devel', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, GCC 9', env: { CXX: 'g++9', PACKAGE: 'gcc9-devel', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, GCC 8', env: { CXX: 'g++8', PACKAGE: 'gcc8', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
# - { name: 'FreeBSD, GCC 7', env: { CXX: 'g++7', PACKAGE: 'gcc7', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-12-2' } }
|
||||
- { name: 'FreeBSD, Clang 12', env: { CXX: 'clang++12', PACKAGE: 'devel/llvm12', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 11', env: { CXX: 'clang++11', PACKAGE: 'devel/llvm11', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 10', env: { CXX: 'clang++10', PACKAGE: 'devel/llvm10', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 9', env: { CXX: 'clang++90', PACKAGE: 'devel/llvm90', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 8', env: { CXX: 'clang++80', PACKAGE: 'devel/llvm80' , TOOLSET: clang}, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 7', env: { CXX: 'clang++70', PACKAGE: 'devel/llvm70', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
# To install with ports we need to initialize the package manager. To avoid
|
||||
# confirmation prompts we need to set an env var.
|
||||
install_script: [
|
||||
"uname -a",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg bootstrap",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg install wget",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg install ncurses",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg install ${PACKAGE}"
|
||||
]
|
||||
# Install B2.
|
||||
install_b2_script: [
|
||||
"set -e",
|
||||
"export \"PCD=${PWD}\" ; cd ${HOME}",
|
||||
"wget -nv https://github.com/bfgroup/b2/archive/release.tar.gz",
|
||||
"tar -zxf release.tar.gz",
|
||||
"cd b2-release",
|
||||
"CXX= ./bootstrap.sh",
|
||||
"sudo ./b2 install toolset=clang",
|
||||
"cd \"${PCD}\""
|
||||
]
|
||||
# Test.
|
||||
test_script: [
|
||||
"set -e",
|
||||
"CXX_PATH=`which ${CXX}`",
|
||||
"echo \"using ${TOOLSET} : : ${CXX_PATH} ;\" > ${HOME}/user-config.jam",
|
||||
"cd test",
|
||||
"b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info",
|
||||
"b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers"
|
||||
]
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/.conan/
|
||||
.bin
|
||||
boost-build.jam
|
||||
project-config.jam
|
||||
|
@ -1,9 +1,11 @@
|
||||
# Copyright Mike Dev 2018
|
||||
# Copyright Rene Rivera 2018
|
||||
# Copyright René Ferdinand Rivera Morell 2018-2021
|
||||
# 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
|
||||
|
||||
if(NOT DEFINED IDF_TARGET)
|
||||
|
||||
# NOTE:
|
||||
# CMake support for Boost.Predef is currently experimental at best and the
|
||||
# interface is likely to change in the future
|
||||
@ -25,7 +27,7 @@ cmake_minimum_required( VERSION 3.0 )
|
||||
# Don't set VERSION, as that's a pita to keep up to date with the version
|
||||
# header. And don't set LANGUAGES as we are multi-language and header
|
||||
# only, so it's irrelevant.
|
||||
project( BoostPredef )
|
||||
project( BoostPredef LANGUAGES NONE )
|
||||
|
||||
# Simple INTERFACE, and header only, library target.
|
||||
add_library( boost_predef INTERFACE )
|
||||
@ -36,3 +38,17 @@ target_include_directories( boost_predef INTERFACE include )
|
||||
# Add an alias to be compatible with consumers that may have used the
|
||||
# FindBoost script.
|
||||
add_library( Boost::predef ALIAS boost_predef )
|
||||
|
||||
else()
|
||||
|
||||
FILE(GLOB_RECURSE headers include/*.h include/*.hpp)
|
||||
|
||||
idf_component_register(
|
||||
SRCS
|
||||
${headers}
|
||||
INCLUDE_DIRS
|
||||
include
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
|
101
appveyor.yml
Normal file
101
appveyor.yml
Normal file
@ -0,0 +1,101 @@
|
||||
# Use, modification, and distribution are
|
||||
# subject to the Boost Software License, Version 1.0. (See accompanying
|
||||
# file LICENSE.txt)
|
||||
#
|
||||
# Copyright René Ferdinand Rivera Morell 2020-2021.
|
||||
|
||||
branches:
|
||||
only:
|
||||
- /master.*/
|
||||
- /develop.*/
|
||||
- /feature.*/
|
||||
|
||||
skip_commits:
|
||||
files:
|
||||
- .circleci/*
|
||||
- .cirrus.yml
|
||||
- .drone.star
|
||||
- .github/workflows/*
|
||||
- .semaphore/*
|
||||
- .travis.yml
|
||||
- azure-pipelines.yml
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
# All the Visual Studio installs available on Appveyor
|
||||
# - { job_name: 'VS 2019', TOOLSET: "msvc", TOOLSET_VERSION: '14.2', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' }
|
||||
- { job_name: 'VS 2017', TOOLSET: "msvc", TOOLSET_VERSION: '14.1', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' }
|
||||
- { job_name: 'VS 2015', TOOLSET: "msvc", TOOLSET_VERSION: '14.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
- { job_name: 'VS 2013', TOOLSET: "msvc", TOOLSET_VERSION: '12.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# - { job_name: 'VS 2012', TOOLSET: "msvc", TOOLSET_VERSION: '11.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# - { job_name: 'VS 2010', TOOLSET: "msvc", TOOLSET_VERSION: '10.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# The "recent" MinGW installs available on Appveyor.
|
||||
- { job_name: 'MinGW-w64 8.1', TOOLSET: "gcc", CXXPATH: 'C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
- { job_name: 'MinGW-w64 7.3', TOOLSET: "gcc", CXXPATH: 'C:/mingw-w64/x86_64-7.3.0-posix-seh-rt_v5-rev0/mingw64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
- { job_name: 'MinGW-w64 6.3', TOOLSET: "gcc", CXXPATH: 'C:/mingw-w64/x86_64-6.3.0-posix-seh-rt_v5-rev1/mingw64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# Cygwin versions available.
|
||||
# - { job_name: 'Cygwin32 3.1.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' }
|
||||
# - { job_name: 'Cygwin64 3.1.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' }
|
||||
- { job_name: 'Cygwin32 3.0.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' }
|
||||
- { job_name: 'Cygwin64 3.0.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' }
|
||||
|
||||
platform:
|
||||
- x86
|
||||
- x64
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
# - { platform: x64, job_name: 'VS 2012' }
|
||||
# - { platform: x64, job_name: 'VS 2010' }
|
||||
- { platform: x64, job_name: 'Cygwin32 3.1.7' }
|
||||
- { platform: x86, job_name: 'Cygwin64 3.1.7' }
|
||||
- { platform: x64, job_name: 'Cygwin32 3.0.7' }
|
||||
- { platform: x86, job_name: 'Cygwin64 3.0.7' }
|
||||
|
||||
for:
|
||||
# msvc job steps.
|
||||
- matrix:
|
||||
only:
|
||||
- TOOLSET: 'msvc'
|
||||
install:
|
||||
- cmd: |
|
||||
echo ">>>>> INSTALL .."
|
||||
choco install vswhere
|
||||
echo ">>>>> INSTALL B2 .."
|
||||
cd %APPVEYOR_BUILD_FOLDER%/..
|
||||
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
|
||||
7z x b2.zip -r
|
||||
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
||||
cd %APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cmd.exe /c bootstrap.bat
|
||||
build_script:
|
||||
- cmd: |
|
||||
echo ">>>>>"
|
||||
echo ">>>>> TEST .."
|
||||
echo ">>>>>"
|
||||
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cd %APPVEYOR_BUILD_FOLDER%/test
|
||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/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
|
||||
# Windows MinGW & Cygwin job steps.
|
||||
- matrix:
|
||||
only:
|
||||
- TOOLSET: 'gcc'
|
||||
install:
|
||||
- cmd: |
|
||||
echo ">>>>> INSTALL B2 .."
|
||||
cd %APPVEYOR_BUILD_FOLDER%/..
|
||||
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
|
||||
7z x b2.zip -r
|
||||
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
||||
cd %APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cmd.exe /c bootstrap.bat
|
||||
build_script:
|
||||
# The build itself just calls the compiler directly.
|
||||
- cmd: |
|
||||
echo ">>>>> TEST .."
|
||||
set PATH=%CXXPATH%\..\;%PATH%
|
||||
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cd %APPVEYOR_BUILD_FOLDER%/test
|
||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/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
|
@ -2,7 +2,7 @@
|
||||
# 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)
|
||||
#
|
||||
# Copyright Rene Rivera 2019-2020.
|
||||
# Copyright René Ferdinand Rivera Morell 2019-2021.
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
@ -10,6 +10,15 @@ trigger:
|
||||
- develop
|
||||
- master
|
||||
- feature/*
|
||||
paths:
|
||||
exclude:
|
||||
- .circleci/*
|
||||
- .cirrus.yml
|
||||
- .drone.star
|
||||
- .github/workflows/*
|
||||
- .semaphore/*
|
||||
- .travis.yml
|
||||
- appveyor.yml
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
@ -32,139 +41,39 @@ stages:
|
||||
- job: 'Linux'
|
||||
strategy:
|
||||
matrix:
|
||||
GCC 9 (GNU):
|
||||
TOOLSET: gcc
|
||||
CXX: g++-9
|
||||
PACKAGES: g++-9
|
||||
B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=gnu'
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
GCC 9 (ISO):
|
||||
TOOLSET: gcc
|
||||
CXX: g++-9
|
||||
PACKAGES: g++-9
|
||||
B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=iso'
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
GCC 9:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-9
|
||||
PACKAGES: g++-9
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
GCC 8:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-8
|
||||
PACKAGES: g++-8
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
GCC 7:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-7
|
||||
PACKAGES: g++-7
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
GCC 6:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-6
|
||||
PACKAGES: g++-6
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
GCC 5:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-5
|
||||
PACKAGES: g++-5
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
GCC 4.9:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-4.9
|
||||
PACKAGES: g++-4.9
|
||||
VM_IMAGE: 'ubuntu-16.04'
|
||||
GCC 4.8:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-4.8
|
||||
PACKAGES: g++-4.8
|
||||
VM_IMAGE: 'ubuntu-16.04'
|
||||
GCC 4.7:
|
||||
TOOLSET: gcc
|
||||
CXX: g++-4.7
|
||||
PACKAGES: g++-4.7
|
||||
VM_IMAGE: 'ubuntu-16.04'
|
||||
Clang 9:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-9
|
||||
PACKAGES: clang-9
|
||||
LLVM_REPO: llvm-toolchain-xenial-9
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
Clang 8:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-8
|
||||
PACKAGES: clang-8
|
||||
LLVM_REPO: llvm-toolchain-xenial-8
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
Clang 7:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-7
|
||||
PACKAGES: clang-7
|
||||
LLVM_REPO: llvm-toolchain-xenial-7
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
Clang 6:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-6.0
|
||||
PACKAGES: clang-6.0
|
||||
LLVM_REPO: llvm-toolchain-xenial-6.0
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
Clang 5:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-5.0
|
||||
PACKAGES: clang-5.0
|
||||
LLVM_REPO: llvm-toolchain-xenial-5.0
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
Clang 4:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-4.0
|
||||
PACKAGES: clang-4.0
|
||||
LLVM_REPO: llvm-toolchain-xenial-4.0
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
Clang 3.9:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-3.9
|
||||
PACKAGES: clang-3.9
|
||||
VM_IMAGE: 'ubuntu-18.04'
|
||||
Clang 3.8:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-3.8
|
||||
PACKAGES: clang-3.8
|
||||
VM_IMAGE: 'ubuntu-16.04'
|
||||
Clang 3.7:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-3.7
|
||||
PACKAGES: clang-3.7
|
||||
VM_IMAGE: 'ubuntu-16.04'
|
||||
Clang 3.6:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-3.6
|
||||
PACKAGES: clang-3.6
|
||||
VM_IMAGE: 'ubuntu-16.04'
|
||||
Clang 3.5:
|
||||
TOOLSET: clang
|
||||
CXX: clang++-3.5
|
||||
PACKAGES: clang-3.5
|
||||
VM_IMAGE: 'ubuntu-16.04'
|
||||
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 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 11: { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc }
|
||||
GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc }
|
||||
GCC 9: { CXX: g++-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
||||
GCC 8: { CXX: g++-8, PACKAGES: g++-8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
||||
GCC 7: { CXX: g++-7, PACKAGES: g++-7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
||||
GCC 6: { CXX: g++-6, PACKAGES: g++-6, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
||||
GCC 5: { CXX: g++-5, PACKAGES: g++-5, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
|
||||
Clang 13: { CXX: clang++-13, PACKAGES: clang-13, LLVM_OS: focal, LLVM_VER: 13, 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 10: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10, VM_IMAGE: 'ubuntu-18.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 8: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8, 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 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 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 4.0: { CXX: clang++-4.0, PACKAGES: clang-4.0, LLVM_OS: xenial, LLVM_VER: 4.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
|
||||
pool:
|
||||
vmImage: $(VM_IMAGE)
|
||||
steps:
|
||||
- bash: |
|
||||
set -e
|
||||
uname -a
|
||||
sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
if test -n "${LLVM_REPO}" ; then
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
sudo -E apt-add-repository "deb http://apt.llvm.org/xenial/ ${LLVM_REPO} main"
|
||||
fi
|
||||
sudo -E apt-get update
|
||||
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install ${PACKAGES}
|
||||
./tools/ci/linux-cxx-install.sh
|
||||
displayName: 'Install CXX'
|
||||
- bash: |
|
||||
set -e
|
||||
pushd ${HOME}
|
||||
wget -nv https://github.com/boostorg/build/archive/master.tar.gz
|
||||
tar -zxf master.tar.gz
|
||||
cd build-master
|
||||
wget -nv https://github.com/bfgroup/b2/archive/release.tar.gz
|
||||
tar -zxf release.tar.gz
|
||||
cd b2-release
|
||||
CXX= ./bootstrap.sh
|
||||
sudo ./b2 install
|
||||
popd
|
||||
@ -174,63 +83,28 @@ stages:
|
||||
CXX_PATH=`which ${CXX}`
|
||||
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
|
||||
pushd test
|
||||
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS}
|
||||
b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info
|
||||
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers
|
||||
popd
|
||||
displayName: Test
|
||||
|
||||
- job: 'macOS'
|
||||
strategy:
|
||||
matrix:
|
||||
Xcode 11.4:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_11.4_beta.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.3:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_11.3.app
|
||||
VM_IMAGE: 'macOS-10.15'
|
||||
Xcode 11.2:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_11.2.app
|
||||
VM_IMAGE: 'macOS-10.15'
|
||||
Xcode 11.1:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_11.1.app
|
||||
VM_IMAGE: 'macOS-10.15'
|
||||
Xcode 11.0:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_11.app
|
||||
VM_IMAGE: 'macOS-10.15'
|
||||
Xcode 10.2.1:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_10.2.1.app
|
||||
VM_IMAGE: 'macOS-10.14'
|
||||
Xcode 10.2:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_10.2.app
|
||||
VM_IMAGE: 'macOS-10.14'
|
||||
Xcode 10.1:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_10.1.app
|
||||
VM_IMAGE: 'macOS-10.14'
|
||||
Xcode 10.0:
|
||||
TOOLSET: clang
|
||||
CXX: clang++
|
||||
XCODE_APP: /Applications/Xcode_10.app
|
||||
VM_IMAGE: 'macOS-10.14'
|
||||
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.0: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.0.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'}
|
||||
Xcode 12.2: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.2.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.0.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.0.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 11.6: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.6.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.4.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.4.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:
|
||||
vmImage: $(VM_IMAGE)
|
||||
steps:
|
||||
@ -244,9 +118,9 @@ stages:
|
||||
- bash: |
|
||||
set -e
|
||||
pushd ${HOME}
|
||||
wget -nv https://github.com/boostorg/build/archive/master.tar.gz
|
||||
tar -zxf master.tar.gz
|
||||
cd build-master
|
||||
wget -nv https://github.com/bfgroup/b2/archive/release.tar.gz
|
||||
tar -zxf release.tar.gz
|
||||
cd b2-release
|
||||
CXX= ./bootstrap.sh
|
||||
sudo ./b2 install
|
||||
popd
|
||||
@ -256,7 +130,8 @@ stages:
|
||||
CXX_PATH=`which ${CXX}`
|
||||
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
|
||||
pushd test
|
||||
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS}
|
||||
b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info
|
||||
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers
|
||||
popd
|
||||
displayName: Test
|
||||
|
||||
@ -293,10 +168,10 @@ stages:
|
||||
TOOLSET_VERSION: 14.2
|
||||
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SYSTEM
|
||||
VM_IMAGE: 'windows-2019'
|
||||
VS 2017:
|
||||
VS 2022:
|
||||
TOOLSET: msvc
|
||||
TOOLSET_VERSION: 14.1
|
||||
VM_IMAGE: 'vs2017-win2016'
|
||||
TOOLSET_VERSION: 14.3
|
||||
VM_IMAGE: 'windows-2022'
|
||||
MinGW 8.1.0:
|
||||
TOOLSET: gcc
|
||||
VM_IMAGE: 'windows-2019'
|
||||
@ -313,7 +188,7 @@ stages:
|
||||
steps:
|
||||
- script: |
|
||||
cd %BUILD_SOURCESDIRECTORY%/..
|
||||
curl "https://github.com/boostorg/build/archive/master.zip" -L -o b2.zip
|
||||
curl "https://github.com/bfgroup/b2/archive/release.zip" -L -o b2.zip
|
||||
displayName: Download B2
|
||||
- task: ExtractFiles@1
|
||||
inputs:
|
||||
@ -323,11 +198,68 @@ stages:
|
||||
displayName: Extract B2
|
||||
- script: |
|
||||
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
||||
cd %BUILD_SOURCESDIRECTORY%/../build-master
|
||||
cd %BUILD_SOURCESDIRECTORY%/../b2-release
|
||||
cmd.exe /c bootstrap.bat
|
||||
displayName: Install B2
|
||||
- script: |
|
||||
set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../build-master
|
||||
set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../b2-release
|
||||
cd %BUILD_SOURCESDIRECTORY%/test
|
||||
%BUILD_SOURCESDIRECTORY%/../build-master/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS%
|
||||
%BUILD_SOURCESDIRECTORY%/../b2-release/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
||||
%BUILD_SOURCESDIRECTORY%/../b2-release/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
||||
displayName: Test
|
||||
|
||||
- stage: WebsiteUpdate
|
||||
displayName: 'Website Update'
|
||||
condition: and(in(variables['Build.SourceBranch'], 'refs/heads/master', 'refs/heads/develop'), eq(variables['Build.Repository.Name'], 'grafikrobot/hash-predef'))
|
||||
jobs:
|
||||
|
||||
- job: Documentation
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '2.x'
|
||||
- task: UseRubyVersion@0
|
||||
- bash: |
|
||||
gem install asciidoctor
|
||||
gem install rouge
|
||||
displayName: 'Install Doc Tools'
|
||||
- bash: |
|
||||
set -e
|
||||
pushd ${HOME}
|
||||
wget -nv https://github.com/bfgroup/b2/archive/release.tar.gz
|
||||
tar -zxf release.tar.gz
|
||||
cd b2-release
|
||||
CXX= ./bootstrap.sh
|
||||
sudo ./b2 install
|
||||
popd
|
||||
displayName: 'Install B2'
|
||||
- bash: |
|
||||
rm -rf ${WEB_DIR}
|
||||
git clone --verbose --branch gh-pages --depth 1 "https://${GH_TOKEN}github.com/grafikrobot/hash-predef.git" ${WEB_DIR} || exit 1
|
||||
pushd ${WEB_DIR}
|
||||
git rm --ignore-unmatch -r "${DOC_DIR}" || exit 1
|
||||
mkdir -p "${DOC_DIR}" || exit 1
|
||||
popd
|
||||
displayName: 'Clone Website'
|
||||
env:
|
||||
GH_TOKEN: $(GitHubToken)
|
||||
WEB_DIR: website
|
||||
DOC_DIR: manual/$(Build.SourceBranchName)
|
||||
- bash: |
|
||||
echo "using asciidoctor ;" > ${HOME}/user-config.jam
|
||||
pushd doc
|
||||
b2 --doc-dir=${WEB_DIR}/${DOC_DIR} html
|
||||
git config user.email "doc-bot"
|
||||
git config user.name "doc-bot"
|
||||
cd ${WEB_DIR}/${DOC_DIR}
|
||||
git add --verbose . || exit 1
|
||||
git commit -m "Update documentation."
|
||||
git push
|
||||
popd
|
||||
displayName: 'Build & Publish'
|
||||
env:
|
||||
GH_TOKEN: $(GitHubToken)
|
||||
WEB_DIR: website
|
||||
DOC_DIR: manual/$(Build.SourceBranchName)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright Rene Rivera 2014-2019
|
||||
# Copyright René Ferdinand Rivera Morell 2014-2019
|
||||
# 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)
|
||||
|
829
doc/amber.css
Normal file
829
doc/amber.css
Normal file
@ -0,0 +1,829 @@
|
||||
@import url(https://fonts.googleapis.com/css2?family=Comfortaa&display=swap);
|
||||
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
|
||||
/* ========================================================================== HTML5 display definitions ========================================================================== */
|
||||
/** Correct `block` display not defined in IE 8/9. */
|
||||
@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap);
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
|
||||
|
||||
/** Correct `inline-block` display not defined in IE 8/9. */
|
||||
audio, canvas, video { display: inline-block; }
|
||||
|
||||
/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
|
||||
audio:not([controls]) { display: none; height: 0; }
|
||||
|
||||
/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */
|
||||
[hidden], template { display: none; }
|
||||
|
||||
script { display: none !important; }
|
||||
|
||||
/* ========================================================================== Base ========================================================================== */
|
||||
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
|
||||
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
|
||||
|
||||
/** Remove default margin. */
|
||||
body { margin: 0; }
|
||||
|
||||
/* ========================================================================== Links ========================================================================== */
|
||||
/** Remove the gray background color from active links in IE 10. */
|
||||
a { background: transparent; }
|
||||
|
||||
/** Address `outline` inconsistency between Chrome and other browsers. */
|
||||
a:focus { outline: thin dotted; }
|
||||
|
||||
/** Improve readability when focused and also mouse hovered in all browsers. */
|
||||
a:active, a:hover { outline: 0; }
|
||||
|
||||
/* ========================================================================== Typography ========================================================================== */
|
||||
/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
|
||||
h1 { font-size: 2em; margin: 0.67em 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
|
||||
abbr[title] { border-bottom: 1px dotted; }
|
||||
|
||||
/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
|
||||
b, strong { font-weight: bold; }
|
||||
|
||||
/** Address styling not present in Safari 5 and Chrome. */
|
||||
dfn { font-style: italic; }
|
||||
|
||||
/** Address differences between Firefox and other browsers. */
|
||||
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9. */
|
||||
mark { background: #ff0; color: #000; }
|
||||
|
||||
/** Correct font family set oddly in Safari 5 and Chrome. */
|
||||
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
|
||||
|
||||
/** Improve readability of pre-formatted text in all browsers. */
|
||||
pre { white-space: pre-wrap; }
|
||||
|
||||
/** Set consistent quote types. */
|
||||
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
|
||||
|
||||
/** Address inconsistent and variable font size in all browsers. */
|
||||
small { font-size: 80%; }
|
||||
|
||||
/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
|
||||
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
|
||||
|
||||
sup { top: -0.5em; }
|
||||
|
||||
sub { bottom: -0.25em; }
|
||||
|
||||
/* ========================================================================== Embedded content ========================================================================== */
|
||||
/** Remove border when inside `a` element in IE 8/9. */
|
||||
img { border: 0; }
|
||||
|
||||
/** Correct overflow displayed oddly in IE 9. */
|
||||
svg:not(:root) { overflow: hidden; }
|
||||
|
||||
/* ========================================================================== Figures ========================================================================== */
|
||||
/** Address margin not present in IE 8/9 and Safari 5. */
|
||||
figure { margin: 0; }
|
||||
|
||||
/* ========================================================================== Forms ========================================================================== */
|
||||
/** Define consistent border, margin, and padding. */
|
||||
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
|
||||
|
||||
/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
|
||||
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
|
||||
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }
|
||||
|
||||
/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
|
||||
button, input { line-height: normal; }
|
||||
|
||||
/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
|
||||
button, select { text-transform: none; }
|
||||
|
||||
/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
|
||||
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
|
||||
|
||||
/** Re-set default cursor for disabled elements. */
|
||||
button[disabled], html input[disabled] { cursor: default; }
|
||||
|
||||
/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
|
||||
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
|
||||
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
|
||||
|
||||
/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
|
||||
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
|
||||
|
||||
/** Remove inner padding and border in Firefox 4+. */
|
||||
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
|
||||
|
||||
/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
|
||||
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
|
||||
|
||||
/* ========================================================================== Tables ========================================================================== */
|
||||
/** Remove most spacing between table cells. */
|
||||
table { border-collapse: collapse; border-spacing: 0; }
|
||||
|
||||
meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; }
|
||||
|
||||
meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; }
|
||||
|
||||
meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; }
|
||||
|
||||
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
|
||||
|
||||
html, body { font-size: 100%; }
|
||||
|
||||
body { background: #111; color: #aaa; padding: 0; margin: 0; font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
|
||||
|
||||
a:hover { cursor: pointer; }
|
||||
|
||||
img, object, embed { max-width: 100%; height: auto; }
|
||||
|
||||
object, embed { height: 100%; }
|
||||
|
||||
img { -ms-interpolation-mode: bicubic; }
|
||||
|
||||
#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; }
|
||||
|
||||
.left { float: left !important; }
|
||||
|
||||
.right { float: right !important; }
|
||||
|
||||
.text-left { text-align: left !important; }
|
||||
|
||||
.text-right { text-align: right !important; }
|
||||
|
||||
.text-center { text-align: center !important; }
|
||||
|
||||
.text-justify { text-align: justify !important; }
|
||||
|
||||
.hide { display: none; }
|
||||
|
||||
.antialiased { -webkit-font-smoothing: antialiased; }
|
||||
|
||||
img { display: inline-block; vertical-align: middle; }
|
||||
|
||||
textarea { height: auto; min-height: 50px; }
|
||||
|
||||
select { width: 100%; }
|
||||
|
||||
p.lead { font-size: 1.21875em; line-height: 1.6; }
|
||||
|
||||
.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.45; color: #e18400; font-weight: normal; margin-top: 0; margin-bottom: 0.25em; }
|
||||
|
||||
/* Typography resets */
|
||||
div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; }
|
||||
|
||||
/* Default Link Styles */
|
||||
a { color: #FA9300; text-decoration: underline; line-height: inherit; }
|
||||
a:hover, a:focus { color: #e18400; }
|
||||
a img { border: none; }
|
||||
|
||||
/* Default paragraph styles */
|
||||
p { font-family: inherit; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
|
||||
p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
|
||||
|
||||
/* Default header styles */
|
||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-weight: 300; font-style: normal; color: #ffa92e; text-rendering: optimizeLegibility; margin-top: 1em; margin-bottom: 0.5em; line-height: 1.0125em; }
|
||||
h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #ffe8c7; line-height: 0; }
|
||||
|
||||
h1 { font-size: 2.125em; }
|
||||
|
||||
h2 { font-size: 1.6875em; }
|
||||
|
||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; }
|
||||
|
||||
h4 { font-size: 1.125em; }
|
||||
|
||||
h5 { font-size: 1.125em; }
|
||||
|
||||
h6 { font-size: 1em; }
|
||||
|
||||
hr { border: solid #2b2b2b; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; }
|
||||
|
||||
/* Helpful Typography Defaults */
|
||||
em, i { font-style: italic; line-height: inherit; }
|
||||
|
||||
strong, b { font-weight: bold; line-height: inherit; }
|
||||
|
||||
small { font-size: 60%; line-height: inherit; }
|
||||
|
||||
code { font-family: "IBM Plex Mono", "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; font-weight: normal; color: #ffe8c7; }
|
||||
|
||||
/* Lists */
|
||||
ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; list-style-position: outside; font-family: inherit; }
|
||||
|
||||
ul, ol { margin-left: 1.5em; }
|
||||
ul.no-bullet, ol.no-bullet { margin-left: 1.5em; }
|
||||
|
||||
/* Unordered Lists */
|
||||
ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ }
|
||||
ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
|
||||
ul.square { list-style-type: square; }
|
||||
ul.circle { list-style-type: circle; }
|
||||
ul.disc { list-style-type: disc; }
|
||||
ul.no-bullet { list-style: none; }
|
||||
|
||||
/* Ordered Lists */
|
||||
ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
|
||||
|
||||
/* Definition Lists */
|
||||
dl dt { margin-bottom: 0.3125em; font-weight: bold; }
|
||||
dl dd { margin-bottom: 1.25em; }
|
||||
|
||||
/* Abbreviations */
|
||||
abbr, acronym { text-transform: uppercase; font-size: 90%; color: #aaa; border-bottom: 1px dotted #ddd; cursor: help; }
|
||||
|
||||
abbr { text-transform: none; }
|
||||
|
||||
/* Blockquotes */
|
||||
blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; }
|
||||
blockquote cite { display: block; font-size: 0.9375em; color: #aaa; }
|
||||
blockquote cite:before { content: "\2014 \0020"; }
|
||||
blockquote cite a, blockquote cite a:visited { color: #aaa; }
|
||||
|
||||
blockquote, blockquote p { line-height: 1.6; color: #ffa92e; }
|
||||
|
||||
/* Microformats */
|
||||
.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; }
|
||||
.vcard li { margin: 0; display: block; }
|
||||
.vcard .fn { font-weight: bold; font-size: 0.9375em; }
|
||||
|
||||
.vevent .summary { font-weight: bold; }
|
||||
.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.2; }
|
||||
h1 { font-size: 2.75em; }
|
||||
h2 { font-size: 2.3125em; }
|
||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
|
||||
h4 { font-size: 1.4375em; } }
|
||||
/* Tables */
|
||||
table { background: #111; margin-bottom: 1.25em; border: solid 1px #613900; }
|
||||
table thead, table tfoot { background: #2e1b00; font-weight: bold; }
|
||||
table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #aaa; text-align: left; }
|
||||
table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #aaa; }
|
||||
table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #040404; }
|
||||
table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.6; }
|
||||
|
||||
body { tab-size: 4; word-wrap: anywhere; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; }
|
||||
|
||||
table { word-wrap: normal; }
|
||||
|
||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.2; word-spacing: -0.05em; }
|
||||
h1 strong, h2 strong, h3 strong, #toctitle strong, .sidebarblock > .content > .title strong, h4 strong, h5 strong, h6 strong { font-weight: 400; }
|
||||
|
||||
object, svg { display: inline-block; vertical-align: middle; }
|
||||
|
||||
.center { margin-left: auto; margin-right: auto; }
|
||||
|
||||
.stretch { width: 100%; }
|
||||
|
||||
.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }
|
||||
.clearfix:after, .float-group:after { clear: both; }
|
||||
|
||||
:not(pre).nobreak { word-wrap: normal; }
|
||||
:not(pre).nowrap { white-space: nowrap; }
|
||||
:not(pre).pre-wrap { white-space: pre-wrap; }
|
||||
|
||||
:not(pre):not([class^=L]) > code { font-size: 0.875em; font-style: normal !important; letter-spacing: 0; padding: 0.1em 0.5ex; word-spacing: -0.15em; background-color: black; border: 1px solid #111; -webkit-border-radius: 8px; border-radius: 8px; line-height: 1.45; text-rendering: optimizeSpeed; }
|
||||
|
||||
pre { color: #FA9300; font-family: "IBM Plex Mono", "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; line-height: 1.45; text-rendering: optimizeSpeed; }
|
||||
pre code, pre pre { color: inherit; font-size: inherit; line-height: inherit; }
|
||||
pre > code { display: block; }
|
||||
|
||||
pre.nowrap, pre.nowrap pre { white-space: pre; word-wrap: normal; }
|
||||
|
||||
em em { font-style: normal; }
|
||||
|
||||
strong strong { font-weight: normal; }
|
||||
|
||||
.keyseq { color: #dddddd; }
|
||||
|
||||
kbd { font-family: "IBM Plex Mono", "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; display: inline-block; color: #aaa; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; }
|
||||
|
||||
.keyseq kbd:first-child { margin-left: 0; }
|
||||
|
||||
.keyseq kbd:last-child { margin-right: 0; }
|
||||
|
||||
.menuseq, .menuref { color: #000; }
|
||||
|
||||
.menuseq b:not(.caret), .menuref { font-weight: inherit; }
|
||||
|
||||
.menuseq { word-spacing: -0.02em; }
|
||||
.menuseq b.caret { font-size: 1.25em; line-height: 0.8; }
|
||||
.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; }
|
||||
|
||||
b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; }
|
||||
|
||||
b.button:before { content: "["; padding: 0 3px 0 2px; }
|
||||
|
||||
b.button:after { content: "]"; padding: 0 2px 0 3px; }
|
||||
|
||||
p a > code:hover { color: #ffddae; }
|
||||
|
||||
#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; }
|
||||
#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; }
|
||||
#header:after, #content:after, #footnotes:after, #footer:after { clear: both; }
|
||||
|
||||
#content { margin-top: 1.25em; }
|
||||
|
||||
#content:before { content: none; }
|
||||
|
||||
#header > h1:first-child { color: #ffa92e; margin-top: 2.25rem; margin-bottom: 0; }
|
||||
#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #2b2b2b; }
|
||||
#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #2b2b2b; padding-bottom: 8px; }
|
||||
#header .details { border-bottom: 1px solid #2b2b2b; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #aaa; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; }
|
||||
#header .details span:first-child { margin-left: -0.125em; }
|
||||
#header .details span.email a { color: #ffa92e; }
|
||||
#header .details br { display: none; }
|
||||
#header .details br + span:before { content: "\00a0\2013\00a0"; }
|
||||
#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #ffa92e; }
|
||||
#header .details br + span#revremark:before { content: "\00a0|\00a0"; }
|
||||
#header #revnumber { text-transform: capitalize; }
|
||||
#header #revnumber:after { content: "\00a0"; }
|
||||
|
||||
#content > h1:first-child:not([class]) { color: #ffa92e; border-bottom: 1px solid #2b2b2b; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; }
|
||||
|
||||
#toc { border-bottom: 1px solid #1e1e1e; padding-bottom: 0.5em; }
|
||||
#toc > ul { margin-left: 0.125em; }
|
||||
#toc ul.sectlevel0 > li > a { font-style: italic; }
|
||||
#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; }
|
||||
#toc ul { font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; list-style-type: none; }
|
||||
#toc li { line-height: 1.3334; margin-top: 0.3334em; }
|
||||
#toc a { text-decoration: none; }
|
||||
#toc a:active { text-decoration: underline; }
|
||||
|
||||
#toctitle { color: #e18400; font-size: 1.2em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; }
|
||||
body.toc2 { padding-left: 15em; padding-right: 0; }
|
||||
#toc.toc2 { margin-top: 0 !important; background: black; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #1e1e1e; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; }
|
||||
#toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; }
|
||||
#toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; }
|
||||
#toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
|
||||
#toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
|
||||
body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
|
||||
body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #1e1e1e; left: auto; right: 0; } }
|
||||
@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; }
|
||||
#toc.toc2 { width: 20em; }
|
||||
#toc.toc2 #toctitle { font-size: 1.375em; }
|
||||
#toc.toc2 > ul { font-size: 0.95em; }
|
||||
#toc.toc2 ul ul { padding-left: 1.25em; }
|
||||
body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }
|
||||
#content #toc { border-style: solid; border-width: 1px; border-color: black; margin-bottom: 1.25em; padding: 1.25em; background: black; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
#content #toc > :first-child { margin-top: 0; }
|
||||
#content #toc > :last-child { margin-bottom: 0; }
|
||||
|
||||
#footer { max-width: none; background: #aaa; padding: 1.25em; }
|
||||
|
||||
#footer-text { color: #555555; line-height: 1.44; }
|
||||
|
||||
#content { margin-bottom: 0.625em; }
|
||||
|
||||
.sect1 { padding-bottom: 0.625em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; }
|
||||
.sect1 { padding-bottom: 1.25em; } }
|
||||
.sect1:last-child { padding-bottom: 0; }
|
||||
|
||||
.sect1 + .sect1 { border-top: 1px solid #1e1e1e; }
|
||||
|
||||
#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; }
|
||||
#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; }
|
||||
#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
|
||||
#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: #ffa92e; text-decoration: none; }
|
||||
#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: #ff9e15; }
|
||||
|
||||
details, .audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; }
|
||||
|
||||
details > summary:first-of-type { cursor: pointer; display: list-item; outline: none; margin-bottom: 0.75em; }
|
||||
|
||||
.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1rem; font-style: italic; }
|
||||
|
||||
table.tableblock.fit-content > caption.title { white-space: nowrap; width: 0; }
|
||||
|
||||
.paragraph.lead > p, #preamble > .sectionbody > [class="paragraph"]:first-of-type p { font-size: 1.21875em; line-height: 1.6; color: #ffa92e; }
|
||||
|
||||
table.tableblock #preamble > .sectionbody > [class="paragraph"]:first-of-type p { font-size: inherit; }
|
||||
|
||||
.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; }
|
||||
.admonitionblock > table td.icon { text-align: center; width: 80px; }
|
||||
.admonitionblock > table td.icon img { max-width: none; }
|
||||
.admonitionblock > table td.icon .title { font-weight: bold; font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; text-transform: uppercase; }
|
||||
.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #2b2b2b; color: #aaa; word-wrap: anywhere; }
|
||||
.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
.exampleblock > .content { border-style: solid; border-width: 1px; border-color: black; margin-bottom: 1.25em; padding: 1.25em; background: #111; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
.exampleblock > .content > :first-child { margin-top: 0; }
|
||||
.exampleblock > .content > :last-child { margin-bottom: 0; }
|
||||
|
||||
.sidebarblock { border-style: solid; border-width: 1px; border-color: black; margin-bottom: 1.25em; padding: 1.25em; background: black; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
.sidebarblock > :first-child { margin-top: 0; }
|
||||
.sidebarblock > :last-child { margin-bottom: 0; }
|
||||
.sidebarblock > .content > .title { color: #e18400; margin-top: 0; text-align: center; }
|
||||
|
||||
.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre { border: 1px solid #2e1b00; -webkit-border-radius: 8px; border-radius: 8px; overflow-x: auto; padding: 1em; font-size: 0.8125em; }
|
||||
@media only screen and (min-width: 768px) { .literalblock pre, .listingblock > .content > pre { font-size: 0.90625em; } }
|
||||
@media only screen and (min-width: 1280px) { .literalblock pre, .listingblock > .content > pre { font-size: 1em; } }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "] { background: black; }
|
||||
|
||||
.literalblock.output pre { color: black; background-color: #FA9300; }
|
||||
|
||||
.listingblock > .content { position: relative; }
|
||||
|
||||
.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: inherit; opacity: 0.5; }
|
||||
|
||||
.listingblock:hover code[data-lang]:before { display: block; }
|
||||
|
||||
.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: inherit; opacity: 0.5; }
|
||||
|
||||
.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; }
|
||||
|
||||
.listingblock pre.highlightjs { padding: 0; }
|
||||
.listingblock pre.highlightjs > code { padding: 1em; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
|
||||
.prettyprint { background: black; }
|
||||
|
||||
pre.prettyprint .linenums { line-height: 1.45; margin-left: 2em; }
|
||||
|
||||
pre.prettyprint li { background: none; list-style-type: inherit; padding-left: 0; }
|
||||
|
||||
pre.prettyprint li code[data-lang]:before { opacity: 1; }
|
||||
|
||||
pre.prettyprint li:not(:first-child) code[data-lang]:before { display: none; }
|
||||
|
||||
table.linenotable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; }
|
||||
table.linenotable td[class] { color: inherit; vertical-align: top; padding: 0; line-height: inherit; white-space: normal; }
|
||||
table.linenotable td.code { padding-left: 0.75em; }
|
||||
table.linenotable td.linenos { border-right: 1px solid currentColor; opacity: 0.35; padding-right: 0.5em; }
|
||||
|
||||
pre.pygments .lineno { border-right: 1px solid currentColor; opacity: 0.35; display: inline-block; margin-right: 0.75em; }
|
||||
pre.pygments .lineno:before { content: ""; margin-right: -0.125em; }
|
||||
|
||||
.quoteblock { margin: 0 1em 1.25em 1.5em; display: table; }
|
||||
.quoteblock:not(.excerpt) > .title { margin-left: -1.5em; margin-bottom: 0.75em; }
|
||||
.quoteblock blockquote, .quoteblock p { color: #ffa92e; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; }
|
||||
.quoteblock blockquote { margin: 0; padding: 0; border: 0; }
|
||||
.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: #e18400; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }
|
||||
.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
|
||||
.quoteblock .attribution { margin-top: 0.75em; margin-right: 0.5ex; text-align: right; }
|
||||
|
||||
.verseblock { margin: 0 1em 1.25em 1em; }
|
||||
.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #ffa92e; font-weight: 300; text-rendering: optimizeLegibility; }
|
||||
.verseblock pre strong { font-weight: 400; }
|
||||
.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; }
|
||||
|
||||
.quoteblock .attribution, .verseblock .attribution { font-size: 0.9375em; line-height: 1.45; font-style: italic; }
|
||||
.quoteblock .attribution br, .verseblock .attribution br { display: none; }
|
||||
.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #aaa; }
|
||||
|
||||
.quoteblock.abstract blockquote:before, .quoteblock.excerpt blockquote:before, .quoteblock .quoteblock blockquote:before { display: none; }
|
||||
.quoteblock.abstract blockquote, .quoteblock.abstract p, .quoteblock.excerpt blockquote, .quoteblock.excerpt p, .quoteblock .quoteblock blockquote, .quoteblock .quoteblock p { line-height: 1.6; word-spacing: 0; }
|
||||
.quoteblock.abstract { margin: 0 1em 1.25em 1em; display: block; }
|
||||
.quoteblock.abstract > .title { margin: 0 0 0.375em 0; font-size: 1.15em; text-align: center; }
|
||||
.quoteblock.excerpt > blockquote, .quoteblock .quoteblock { padding: 0 0 0.25em 1em; border-left: 0.25em solid #2b2b2b; }
|
||||
.quoteblock.excerpt, .quoteblock .quoteblock { margin-left: 0; }
|
||||
.quoteblock.excerpt blockquote, .quoteblock.excerpt p, .quoteblock .quoteblock blockquote, .quoteblock .quoteblock p { color: inherit; font-size: 1.0625rem; }
|
||||
.quoteblock.excerpt .attribution, .quoteblock .quoteblock .attribution { color: inherit; text-align: left; margin-right: 0; }
|
||||
|
||||
p.tableblock:last-child { margin-bottom: 0; }
|
||||
|
||||
td.tableblock > .content { margin-bottom: 1.25em; word-wrap: anywhere; }
|
||||
td.tableblock > .content > :last-child { margin-bottom: -1.25em; }
|
||||
|
||||
table.tableblock, th.tableblock, td.tableblock { border: 0 solid #613900; }
|
||||
|
||||
table.grid-all > * > tr > * { border-width: 1px; }
|
||||
|
||||
table.grid-cols > * > tr > * { border-width: 0 1px; }
|
||||
|
||||
table.grid-rows > * > tr > * { border-width: 1px 0; }
|
||||
|
||||
table.frame-all { border-width: 1px; }
|
||||
|
||||
table.frame-ends { border-width: 1px 0; }
|
||||
|
||||
table.frame-sides { border-width: 0 1px; }
|
||||
|
||||
table.frame-none > colgroup + * > :first-child > *, table.frame-sides > colgroup + * > :first-child > * { border-top-width: 0; }
|
||||
|
||||
table.frame-none > :last-child > :last-child > *, table.frame-sides > :last-child > :last-child > * { border-bottom-width: 0; }
|
||||
|
||||
table.frame-none > * > tr > :first-child, table.frame-ends > * > tr > :first-child { border-left-width: 0; }
|
||||
|
||||
table.frame-none > * > tr > :last-child, table.frame-ends > * > tr > :last-child { border-right-width: 0; }
|
||||
|
||||
table.stripes-all tr, table.stripes-odd tr:nth-of-type(odd), table.stripes-even tr:nth-of-type(even), table.stripes-hover tr:hover { background: #040404; }
|
||||
|
||||
th.halign-left, td.halign-left { text-align: left; }
|
||||
|
||||
th.halign-right, td.halign-right { text-align: right; }
|
||||
|
||||
th.halign-center, td.halign-center { text-align: center; }
|
||||
|
||||
th.valign-top, td.valign-top { vertical-align: top; }
|
||||
|
||||
th.valign-bottom, td.valign-bottom { vertical-align: bottom; }
|
||||
|
||||
th.valign-middle, td.valign-middle { vertical-align: middle; }
|
||||
|
||||
table thead th, table tfoot th { font-weight: bold; }
|
||||
|
||||
tbody tr th { display: table-cell; line-height: 1.6; background: #2e1b00; }
|
||||
|
||||
tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #aaa; font-weight: bold; }
|
||||
|
||||
p.tableblock > code:only-child { background: none; padding: 0; }
|
||||
|
||||
p.tableblock { font-size: 1em; }
|
||||
|
||||
ol { margin-left: 1.75em; }
|
||||
|
||||
ul li ol { margin-left: 1.5em; }
|
||||
|
||||
dl dd { margin-left: 1.125em; }
|
||||
|
||||
dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.625em; }
|
||||
|
||||
ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; }
|
||||
|
||||
ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; }
|
||||
|
||||
ul.unstyled, ol.unstyled { margin-left: 0; }
|
||||
|
||||
ul.checklist { margin-left: 0.625em; }
|
||||
|
||||
ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; }
|
||||
|
||||
ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; }
|
||||
|
||||
ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.625em -1.25em; }
|
||||
|
||||
ul.inline > li { margin-left: 1.25em; }
|
||||
|
||||
.unstyled dl dt { font-weight: normal; font-style: normal; }
|
||||
|
||||
ol.arabic { list-style-type: decimal; }
|
||||
|
||||
ol.decimal { list-style-type: decimal-leading-zero; }
|
||||
|
||||
ol.loweralpha { list-style-type: lower-alpha; }
|
||||
|
||||
ol.upperalpha { list-style-type: upper-alpha; }
|
||||
|
||||
ol.lowerroman { list-style-type: lower-roman; }
|
||||
|
||||
ol.upperroman { list-style-type: upper-roman; }
|
||||
|
||||
ol.lowergreek { list-style-type: lower-greek; }
|
||||
|
||||
.hdlist > table, .colist > table { border: 0; background: none; }
|
||||
.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
|
||||
|
||||
td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; }
|
||||
|
||||
td.hdlist1 { font-weight: bold; padding-bottom: 1.25em; }
|
||||
|
||||
td.hdlist2 { word-wrap: anywhere; }
|
||||
|
||||
.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
|
||||
|
||||
.colist td:not([class]):first-child { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; }
|
||||
.colist td:not([class]):first-child img { max-width: none; }
|
||||
.colist td:not([class]):last-child { padding: 0.25em 0; }
|
||||
|
||||
.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; }
|
||||
|
||||
.imageblock.left { margin: 0.25em 0.625em 1.25em 0; }
|
||||
.imageblock.right { margin: 0.25em 0 1.25em 0.625em; }
|
||||
.imageblock > .title { margin-bottom: 0; }
|
||||
.imageblock.thumb, .imageblock.th { border-width: 6px; }
|
||||
.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }
|
||||
|
||||
.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; }
|
||||
.image.left { margin-right: 0.625em; }
|
||||
.image.right { margin-left: 0.625em; }
|
||||
|
||||
a.image { text-decoration: none; display: inline-block; }
|
||||
a.image object { pointer-events: none; }
|
||||
|
||||
sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; }
|
||||
sup.footnote a, sup.footnoteref a { text-decoration: none; }
|
||||
sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; }
|
||||
|
||||
#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; }
|
||||
#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; }
|
||||
#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; }
|
||||
#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; }
|
||||
#footnotes .footnote:last-of-type { margin-bottom: 0; }
|
||||
#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; }
|
||||
|
||||
.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; }
|
||||
.gist .file-data > table td.line-data { width: 99%; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
.big { font-size: larger; }
|
||||
|
||||
.small { font-size: smaller; }
|
||||
|
||||
.underline { text-decoration: underline; }
|
||||
|
||||
.overline { text-decoration: overline; }
|
||||
|
||||
.line-through { text-decoration: line-through; }
|
||||
|
||||
.aqua { color: #00bfbf; }
|
||||
|
||||
.aqua-background { background-color: #00fafa; }
|
||||
|
||||
.black { color: black; }
|
||||
|
||||
.black-background { background-color: black; }
|
||||
|
||||
.blue { color: #0000bf; }
|
||||
|
||||
.blue-background { background-color: #0000fa; }
|
||||
|
||||
.fuchsia { color: #bf00bf; }
|
||||
|
||||
.fuchsia-background { background-color: #fa00fa; }
|
||||
|
||||
.gray { color: #606060; }
|
||||
|
||||
.gray-background { background-color: #7d7d7d; }
|
||||
|
||||
.green { color: #006000; }
|
||||
|
||||
.green-background { background-color: #007d00; }
|
||||
|
||||
.lime { color: #00bf00; }
|
||||
|
||||
.lime-background { background-color: #00fa00; }
|
||||
|
||||
.maroon { color: #600000; }
|
||||
|
||||
.maroon-background { background-color: #7d0000; }
|
||||
|
||||
.navy { color: #000060; }
|
||||
|
||||
.navy-background { background-color: #00007d; }
|
||||
|
||||
.olive { color: #606000; }
|
||||
|
||||
.olive-background { background-color: #7d7d00; }
|
||||
|
||||
.purple { color: #600060; }
|
||||
|
||||
.purple-background { background-color: #7d007d; }
|
||||
|
||||
.red { color: #bf0000; }
|
||||
|
||||
.red-background { background-color: #fa0000; }
|
||||
|
||||
.silver { color: #909090; }
|
||||
|
||||
.silver-background { background-color: #bcbcbc; }
|
||||
|
||||
.teal { color: #006060; }
|
||||
|
||||
.teal-background { background-color: #007d7d; }
|
||||
|
||||
.white { color: #bfbfbf; }
|
||||
|
||||
.white-background { background-color: #fafafa; }
|
||||
|
||||
.yellow { color: #bfbf00; }
|
||||
|
||||
.yellow-background { background-color: #fafa00; }
|
||||
|
||||
span.icon > .fa { cursor: default; }
|
||||
a span.icon > .fa { cursor: inherit; }
|
||||
|
||||
.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 0px 0px 5px #c77500; cursor: default; }
|
||||
.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #bc6e00; }
|
||||
.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
|
||||
.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
|
||||
.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
|
||||
.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
|
||||
|
||||
.conum[data-value] { display: inline-block; color: #fff !important; background-color: #aaa; -webkit-border-radius: 50%; border-radius: 50%; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; }
|
||||
.conum[data-value] * { color: #fff !important; }
|
||||
.conum[data-value] + b { display: none; }
|
||||
.conum[data-value]:after { content: attr(data-value); }
|
||||
pre .conum[data-value] { position: relative; top: -0.125em; }
|
||||
|
||||
b.conum * { color: inherit !important; }
|
||||
|
||||
.conum:not([data-value]):empty { display: none; }
|
||||
|
||||
dt, th.tableblock, td.content, div.footnote { text-rendering: optimizeLegibility; }
|
||||
|
||||
h1, h2, p, td.content, span.alt { letter-spacing: -0.01em; }
|
||||
|
||||
p strong, td.content strong, div.footnote strong { letter-spacing: -0.005em; }
|
||||
|
||||
strong { text-shadow: 0px 0px 2px; }
|
||||
|
||||
p, blockquote, dt, td.content, span.alt { font-size: 1.0625rem; }
|
||||
|
||||
p { margin-bottom: 1.25rem; }
|
||||
|
||||
.sidebarblock p, .sidebarblock dt, .sidebarblock td.content, p.tableblock { font-size: 1em; }
|
||||
|
||||
.exampleblock > .content { border-color: #2e1b00; -moz-box-shadow: 0 1px 4px #2e1b00; -webkit-box-shadow: 0 1px 4px #2e1b00; box-shadow: 0 1px 4px #2e1b00; }
|
||||
|
||||
.admonitionblock .icon .title { font-size: 2.5em; text-shadow: 0px 0px 5px #c77500; }
|
||||
|
||||
.caution .icon .title { color: #6610f2; }
|
||||
|
||||
.important .icon .title { color: #e74c3c; }
|
||||
|
||||
.note .icon .title { color: #3498db; }
|
||||
|
||||
.tip .icon .title { color: #00bc8c; }
|
||||
|
||||
.warning .icon .title { color: #f39c12; }
|
||||
|
||||
pre.pygments { background: #000 !important; }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre { font-size: 0.875em; }
|
||||
@media only screen and (min-width: 768px) { .literalblock pre, .listingblock > .content > pre { font-size: 0.875em; } }
|
||||
@media only screen and (min-width: 1280px) { .literalblock pre, .listingblock > .content > pre { font-size: 0.875em; } }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre { background: black !important; }
|
||||
|
||||
.sidebarblock { border-color: #2e1b00; }
|
||||
|
||||
a { color: inherit; }
|
||||
|
||||
#header .details { color: #c77500; }
|
||||
|
||||
#toc { scrollbar-width: none; scrollbar-color: #613900 transparent; }
|
||||
|
||||
#toc:hover { scrollbar-width: thin; scrollbar-color: #c77500 #2e1b00; }
|
||||
|
||||
#toc::-webkit-scrollbar { width: 0px; }
|
||||
|
||||
#toc::-webkit-scrollbar-thumb { background: #613900; }
|
||||
|
||||
#toc::-webkit-scrollbar-track { background: transparent; }
|
||||
|
||||
#toc:hover::-webkit-scrollbar { width: 6px; }
|
||||
|
||||
#toc:hover::-webkit-scrollbar-thumb { background: #c77500; }
|
||||
|
||||
#toc:hover::-webkit-scrollbar-track { background: #2e1b00; }
|
||||
|
||||
.print-only { display: none !important; }
|
||||
|
||||
@page { margin: 1.25cm 0.75cm; }
|
||||
@media print { * { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; }
|
||||
html { font-size: 80%; }
|
||||
a { color: inherit !important; text-decoration: underline !important; }
|
||||
a.bare, a[href^="#"], a[href^="mailto:"] { text-decoration: none !important; }
|
||||
a[href^="http:"]:not(.bare):after, a[href^="https:"]:not(.bare):after { content: "(" attr(href) ")"; display: inline-block; font-size: 0.875em; padding-left: 0.25em; }
|
||||
abbr[title]:after { content: " (" attr(title) ")"; }
|
||||
pre, blockquote, tr, img, object, svg { page-break-inside: avoid; }
|
||||
thead { display: table-header-group; }
|
||||
svg { max-width: 100%; }
|
||||
p, blockquote, dt, td.content { font-size: 1em; orphans: 3; widows: 3; }
|
||||
h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }
|
||||
#header, #content, #footnotes, #footer { max-width: none; }
|
||||
#toc, .sidebarblock, .exampleblock > .content { background: none !important; }
|
||||
#toc { border-bottom: 1px solid #2b2b2b !important; padding-bottom: 0 !important; }
|
||||
body.book #header { text-align: center; }
|
||||
body.book #header > h1:first-child { border: 0 !important; margin: 2.5em 0 1em 0; }
|
||||
body.book #header .details { border: 0 !important; display: block; padding: 0 !important; }
|
||||
body.book #header .details span:first-child { margin-left: 0 !important; }
|
||||
body.book #header .details br { display: block; }
|
||||
body.book #header .details br + span:before { content: none !important; }
|
||||
body.book #toc { border: 0 !important; text-align: left !important; padding: 0 !important; margin: 0 !important; }
|
||||
body.book #toc, body.book #preamble, body.book h1.sect0, body.book .sect1 > h2 { page-break-before: always; }
|
||||
.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 0 !important; }
|
||||
.listingblock code[data-lang]:before { display: block; }
|
||||
#footer { padding: 0 0.9375em; }
|
||||
.hide-on-print { display: none !important; }
|
||||
.print-only { display: block !important; }
|
||||
.hide-for-print { display: none !important; }
|
||||
.show-for-print { display: inherit !important; } }
|
||||
@media print, amzn-kf8 { #header > h1:first-child { margin-top: 1.25rem; }
|
||||
.sect1 { padding: 0 !important; }
|
||||
.sect1 + .sect1 { border: 0; }
|
||||
#footer { background: none; }
|
||||
#footer-text { color: #aaa; font-size: 0.9em; } }
|
||||
@media amzn-kf8 { #header, #content, #footnotes, #footer { padding: 0; } }
|
||||
.menubar { position: fixed; display: block; top: 0px; left: 0px; right: 0px; z-index: 99; background-color: black; border-bottom: 1px solid #2e1b00; padding: 10px; text-align: center; }
|
||||
|
||||
.menubar p { margin: 0px; }
|
||||
|
||||
.menubar image { padding-right: 1em; }
|
||||
|
||||
.menubar-item { padding-left: 1em; }
|
||||
|
||||
@media print { .menubar { display: none; } }
|
@ -1,5 +1,5 @@
|
||||
#|
|
||||
Copyright Rene Rivera 2011-2019
|
||||
Copyright René Ferdinand Rivera Morell 2011-2021
|
||||
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)
|
||||
@ -11,8 +11,6 @@ import path ;
|
||||
|
||||
project predefdoc ;
|
||||
|
||||
path-constant PYGMENTS_DIR : . ;
|
||||
|
||||
doc-dir = [ MATCH "--doc-dir=(.*)" : [ modules.peek : ARGV ] ] ;
|
||||
doc-dir ?= . ;
|
||||
|
||||
@ -20,10 +18,10 @@ local headers = [ glob-tree-ex $(BOOST_PREDEF_INCLUDE) : *.h ] ;
|
||||
|
||||
html index : predef.adoc :
|
||||
:
|
||||
<flags>--require=$(PYGMENTS_DIR)/pygments_init.rb
|
||||
<flags>--trace
|
||||
<flags>--verbose
|
||||
<dependency>$(PYGMENTS_DIR)/pygments_init.rb
|
||||
<flags>--attribute=stylesheet=amber.css
|
||||
<flags>--attribute=rouge-style=base16.solarized
|
||||
<dependency>$(headers)
|
||||
;
|
||||
explicit index ;
|
||||
|
@ -1,5 +1,5 @@
|
||||
////
|
||||
Copyright 2014-2020 Rene Rivera
|
||||
Copyright 2014-2021 René Ferdinand Rivera Morell
|
||||
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)
|
||||
@ -7,6 +7,34 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
= History
|
||||
|
||||
== 1.14.0
|
||||
|
||||
* Add detection of LoongArch (from Zhang Na).
|
||||
|
||||
== 1.13.1
|
||||
|
||||
* Fix spelling of "epoch".
|
||||
* Add missing parenthesis in `sparc.h` (from tkoecker).
|
||||
* Update documentation to use Rouge code styling and Amber general style.
|
||||
|
||||
== 1.13
|
||||
|
||||
* Add `ARCH_PPC_64` predef.
|
||||
* Fix `ARCH_WORD_BITS*` redefinition warnings/errors.
|
||||
* Add `ARCH_E2K`, Elbrus 2000, architecture from Konstantin Ivlev.
|
||||
* Fix not handling recent C++ version that go above 10.x version.
|
||||
|
||||
== 1.12
|
||||
|
||||
* Switch to using the endian.h header on OpenBSD. (Brad Smith)
|
||||
* Fix not handling recent versions of stdcxx that go above version 9.
|
||||
* Fix including sub-BSD OS headers directly causing redef warnings.
|
||||
* Add CI testing of direct inclusion of all headers.
|
||||
* Add CI testing on FreeBSD for clang and gcc.
|
||||
* Add `WORD_BITS` set of predefs to detect the architecture word size.
|
||||
Initial implementation inspired by submission from Mikhail Komarov.
|
||||
* Add CI testing for Cygwin 32 and 64.
|
||||
|
||||
== 1.11
|
||||
|
||||
* Add `BOOST_ARCH_RISCV`. (from Andreas Schwab)
|
||||
|
2190
doc/index.html
2190
doc/index.html
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,11 @@
|
||||
= Boost.Predef
|
||||
:author: Rene Rivera
|
||||
:author: René Ferdinand Rivera Morell
|
||||
:toc: left
|
||||
:toclevels: 3
|
||||
:sectanchors:
|
||||
:sectnums:
|
||||
:nofooter:
|
||||
:source-highlighter: pygments
|
||||
:source-highlighter: rouge
|
||||
:source-language: cpp
|
||||
:caution-caption: ⚑
|
||||
:important-caption: ‼
|
||||
@ -17,14 +17,6 @@
|
||||
:predef_version: Version
|
||||
:predef_detection: pass:q[*detection*]
|
||||
|
||||
ifdef::backend-html5[]
|
||||
++++
|
||||
<style>
|
||||
include::predef.css[]
|
||||
</style>
|
||||
++++
|
||||
endif::[]
|
||||
|
||||
== Introduction
|
||||
|
||||
This library defines a set of compiler, architecture, operating system,
|
||||
@ -564,6 +556,8 @@ include::../include/boost/predef/architecture/blackfin.h[tag=reference]
|
||||
|
||||
include::../include/boost/predef/architecture/convex.h[tag=reference]
|
||||
|
||||
include::../include/boost/predef/architecture/e2k.h[tag=reference]
|
||||
|
||||
include::../include/boost/predef/architecture/ia64.h[tag=reference]
|
||||
|
||||
include::../include/boost/predef/architecture/m68k.h[tag=reference]
|
||||
@ -828,6 +822,8 @@ include::../include/boost/predef/hardware/simd/x86_amd/versions.h[tag=reference]
|
||||
|
||||
include::../include/boost/predef/other/endian.h[tag=reference]
|
||||
|
||||
include::../include/boost/predef/other/wordsize.h[tag=reference]
|
||||
|
||||
include::../include/boost/predef/other/workaround.h[tag=reference]
|
||||
|
||||
:leveloffset: -3
|
||||
@ -1011,4 +1007,4 @@ Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or copy at
|
||||
https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
Copyright 2005-2020 Rene Rivera; Copyright 2015 Charly Chevalier; Copyright 2015 Joel Falcou
|
||||
Copyright 2005-2021 René Ferdinand Rivera Morell; Copyright 2015 Charly Chevalier; Copyright 2015 Joel Falcou
|
@ -1,45 +0,0 @@
|
||||
/*
|
||||
Copyright 2018-2019 Rene Rivera
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
.admonitionblock .icon .title {
|
||||
font-size: 2.5em;
|
||||
text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
|
||||
}
|
||||
.caution .icon .title {
|
||||
color: rgba(192, 51, 0, 1);
|
||||
}
|
||||
.important .icon .title {
|
||||
color: rgba(192, 0, 0, 1);
|
||||
}
|
||||
.note .icon .title {
|
||||
color: rgba(26, 64, 128, 1);
|
||||
}
|
||||
.tip .icon .title {
|
||||
color: rgba(255, 192, 0, 1);
|
||||
}
|
||||
.warning .icon .title {
|
||||
color: rgba(192, 102, 0, 1);
|
||||
}
|
||||
p,blockquote,dt,td.content,span.alt {
|
||||
font-size: 1.1rem
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: bold;
|
||||
}
|
||||
h1 {
|
||||
font-size: 2.25em;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
h3,#toctitle,.sidebarblock>.content>.title {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
h4, h5 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
h6 {
|
||||
font-size: 1.1em;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
=begin
|
||||
Copyright 2018 Rene Rivera
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file LICENSE.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
=end
|
||||
|
||||
require 'pygments'
|
||||
|
||||
# Need to create/register non-builtin lexers even if they are global plugins.
|
||||
Pygments::Lexer.create name: 'Jam', aliases: ['jam','bjam','b2'],
|
||||
filenames: ['*.jam','Jamfile','Jamroot'], mimetypes: ['text/x-jam']
|
@ -1,5 +1,5 @@
|
||||
////
|
||||
Copyright 2014-2017 Rene Rivera
|
||||
Copyright 2014-2017 René Ferdinand Rivera Morell
|
||||
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)
|
||||
|
@ -14,7 +14,9 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/architecture/arm.h>
|
||||
#include <boost/predef/architecture/blackfin.h>
|
||||
#include <boost/predef/architecture/convex.h>
|
||||
#include <boost/predef/architecture/e2k.h>
|
||||
#include <boost/predef/architecture/ia64.h>
|
||||
#include <boost/predef/architecture/loongarch.h>
|
||||
#include <boost/predef/architecture/m68k.h>
|
||||
#include <boost/predef/architecture/mips.h>
|
||||
#include <boost/predef/architecture/parisc.h>
|
||||
@ -29,6 +31,5 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/architecture/sys390.h>
|
||||
#include <boost/predef/architecture/x86.h>
|
||||
#include <boost/predef/architecture/z.h>
|
||||
/*#include <boost/predef/architecture/.h>*/
|
||||
|
||||
#endif
|
||||
|
@ -52,6 +52,11 @@ http://en.wikipedia.org/wiki/DEC_Alpha[DEC Alpha] architecture.
|
||||
# define BOOST_ARCH_ALPHA_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_ALPHA
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_ALPHA_NAME "DEC Alpha"
|
||||
|
||||
#endif
|
||||
|
@ -126,6 +126,16 @@ http://en.wikipedia.org/wiki/ARM_architecture[ARM] architecture.
|
||||
# define BOOST_ARCH_ARM_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_ARM
|
||||
# if BOOST_ARCH_ARM >= BOOST_VERSION_NUMBER(8,0,0)
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# else
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_ARM_NAME "ARM"
|
||||
|
||||
#endif
|
||||
|
@ -39,6 +39,11 @@ Blackfin Processors from Analog Devices.
|
||||
# define BOOST_ARCH_BLACKFIN_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_BLACKFIN
|
||||
# undef BOOST_ARCH_WORD_BITS_16
|
||||
# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_BLACKFIN_NAME "Blackfin"
|
||||
|
||||
#endif
|
||||
|
@ -58,6 +58,11 @@ http://en.wikipedia.org/wiki/Convex_Computer[Convex Computer] architecture.
|
||||
# define BOOST_ARCH_CONVEX_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_CONVEX
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_CONVEX_NAME "Convex Computer"
|
||||
|
||||
#endif
|
||||
|
54
include/boost/predef/architecture/e2k.h
Normal file
54
include/boost/predef/architecture/e2k.h
Normal file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
Copyright Konstantin Ivlev 2021
|
||||
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_ARCHITECTURE_E2K_H
|
||||
#define BOOST_PREDEF_ARCHITECTURE_E2K_H
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_E2K`
|
||||
|
||||
https://en.wikipedia.org/wiki/Elbrus_2000[E2K] architecture.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
| `+__e2k__+` | {predef_detection}
|
||||
|
||||
| `+__e2k__+` | V.0.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__e2k__)
|
||||
# undef BOOST_ARCH_E2K
|
||||
# if !defined(BOOST_ARCH_E2K) && defined(__iset__)
|
||||
# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER(__iset__,0,0)
|
||||
# endif
|
||||
# if !defined(BOOST_ARCH_E2K)
|
||||
# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_E2K
|
||||
# define BOOST_ARCH_E2K_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_E2K
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_E2K_NAME "E2K"
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_E2K,BOOST_ARCH_E2K_NAME)
|
@ -42,6 +42,11 @@ http://en.wikipedia.org/wiki/Ia64[Intel Itanium 64] architecture.
|
||||
# define BOOST_ARCH_IA64_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_IA64
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_IA64_NAME "Intel Itanium 64"
|
||||
|
||||
#endif
|
||||
|
41
include/boost/predef/architecture/loongarch.h
Normal file
41
include/boost/predef/architecture/loongarch.h
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright Zhang Na 2022
|
||||
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_ARCHITECTURE_LOONGARCH_H
|
||||
#define BOOST_PREDEF_ARCHITECTURE_LOONGARCH_H
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_LOONGARCH`
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
| `+__loongarch__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_LOONGARCH BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__loongarch__)
|
||||
# undef BOOST_ARCH_LOONGARCH
|
||||
# define BOOST_ARCH_LOONGARCH BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_LOONGARCH
|
||||
# define BOOST_ARCH_LOONGARCH_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_LOONGARCH_NAME "LoongArch"
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_LOONGARCH,BOOST_ARCH_LOONGARCH_NAME)
|
@ -75,6 +75,11 @@ http://en.wikipedia.org/wiki/M68k[Motorola 68k] architecture.
|
||||
# define BOOST_ARCH_M68K_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_M68K
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_M68K_NAME "Motorola 68k"
|
||||
|
||||
#endif
|
||||
|
@ -66,6 +66,16 @@ http://en.wikipedia.org/wiki/MIPS_architecture[MIPS] architecture.
|
||||
# define BOOST_ARCH_MIPS_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_MIPS
|
||||
# if BOOST_ARCH_MIPS >= BOOST_VERSION_NUMBER(3,0,0)
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# else
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_MIPS_NAME "MIPS"
|
||||
|
||||
#endif
|
||||
|
@ -57,6 +57,11 @@ http://en.wikipedia.org/wiki/PA-RISC_family[HP/PA RISC] architecture.
|
||||
# define BOOST_ARCH_PARISC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_PARISC
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_PARISC_NAME "HP/PA RISC"
|
||||
|
||||
#endif
|
||||
|
@ -22,13 +22,19 @@ http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
|
||||
|
||||
| `+__powerpc+` | {predef_detection}
|
||||
| `+__powerpc__+` | {predef_detection}
|
||||
| `+__powerpc64__+` | {predef_detection}
|
||||
| `+__POWERPC__+` | {predef_detection}
|
||||
| `+__ppc__+` | {predef_detection}
|
||||
| `+__ppc64__+` | {predef_detection}
|
||||
| `+__PPC__+` | {predef_detection}
|
||||
| `+__PPC64__+` | {predef_detection}
|
||||
| `+_M_PPC+` | {predef_detection}
|
||||
| `+_ARCH_PPC+` | {predef_detection}
|
||||
| `+_ARCH_PPC64+` | {predef_detection}
|
||||
| `+__PPCGECKO__+` | {predef_detection}
|
||||
| `+__PPCBROADWAY__+` | {predef_detection}
|
||||
| `+_XENON+` | {predef_detection}
|
||||
| `+__ppc+` | {predef_detection}
|
||||
|
||||
| `+__ppc601__+` | 6.1.0
|
||||
| `+_ARCH_601+` | 6.1.0
|
||||
@ -41,11 +47,13 @@ http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
|
||||
|
||||
#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__powerpc) || defined(__powerpc__) || \
|
||||
defined(__POWERPC__) || defined(__ppc__) || \
|
||||
defined(_M_PPC) || defined(_ARCH_PPC) || \
|
||||
#if defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || \
|
||||
defined(__POWERPC__) || defined(__ppc__) || defined(__ppc64__) || \
|
||||
defined(__PPC__) || defined(__PPC64__) || \
|
||||
defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
|
||||
defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \
|
||||
defined(_XENON)
|
||||
defined(_XENON) || \
|
||||
defined(__ppc)
|
||||
# undef BOOST_ARCH_PPC
|
||||
# if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
|
||||
# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0)
|
||||
@ -67,7 +75,50 @@ http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
|
||||
|
||||
#define BOOST_ARCH_PPC_NAME "PowerPC"
|
||||
|
||||
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_PPC_64`
|
||||
|
||||
http://en.wikipedia.org/wiki/PowerPC[PowerPC] 64 bit architecture.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
| `+__powerpc64__+` | {predef_detection}
|
||||
| `+__ppc64__+` | {predef_detection}
|
||||
| `+__PPC64__+` | {predef_detection}
|
||||
| `+_ARCH_PPC64+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__) || \
|
||||
defined(_ARCH_PPC64)
|
||||
# undef BOOST_ARCH_PPC_64
|
||||
# define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_PPC_64
|
||||
# define BOOST_ARCH_PPC_64_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_PPC_64_NAME "PowerPC64"
|
||||
|
||||
|
||||
#if BOOST_ARCH_PPC_64
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#else
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC,BOOST_ARCH_PPC_NAME)
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC_64,BOOST_ARCH_PPC_64_NAME)
|
||||
|
@ -37,6 +37,11 @@ https://en.wikipedia.org/wiki/Parallel_Thread_Execution[PTX] architecture.
|
||||
# define BOOST_ARCH_PTX_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_PTX
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_PTX_NAME "PTX"
|
||||
|
||||
#endif
|
||||
|
@ -35,6 +35,11 @@ Pyramid 9810 architecture.
|
||||
# define BOOST_ARCH_PYRAMID_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_PYRAMID
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_PYRAMID_NAME "Pyramid 9810"
|
||||
|
||||
#endif
|
||||
|
@ -35,6 +35,11 @@ http://en.wikipedia.org/wiki/RISC-V[RISC-V] architecture.
|
||||
# define BOOST_ARCH_RISCV_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_RISCV
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_RISCV_NAME "RISC-V"
|
||||
|
||||
#endif
|
||||
|
@ -41,6 +41,11 @@ http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
|
||||
# define BOOST_ARCH_RS6000_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_RS6000
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_RS6000_NAME "RS/6000"
|
||||
|
||||
#define BOOST_ARCH_PWR BOOST_ARCH_RS6000
|
||||
@ -49,6 +54,11 @@ http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
|
||||
# define BOOST_ARCH_PWR_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_PWR
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_PWR_NAME BOOST_ARCH_RS6000_NAME
|
||||
|
||||
#endif
|
||||
|
@ -24,7 +24,9 @@ http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
|
||||
| `+__sparc+` | {predef_detection}
|
||||
|
||||
| `+__sparcv9+` | 9.0.0
|
||||
| `+__sparc_v9__+` | 9.0.0
|
||||
| `+__sparcv8+` | 8.0.0
|
||||
| `+__sparc_v8__+` | 8.0.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
@ -32,10 +34,10 @@ http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
|
||||
|
||||
#if defined(__sparc__) || defined(__sparc)
|
||||
# undef BOOST_ARCH_SPARC
|
||||
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9)
|
||||
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__))
|
||||
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
|
||||
# endif
|
||||
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
|
||||
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__))
|
||||
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
|
||||
# endif
|
||||
# if !defined(BOOST_ARCH_SPARC)
|
||||
@ -47,6 +49,16 @@ http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
|
||||
# define BOOST_ARCH_SPARC_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_SPARC
|
||||
# if BOOST_ARCH_SPARC >= BOOST_VERSION_NUMBER(9,0,0)
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# else
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_SPARC_NAME "SPARC"
|
||||
|
||||
#endif
|
||||
|
@ -60,6 +60,19 @@ If available versions [1-5] are specifically detected.
|
||||
# define BOOST_ARCH_SH_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_SH
|
||||
# if BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(5,0,0)
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# elif BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(3,0,0)
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# else
|
||||
# undef BOOST_ARCH_WORD_BITS_16
|
||||
# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_SH_NAME "SuperH"
|
||||
|
||||
#endif
|
||||
|
@ -36,6 +36,11 @@ http://en.wikipedia.org/wiki/System/370[System/370] architecture.
|
||||
# define BOOST_ARCH_SYS370_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_SYS370
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_SYS370_NAME "System/370"
|
||||
|
||||
#endif
|
||||
|
@ -36,6 +36,11 @@ http://en.wikipedia.org/wiki/System/390[System/390] architecture.
|
||||
# define BOOST_ARCH_SYS390_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_SYS390
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_SYS390_NAME "System/390"
|
||||
|
||||
#endif
|
||||
|
@ -78,6 +78,11 @@ If available versions [3-6] are specifically detected.
|
||||
# define BOOST_ARCH_X86_32_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_X86_32
|
||||
# undef BOOST_ARCH_WORD_BITS_32
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_X86_32_NAME "Intel x86-32"
|
||||
|
||||
#include <boost/predef/architecture/x86.h>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Rene Rivera 2008-2015
|
||||
Copyright Rene Rivera 2008-2021
|
||||
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)
|
||||
@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_X86_64`
|
||||
|
||||
http://en.wikipedia.org/wiki/Ia64[Intel IA-64] architecture.
|
||||
https://en.wikipedia.org/wiki/X86-64[X86-64] architecture.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
@ -41,6 +41,11 @@ http://en.wikipedia.org/wiki/Ia64[Intel IA-64] architecture.
|
||||
# define BOOST_ARCH_X86_64_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_X86_64
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_X86_64_NAME "Intel x86-64"
|
||||
|
||||
#include <boost/predef/architecture/x86.h>
|
||||
|
@ -35,6 +35,11 @@ http://en.wikipedia.org/wiki/Z/Architecture[z/Architecture] architecture.
|
||||
# define BOOST_ARCH_Z_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_Z
|
||||
# undef BOOST_ARCH_WORD_BITS_64
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_Z_NAME "z/Architecture"
|
||||
|
||||
#endif
|
||||
|
@ -15,7 +15,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
= `BOOST_LANG_STDC`
|
||||
|
||||
http://en.wikipedia.org/wiki/C_(programming_language)[Standard C] language.
|
||||
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
|
||||
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
|
@ -15,7 +15,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
= `BOOST_LANG_STDCPP`
|
||||
|
||||
http://en.wikipedia.org/wiki/C%2B%2B[Standard {CPP}] language.
|
||||
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
|
||||
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
|
||||
Because of the way the {CPP} standardization process works the
|
||||
defined version year will not be the commonly known year of the standard.
|
||||
Specifically the defined versions are:
|
||||
@ -61,7 +61,7 @@ Specifically the defined versions are:
|
||||
= `BOOST_LANG_STDCPPCLI`
|
||||
|
||||
http://en.wikipedia.org/wiki/C%2B%2B/CLI[Standard {CPP}/CLI] language.
|
||||
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
|
||||
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
|
@ -32,7 +32,7 @@ http://libcxx.llvm.org/[libc++] {CPP} Standard Library.
|
||||
|
||||
#if defined(_LIBCPP_VERSION)
|
||||
# undef BOOST_LIB_STD_CXX
|
||||
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VPPP(_LIBCPP_VERSION)
|
||||
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VVPPP(_LIBCPP_VERSION)
|
||||
#endif
|
||||
|
||||
#if BOOST_LIB_STD_CXX
|
||||
|
@ -16,7 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_GNU`
|
||||
|
||||
http://gcc.gnu.org/libstdc++/[GNU libstdc++] Standard {CPP} library.
|
||||
https://gcc.gnu.org/onlinedocs/libstdc%2b%2b/[GNU libstdc++] Standard {CPP} library.
|
||||
Version number available as year (from 1970), month, and day.
|
||||
|
||||
[options="header"]
|
||||
|
@ -66,6 +66,10 @@ Macros are:
|
||||
*/ // end::reference[]
|
||||
#define BOOST_PREDEF_MAKE_10_VPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,0,(V)%1000)
|
||||
/* tag::reference[]
|
||||
* `BOOST_PREDEF_MAKE_10_VVPPP(V)`
|
||||
*/ // end::reference[]
|
||||
#define BOOST_PREDEF_MAKE_10_VVPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%100,0,(V)%1000)
|
||||
/* tag::reference[]
|
||||
* `BOOST_PREDEF_MAKE_10_VR0(V)`
|
||||
*/ // end::reference[]
|
||||
#define BOOST_PREDEF_MAKE_10_VR0(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,0)
|
||||
|
@ -29,6 +29,7 @@ http://en.wikipedia.org/wiki/BSD/OS[BSDi BSD/OS] operating system.
|
||||
defined(__bsdi__) \
|
||||
)
|
||||
# ifndef BOOST_OS_BSD_AVAILABLE
|
||||
# undef BOOST_OS_BSD
|
||||
# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# define BOOST_OS_BSD_AVAILABLE
|
||||
# endif
|
||||
|
@ -29,6 +29,7 @@ http://en.wikipedia.org/wiki/DragonFly_BSD[DragonFly BSD] operating system.
|
||||
defined(__DragonFly__) \
|
||||
)
|
||||
# ifndef BOOST_OS_BSD_AVAILABLE
|
||||
# undef BOOST_OS_BSD
|
||||
# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# define BOOST_OS_BSD_AVAILABLE
|
||||
# endif
|
||||
|
@ -31,6 +31,7 @@ http://en.wikipedia.org/wiki/Freebsd[FreeBSD] operating system.
|
||||
defined(__FreeBSD__) \
|
||||
)
|
||||
# ifndef BOOST_OS_BSD_AVAILABLE
|
||||
# undef BOOST_OS_BSD
|
||||
# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# define BOOST_OS_BSD_AVAILABLE
|
||||
# endif
|
||||
|
@ -36,6 +36,7 @@ http://en.wikipedia.org/wiki/Netbsd[NetBSD] operating system.
|
||||
defined(__NETBSD__) || defined(__NetBSD__) \
|
||||
)
|
||||
# ifndef BOOST_OS_BSD_AVAILABLE
|
||||
# undef BOOST_OS_BSD
|
||||
# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# define BOOST_OS_BSD_AVAILABLE
|
||||
# endif
|
||||
|
@ -80,6 +80,7 @@ http://en.wikipedia.org/wiki/Openbsd[OpenBSD] operating system.
|
||||
defined(__OpenBSD__) \
|
||||
)
|
||||
# ifndef BOOST_OS_BSD_AVAILABLE
|
||||
# undef BOOST_OS_BSD
|
||||
# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# define BOOST_OS_BSD_AVAILABLE
|
||||
# endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Rene Rivera 2013-2015
|
||||
Copyright Rene Ferdinand Rivera Morell 2013-2020
|
||||
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)
|
||||
@ -11,6 +11,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#endif
|
||||
|
||||
#include <boost/predef/other/endian.h>
|
||||
/*#include <boost/predef/other/.h>*/
|
||||
#include <boost/predef/other/wordsize.h>
|
||||
#include <boost/predef/other/workaround.h>
|
||||
|
||||
#endif
|
||||
|
@ -54,18 +54,14 @@ information and acquired knowledge:
|
||||
*/
|
||||
#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
|
||||
!BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
|
||||
# if BOOST_LIB_C_GNU || BOOST_PLAT_ANDROID
|
||||
# if BOOST_LIB_C_GNU || BOOST_PLAT_ANDROID || BOOST_OS_BSD_OPEN
|
||||
# include <endian.h>
|
||||
# else
|
||||
# if BOOST_OS_MACOS
|
||||
# include <machine/endian.h>
|
||||
# else
|
||||
# if BOOST_OS_BSD
|
||||
# if BOOST_OS_BSD_OPEN
|
||||
# include <machine/endian.h>
|
||||
# else
|
||||
# include <sys/endian.h>
|
||||
# endif
|
||||
# include <sys/endian.h>
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
@ -99,7 +95,7 @@ information and acquired knowledge:
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Built-in byte-swpped big-endian macros.
|
||||
/* Built-in byte-swapped big-endian macros.
|
||||
*/
|
||||
#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
|
||||
!BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
|
||||
@ -116,7 +112,7 @@ information and acquired knowledge:
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Built-in byte-swpped little-endian macros.
|
||||
/* Built-in byte-swapped little-endian macros.
|
||||
*/
|
||||
#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
|
||||
!BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
|
||||
@ -125,10 +121,12 @@ information and acquired knowledge:
|
||||
defined(__ARMEL__) || \
|
||||
defined(__THUMBEL__) || \
|
||||
defined(__AARCH64EL__) || \
|
||||
defined(__loongarch__) || \
|
||||
defined(_MIPSEL) || \
|
||||
defined(__MIPSEL) || \
|
||||
defined(__MIPSEL__) || \
|
||||
defined(__riscv)
|
||||
defined(__riscv) || \
|
||||
defined(__e2k__)
|
||||
# undef BOOST_ENDIAN_LITTLE_BYTE
|
||||
# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
|
||||
# endif
|
||||
@ -158,7 +156,7 @@ information and acquired knowledge:
|
||||
#endif
|
||||
|
||||
/* Windows on ARM, if not otherwise detected/specified, is always
|
||||
* byte-swaped little-endian.
|
||||
* byte-swapped little-endian.
|
||||
*/
|
||||
#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
|
||||
!BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
|
||||
|
73
include/boost/predef/other/wordsize.h
Normal file
73
include/boost/predef/other/wordsize.h
Normal file
@ -0,0 +1,73 @@
|
||||
/*
|
||||
Copyright Rene Ferdinand Rivera Morell 2020-2021
|
||||
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_OTHER_WORD_SIZE_H
|
||||
#define BOOST_PREDEF_OTHER_WORD_SIZE_H
|
||||
|
||||
#include <boost/predef/architecture.h>
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_WORD_BITS`
|
||||
|
||||
Detects the native word size, in bits, for the current architecture. There are
|
||||
two types of macros for this detection:
|
||||
|
||||
* `BOOST_ARCH_WORD_BITS`, gives the number of word size bits
|
||||
(16, 32, 64).
|
||||
* `BOOST_ARCH_WORD_BITS_16`, `BOOST_ARCH_WORD_BITS_32`, and
|
||||
`BOOST_ARCH_WORD_BITS_64`, indicate when the given word size is
|
||||
detected.
|
||||
|
||||
They allow for both single checks and direct use of the size in code.
|
||||
|
||||
NOTE: The word size is determined manually on each architecture. Hence use of
|
||||
the `wordsize.h` header will also include all the architecture headers.
|
||||
|
||||
*/ // end::reference[]
|
||||
|
||||
#if !defined(BOOST_ARCH_WORD_BITS_64)
|
||||
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
#elif !defined(BOOST_ARCH_WORD_BITS)
|
||||
# define BOOST_ARCH_WORD_BITS 64
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_ARCH_WORD_BITS_32)
|
||||
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
#elif !defined(BOOST_ARCH_WORD_BITS)
|
||||
# define BOOST_ARCH_WORD_BITS 32
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_ARCH_WORD_BITS_16)
|
||||
# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
#elif !defined(BOOST_ARCH_WORD_BITS)
|
||||
# define BOOST_ARCH_WORD_BITS 16
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_ARCH_WORD_BITS)
|
||||
# define BOOST_ARCH_WORD_BITS 0
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_WORD_BITS_NAME "Word Bits"
|
||||
#define BOOST_ARCH_WORD_BITS_16_NAME "16-bit Word Size"
|
||||
#define BOOST_ARCH_WORD_BITS_32_NAME "32-bit Word Size"
|
||||
#define BOOST_ARCH_WORD_BITS_64_NAME "64-bit Word Size"
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_WORD_BITS,BOOST_ARCH_WORD_BITS_NAME)
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_WORD_BITS_16,BOOST_ARCH_WORD_BITS_16_NAME)
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_WORD_BITS_32,BOOST_ARCH_WORD_BITS_32_NAME)
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_WORD_BITS_64,BOOST_ARCH_WORD_BITS_64_NAME)
|
@ -24,6 +24,5 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/platform/windows_system.h>
|
||||
#include <boost/predef/platform/windows_runtime.h> // deprecated
|
||||
#include <boost/predef/platform/ios.h>
|
||||
/*#include <boost/predef/platform/.h>*/
|
||||
|
||||
#endif
|
||||
|
@ -10,6 +10,6 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
|
||||
#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,11,0)
|
||||
#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,14,0)
|
||||
|
||||
#endif
|
||||
|
@ -2,13 +2,14 @@
|
||||
"key": "predef",
|
||||
"name": "Predef",
|
||||
"authors": [
|
||||
"Rene Rivera"
|
||||
"René Ferdinand Rivera Morell"
|
||||
],
|
||||
"description": "This library defines a set of compiler, architecture, operating system, library, and other version numbers from the information it can gather of C, C++, Objective C, and Objective C++ predefined macros or those defined in generally available headers.",
|
||||
"category": [
|
||||
"Miscellaneous"
|
||||
],
|
||||
"maintainers": [
|
||||
"Rene Rivera <grafikrobot -at- gmail.com>"
|
||||
]
|
||||
"René Ferdinand Rivera Morell <grafikrobot -at- gmail.com>"
|
||||
],
|
||||
"cxxstd": "98"
|
||||
}
|
||||
|
@ -4,11 +4,13 @@
|
||||
# http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
import ../tools/check/predef : require check : predef-require predef-check ;
|
||||
import common ;
|
||||
import path ;
|
||||
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 depdndency to the header if it can't find it.
|
||||
# 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) ]
|
||||
{
|
||||
@ -25,11 +27,22 @@ project
|
||||
|
||||
using testing ;
|
||||
|
||||
test-suite predef :
|
||||
test-suite predef-info :
|
||||
[ run info_as_cpp.cpp : : : <test-info>always_show_run_output ]
|
||||
[ run info_as_c.c : : : <test-info>always_show_run_output ]
|
||||
[ run info_as_objcpp.mm : : : <test-info>always_show_run_output ]
|
||||
[ run info_as_objc.m : : : <test-info>always_show_run_output ]
|
||||
[ run info_as_objcpp.mm : : : <test-info>always_show_run_output <conditional>@objc ]
|
||||
[ run info_as_objc.m : : : <test-info>always_show_run_output <conditional>@objc ]
|
||||
;
|
||||
|
||||
rule objc ( props * )
|
||||
{
|
||||
if ! ( <target-os>darwin in $(props) )
|
||||
{
|
||||
return <build>no ;
|
||||
}
|
||||
}
|
||||
|
||||
test-suite predef :
|
||||
[ run version.cpp ]
|
||||
[ run make.cpp ]
|
||||
[ compile macos_endian.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ]
|
||||
@ -43,15 +56,62 @@ test-suite predef :
|
||||
[ 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 ;
|
||||
for local h in $(HEADERS)
|
||||
{
|
||||
local header_include = [ path.relative $(h) [ path.make $(BOOST_PREDEF_INCLUDE) ] ] ;
|
||||
local header_cpp = [ regex.replace $(header_include:S=.cpp) "/" "_" ] ;
|
||||
.HEADER($(header_cpp:B:S=)) = $(header_include) ;
|
||||
make $(header_cpp) : : @gen_single_header_cpp ;
|
||||
explicit $(header_cpp) ;
|
||||
compile $(header_cpp) : <warnings-as-errors>on <warnings>all : $(header_cpp:B:S=) ;
|
||||
explicit $(header_cpp:B:S=) ;
|
||||
single_header_cpp += $(header_cpp:B:S=) ;
|
||||
}
|
||||
|
||||
test-suite predef-headers : $(single_header_cpp) ;
|
||||
|
||||
.file_touch_cmd = [ common.file-touch-command ] ;
|
||||
|
||||
rule gen_single_header_cpp ( target * : source * : properties * )
|
||||
{
|
||||
HEADER on $(target) = $(.HEADER($(target[1]:B))) ;
|
||||
}
|
||||
actions gen_single_header_cpp
|
||||
{
|
||||
$(.file_touch_cmd) @($(<):<=":>=":O=F:E=#include <$(HEADER)>)
|
||||
}
|
||||
|
||||
# Minimal testing done for predef for CI. Since
|
||||
# we don't have many we can just do all of them.
|
||||
alias minimal : predef ;
|
||||
alias minimal : predef predef-info ;
|
||||
|
||||
# Full testing target for regular regression tests.
|
||||
alias full : predef ;
|
||||
alias full : predef predef-info ;
|
||||
|
||||
# Extra's target. Nothing for Predef.
|
||||
alias extra ;
|
||||
# Extra's target.
|
||||
alias extra : predef-headers ;
|
||||
|
||||
explicit minimal ;
|
||||
explicit extra ;
|
||||
|
45
tools/ci/linux-cxx-install.sh
Executable file
45
tools/ci/linux-cxx-install.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Usage:
|
||||
# LLVM_OS: LLVM OS release to obtain clang binaries. Only needed for clang install.
|
||||
# LLVM_VER: The LLVM toolset version to point the repo at.
|
||||
# PACKAGES: Compiler packages to install.
|
||||
|
||||
if command -v sudo ; then
|
||||
SUDO="sudo -E"
|
||||
fi
|
||||
OS_ISSUE=`cat /etc/issue | head -n1 | cut -d " " -f1`
|
||||
echo ">>>>> OS Issue: ${OS_ISSUE}"
|
||||
|
||||
PACKAGES=${PACKAGES:-build-essential}
|
||||
|
||||
set -e
|
||||
echo ">>>>>"
|
||||
echo ">>>>> APT: UPDATE.."
|
||||
echo ">>>>>"
|
||||
${SUDO} apt-get -o Acquire::Retries=3 update
|
||||
echo ">>>>>"
|
||||
echo ">>>>> APT: REPO.."
|
||||
echo ">>>>>"
|
||||
${SUDO} apt-get -o Acquire::Retries=3 -y install software-properties-common
|
||||
if test "${OS_ISSUE}" = "Ubuntu" ; then
|
||||
${SUDO} apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
fi
|
||||
if test -n "${LLVM_OS}" ; then
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
${SUDO} apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS}-${LLVM_VER} main"
|
||||
fi
|
||||
echo ">>>>>"
|
||||
echo ">>>>> APT: UPDATE.."
|
||||
echo ">>>>>"
|
||||
${SUDO} apt-get -o Acquire::Retries=3 update
|
||||
echo ">>>>>"
|
||||
echo ">>>>> APT: INSTALL ${PACKAGES}.."
|
||||
echo ">>>>>"
|
||||
${SUDO} apt-get -o Acquire::Retries=3 -yq --no-install-suggests --no-install-recommends install ${PACKAGES}
|
||||
|
||||
# Use, modification, and distribution are
|
||||
# subject to the Boost Software License, Version 1.0. (See accompanying
|
||||
# file LICENSE.txt)
|
||||
#
|
||||
# Copyright René Ferdinand Rivera Morell 2020-2022.
|
38
tools/ci/macos-xcode-install.sh
Executable file
38
tools/ci/macos-xcode-install.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Usage:
|
||||
# XCODE_VERSION = Dotted version of Xcode to install and make active.
|
||||
# XCODE_INSTALL_USER = Account name for developer.apple.com without TFA.
|
||||
# XCODE_INSTALL_PASSWORD = Password for that account.
|
||||
|
||||
set -e
|
||||
sudo gem install xcode-install
|
||||
xcversion update
|
||||
echo ">>>>>"
|
||||
echo ">>>>> AVAILABLE.."
|
||||
echo ">>>>>"
|
||||
xcversion list
|
||||
echo ">>>>>"
|
||||
echo ">>>>> INSTALLL: Xcode ${XCODE_VERSION}.."
|
||||
echo ">>>>>"
|
||||
xcversion --verbose --no-progress --no-clean --no-show-release-notes install ${XCODE_VERSION}
|
||||
echo ""
|
||||
echo ">>>>>"
|
||||
echo ">>>>> INSTALL: CLI Tools.."
|
||||
echo ">>>>>"
|
||||
xcversion --verbose install-cli-tools
|
||||
echo ""
|
||||
echo ">>>>>"
|
||||
echo ">>>>> AVAILABLE.."
|
||||
echo ">>>>>"
|
||||
xcversion list
|
||||
echo ">>>>>"
|
||||
echo ">>>>> SELECT: Xcode ${XCODE_VERSION}.."
|
||||
echo ">>>>>"
|
||||
xcversion select ${XCODE_VERSION} --symlink
|
||||
|
||||
# Use, modification, and distribution are
|
||||
# subject to the Boost Software License, Version 1.0. (See accompanying
|
||||
# file LICENSE.txt)
|
||||
#
|
||||
# Copyright Rene Rivera 2020.
|
Reference in New Issue
Block a user