Sync from hash.

This commit is contained in:
Rene Rivera
2026-05-09 08:19:18 -05:00
parent a2a5010e28
commit ac0e380b2d
11 changed files with 181 additions and 372 deletions
+19 -21
View File
@@ -7,27 +7,25 @@
freebsd_task:
# All the GCC's and Clang's currently supported by FreeBSD ports.
matrix:
- { name: 'FreeBSD, GCC 14', env: { CXX: 'g++14', PACKAGE: 'lang/gcc14', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, GCC 13', env: { CXX: 'g++13', PACKAGE: 'gcc13', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, GCC 12', env: { CXX: 'g++12', PACKAGE: 'gcc12', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, GCC 11', env: { CXX: 'g++11', PACKAGE: 'gcc11', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, GCC 10', env: { CXX: 'g++10', PACKAGE: 'gcc10', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-14-1' } }
# - { name: 'FreeBSD, GCC 9', env: { CXX: 'g++9', PACKAGE: 'gcc9', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-14-1' } }
# - { name: 'FreeBSD, GCC 8', env: { CXX: 'g++8', PACKAGE: 'gcc8', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-14-1' } }
# - { name: 'FreeBSD, GCC 7', env: { CXX: 'g++7', PACKAGE: 'gcc7', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-12-2' } }
- { name: 'FreeBSD, Clang 19', env: { CXX: 'clang++19', PACKAGE: 'devel/llvm19', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 18', env: { CXX: 'clang++18', PACKAGE: 'devel/llvm18', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 17', env: { CXX: 'clang++17', PACKAGE: 'devel/llvm17', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 16', env: { CXX: 'clang++16', PACKAGE: 'devel/llvm16', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 15', env: { CXX: 'clang++15', PACKAGE: 'devel/llvm15', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 14', env: { CXX: 'clang++14', PACKAGE: 'devel/llvm14', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 13', env: { CXX: 'clang++13', PACKAGE: 'devel/llvm13', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 12', env: { CXX: 'clang++12', PACKAGE: 'devel/llvm12', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, Clang 11', env: { CXX: 'clang++11', PACKAGE: 'devel/llvm11', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
# - { name: 'FreeBSD, Clang 10', env: { CXX: 'clang++10', PACKAGE: 'devel/llvm10', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
# - { name: 'FreeBSD, Clang 9', env: { CXX: 'clang++90', PACKAGE: 'devel/llvm90', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
# - { name: 'FreeBSD, Clang 8', env: { CXX: 'clang++80', PACKAGE: 'devel/llvm80' , TOOLSET: clang}, freebsd_instance: { image_family: 'freebsd-14-1' } }
# - { name: 'FreeBSD, Clang 7', env: { CXX: 'clang++70', PACKAGE: 'devel/llvm70', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-14-1' } }
- { name: 'FreeBSD, GCC 15', env: { TOOLSET: gcc, TEST_TOOLSET: gcc, CXX: 'g++15', PACKAGE: 'lang/gcc15' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, GCC 14', env: { TOOLSET: gcc, TEST_TOOLSET: gcc, CXX: 'g++14', PACKAGE: 'lang/gcc14' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, GCC 13', env: { TOOLSET: gcc, TEST_TOOLSET: gcc, CXX: 'g++13', PACKAGE: 'gcc13' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, GCC 12', env: { TOOLSET: gcc, TEST_TOOLSET: gcc, CXX: 'g++12', PACKAGE: 'gcc12' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
# - { name: 'FreeBSD, GCC 11', env: { TOOLSET: gcc, TEST_TOOLSET: gcc, CXX: 'g++11', PACKAGE: 'gcc11' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
# - { name: 'FreeBSD, GCC 10', env: { TOOLSET: gcc, TEST_TOOLSET: gcc, CXX: 'g++10', PACKAGE: 'gcc10' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
# - { name: 'FreeBSD, GCC 9', env: { TOOLSET: gcc, TEST_TOOLSET: gcc, CXX: 'g++9', PACKAGE: 'gcc9' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 21', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++21', PACKAGE: 'devel/llvm21' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 20', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++20', PACKAGE: 'devel/llvm20' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 19', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++19', PACKAGE: 'devel/llvm19' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 18', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++18', PACKAGE: 'devel/llvm18' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 17', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++17', PACKAGE: 'devel/llvm17' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 16', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++16', PACKAGE: 'devel/llvm16' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 15', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++15', PACKAGE: 'devel/llvm15' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 14', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++14', PACKAGE: 'devel/llvm14' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 13', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++13', PACKAGE: 'devel/llvm13' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
- { name: 'FreeBSD, Clang 12', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++12', PACKAGE: 'devel/llvm12' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
# - { name: 'FreeBSD, Clang 11', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++11', PACKAGE: 'devel/llvm11' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
# - { name: 'FreeBSD, Clang 10', env: { TOOLSET: clang, TEST_TOOLSET: clang, CXX: 'clang++10', PACKAGE: 'devel/llvm10' }, freebsd_instance: { image_family: 'freebsd-14-3' } }
# To install with ports we need to initialize the package manager. To avoid
# confirmation prompts we need to set an env var.
install_script: [
+79 -272
View File
@@ -19,293 +19,100 @@ trigger:
- .semaphore/*
- .travis.yml
- appveyor.yml
- README.*
pr:
branches:
include:
- develop
resources:
containers:
- { container: ubuntu_2404, image: 'ubuntu:24.04', options: '--name container -v /usr/bin/docker:/tmp/docker:ro' }
- { container: ubuntu_2204, image: 'ubuntu:22.04', options: '--name container -v /usr/bin/docker:/tmp/docker:ro' }
# - { container: ubuntu_2004, image: 'ubuntu:20.04', options: '--name container -v /usr/bin/docker:/tmp/docker:ro' }
- { container: ubuntu_1804, image: 'ubuntu:18.04', options: '--name container -v /usr/bin/docker:/tmp/docker:ro' }
- { container: ubuntu_1604, image: 'ubuntu:16.04', options: '--name container -v /usr/bin/docker:/tmp/docker:ro' }
stages:
- template: "tools/ci/azp.yml"
parameters:
name: Core
toolsets:
- "gcc-16"
b2_tests:
- name: "GNU (info)"
dir: test
args: "--verbose-test -a predef-info cxxstd=03,11,14,17,20,23
cxxstd-dialect=gnu"
- name: "GNU (test)"
dir: test
args: "--debug-configuration -a predef predef-headers cxxstd=03,11,14,17,20,23
cxxstd-dialect=gnu"
- name: "ISO (info)"
dir: test
args: "--verbose-test -a predef-info cxxstd=03,11,14,17,20,23
cxxstd-dialect=iso"
- name: "ISO (test)"
dir: test
args: "--debug-configuration -a predef predef-headers cxxstd=03,11,14,17,20,23
cxxstd-dialect=iso"
- name: "ISO (warnings)"
dir: test
args: "--debug-configuration -a predef predef-headers cxxstd=03,11,14,17,20,23
cxxstd-dialect=iso warnings=pedantic warnings-as-errors=on
cxxflags=-Woverloaded-virtual cxxflags=-Wshadow
cxxflags=-Wnon-virtual-dtor cxxflags=-Wzero-as-null-pointer-constant
cxxflags=-Wsign-promo cxxflags=-Wsign-compare
cxxflags=-Wsign-conversion cxxflags=-Wundef"
- stage: Test
jobs:
- template: "tools/ci/azp.yml"
parameters:
name: Compilers
depends_on: [ "Core" ]
b2_tests:
- name: "Info"
dir: test
args: "--verbose-test -a predef-info"
- name: "Test"
dir: test
args: "--debug-configuration -a predef predef-headers"
- job: 'Linux'
strategy:
matrix:
GCC 14 (GNU): { CXX: g++-14, PACKAGES: g++-14, VM_IMAGE: 'ubuntu-24.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=gnu' }
GCC 14 (ISO): { CXX: g++-14, PACKAGES: g++-14, VM_IMAGE: 'ubuntu-24.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=iso' }
GCC 13: { CXX: g++-13, PACKAGES: g++-13, VM_IMAGE: 'ubuntu-24.04', TOOLSET: gcc }
GCC 12: { CXX: g++-12, PACKAGES: g++-12, VM_IMAGE: 'ubuntu-24.04', TOOLSET: gcc }
GCC 11: { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-24.04', TOOLSET: gcc }
GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-24.04', TOOLSET: gcc }
GCC 9: { CXX: g++-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-24.04', TOOLSET: gcc }
Clang 18: { CXX: clang++-18, PACKAGES: clang-18, LLVM_OS: noble, LLVM_VER: 18, VM_IMAGE: 'ubuntu-24.04', TOOLSET: clang }
Clang 17: { CXX: clang++-17, PACKAGES: clang-17, LLVM_OS: noble, LLVM_VER: 17, VM_IMAGE: 'ubuntu-24.04', TOOLSET: clang }
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
./tools/ci/linux-cxx-install.sh
displayName: 'Install CXX'
- 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: |
set -e
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
pushd test
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 16.0: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_16.0.app, VM_IMAGE: 'macOS-15'}
Xcode 15.4: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_15.4.app, VM_IMAGE: 'macOS-14'}
Xcode 14.3.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_14.3.1.app, VM_IMAGE: 'macOS-13'}
Xcode 14.2: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_14.2.app, VM_IMAGE: 'macOS-13'}
Xcode 14.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_14.1.app, VM_IMAGE: 'macOS-13'}
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
sudo xcode-select -switch ${XCODE_APP}
which clang++
clang++ --version
displayName: 'Install CXX'
- 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: |
set -e
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
pushd test
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: 'Windows'
strategy:
matrix:
VS 2019:
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=32,64 cxxstd=14,latest
VM_IMAGE: 'windows-2019'
VS 2019 (UWP DESKTOP):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP PHONE):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP STORE):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SERVER):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SERVER
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SYSTEM):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SYSTEM
VM_IMAGE: 'windows-2019'
VS 2022:
TOOLSET: msvc
TOOLSET_VERSION: 14.3
VM_IMAGE: 'windows-2022'
MinGW 8.1.0:
TOOLSET: gcc
VM_IMAGE: 'windows-2019'
MinGW 8.1.0 (UWP DESKTOP):
TOOLSET: gcc
B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'windows-2019'
MinGW 8.1.0 (UWP STORE):
TOOLSET: gcc
B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'windows-2019'
pool:
vmImage: $(VM_IMAGE)
steps:
- script: |
cd %BUILD_SOURCESDIRECTORY%/..
curl "https://github.com/bfgroup/b2/archive/release.zip" -L -o b2.zip
displayName: Download B2
- task: ExtractFiles@1
inputs:
archiveFilePatterns: $(Build.SourcesDirectory)/../b2.zip
destinationFolder: $(Build.SourcesDirectory)/..
cleanDestinationFolder: false
displayName: Extract B2
- script: |
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
cd %BUILD_SOURCESDIRECTORY%/../b2-release
cmd.exe /c bootstrap.bat
displayName: Install B2
- script: |
set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../b2-release
cd %BUILD_SOURCESDIRECTORY%/test
%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
- job: 'Co_Linux'
strategy:
matrix:
GCC 8: {CXX: g++-8, TOOLSET: gcc, PACKAGES: g++-8, CONTAINER: "ubuntu_1804"}
GCC 7: {CXX: g++-7, TOOLSET: gcc, PACKAGES: g++-7, CONTAINER: "ubuntu_1804"}
GCC 6: {CXX: g++-6, TOOLSET: gcc, PACKAGES: g++-6, CONTAINER: "ubuntu_1804"}
GCC 5: {CXX: g++-5, TOOLSET: gcc, PACKAGES: g++-5, CONTAINER: "ubuntu_1804"}
GCC 4.9: {CXX: g++-4.9, TOOLSET: gcc, PACKAGES: g++-4.9, CONTAINER: "ubuntu_1604"}
GCC 4.8: {CXX: g++-4.8, TOOLSET: gcc, PACKAGES: g++-4.8, CONTAINER: "ubuntu_1804"}
Clang 16: {CXX: clang++-16, TOOLSET: clang, PACKAGES: clang-16, LLVM_VER: 16, LLVM_OS: 'focal', CONTAINER: "ubuntu_2204"}
Clang 15: {CXX: clang++-15, TOOLSET: clang, PACKAGES: clang-15, LLVM_VER: 15, LLVM_OS: 'focal', CONTAINER: "ubuntu_2204"}
Clang 14: {CXX: clang++-14, TOOLSET: clang, PACKAGES: clang-14, LLVM_VER: 14, LLVM_OS: 'focal', CONTAINER: "ubuntu_2204"}
Clang 13: {CXX: clang++-13, TOOLSET: clang, PACKAGES: clang-13, LLVM_VER: 13, LLVM_OS: 'focal', CONTAINER: "ubuntu_2204"}
Clang 12: {CXX: clang++-12, TOOLSET: clang, PACKAGES: clang-12, LLVM_VER: 12, LLVM_OS: 'focal', CONTAINER: "ubuntu_2204"}
Clang 11: {CXX: clang++-11, TOOLSET: clang, PACKAGES: clang-11, LLVM_VER: 11, LLVM_OS: 'focal', CONTAINER: "ubuntu_2204"}
Clang 10: {CXX: clang++-10, TOOLSET: clang, PACKAGES: clang-10, CONTAINER: "ubuntu_1804"}
Clang 9: {CXX: clang++-9, TOOLSET: clang, PACKAGES: clang-9, CONTAINER: "ubuntu_1804"}
Clang 8: {CXX: clang++-8, TOOLSET: clang, PACKAGES: clang-8, CONTAINER: "ubuntu_1804"}
Clang 7: {CXX: clang++-7, TOOLSET: clang, PACKAGES: clang-7, CONTAINER: "ubuntu_1804"}
Clang 6: {CXX: clang++-6.0, TOOLSET: clang, PACKAGES: clang-6.0, CONTAINER: "ubuntu_1804"}
Clang 5: {CXX: clang++-5.0, TOOLSET: clang, PACKAGES: clang-5.0, LLVM_VER: 5.0, LLVM_OS: 'bionic', CONTAINER: "ubuntu_1804"}
Clang 4: {CXX: clang++-4.0, TOOLSET: clang, PACKAGES: clang-4.0, LLVM_VER: 4.0, LLVM_OS: 'xenial', CONTAINER: "ubuntu_1604"}
Clang 3.9: {CXX: clang++-3.9, TOOLSET: clang, PACKAGES: clang-3.9, LLVM_VER: 3.9, LLVM_OS: 'xenial', CONTAINER: "ubuntu_1604"}
Clang 3.8: {CXX: clang++-3.8, TOOLSET: clang, PACKAGES: clang-3.8, LLVM_VER: 3.8, LLVM_OS: 'xenial', CONTAINER: "ubuntu_1604"}
Clang 3.7: {CXX: clang++-3.7, TOOLSET: clang, PACKAGES: clang-3.7, CONTAINER: "ubuntu_1604"}
Clang 3.6: {CXX: clang++-3.6, TOOLSET: clang, PACKAGES: clang-3.6, CONTAINER: "ubuntu_1604"}
pool:
vmImage: 'ubuntu-20.04'
container: $[ variables['CONTAINER'] ]
steps:
- script: |
which docker
/tmp/docker exec -t -u root container mv /etc/sudoers /etc/sudoers.bak
/tmp/docker exec -t -u root container apt-get -qq update
/tmp/docker exec -t -u root container apt-get -qq install sudo
/tmp/docker exec -t -u root container mv /etc/sudoers.bak /etc/sudoers
displayName: Sudorize
- bash: |
set -e
uname -a
./tools/ci/linux-cxx-install.sh
displayName: 'Install CXX'
- bash: |
set -e
pushd ${HOME}
wget -nv https://github.com/bfgroup/b2/archive/release.tar.gz
tar -zxf release.tar.gz
cd b2-release
./bootstrap.sh --cxx=${CXX} ${TOOLSET}
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > "${HOME}/user-config.jam"
sudo ./b2 --debug-configuration "--user-config=${HOME}/user-config.jam" install toolset=${TOOLSET}
popd
displayName: 'Install B2'
- bash: |
set -e
pushd test
b2 --verbose-test "--user-config=${HOME}/user-config.jam" -a toolset=${TOOLSET} ${B2_ARGS} predef-info
b2 --debug-configuration "--user-config=${HOME}/user-config.jam" -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers
popd
displayName: Test
- stage: Extra
dependsOn: [Test]
jobs:
- job: 'Linux'
strategy:
matrix:
TinyCC: {
EXE: tcc, PACKAGES: tcc, VM_IMAGE: 'ubuntu-latest',
TOOLSET: cc, VERSION: "tcc~0.9.27",
B2_CONFIG: '<cflags>"-std=c11" <-soname>-soname',
B2_ARGS: 'c' }
pool:
vmImage: $(VM_IMAGE)
continueOnError: 'true'
steps:
- bash: |
set -e
uname -a
./tools/ci/linux-cxx-install.sh
displayName: 'Install CXX'
- bash: |
set -e
pushd ${HOME}
wget -nv https://github.com/bfgroup/b2/archive/main.tar.gz
tar -zxf main.tar.gz
cd b2-main
./bootstrap.sh
sudo ./b2 install
popd
displayName: 'Install B2'
- bash: |
set -e
EXE_PATH=`which ${EXE}`
echo "using ${TOOLSET} : ${VERSION} : ${EXE_PATH} : ${B2_CONFIG} ;" > ${HOME}/user-config.jam
pushd test
b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS}
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS}
popd
displayName: Test
- template: "tools/ci/azp.yml"
parameters:
name: "Windows_UWP"
toolsets:
- "msvc-14.5"
depends_on: [ "Core" ]
b2_tests:
- name: "UWP DESKTOP"
dir: test
args: "--verbose-test -a address-model=64 define=_WIN32_WINNT=0x0A00
define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP"
- name: "UWP PHONE"
dir: test
args: "--verbose-test -a address-model=64 define=_WIN32_WINNT=0x0A00
define=WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP"
- name: "UWP STORE"
dir: test
args: "--verbose-test -a address-model=64 define=_WIN32_WINNT=0x0A00
define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP"
- name: "UWP SERVER"
dir: test
args: "--verbose-test -a address-model=64 define=_WIN32_WINNT=0x0A00
define=WINAPI_FAMILY=WINAPI_FAMILY_SERVER"
- name: "UWP SYSTEM"
dir: test
args: "--verbose-test -a address-model=64 define=_WIN32_WINNT=0x0A00
define=WINAPI_FAMILY=WINAPI_FAMILY_SYSTEM"
- stage: WebsiteUpdate
displayName: 'Website Update'
dependsOn: [Test]
condition: and(in(variables['Build.SourceBranch'], 'refs/heads/master', 'refs/heads/develop'), eq(variables['Build.Repository.Name'], 'grafikrobot/hash-predef'))
displayName: "Website Update"
dependsOn: [ Core, Compilers, Windows_UWP ]
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'
vmImage: "ubuntu-latest"
steps:
- task: UseRubyVersion@0
- bash: |
gem install asciidoctor
gem install rouge
displayName: 'Install Doc Tools'
displayName: "Install Doc Tools"
- bash: |
set -e
pushd ${HOME}
@@ -315,7 +122,7 @@ stages:
CXX= ./bootstrap.sh
sudo ./b2 install
popd
displayName: 'Install B2'
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
@@ -323,7 +130,7 @@ stages:
git rm --ignore-unmatch -r "${DOC_DIR}" || exit 1
mkdir -p "${DOC_DIR}" || exit 1
popd
displayName: 'Clone Website'
displayName: "Clone Website"
env:
GH_TOKEN: $(GitHubToken)
WEB_DIR: website
@@ -339,7 +146,7 @@ stages:
git commit -m "Update documentation."
git push
popd
displayName: 'Build & Publish'
displayName: "Build & Publish"
env:
GH_TOKEN: $(GitHubToken)
WEB_DIR: website
+4
View File
@@ -7,6 +7,10 @@ http://www.boost.org/LICENSE_1_0.txt)
= History
== 1.17.0
* Fix warnings at high levels current {CPP} compilers / standards.
== 1.16.0
* Add detection for Tiny C Compiler (TCC). (from Kornel Ponikwicki)
+2 -2
View File
@@ -43,7 +43,7 @@ using namespace std;
#endif
unsigned generated_predef_info_count = 0;
predef_info* generated_predef_info = 0;
predef_info* generated_predef_info = (predef_info*)(0);
void * add_predef_entry(const char * name, const char * description, unsigned value)
{
if (0 == generated_predef_info_count)
@@ -60,7 +60,7 @@ void * add_predef_entry(const char * name, const char * description, unsigned va
generated_predef_info[generated_predef_info_count-1].name = name;
generated_predef_info[generated_predef_info_count-1].description = description;
generated_predef_info[generated_predef_info_count-1].value = value;
return 0;
return (void*)0;
}
int predef_info_compare(const void * a, const void * b)
+1 -1
View File
@@ -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,16,0)
#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,17,0)
#endif
+7 -7
View File
@@ -34,16 +34,16 @@ Defines standard version numbers, with these properties:
*/ // end::reference[]
#define BOOST_VERSION_NUMBER(major,minor,patch) \
( (((major)%100)*10000000) + (((minor)%100)*100000) + ((patch)%100000) )
( (((major)%100U)*10000000U) + (((minor)%100U)*100000U) + ((patch)%100000U) )
#define BOOST_VERSION_NUMBER_MAX \
BOOST_VERSION_NUMBER(99,99,99999)
BOOST_VERSION_NUMBER(99U,99U,99999U)
#define BOOST_VERSION_NUMBER_ZERO \
BOOST_VERSION_NUMBER(0,0,0)
BOOST_VERSION_NUMBER(0U,0U,0U)
#define BOOST_VERSION_NUMBER_MIN \
BOOST_VERSION_NUMBER(0,0,1)
BOOST_VERSION_NUMBER(0U,0U,1U)
#define BOOST_VERSION_NUMBER_AVAILABLE \
BOOST_VERSION_NUMBER_MIN
@@ -63,12 +63,12 @@ version number resulting in a preprocessor expression in the range of
respectively.
*/ // end::reference[]
#define BOOST_VERSION_NUMBER_MAJOR(N) \
( ((N)/10000000)%100 )
( ((N)/10000000U)%100U )
#define BOOST_VERSION_NUMBER_MINOR(N) \
( ((N)/100000)%100 )
( ((N)/100000U)%100U )
#define BOOST_VERSION_NUMBER_PATCH(N) \
( (N)%100000 )
( (N)%100000U )
#endif
+2 -2
View File
@@ -73,7 +73,7 @@ int main()
{
test_BOOST_VERSION_NUMBER();
unsigned fail_count = 0;
int fail_count = 0;
std::vector<test_info>::iterator i = test_results.begin();
std::vector<test_info>::iterator e = test_results.end();
for (; i != e; ++i)
@@ -87,7 +87,7 @@ int main()
std::cout
<< std::endl
<< "TOTAL: "
<< "passed " << (test_results.size()-fail_count) << ", "
<< "passed " << (test_results.size()-(unsigned)fail_count) << ", "
<< "failed " << (fail_count) << ", "
<< "of " << (test_results.size())
<< std::endl;
+5 -5
View File
@@ -40,7 +40,7 @@ int main()
{
test_BOOST_PREDEF_TESTED_AT();
unsigned fail_count = 0;
int fail_count = 0;
std::vector<test_info>::iterator i = test_results.begin();
std::vector<test_info>::iterator e = test_results.end();
for (; i != e; ++i)
@@ -48,15 +48,15 @@ int main()
std::cout
<< (i->passed ? "[passed]" : "[failed]")
<< " " << i->value
<< std::endl;
<< "\n";
fail_count += i->passed ? 0 : 1;
}
std::cout
<< std::endl
<< "\n"
<< "TOTAL: "
<< "passed " << (test_results.size()-fail_count) << ", "
<< "passed " << (test_results.size()-(unsigned)fail_count) << ", "
<< "failed " << (fail_count) << ", "
<< "of " << (test_results.size())
<< std::endl;
<< "\n";
return fail_count;
}
+2 -2
View File
@@ -61,7 +61,7 @@ int main()
{
test_BOOST_VERSION_NUMBER();
unsigned fail_count = 0;
int fail_count = 0;
std::vector<test_info>::iterator i = test_results.begin();
std::vector<test_info>::iterator e = test_results.end();
for (; i != e; ++i)
@@ -75,7 +75,7 @@ int main()
std::cout
<< std::endl
<< "TOTAL: "
<< "passed " << (test_results.size()-fail_count) << ", "
<< "passed " << (test_results.size()-(unsigned)fail_count) << ", "
<< "failed " << (fail_count) << ", "
<< "of " << (test_results.size())
<< std::endl;
+2 -2
View File
@@ -40,7 +40,7 @@ int main()
{
test_BOOST_PREDEF_WORKAROUND();
unsigned fail_count = 0;
int fail_count = 0;
std::vector<test_info>::iterator i = test_results.begin();
std::vector<test_info>::iterator e = test_results.end();
for (; i != e; ++i)
@@ -54,7 +54,7 @@ int main()
std::cout
<< std::endl
<< "TOTAL: "
<< "passed " << (test_results.size()-fail_count) << ", "
<< "passed " << (test_results.size()-(unsigned)fail_count) << ", "
<< "failed " << (fail_count) << ", "
<< "of " << (test_results.size())
<< std::endl;
+3 -3
View File
@@ -12,7 +12,7 @@ const char * str_token(const char ** str, const char * space)
char * token;
for (; **str != 0; *str += 1)
{
if (0 == strchr(space, **str))
if ((char*)0 == strchr(space, **str))
{
break;
}
@@ -23,7 +23,7 @@ const char * str_token(const char ** str, const char * space)
token[span] = 0;
for (*str += span; **str != 0; *str += 1)
{
if (0 == strchr(space, **str))
if ((char*)0 == strchr(space, **str))
{
break;
}
@@ -61,7 +61,7 @@ int main(int argc, const char ** argv)
const char * exp_val_a = str_token(&exp, dot);
const char * exp_val_b = str_token(&exp, dot);
const char * exp_val_c = str_token(&exp, dot);
exp_version = BOOST_VERSION_NUMBER(atoi(exp_val_a), atoi(exp_val_b),atoi(exp_val_c));
exp_version = BOOST_VERSION_NUMBER((unsigned int)atoi(exp_val_a), (unsigned int)atoi(exp_val_b), (unsigned int)atoi(exp_val_c));
}
for (x = 0; x < generated_predef_info_count; ++x)
{