diff --git a/.evergreen/config_generator/components/compile_only.py b/.evergreen/config_generator/components/compile_only.py index 10f4fd5bdc..b8310b5b3f 100644 --- a/.evergreen/config_generator/components/compile_only.py +++ b/.evergreen/config_generator/components/compile_only.py @@ -9,8 +9,6 @@ from shrub.v3.evg_command import KeyValueParam, expansions_update from shrub.v3.evg_task import EvgTask, EvgTaskRef -from itertools import product - TAG = 'compile-only' @@ -18,29 +16,55 @@ # pylint: disable=line-too-long # fmt: off MATRIX = [ - ('rhel80', 'gcc', ['Debug', 'Release'], ['shared', 'static'], [11, 17, 20, 23]), - ('rhel80', 'clang', ['Debug', 'Release'], ['shared', 'static'], [11, 17, 20, 23]), - - ('ubuntu2004-arm64', 'gcc', ['Debug', 'Release'], ['shared', 'static'], [11, 17, 20, 23]), - ('ubuntu2004-arm64', 'clang', ['Debug', 'Release'], ['shared', 'static'], [11, 17, 20, 23]), - - ('rhel8-power', None, ['Debug', 'Release'], ['shared', 'static'], [11, 17]), - ('rhel8-zseries', None, ['Debug', 'Release'], ['shared', 'static'], [11, 17]), - - ('macos-14-arm64', None, ['Debug', 'Release'], ['shared', 'static'], [11, 17]), - ('macos-14', None, ['Debug', 'Release'], ['shared', 'static'], [11, 17]), - - ('windows-vsCurrent', 'vs2017x64', ['Debug', 'Release'], ['shared', 'static'], [11, 17, ]), - ('windows-vsCurrent', 'vs2019x64', ['Debug', 'Release'], ['shared', 'static'], [11, 17, 20, ]), - ('windows-vsCurrent', 'vs2022x64', ['Debug', 'Release'], ['shared', 'static'], [11, 17, 20, 23]), + # C++ standard and compiler coverage + + ('rhel80', 'clang', [11, 17, 20, ]), # Clang 7.0 (max: C++20) + ('ubuntu2004', 'clang-10', [11, 17, 20, ]), # Clang 10.0 (max: C++20) + ('rhel84', 'clang', [11, 17, 20, ]), # Clang 11.0 (max: C++20) + ('ubuntu2204', 'clang-12', [11, 17, 20, 23]), # Clang 12.0 (max: C++23) + ('rhel90', 'clang', [11, 17, 20, 23]), # Clang 13.0 (max: C++23) + ('rhel91', 'clang', [11, 17, 20, 23]), # Clang 14.0 (max: C++23) + ('rhel92', 'clang', [11, 17, 20, 23]), # Clang 15.0 (max: C++23) + ('rhel93', 'clang', [11, 17, 20, 23]), # Clang 16.0 (max: C++23) + ('rhel94', 'clang', [11, 17, 20, 23]), # Clang 17.0 (max: C++23) + ('rhel95', 'clang', [11, 17, 20, 23]), # Clang 18.0 (max: C++23) + + ('rhel76', 'gcc', [11, 14, ]), # GCC 4.8 (max: C++14) + ('rhel80', 'gcc', [11, 17, 20, ]), # GCC 8.2 (max: C++20) + ('debian10', 'gcc-8', [11, 17, 20, ]), # GCC 8.3 (max: C++20) + ('rhel84', 'gcc', [11, 17, 20, ]), # GCC 8.4 (max: C++20) + ('ubuntu2004', 'gcc-9', [11, 17, 20, ]), # GCC 9.4 (max: C++20) + ('debian11', 'gcc-10', [11, 17, 20, ]), # GCC 10.2 (max: C++20) + ('rhel90', 'gcc', [11, 17, 20, 23]), # GCC 11.2 (max: C++23) + ('rhel92', 'gcc', [11, 17, 20, 23]), # GCC 11.3 (max: C++23) + ('rhel94', 'gcc', [11, 17, 20, 23]), # GCC 11.4 (max: C++23) + ('rhel95', 'gcc', [11, 17, 20, 23]), # GCC 11.5 (max: C++23) + + ('windows-vsCurrent', 'vs2015x64', [11, 14, 'latest']), # Max: C++14 + ('windows-vsCurrent', 'vs2017x64', [11, 14, 17, 20, 'latest']), # Max: C++20 + ('windows-vsCurrent', 'vs2019x64', [11, 14, 17, 20, 23, 'latest']), # Max: C++23 + ('windows-vsCurrent', 'vs2022x64', [11, 14, 17, 20, 23, 'latest']), # Max: C++23 + + # Other coverage. + + ('ubuntu2004-arm64', 'gcc', [11, 17]), # Clang 10 + ('ubuntu2004-arm64', 'clang', [11, 17]), # Clang 10 + + ('rhel8-power', None, [11, 17]), + ('rhel8-zseries', None, [11, 17]), + + ('macos-14-arm64', None, [11, 17]), + ('macos-14', None, [11, 17]), ] # fmt: on # pylint: enable=line-too-long def tasks(): - for distro_name, compiler, build_types, link_types, cxx_standards in MATRIX: - for build_type, link_type, cxx_standard in product(build_types, link_types, cxx_standards): + build_type = 'Debug' + + for distro_name, compiler, cxx_standards in MATRIX: + for cxx_standard in cxx_standards: distro = find_large_distro(distro_name) name = f'{TAG}-{make_distro_str(distro_name, compiler, None)}' @@ -53,11 +77,11 @@ def tasks(): if compiler is not None: tags.append(compiler) - name += f'-{build_type.lower()}-{link_type}' - tags += [build_type.lower(), link_type] + name += f'-{build_type.lower()}' + tags += [build_type.lower()] updates = [] - compile_vars = {} + compile_vars = {'BUILD_SHARED_AND_STATIC_LIBS': 'ON'} updates += [KeyValueParam(key='build_type', value=build_type)] updates += [KeyValueParam(key=key, value=value) for key, value in compiler_to_vars(compiler).items()] @@ -65,9 +89,6 @@ def tasks(): if cxx_standard is not None: compile_vars |= {'REQUIRED_CXX_STANDARD': cxx_standard} - if link_type == 'static': - compile_vars |= {'USE_STATIC_LIBS': 1} - # PowerPC and zSeries are limited resources. patchable = False if any(pattern in distro_name for pattern in ['power', 'zseries']) else None @@ -79,6 +100,7 @@ def tasks(): Compile.call( build_type=build_type, compiler=compiler, + vars=compile_vars, ) ] diff --git a/.evergreen/config_generator/components/funcs/install_c_driver.py b/.evergreen/config_generator/components/funcs/install_c_driver.py index e0323c2549..26af7ba0ce 100644 --- a/.evergreen/config_generator/components/funcs/install_c_driver.py +++ b/.evergreen/config_generator/components/funcs/install_c_driver.py @@ -29,6 +29,10 @@ class InstallCDriver(Function): bash_exec( command_type=EvgCommandType.SETUP, add_expansions_to_env=True, + env={ + 'CC': '${cc_compiler}', + 'CXX': '${cxx_compiler}', + }, script='mongo-cxx-driver/.evergreen/scripts/install-c-driver.sh' ), ] diff --git a/.evergreen/config_generator/etc/distros.py b/.evergreen/config_generator/etc/distros.py index 9fb820f752..cffa6bdcc4 100644 --- a/.evergreen/config_generator/etc/distros.py +++ b/.evergreen/config_generator/etc/distros.py @@ -22,7 +22,6 @@ class Distro(BaseModel): os_type: Literal['linux', 'macos', 'windows'] | None = None os_ver: str | None = None vs_ver: Literal[ - '2013', '2015', '2017', '2019', @@ -48,6 +47,8 @@ def ls_distro(name, **kwargs): DEBIAN_DISTROS = [ + *ls_distro(name='debian10', os='debian', os_type='linux', os_ver='10'), + *ls_distro(name='debian11', os='debian', os_type='linux', os_ver='10'), *ls_distro(name='debian12-latest', os='debian', os_type='linux', os_ver='latest'), ] @@ -60,8 +61,16 @@ def ls_distro(name, **kwargs): ] RHEL_DISTROS = [ + *ls_distro(name='rhel76', os='rhel', os_type='linux', os_ver='7.6'), *ls_distro(name='rhel80', os='rhel', os_type='linux', os_ver='8.0'), + *ls_distro(name='rhel84', os='rhel', os_type='linux', os_ver='8.4'), + *ls_distro(name='rhel90', os='rhel', os_type='linux', os_ver='9.0'), + *ls_distro(name='rhel91', os='rhel', os_type='linux', os_ver='9.1'), + *ls_distro(name='rhel92', os='rhel', os_type='linux', os_ver='9.2'), + *ls_distro(name='rhel93', os='rhel', os_type='linux', os_ver='9.3'), + *ls_distro(name='rhel94', os='rhel', os_type='linux', os_ver='9.4'), *ls_distro(name='rhel95', os='rhel', os_type='linux', os_ver='9.5'), + *ls_distro(name='rhel92', os='rhel', os_type='linux', os_ver='9.0'), ] RHEL_ARM64_DISTROS = [ @@ -78,6 +87,7 @@ def ls_distro(name, **kwargs): ] UBUNTU_DISTROS = [ + *ls_distro(name='ubuntu2004', os='ubuntu', os_type='linux', os_ver='20.04'), *ls_distro(name='ubuntu2204', os='ubuntu', os_type='linux', os_ver='22.04'), ] @@ -151,19 +161,6 @@ def make_distro_str(distro_name, compiler, arch) -> str: distro_name[len('windows-vsCurrent-'):] + f'-{compiler_str}' else: distro_str = 'windows-2019' + f'-{compiler_str}' - elif distro_name.startswith('windows-64-vs'): - # Abbreviate 'windows-64-vs' as 'vs' and append '-' if - # given in compiler string as 'vs', e.g.: - # ('windows-64-vs2017', 'vs2017x64', None) -> vs2017-x64 - # ('windows-64-vs2017', 'mingw', None) -> vs2017-mingw - distro_str = distro_name[len('windows-64-'):] + { - 'vs2017x64': '-x64', - 'vs2017x86': '-x86', - 'vs2019x64': '-x64', - 'vs2019x86': '-x86', - 'vs2022x64': '-x64', - 'vs2022x86': '-x86', - }.get(compiler, f'-{compiler}') else: distro_str = distro_name if compiler: @@ -177,6 +174,8 @@ def make_distro_str(distro_name, compiler, arch) -> str: def to_cc(compiler): return { + 'vs2015x64': 'Visual Studio 14 2015', + 'vs2015x86': 'Visual Studio 14 2015', 'vs2017x64': 'Visual Studio 15 2017', 'vs2017x86': 'Visual Studio 15 2017', 'vs2019x64': 'Visual Studio 16 2019', @@ -188,6 +187,8 @@ def to_cc(compiler): def to_platform(compiler): return { + 'vs2015x64': 'x64', + 'vs2015x86': 'Win32', 'vs2017x64': 'x64', 'vs2017x86': 'Win32', 'vs2019x64': 'x64', @@ -198,24 +199,30 @@ def to_platform(compiler): def compiler_to_vars(compiler): - match compiler: - case 'gcc': + if compiler is None: + return {} + + match compiler, compiler.split('-'): + case _, ['gcc', *rest]: return { - 'cc_compiler': 'gcc', - 'cxx_compiler': 'g++', + 'cc_compiler': '-'.join(['gcc'] + rest), + 'cxx_compiler': '-'.join(['g++'] + rest), } - case 'clang': + case _, ['clang', *rest]: return { - 'cc_compiler': 'clang', - 'cxx_compiler': 'clang++', + 'cc_compiler': '-'.join(['clang'] + rest), + 'cxx_compiler': '-'.join(['clang++'] + rest), } - case str(vs) if 'vs' in vs: + case str(vs), _ if 'vs' in vs: return { 'generator': to_cc(vs), 'platform': to_platform(vs), } - case _: - return {} + case compiler, _: + return { + 'cc_compiler': compiler, + 'cxx_compiler': compiler, + } diff --git a/.evergreen/generated_configs/functions.yml b/.evergreen/generated_configs/functions.yml index c7c3cc7b51..41339470ca 100644 --- a/.evergreen/generated_configs/functions.yml +++ b/.evergreen/generated_configs/functions.yml @@ -493,6 +493,9 @@ functions: params: binary: bash add_expansions_to_env: true + env: + CC: ${cc_compiler} + CXX: ${cxx_compiler} args: - -c - mongo-cxx-driver/.evergreen/scripts/install-c-driver.sh diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 185be5a37b..7e7ad400da 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -244,177 +244,129 @@ tasks: CMAKE_MINOR_VERSION: 15 CMAKE_PATCH_VERSION: 4 INSTALL_C_DRIVER: 1 - - name: compile-only-macos-14-arm64-cxx11-debug-shared - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx11, debug, shared] + - name: compile-only-debian10-gcc-8-cxx11-debug + run_on: debian10-large + tags: [compile-only, debian10, cxx11, gcc-8, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-8 } + - { key: cxx_compiler, value: g++-8 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - - name: compile-only-macos-14-arm64-cxx11-debug-static - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx11, debug, static] + cc_compiler: gcc-8 + cxx_compiler: g++-8 + - name: compile-only-debian10-gcc-8-cxx17-debug + run_on: debian10-large + tags: [compile-only, debian10, cxx17, gcc-8, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-8 } + - { key: cxx_compiler, value: g++-8 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - - name: compile-only-macos-14-arm64-cxx11-release-shared - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx11, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-macos-14-arm64-cxx11-release-static - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx11, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-macos-14-arm64-cxx17-debug-shared - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx17, debug, shared] + cc_compiler: gcc-8 + cxx_compiler: g++-8 + - name: compile-only-debian10-gcc-8-cxx20-debug + run_on: debian10-large + tags: [compile-only, debian10, cxx20, gcc-8, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-8 } + - { key: cxx_compiler, value: g++-8 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 build_type: Debug - - name: compile-only-macos-14-arm64-cxx17-debug-static - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx17, debug, static] + cc_compiler: gcc-8 + cxx_compiler: g++-8 + - name: compile-only-debian11-gcc-10-cxx11-debug + run_on: debian11-large + tags: [compile-only, debian11, cxx11, gcc-10, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-10 } + - { key: cxx_compiler, value: g++-10 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - - name: compile-only-macos-14-arm64-cxx17-release-shared - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx17, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-macos-14-arm64-cxx17-release-static - run_on: macos-14-arm64 - tags: [compile-only, macos-14-arm64, cxx17, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-macos-14-cxx11-debug-shared - run_on: macos-14 - tags: [compile-only, macos-14, cxx11, debug, shared] + cc_compiler: gcc-10 + cxx_compiler: g++-10 + - name: compile-only-debian11-gcc-10-cxx17-debug + run_on: debian11-large + tags: [compile-only, debian11, cxx17, gcc-10, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-10 } + - { key: cxx_compiler, value: g++-10 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - - name: compile-only-macos-14-cxx11-debug-static - run_on: macos-14 - tags: [compile-only, macos-14, cxx11, debug, static] + cc_compiler: gcc-10 + cxx_compiler: g++-10 + - name: compile-only-debian11-gcc-10-cxx20-debug + run_on: debian11-large + tags: [compile-only, debian11, cxx20, gcc-10, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-10 } + - { key: cxx_compiler, value: g++-10 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 build_type: Debug - - name: compile-only-macos-14-cxx11-release-shared - run_on: macos-14 - tags: [compile-only, macos-14, cxx11, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-macos-14-cxx11-release-static - run_on: macos-14 - tags: [compile-only, macos-14, cxx11, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-macos-14-cxx17-debug-shared - run_on: macos-14 - tags: [compile-only, macos-14, cxx17, debug, shared] + cc_compiler: gcc-10 + cxx_compiler: g++-10 + - name: compile-only-macos-14-arm64-cxx11-debug + run_on: macos-14-arm64 + tags: [compile-only, macos-14-arm64, cxx11, debug] commands: - command: expansions.update params: @@ -425,10 +377,12 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - - name: compile-only-macos-14-cxx17-debug-static - run_on: macos-14 - tags: [compile-only, macos-14, cxx17, debug, static] + - name: compile-only-macos-14-arm64-cxx17-debug + run_on: macos-14-arm64 + tags: [compile-only, macos-14-arm64, cxx17, debug] commands: - command: expansions.update params: @@ -439,39 +393,12 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - - name: compile-only-macos-14-cxx17-release-shared - run_on: macos-14 - tags: [compile-only, macos-14, cxx17, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-macos-14-cxx17-release-static + - name: compile-only-macos-14-cxx11-debug run_on: macos-14 - tags: [compile-only, macos-14, cxx17, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-power-cxx11-debug-shared - run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx11, debug, shared] - patchable: false + tags: [compile-only, macos-14, cxx11, debug] commands: - command: expansions.update params: @@ -482,11 +409,12 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - - name: compile-only-rhel8-power-cxx11-debug-static - run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx11, debug, static] - patchable: false + - name: compile-only-macos-14-cxx17-debug + run_on: macos-14 + tags: [compile-only, macos-14, cxx17, debug] commands: - command: expansions.update params: @@ -497,100 +425,52 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - - name: compile-only-rhel8-power-cxx11-release-shared - run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx11, release, shared] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-power-cxx11-release-static - run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx11, release, static] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-power-cxx17-debug-shared - run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx17, debug, shared] - patchable: false + - name: compile-only-rhel76-gcc-cxx11-debug + run_on: rhel76-large + tags: [compile-only, rhel76, cxx11, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - - name: compile-only-rhel8-power-cxx17-debug-static - run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx17, debug, static] - patchable: false + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel76-gcc-cxx14-debug + run_on: rhel76-large + tags: [compile-only, rhel76, cxx14, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 14 build_type: Debug - - name: compile-only-rhel8-power-cxx17-release-shared - run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx17, release, shared] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-power-cxx17-release-static + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel8-power-cxx11-debug run_on: rhel8-power-large - tags: [compile-only, rhel8-power, cxx17, release, static] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-zseries-cxx11-debug-shared - run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx11, debug, shared] + tags: [compile-only, rhel8-power, cxx11, debug] patchable: false commands: - command: expansions.update @@ -602,10 +482,12 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - - name: compile-only-rhel8-zseries-cxx11-debug-static - run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx11, debug, static] + - name: compile-only-rhel8-power-cxx17-debug + run_on: rhel8-power-large + tags: [compile-only, rhel8-power, cxx17, debug] patchable: false commands: - command: expansions.update @@ -617,40 +499,12 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - - name: compile-only-rhel8-zseries-cxx11-release-shared - run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx11, release, shared] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-zseries-cxx11-release-static + - name: compile-only-rhel8-zseries-cxx11-debug run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx11, release, static] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-zseries-cxx17-debug-shared - run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx17, debug, shared] + tags: [compile-only, rhel8-zseries, cxx11, debug] patchable: false commands: - command: expansions.update @@ -662,10 +516,12 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - - name: compile-only-rhel8-zseries-cxx17-debug-static + - name: compile-only-rhel8-zseries-cxx17-debug run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx17, debug, static] + tags: [compile-only, rhel8-zseries, cxx17, debug] patchable: false commands: - command: expansions.update @@ -677,40 +533,12 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - - name: compile-only-rhel8-zseries-cxx17-release-shared - run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx17, release, shared] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel8-zseries-cxx17-release-static - run_on: rhel8-zseries-large - tags: [compile-only, rhel8-zseries, cxx17, release, static] - patchable: false - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - - name: compile-only-rhel80-clang-cxx11-debug-shared + - name: compile-only-rhel80-clang-cxx11-debug run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, clang, debug, shared] + tags: [compile-only, rhel80, cxx11, clang, debug] commands: - command: expansions.update params: @@ -723,12 +551,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx11-debug-static + - name: compile-only-rhel80-clang-cxx17-debug run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, clang, debug, static] + tags: [compile-only, rhel80, cxx17, clang, debug] commands: - command: expansions.update params: @@ -741,48 +571,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx11-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, clang, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx11-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, clang, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx17-debug-shared + - name: compile-only-rhel80-clang-cxx20-debug run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, clang, debug, shared] + tags: [compile-only, rhel80, cxx20, clang, debug] commands: - command: expansions.update params: @@ -795,138 +591,74 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx17-debug-static + - name: compile-only-rhel80-gcc-cxx11-debug run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, clang, debug, static] + tags: [compile-only, rhel80, cxx11, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx17-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, clang, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx17-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, clang, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx20-debug-shared + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel80-gcc-cxx17-debug run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, clang, debug, shared] + tags: [compile-only, rhel80, cxx17, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx20-debug-static + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel80-gcc-cxx20-debug run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, clang, debug, static] + tags: [compile-only, rhel80, cxx20, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 build_type: Debug - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx20-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, clang, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx20-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, clang, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx23-debug-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, clang, debug, shared] + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel84-clang-cxx11-debug + run_on: rhel84-large + tags: [compile-only, rhel84, cxx11, clang, debug] commands: - command: expansions.update params: @@ -939,12 +671,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx23-debug-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, clang, debug, static] + - name: compile-only-rhel84-clang-cxx17-debug + run_on: rhel84-large + tags: [compile-only, rhel84, cxx17, clang, debug] commands: - command: expansions.update params: @@ -957,35 +691,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx23-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, clang, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-rhel80-clang-cxx23-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, clang, release, static] + - name: compile-only-rhel84-clang-cxx20-debug + run_on: rhel84-large + tags: [compile-only, rhel84, cxx20, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: clang } - { key: cxx_compiler, value: clang++ } - func: setup @@ -993,102 +711,14 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-rhel80-gcc-cxx11-debug-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, gcc, debug, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx11-debug-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, gcc, debug, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx11-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, gcc, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx11-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx11, gcc, release, static] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx17-debug-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, gcc, debug, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx17-debug-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, gcc, debug, static] + - name: compile-only-rhel84-gcc-cxx11-debug + run_on: rhel84-large + tags: [compile-only, rhel84, cxx11, gcc, debug] commands: - command: expansions.update params: @@ -1101,17 +731,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx17-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, gcc, release, shared] + - name: compile-only-rhel84-gcc-cxx17-debug + run_on: rhel84-large + tags: [compile-only, rhel84, cxx17, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1119,17 +751,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx17-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx17, gcc, release, static] + - name: compile-only-rhel84-gcc-cxx20-debug + run_on: rhel84-large + tags: [compile-only, rhel84, cxx20, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1137,84 +771,94 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx20-debug-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, gcc, debug, shared] + - name: compile-only-rhel90-clang-cxx11-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx11, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx20-debug-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, gcc, debug, static] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel90-clang-cxx17-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx17, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx20-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, gcc, release, shared] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel90-clang-cxx20-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx20, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx20-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx20, gcc, release, static] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel90-clang-cxx23-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx23, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx23-debug-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, gcc, debug, shared] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel90-gcc-cxx11-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx11, gcc, debug] commands: - command: expansions.update params: @@ -1227,12 +871,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx23-debug-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, gcc, debug, static] + - name: compile-only-rhel90-gcc-cxx17-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx17, gcc, debug] commands: - command: expansions.update params: @@ -1245,17 +891,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx23-release-shared - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, gcc, release, shared] + - name: compile-only-rhel90-gcc-cxx20-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx20, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1263,17 +911,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-rhel80-gcc-cxx23-release-static - run_on: rhel80-large - tags: [compile-only, rhel80, cxx23, gcc, release, static] + - name: compile-only-rhel90-gcc-cxx23-debug + run_on: rhel90-large + tags: [compile-only, rhel90, cxx23, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1281,12 +931,14 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-clang-cxx11-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, clang, debug, shared] + - name: compile-only-rhel91-clang-cxx11-debug + run_on: rhel91-large + tags: [compile-only, rhel91, cxx11, clang, debug] commands: - command: expansions.update params: @@ -1299,12 +951,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx11-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, clang, debug, static] + - name: compile-only-rhel91-clang-cxx17-debug + run_on: rhel91-large + tags: [compile-only, rhel91, cxx17, clang, debug] commands: - command: expansions.update params: @@ -1317,17 +971,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx11-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, clang, release, shared] + - name: compile-only-rhel91-clang-cxx20-debug + run_on: rhel91-large + tags: [compile-only, rhel91, cxx20, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: clang } - { key: cxx_compiler, value: clang++ } - func: setup @@ -1335,17 +991,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx11-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, clang, release, static] + - name: compile-only-rhel91-clang-cxx23-debug + run_on: rhel91-large + tags: [compile-only, rhel91, cxx23, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: clang } - { key: cxx_compiler, value: clang++ } - func: setup @@ -1353,12 +1011,14 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx17-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, clang, debug, shared] + - name: compile-only-rhel92-clang-cxx11-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx11, clang, debug] commands: - command: expansions.update params: @@ -1371,12 +1031,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx17-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, clang, debug, static] + - name: compile-only-rhel92-clang-cxx17-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx17, clang, debug] commands: - command: expansions.update params: @@ -1389,17 +1051,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx17-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, clang, release, shared] + - name: compile-only-rhel92-clang-cxx20-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx20, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: clang } - { key: cxx_compiler, value: clang++ } - func: setup @@ -1407,17 +1071,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx17-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, clang, release, static] + - name: compile-only-rhel92-clang-cxx23-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx23, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: clang } - { key: cxx_compiler, value: clang++ } - func: setup @@ -1425,84 +1091,94 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx20-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, clang, debug, shared] + - name: compile-only-rhel92-gcc-cxx11-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx11, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx20-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, clang, debug, static] + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel92-gcc-cxx17-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx17, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx20-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, clang, release, shared] + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel92-gcc-cxx20-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx20, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx20-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, clang, release, static] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel92-gcc-cxx23-debug + run_on: rhel92-large + tags: [compile-only, rhel92, cxx23, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: clang } - - { key: cxx_compiler, value: clang++ } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - cc_compiler: clang - cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx23-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, clang, debug, shared] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-rhel93-clang-cxx11-debug + run_on: rhel93-large + tags: [compile-only, rhel93, cxx11, clang, debug] commands: - command: expansions.update params: @@ -1515,12 +1191,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx23-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, clang, debug, static] + - name: compile-only-rhel93-clang-cxx17-debug + run_on: rhel93-large + tags: [compile-only, rhel93, cxx17, clang, debug] commands: - command: expansions.update params: @@ -1533,17 +1211,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx23-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, clang, release, shared] + - name: compile-only-rhel93-clang-cxx20-debug + run_on: rhel93-large + tags: [compile-only, rhel93, cxx20, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: clang } - { key: cxx_compiler, value: clang++ } - func: setup @@ -1551,17 +1231,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-clang-cxx23-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, clang, release, static] + - name: compile-only-rhel93-clang-cxx23-debug + run_on: rhel93-large + tags: [compile-only, rhel93, cxx23, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: clang } - { key: cxx_compiler, value: clang++ } - func: setup @@ -1569,102 +1251,94 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug cc_compiler: clang cxx_compiler: clang++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx11-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, gcc, debug, shared] + - name: compile-only-rhel94-clang-cxx11-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx11, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx11-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, gcc, debug, static] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel94-clang-cxx17-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx17, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx11-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, gcc, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx11-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx11, gcc, release, static] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel94-clang-cxx20-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx20, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx17-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, gcc, debug, shared] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel94-clang-cxx23-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx23, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx17-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, gcc, debug, static] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel94-gcc-cxx11-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx11, gcc, debug] commands: - command: expansions.update params: @@ -1677,17 +1351,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx17-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, gcc, release, shared] + - name: compile-only-rhel94-gcc-cxx17-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx17, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1695,17 +1371,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx17-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx17, gcc, release, static] + - name: compile-only-rhel94-gcc-cxx20-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx20, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1713,12 +1391,14 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx20-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, gcc, debug, shared] + - name: compile-only-rhel94-gcc-cxx23-debug + run_on: rhel94-large + tags: [compile-only, rhel94, cxx23, gcc, debug] commands: - command: expansions.update params: @@ -1731,84 +1411,94 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx20-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, gcc, debug, static] + - name: compile-only-rhel95-clang-cxx11-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx11, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx20-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, gcc, release, shared] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel95-clang-cxx17-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx17, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx20-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx20, gcc, release, static] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel95-clang-cxx20-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx20, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx23-debug-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, gcc, debug, shared] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel95-clang-cxx23-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx23, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: cc_compiler, value: gcc } - - { key: cxx_compiler, value: g++ } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 build_type: Debug - cc_compiler: gcc - cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx23-debug-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, gcc, debug, static] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-rhel95-gcc-cxx11-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx11, gcc, debug] commands: - command: expansions.update params: @@ -1821,17 +1511,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx23-release-shared - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, gcc, release, shared] + - name: compile-only-rhel95-gcc-cxx17-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx17, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1839,17 +1531,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-ubuntu2004-arm64-gcc-cxx23-release-static - run_on: ubuntu2004-arm64-large - tags: [compile-only, ubuntu2004-arm64, cxx23, gcc, release, static] + - name: compile-only-rhel95-gcc-cxx20-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx20, gcc, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: cc_compiler, value: gcc } - { key: cxx_compiler, value: g++ } - func: setup @@ -1857,557 +1551,599 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug cc_compiler: gcc cxx_compiler: g++ - - name: compile-only-windows-2019-vs2017-x64-cxx11-debug-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2017x64, debug, shared] + - name: compile-only-rhel95-gcc-cxx23-debug + run_on: rhel95-large + tags: [compile-only, rhel95, cxx23, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 build_type: Debug - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2017-x64-cxx11-debug-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2017x64, debug, static] + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-ubuntu2004-arm64-clang-cxx11-debug + run_on: ubuntu2004-arm64-large + tags: [compile-only, ubuntu2004-arm64, cxx11, clang, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2017-x64-cxx11-release-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2017x64, release, shared] - commands: - - command: expansions.update - params: - updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } - - func: setup - - func: install_c_driver - - func: install-uv - - func: compile - vars: - build_type: Release - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2017-x64-cxx11-release-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2017x64, release, static] + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-ubuntu2004-arm64-clang-cxx17-debug + run_on: ubuntu2004-arm64-large + tags: [compile-only, ubuntu2004-arm64, cxx17, clang, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang } + - { key: cxx_compiler, value: clang++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2017-x64-cxx17-debug-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2017x64, debug, shared] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug + cc_compiler: clang + cxx_compiler: clang++ + - name: compile-only-ubuntu2004-arm64-gcc-cxx11-debug + run_on: ubuntu2004-arm64-large + tags: [compile-only, ubuntu2004-arm64, cxx11, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2017-x64-cxx17-debug-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2017x64, debug, static] + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-ubuntu2004-arm64-gcc-cxx17-debug + run_on: ubuntu2004-arm64-large + tags: [compile-only, ubuntu2004-arm64, cxx17, gcc, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: gcc } + - { key: cxx_compiler, value: g++ } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2017-x64-cxx17-release-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2017x64, release, shared] + cc_compiler: gcc + cxx_compiler: g++ + - name: compile-only-ubuntu2004-clang-10-cxx11-debug + run_on: ubuntu2004-large + tags: [compile-only, ubuntu2004, cxx11, clang-10, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang-10 } + - { key: cxx_compiler, value: clang++-10 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2017-x64-cxx17-release-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2017x64, release, static] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 + build_type: Debug + cc_compiler: clang-10 + cxx_compiler: clang++-10 + - name: compile-only-ubuntu2004-clang-10-cxx17-debug + run_on: ubuntu2004-large + tags: [compile-only, ubuntu2004, cxx17, clang-10, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 15 2017 } - - { key: platform, value: x64 } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang-10 } + - { key: cxx_compiler, value: clang++-10 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 15 2017 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx11-debug-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2019x64, debug, shared] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug + cc_compiler: clang-10 + cxx_compiler: clang++-10 + - name: compile-only-ubuntu2004-clang-10-cxx20-debug + run_on: ubuntu2004-large + tags: [compile-only, ubuntu2004, cxx20, clang-10, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: clang-10 } + - { key: cxx_compiler, value: clang++-10 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 build_type: Debug - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx11-debug-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2019x64, debug, static] + cc_compiler: clang-10 + cxx_compiler: clang++-10 + - name: compile-only-ubuntu2004-gcc-9-cxx11-debug + run_on: ubuntu2004-large + tags: [compile-only, ubuntu2004, cxx11, gcc-9, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: gcc-9 } + - { key: cxx_compiler, value: g++-9 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx11-release-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2019x64, release, shared] + cc_compiler: gcc-9 + cxx_compiler: g++-9 + - name: compile-only-ubuntu2004-gcc-9-cxx17-debug + run_on: ubuntu2004-large + tags: [compile-only, ubuntu2004, cxx17, gcc-9, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-9 } + - { key: cxx_compiler, value: g++-9 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx11-release-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2019x64, release, static] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug + cc_compiler: gcc-9 + cxx_compiler: g++-9 + - name: compile-only-ubuntu2004-gcc-9-cxx20-debug + run_on: ubuntu2004-large + tags: [compile-only, ubuntu2004, cxx20, gcc-9, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: gcc-9 } + - { key: cxx_compiler, value: g++-9 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx17-debug-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2019x64, debug, shared] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + cc_compiler: gcc-9 + cxx_compiler: g++-9 + - name: compile-only-ubuntu2204-clang-12-cxx11-debug + run_on: ubuntu2204-large + tags: [compile-only, ubuntu2204, cxx11, clang-12, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: clang-12 } + - { key: cxx_compiler, value: clang++-12 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx17-debug-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2019x64, debug, static] + cc_compiler: clang-12 + cxx_compiler: clang++-12 + - name: compile-only-ubuntu2204-clang-12-cxx17-debug + run_on: ubuntu2204-large + tags: [compile-only, ubuntu2204, cxx17, clang-12, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: cc_compiler, value: clang-12 } + - { key: cxx_compiler, value: clang++-12 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx17-release-shared - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2019x64, release, shared] + cc_compiler: clang-12 + cxx_compiler: clang++-12 + - name: compile-only-ubuntu2204-clang-12-cxx20-debug + run_on: ubuntu2204-large + tags: [compile-only, ubuntu2204, cxx20, clang-12, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang-12 } + - { key: cxx_compiler, value: clang++-12 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx17-release-static - run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2019x64, release, static] + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + cc_compiler: clang-12 + cxx_compiler: clang++-12 + - name: compile-only-ubuntu2204-clang-12-cxx23-debug + run_on: ubuntu2204-large + tags: [compile-only, ubuntu2204, cxx23, clang-12, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 16 2019 } - - { key: platform, value: x64 } + - { key: build_type, value: Debug } + - { key: cc_compiler, value: clang-12 } + - { key: cxx_compiler, value: clang++-12 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 16 2019 - platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx20-debug-shared + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug + cc_compiler: clang-12 + cxx_compiler: clang++-12 + - name: compile-only-windows-2019-vs2015-x64-cxx11-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2019x64, debug, shared] + tags: [compile-only, windows-vsCurrent, cxx11, vs2015x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 16 2019 } + - { key: generator, value: Visual Studio 14 2015 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - generator: Visual Studio 16 2019 + generator: Visual Studio 14 2015 platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx20-debug-static + - name: compile-only-windows-2019-vs2015-x64-cxx14-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2019x64, debug, static] + tags: [compile-only, windows-vsCurrent, cxx14, vs2015x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 16 2019 } + - { key: generator, value: Visual Studio 14 2015 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 14 build_type: Debug - generator: Visual Studio 16 2019 + generator: Visual Studio 14 2015 platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx20-release-shared + - name: compile-only-windows-2019-vs2015-x64-cxxlatest-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2019x64, release, shared] + tags: [compile-only, windows-vsCurrent, cxxlatest, vs2015x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 16 2019 } + - { key: build_type, value: Debug } + - { key: generator, value: Visual Studio 14 2015 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 16 2019 + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: latest + build_type: Debug + generator: Visual Studio 14 2015 platform: x64 - - name: compile-only-windows-2019-vs2019-x64-cxx20-release-static + - name: compile-only-windows-2019-vs2017-x64-cxx11-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2019x64, release, static] + tags: [compile-only, windows-vsCurrent, cxx11, vs2017x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 16 2019 } + - { key: build_type, value: Debug } + - { key: generator, value: Visual Studio 15 2017 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 16 2019 + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 + build_type: Debug + generator: Visual Studio 15 2017 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx11-debug-shared + - name: compile-only-windows-2019-vs2017-x64-cxx14-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2022x64, debug, shared] + tags: [compile-only, windows-vsCurrent, cxx14, vs2017x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 17 2022 } + - { key: generator, value: Visual Studio 15 2017 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 14 build_type: Debug - generator: Visual Studio 17 2022 + generator: Visual Studio 15 2017 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx11-debug-static + - name: compile-only-windows-2019-vs2017-x64-cxx17-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2022x64, debug, static] + tags: [compile-only, windows-vsCurrent, cxx17, vs2017x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 17 2022 } + - { key: generator, value: Visual Studio 15 2017 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug - generator: Visual Studio 17 2022 + generator: Visual Studio 15 2017 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx11-release-shared + - name: compile-only-windows-2019-vs2017-x64-cxx20-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2022x64, release, shared] + tags: [compile-only, windows-vsCurrent, cxx20, vs2017x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 17 2022 } + - { key: build_type, value: Debug } + - { key: generator, value: Visual Studio 15 2017 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 17 2022 + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + generator: Visual Studio 15 2017 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx11-release-static + - name: compile-only-windows-2019-vs2017-x64-cxxlatest-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx11, vs2022x64, release, static] + tags: [compile-only, windows-vsCurrent, cxxlatest, vs2017x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 17 2022 } + - { key: build_type, value: Debug } + - { key: generator, value: Visual Studio 15 2017 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 17 2022 + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: latest + build_type: Debug + generator: Visual Studio 15 2017 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx17-debug-shared + - name: compile-only-windows-2019-vs2019-x64-cxx11-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2022x64, debug, shared] + tags: [compile-only, windows-vsCurrent, cxx11, vs2019x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 17 2022 } + - { key: generator, value: Visual Studio 16 2019 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 build_type: Debug - generator: Visual Studio 17 2022 + generator: Visual Studio 16 2019 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx17-debug-static + - name: compile-only-windows-2019-vs2019-x64-cxx14-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2022x64, debug, static] + tags: [compile-only, windows-vsCurrent, cxx14, vs2019x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 17 2022 } + - { key: generator, value: Visual Studio 16 2019 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 14 build_type: Debug - generator: Visual Studio 17 2022 + generator: Visual Studio 16 2019 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx17-release-shared + - name: compile-only-windows-2019-vs2019-x64-cxx17-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2022x64, release, shared] + tags: [compile-only, windows-vsCurrent, cxx17, vs2019x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 17 2022 } + - { key: build_type, value: Debug } + - { key: generator, value: Visual Studio 16 2019 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 17 2022 + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 + build_type: Debug + generator: Visual Studio 16 2019 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx17-release-static + - name: compile-only-windows-2019-vs2019-x64-cxx20-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx17, vs2022x64, release, static] + tags: [compile-only, windows-vsCurrent, cxx20, vs2019x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } - - { key: generator, value: Visual Studio 17 2022 } + - { key: build_type, value: Debug } + - { key: generator, value: Visual Studio 16 2019 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: - build_type: Release - generator: Visual Studio 17 2022 + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 + build_type: Debug + generator: Visual Studio 16 2019 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx20-debug-shared + - name: compile-only-windows-2019-vs2019-x64-cxx23-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2022x64, debug, shared] + tags: [compile-only, windows-vsCurrent, cxx23, vs2019x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 17 2022 } + - { key: generator, value: Visual Studio 16 2019 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 build_type: Debug - generator: Visual Studio 17 2022 + generator: Visual Studio 16 2019 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx20-debug-static + - name: compile-only-windows-2019-vs2019-x64-cxxlatest-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2022x64, debug, static] + tags: [compile-only, windows-vsCurrent, cxxlatest, vs2019x64, debug] commands: - command: expansions.update params: updates: - { key: build_type, value: Debug } - - { key: generator, value: Visual Studio 17 2022 } + - { key: generator, value: Visual Studio 16 2019 } - { key: platform, value: x64 } - func: setup - func: install_c_driver - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: latest build_type: Debug - generator: Visual Studio 17 2022 + generator: Visual Studio 16 2019 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx20-release-shared + - name: compile-only-windows-2019-vs2022-x64-cxx11-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2022x64, release, shared] + tags: [compile-only, windows-vsCurrent, cxx11, vs2022x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: generator, value: Visual Studio 17 2022 } - { key: platform, value: x64 } - func: setup @@ -2415,17 +2151,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 11 + build_type: Debug generator: Visual Studio 17 2022 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx20-release-static + - name: compile-only-windows-2019-vs2022-x64-cxx14-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx20, vs2022x64, release, static] + tags: [compile-only, windows-vsCurrent, cxx14, vs2022x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: generator, value: Visual Studio 17 2022 } - { key: platform, value: x64 } - func: setup @@ -2433,12 +2171,14 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 14 + build_type: Debug generator: Visual Studio 17 2022 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx23-debug-shared + - name: compile-only-windows-2019-vs2022-x64-cxx17-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx23, vs2022x64, debug, shared] + tags: [compile-only, windows-vsCurrent, cxx17, vs2022x64, debug] commands: - command: expansions.update params: @@ -2451,12 +2191,14 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 17 build_type: Debug generator: Visual Studio 17 2022 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx23-debug-static + - name: compile-only-windows-2019-vs2022-x64-cxx20-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx23, vs2022x64, debug, static] + tags: [compile-only, windows-vsCurrent, cxx20, vs2022x64, debug] commands: - command: expansions.update params: @@ -2469,17 +2211,19 @@ tasks: - func: install-uv - func: compile vars: + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 20 build_type: Debug generator: Visual Studio 17 2022 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx23-release-shared + - name: compile-only-windows-2019-vs2022-x64-cxx23-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx23, vs2022x64, release, shared] + tags: [compile-only, windows-vsCurrent, cxx23, vs2022x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: generator, value: Visual Studio 17 2022 } - { key: platform, value: x64 } - func: setup @@ -2487,17 +2231,19 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: 23 + build_type: Debug generator: Visual Studio 17 2022 platform: x64 - - name: compile-only-windows-2019-vs2022-x64-cxx23-release-static + - name: compile-only-windows-2019-vs2022-x64-cxxlatest-debug run_on: windows-vsCurrent-large - tags: [compile-only, windows-vsCurrent, cxx23, vs2022x64, release, static] + tags: [compile-only, windows-vsCurrent, cxxlatest, vs2022x64, debug] commands: - command: expansions.update params: updates: - - { key: build_type, value: Release } + - { key: build_type, value: Debug } - { key: generator, value: Visual Studio 17 2022 } - { key: platform, value: x64 } - func: setup @@ -2505,7 +2251,9 @@ tasks: - func: install-uv - func: compile vars: - build_type: Release + BUILD_SHARED_AND_STATIC_LIBS: "ON" + REQUIRED_CXX_STANDARD: latest + build_type: Debug generator: Visual Studio 17 2022 platform: x64 - name: docker-build-ubuntu2204 diff --git a/.evergreen/scripts/compile.sh b/.evergreen/scripts/compile.sh index 4d725457aa..92d1ecb000 100755 --- a/.evergreen/scripts/compile.sh +++ b/.evergreen/scripts/compile.sh @@ -26,6 +26,7 @@ set -o pipefail : "${USE_SANITIZER_ASAN:-}" : "${USE_SANITIZER_UBSAN:-}" : "${USE_STATIC_LIBS:-}" +: "${USE_SHARED_AND_STATIC_LIBS:-}" mongoc_prefix="$(pwd)/../mongoc" echo "mongoc_prefix=${mongoc_prefix:?}" @@ -121,6 +122,41 @@ esac export CMAKE_GENERATOR="${generator:?}" export CMAKE_GENERATOR_PLATFORM="${platform:-}" +if [[ -n "${REQUIRED_CXX_STANDARD:-}" ]]; then + echo "Checking requested C++ standard is supported..." + pushd "$(mktemp -d)" + cat >CMakeLists.txt <= version. + else() + failure() # Both are new: latest < version. + endif() +endif() +DOC + "${cmake_binary:?}" -S . -B build --log-level=notice + popd # "$(tmpfile -d)" + echo "Checking requested C++ standard is supported... done." +fi + case "${BSONCXX_POLYFILL:-}" in impls) cmake_flags+=("-DBSONCXX_POLY_USE_IMPLS=ON") ;; std) cmake_flags+=("-DBSONCXX_POLY_USE_STD=ON") ;; @@ -140,6 +176,15 @@ cygwin) cmake_flags+=( "-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded" ) + + # Ensure default MSVC flags are preserved despite explicit compiler flags. + cc_flags+=(/DWIN32 /D_WINDOWS) + cxx_flags+=(/DWIN32 /D_WINDOWS /GR /EHsc) + if [[ "${build_type:?}" == "debug" ]]; then + cxx_flags+=(/Ob0 /Od /RTC1) + else + cxx_flags+=(/O2 /Ob2 /DNDEBUG) + fi ;; darwin*) cc_flags+=("${cc_flags_init[@]}") @@ -153,10 +198,6 @@ linux*) cc_flags+=("${cc_flags_init[@]}") cxx_flags+=("${cxx_flags_init[@]}" -Wno-missing-field-initializers) - if [[ "${CXX:-}" != "clang++" ]]; then - cxx_flags+=(-Wno-aligned-new) - fi - if [[ "${distro_id:?}" != rhel7* ]]; then cxx_flags+=("-Wno-expansion-to-defined") else @@ -203,22 +244,33 @@ if [[ "${OSTYPE:?}" != cygwin ]]; then fi fi -if [[ "${#cc_flags[@]}" -gt 0 ]]; then - cmake_flags+=("-DCMAKE_C_FLAGS=${cc_flags[*]}") -fi +if [[ -n "${REQUIRED_CXX_STANDARD:-}" ]]; then + cmake_flags+=("-DCMAKE_CXX_STANDARD_REQUIRED=ON") -if [[ "${#cxx_flags[@]}" -gt 0 ]]; then - cmake_flags+=("-DCMAKE_CXX_FLAGS=${cxx_flags[*]}") + if [[ "${REQUIRED_CXX_STANDARD:?}" == "latest" ]]; then + [[ "${CMAKE_GENERATOR:-}" =~ "Visual Studio" ]] || { + echo "REQUIRED_CXX_STANDARD=latest to enable /std:c++latest is only supported with Visual Studio generators" 1>&2 + exit 1 + } + + cxx_flags+=("/std:c++latest") # CMake doesn't support "latest" as a C++ standard. + else + cmake_flags+=("-DCMAKE_CXX_STANDARD=${REQUIRED_CXX_STANDARD:?}") + fi fi if [[ "${ENABLE_CODE_COVERAGE:-}" == "ON" ]]; then cmake_flags+=("-DENABLE_CODE_COVERAGE=ON") fi -if [ "${USE_STATIC_LIBS:-}" ]; then +if [[ "${USE_STATIC_LIBS:-}" == 1 ]]; then cmake_flags+=("-DBUILD_SHARED_LIBS=OFF") fi +if [[ "${USE_SHARED_AND_STATIC_LIBS:-}" == 1 ]]; then + cmake_flags+=("-DUSE_SHARED_AND_STATIC_LIBS=ON") +fi + if [ "${ENABLE_TESTS:-}" = "ON" ]; then cmake_flags+=( "-DENABLE_TESTS=ON" @@ -226,15 +278,20 @@ if [ "${ENABLE_TESTS:-}" = "ON" ]; then ) fi -if [[ -n "${REQUIRED_CXX_STANDARD:-}" ]]; then - cmake_flags+=("-DCMAKE_CXX_STANDARD=${REQUIRED_CXX_STANDARD:?}") - cmake_flags+=("-DCMAKE_CXX_STANDARD_REQUIRED=ON") -fi - if [[ "${COMPILE_MACRO_GUARD_TESTS:-"OFF"}" == "ON" ]]; then cmake_flags+=("-DENABLE_MACRO_GUARD_TESTS=ON") fi +# Must come after all cc_flags are set. +if [[ "${#cc_flags[@]}" -gt 0 ]]; then + cmake_flags+=("-DCMAKE_C_FLAGS=${cc_flags[*]}") +fi + +# Must come after all cxx_flags are set. +if [[ "${#cxx_flags[@]}" -gt 0 ]]; then + cmake_flags+=("-DCMAKE_CXX_FLAGS=${cxx_flags[*]}") +fi + echo "Configuring with CMake flags:" printf " - %s\n" "${cmake_flags[@]}" diff --git a/etc/run-clang-tidy.sh b/etc/run-clang-tidy.sh index 59307a4fd7..ca9b8a2be3 100755 --- a/etc/run-clang-tidy.sh +++ b/etc/run-clang-tidy.sh @@ -3,7 +3,7 @@ set -o errexit set -o pipefail -: "${UV_INSTALL_DIR:?}" # Not on windows-64-vs2015. +: "${UV_INSTALL_DIR:?}" export CC="${cc_compiler:?}" export CXX="${cxx_compiler:?}" diff --git a/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/validate.cpp b/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/validate.cpp index 7bb79809e9..41ba7e6f7e 100644 --- a/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/validate.cpp +++ b/src/bsoncxx/lib/bsoncxx/v_noabi/bsoncxx/validate.cpp @@ -90,13 +90,14 @@ validate(std::uint8_t const* data, std::size_t length, validator const& validato ::bson_t bson; if (!::bson_init_static(&bson, data, length)) { // if we can't even initialize a bson_t we just say the error is at offset 0. - if (invalid_offset) + if (invalid_offset) { *invalid_offset = 0u; - return {}; + } + return bsoncxx::v_noabi::stdx::nullopt; } if (!::bson_validate(&bson, flags, invalid_offset)) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } return document::view{data, length}; diff --git a/src/mongocxx/lib/mongocxx/private/change_stream.hh b/src/mongocxx/lib/mongocxx/private/change_stream.hh index 334e8d6107..4897c8f880 100644 --- a/src/mongocxx/lib/mongocxx/private/change_stream.hh +++ b/src/mongocxx/lib/mongocxx/private/change_stream.hh @@ -104,9 +104,10 @@ class change_stream::impl { } bsoncxx::v_noabi::stdx::optional get_resume_token() { - auto token = libmongoc::change_stream_get_resume_token(this->change_stream_); + bson_t const* const token = libmongoc::change_stream_get_resume_token(this->change_stream_); + if (!token) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } return {bsoncxx::v_noabi::document::view{bson_get_data(token), token->len}}; diff --git a/src/mongocxx/lib/mongocxx/private/client_session.hh b/src/mongocxx/lib/mongocxx/private/client_session.hh index f12442c2a4..8534aae996 100644 --- a/src/mongocxx/lib/mongocxx/private/client_session.hh +++ b/src/mongocxx/lib/mongocxx/private/client_session.hh @@ -114,7 +114,8 @@ class client_session::impl { // Get session id, also known as "logical session id" or "lsid". bsoncxx::v_noabi::document::view id() const noexcept { - return bsoncxx::helpers::view_from_bson_t(libmongoc::client_session_get_lsid(_session_t.get())); + bson_t const* const bson = libmongoc::client_session_get_lsid(_session_t.get()); + return bsoncxx::helpers::view_from_bson_t(bson); } bsoncxx::v_noabi::document::view cluster_time() const noexcept { diff --git a/src/mongocxx/lib/mongocxx/private/index_view.hh b/src/mongocxx/lib/mongocxx/private/index_view.hh index d53dc1a898..20a44de07a 100644 --- a/src/mongocxx/lib/mongocxx/private/index_view.hh +++ b/src/mongocxx/lib/mongocxx/private/index_view.hh @@ -149,7 +149,7 @@ class index_view::impl { if (!server_description.sd) throw_exception(error); - auto hello = libmongoc::server_description_hello_response(server_description.sd); + bson_t const* const hello = libmongoc::server_description_hello_response(server_description.sd); bson_iter_t iter; if (!bson_iter_init_find(&iter, hello, "maxWireVersion") || bson_iter_int32(&iter) < 9) { diff --git a/src/mongocxx/lib/mongocxx/private/mock.hh b/src/mongocxx/lib/mongocxx/private/mock.hh index f9494c7086..1726280d34 100644 --- a/src/mongocxx/lib/mongocxx/private/mock.hh +++ b/src/mongocxx/lib/mongocxx/private/mock.hh @@ -65,7 +65,9 @@ struct mock_invoke { }; BSONCXX_PRIVATE_WARNINGS_PUSH(); +#if defined(__GNUC__) && (__GNUC__ >= 6) && !defined(__clang__) BSONCXX_PRIVATE_WARNINGS_DISABLE(GNU("-Wignored-attributes")); +#endif template struct mock_invoke { diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_failed_event.cpp b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_failed_event.cpp index 35ffe8d986..59a714f885 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_failed_event.cpp +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_failed_event.cpp @@ -32,7 +32,7 @@ command_failed_event::command_failed_event(void const* event) : _failed_event(ev command_failed_event::~command_failed_event() = default; bsoncxx::v_noabi::document::view command_failed_event::failure() const { - auto failure = + bson_t const* const failure = libmongoc::apm_command_failed_get_reply(static_cast(_failed_event)); return {bson_get_data(failure), failure->len}; } diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_started_event.cpp b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_started_event.cpp index 9eee795221..2a1fbacfd2 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_started_event.cpp +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_started_event.cpp @@ -28,7 +28,7 @@ command_started_event::command_started_event(void const* event) : _started_event command_started_event::~command_started_event() = default; bsoncxx::v_noabi::document::view command_started_event::command() const { - auto command = + bson_t const* const command = libmongoc::apm_command_started_get_command(static_cast(_started_event)); return {bson_get_data(command), command->len}; } diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_succeeded_event.cpp b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_succeeded_event.cpp index e3745f741d..9cf287165a 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_succeeded_event.cpp +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/command_succeeded_event.cpp @@ -28,7 +28,7 @@ command_succeeded_event::command_succeeded_event(void const* event) : _succeeded command_succeeded_event::~command_succeeded_event() = default; bsoncxx::v_noabi::document::view command_succeeded_event::reply() const { - auto reply = libmongoc::apm_command_succeeded_get_reply( + bson_t const* const reply = libmongoc::apm_command_succeeded_get_reply( static_cast(_succeeded_event)); return {bson_get_data(reply), reply->len}; } diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/heartbeat_succeeded_event.cpp b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/heartbeat_succeeded_event.cpp index bbad277174..ed3b3d5baf 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/heartbeat_succeeded_event.cpp +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/heartbeat_succeeded_event.cpp @@ -26,7 +26,7 @@ heartbeat_succeeded_event::~heartbeat_succeeded_event() = default; bsoncxx::v_noabi::document::view heartbeat_succeeded_event::reply() const { auto casted = static_cast(_succeeded_event); - auto reply = libmongoc::apm_server_heartbeat_succeeded_get_reply(casted); + bson_t const* const reply = libmongoc::apm_server_heartbeat_succeeded_get_reply(casted); return {bson_get_data(reply), reply->len}; } diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/server_description.cpp b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/server_description.cpp index 479b59e09b..3ddb239fb4 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/server_description.cpp +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/events/server_description.cpp @@ -41,7 +41,8 @@ bsoncxx::v_noabi::document::view server_description::is_master() const { } bsoncxx::v_noabi::document::view server_description::hello() const { - auto reply = libmongoc::server_description_hello_response(static_cast(_sd)); + bson_t const* const reply = + libmongoc::server_description_hello_response(static_cast(_sd)); return {bson_get_data(reply), reply->len}; } diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/options/transaction.hh b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/options/transaction.hh index c9c7d9aa80..eb25bbda53 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/options/transaction.hh +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/options/transaction.hh @@ -64,7 +64,7 @@ class transaction::impl { bsoncxx::v_noabi::stdx::optional read_concern() const { auto rc = libmongoc::transaction_opts_get_read_concern(_transaction_opt_t.get()); if (!rc) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } mongocxx::v_noabi::read_concern rci(bsoncxx::make_unique(libmongoc::read_concern_copy(rc))); return bsoncxx::v_noabi::stdx::optional(std::move(rci)); @@ -77,7 +77,7 @@ class transaction::impl { bsoncxx::v_noabi::stdx::optional write_concern() const { auto wc = libmongoc::transaction_opts_get_write_concern(_transaction_opt_t.get()); if (!wc) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } mongocxx::v_noabi::write_concern wci( bsoncxx::make_unique(libmongoc::write_concern_copy(wc))); @@ -91,7 +91,7 @@ class transaction::impl { bsoncxx::v_noabi::stdx::optional read_preference() const { auto rp = libmongoc::transaction_opts_get_read_prefs(_transaction_opt_t.get()); if (!rp) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } mongocxx::v_noabi::read_preference rpi( bsoncxx::make_unique(libmongoc::read_prefs_copy(rp))); @@ -105,15 +105,7 @@ class transaction::impl { bsoncxx::v_noabi::stdx::optional max_commit_time_ms() const { auto ms = libmongoc::transaction_opts_get_max_commit_time_ms(_transaction_opt_t.get()); if (!ms) { -#if !defined(__clang__) && defined(__GNUC__) && (__cplusplus >= 201709L) -// Silence false positive with g++ 10.2.1 on Debian 11. -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif - return {}; -#if !defined(__clang__) && defined(__GNUC__) && (__cplusplus >= 201709L) -#pragma GCC diagnostic pop -#endif + return bsoncxx::v_noabi::stdx::nullopt; } return {std::chrono::milliseconds{ms}}; } diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/read_preference.cpp b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/read_preference.cpp index 0d109bee20..3ef3de2345 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/read_preference.cpp +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/read_preference.cpp @@ -119,13 +119,16 @@ bsoncxx::v_noabi::stdx::optional read_preference::max_stal read_preference& read_preference::hedge(bsoncxx::v_noabi::document::view_or_value hedge) { libbson::scoped_bson_t hedge_bson{std::move(hedge)}; - + BSONCXX_SUPPRESS_DEPRECATION_WARNINGS_BEGIN libmongoc::read_prefs_set_hedge(_impl->read_preference_t, hedge_bson.bson()); + BSONCXX_SUPPRESS_DEPRECATION_WARNINGS_END return *this; } bsoncxx::v_noabi::stdx::optional const read_preference::hedge() const { + BSONCXX_SUPPRESS_DEPRECATION_WARNINGS_BEGIN bson_t const* hedge_bson = libmongoc::read_prefs_get_hedge(_impl->read_preference_t); + BSONCXX_SUPPRESS_DEPRECATION_WARNINGS_END if (!bson_empty(hedge_bson)) { return bsoncxx::v_noabi::document::view(bson_get_data(hedge_bson), hedge_bson->len); diff --git a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/uri.cpp b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/uri.cpp index d3a22d9f2e..9e7d4e80a3 100644 --- a/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/uri.cpp +++ b/src/mongocxx/lib/mongocxx/v_noabi/mongocxx/uri.cpp @@ -86,7 +86,7 @@ std::vector uri::hosts() const { } bsoncxx::v_noabi::document::view uri::options() const { - auto opts_bson = libmongoc::uri_get_options(_impl->uri_t); + bson_t const* const opts_bson = libmongoc::uri_get_options(_impl->uri_t); return bsoncxx::v_noabi::document::view{::bson_get_data(opts_bson), opts_bson->len}; } @@ -138,7 +138,7 @@ static bsoncxx::v_noabi::stdx::optional _st value = libmongoc::uri_get_option_as_utf8(uri, opt_name.c_str(), nullptr); if (!value) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } return bsoncxx::v_noabi::stdx::string_view{value}; @@ -149,7 +149,7 @@ static bsoncxx::v_noabi::stdx::optional _int32_option(mongoc_uri_t bson_t const* options_bson = libmongoc::uri_get_options(uri); if (!bson_iter_init_find_case(&iter, options_bson, opt_name.c_str()) || !BSON_ITER_HOLDS_INT32(&iter)) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } return bson_iter_int32(&iter); } @@ -159,7 +159,7 @@ static bsoncxx::v_noabi::stdx::optional _bool_option(mongoc_uri_t* uri, st bson_t const* options_bson = libmongoc::uri_get_options(uri); if (!bson_iter_init_find_case(&iter, options_bson, opt_name.c_str()) || !BSON_ITER_HOLDS_BOOL(&iter)) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } return bson_iter_bool(&iter); } @@ -184,7 +184,7 @@ static bsoncxx::v_noabi::stdx::optional _crede bson_t const* options_bson = libmongoc::uri_get_credentials(uri); if (!bson_iter_init_find_case(&iter, options_bson, opt_name.c_str()) || !BSON_ITER_HOLDS_DOCUMENT(&iter)) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } bson_iter_document(&iter, &len, &data); return bsoncxx::v_noabi::document::view(data, len); diff --git a/src/mongocxx/test/client_helpers.cpp b/src/mongocxx/test/client_helpers.cpp index 16669bf649..abbd15eeea 100644 --- a/src/mongocxx/test/client_helpers.cpp +++ b/src/mongocxx/test/client_helpers.cpp @@ -344,7 +344,7 @@ bsoncxx::stdx::optional parse_test_file(std::string pa std::ifstream test_file{path}; if (test_file.bad()) { - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } stream << test_file.rdbuf(); @@ -385,7 +385,7 @@ static bsoncxx::stdx::optional is_type_operator(types::bson_value::view va } throw std::logic_error{"unsupported type for $$type"}; } - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } bool matches(types::bson_value::view main, types::bson_value::view pattern, match_visitor visitor_fn) { diff --git a/src/mongocxx/test/spec/operation.cpp b/src/mongocxx/test/spec/operation.cpp index 3abd91f4a4..bcaf63baa1 100644 --- a/src/mongocxx/test/spec/operation.cpp +++ b/src/mongocxx/test/spec/operation.cpp @@ -76,7 +76,7 @@ bsoncxx::stdx::optional lookup_read_concern(document::view doc) { return rc; } - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } bsoncxx::stdx::optional lookup_write_concern(document::view doc) { @@ -98,7 +98,7 @@ bsoncxx::stdx::optional lookup_write_concern(document::view doc) return wc; } - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } bsoncxx::stdx::optional lookup_read_preference(document::view doc) { @@ -119,7 +119,7 @@ bsoncxx::stdx::optional lookup_read_preference(document::view d return rp; } - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } client_session* operation_runner::_lookup_session(bsoncxx::stdx::string_view key) { diff --git a/src/mongocxx/test/spec/unified_tests/operations.cpp b/src/mongocxx/test/spec/unified_tests/operations.cpp index fa0cd60982..c4cff26cdb 100644 --- a/src/mongocxx/test/spec/unified_tests/operations.cpp +++ b/src/mongocxx/test/spec/unified_tests/operations.cpp @@ -2299,7 +2299,7 @@ bsoncxx::stdx::optional operations::lookup_read_concern(document:: return rc; } - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } bsoncxx::stdx::optional operations::lookup_write_concern(document::view doc) { @@ -2321,7 +2321,7 @@ bsoncxx::stdx::optional operations::lookup_write_concern(document return wc; } - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } bsoncxx::stdx::optional operations::lookup_read_preference(document::view doc) { @@ -2342,7 +2342,7 @@ bsoncxx::stdx::optional operations::lookup_read_preference(docu return rp; } - return {}; + return bsoncxx::v_noabi::stdx::nullopt; } } // namespace mongocxx