diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index e80709f..526bfed 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -24,12 +24,12 @@ jobs: CONFIG: linux_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11: - CONFIG: linux_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 + linux_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11: + CONFIG: linux_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8: - CONFIG: linux_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 + linux_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8: + CONFIG: linux_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 5898d37..2390a1d 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -20,11 +20,11 @@ jobs: osx_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8: CONFIG: osx_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 UPLOAD_PACKAGES: 'True' - osx_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11: - CONFIG: osx_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 + osx_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11: + CONFIG: osx_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 UPLOAD_PACKAGES: 'True' - osx_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8: - CONFIG: osx_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 + osx_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8: + CONFIG: osx_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 9c0279c..49c8b18 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,23 +8,23 @@ jobs: vmImage: windows-2022 strategy: matrix: - win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019: - CONFIG: win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019 + win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019: + CONFIG: win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019 UPLOAD_PACKAGES: 'True' - win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022: - CONFIG: win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022 + win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022: + CONFIG: win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022 UPLOAD_PACKAGES: 'True' - win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019: - CONFIG: win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019 + win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019: + CONFIG: win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019 UPLOAD_PACKAGES: 'True' - win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022: - CONFIG: win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022 + win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022: + CONFIG: win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022 UPLOAD_PACKAGES: 'True' - win_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019: - CONFIG: win_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019 + win_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019: + CONFIG: win_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019 UPLOAD_PACKAGES: 'True' - win_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022: - CONFIG: win_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022 + win_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022: + CONFIG: win_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022 UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: diff --git a/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml b/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml index f3bb7d2..e704ebe 100644 --- a/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml +++ b/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml @@ -22,6 +22,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -38,3 +42,5 @@ zip_keys: - CL_VERSION - TOOLCHAIN_COMBINED - MSVC_HEADERS_VERSION +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml b/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml index 4e0f957..2202e86 100644 --- a/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml +++ b/.ci_support/linux_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml @@ -22,6 +22,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -38,3 +42,5 @@ zip_keys: - CL_VERSION - TOOLCHAIN_COMBINED - MSVC_HEADERS_VERSION +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml b/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml index 20a661b..6be5c7d 100644 --- a/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml +++ b/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml @@ -22,6 +22,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -38,3 +42,5 @@ zip_keys: - CL_VERSION - TOOLCHAIN_COMBINED - MSVC_HEADERS_VERSION +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml b/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml index 5852e8e..957528c 100644 --- a/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml +++ b/.ci_support/linux_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml @@ -22,6 +22,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -38,3 +42,5 @@ zip_keys: - CL_VERSION - TOOLCHAIN_COMBINED - MSVC_HEADERS_VERSION +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml b/.ci_support/linux_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml similarity index 90% rename from .ci_support/linux_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml rename to .ci_support/linux_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml index 2a72647..6d47b59 100644 --- a/.ci_support/linux_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml +++ b/.ci_support/linux_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml @@ -1,7 +1,7 @@ CHOST_BASE: - x86_64-pc-windows-msvc CLANG_VERSION: -- 18.1.2 +- 18.1.3 CL_VERSION: - 19.29.30139 FINAL_CFLAGS: @@ -22,6 +22,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -38,3 +42,5 @@ zip_keys: - CL_VERSION - TOOLCHAIN_COMBINED - MSVC_HEADERS_VERSION +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/linux_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml b/.ci_support/linux_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml similarity index 90% rename from .ci_support/linux_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml rename to .ci_support/linux_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml index 3c8f228..29c2f66 100644 --- a/.ci_support/linux_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml +++ b/.ci_support/linux_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml @@ -1,7 +1,7 @@ CHOST_BASE: - x86_64-pc-windows-msvc CLANG_VERSION: -- 18.1.2 +- 18.1.3 CL_VERSION: - 19.38.33130 FINAL_CFLAGS: @@ -22,6 +22,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- sysroot +c_stdlib_version: +- '2.12' cdt_name: - cos6 channel_sources: @@ -38,3 +42,5 @@ zip_keys: - CL_VERSION - TOOLCHAIN_COMBINED - MSVC_HEADERS_VERSION +- - c_stdlib_version + - cdt_name diff --git a/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml b/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml index afdd89e..01e8672 100644 --- a/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml +++ b/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml @@ -24,6 +24,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.9' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml b/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml index 6cd780e..78c0124 100644 --- a/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml +++ b/.ci_support/osx_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml @@ -24,6 +24,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.9' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml b/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml index f438b24..3ad20a9 100644 --- a/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml +++ b/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml @@ -24,6 +24,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.9' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml b/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml index da028a2..18cd5b4 100644 --- a/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml +++ b/.ci_support/osx_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml @@ -24,6 +24,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.9' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml b/.ci_support/osx_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml similarity index 92% rename from .ci_support/osx_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml rename to .ci_support/osx_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml index daff6e6..3ea5f06 100644 --- a/.ci_support/osx_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml +++ b/.ci_support/osx_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11.yaml @@ -1,7 +1,7 @@ CHOST_BASE: - x86_64-pc-windows-msvc CLANG_VERSION: -- 18.1.2 +- 18.1.3 CL_VERSION: - 19.29.30139 FINAL_CFLAGS: @@ -24,6 +24,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.9' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/osx_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml b/.ci_support/osx_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml similarity index 92% rename from .ci_support/osx_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml rename to .ci_support/osx_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml index a5b6240..e6ed36a 100644 --- a/.ci_support/osx_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml +++ b/.ci_support/osx_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8.yaml @@ -1,7 +1,7 @@ CHOST_BASE: - x86_64-pc-windows-msvc CLANG_VERSION: -- 18.1.2 +- 18.1.3 CL_VERSION: - 19.38.33130 FINAL_CFLAGS: @@ -24,6 +24,10 @@ WINSDK_URL: - https://go.microsoft.com/fwlink/?linkid=2249825 WINSDK_VERSION: - 10.0.22621.0 +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '10.9' channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml b/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml similarity index 96% rename from .ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml rename to .ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml index d446bc7..61b4ea4 100644 --- a/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml +++ b/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml @@ -12,10 +12,10 @@ RUNTIME_VERSION: - 14.29.30139 VCVER: - '14.2' -VSVER: -- '16' VSYEAR: - '2019' +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: @@ -27,6 +27,5 @@ vc: zip_keys: - - VCVER - VSYEAR - - VSVER - RUNTIME_VERSION - CL_VERSION diff --git a/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml b/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml similarity index 96% rename from .ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml rename to .ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml index 7d34fa3..a18a0b4 100644 --- a/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml +++ b/.ci_support/win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml @@ -12,10 +12,10 @@ RUNTIME_VERSION: - 14.38.33130 VCVER: - '14.3' -VSVER: -- '17' VSYEAR: - '2022' +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: @@ -27,6 +27,5 @@ vc: zip_keys: - - VCVER - VSYEAR - - VSVER - RUNTIME_VERSION - CL_VERSION diff --git a/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml b/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml similarity index 96% rename from .ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml rename to .ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml index a19d922..7d480a5 100644 --- a/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml +++ b/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml @@ -12,10 +12,10 @@ RUNTIME_VERSION: - 14.29.30139 VCVER: - '14.2' -VSVER: -- '16' VSYEAR: - '2019' +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: @@ -27,6 +27,5 @@ vc: zip_keys: - - VCVER - VSYEAR - - VSVER - RUNTIME_VERSION - CL_VERSION diff --git a/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml b/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml similarity index 96% rename from .ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml rename to .ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml index 367f007..c491bf8 100644 --- a/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml +++ b/.ci_support/win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml @@ -12,10 +12,10 @@ RUNTIME_VERSION: - 14.38.33130 VCVER: - '14.3' -VSVER: -- '17' VSYEAR: - '2022' +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: @@ -27,6 +27,5 @@ vc: zip_keys: - - VCVER - VSYEAR - - VSVER - RUNTIME_VERSION - CL_VERSION diff --git a/.ci_support/win_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml b/.ci_support/win_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml similarity index 94% rename from .ci_support/win_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml rename to .ci_support/win_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml index 0f4446a..cdb4ba5 100644 --- a/.ci_support/win_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019.yaml +++ b/.ci_support/win_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019.yaml @@ -1,5 +1,5 @@ CLANG_VERSION: -- 18.1.2 +- 18.1.3 CL_VERSION: - 19.29.30139 FINAL_CFLAGS: @@ -12,10 +12,10 @@ RUNTIME_VERSION: - 14.29.30139 VCVER: - '14.2' -VSVER: -- '16' VSYEAR: - '2019' +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: @@ -27,6 +27,5 @@ vc: zip_keys: - - VCVER - VSYEAR - - VSVER - RUNTIME_VERSION - CL_VERSION diff --git a/.ci_support/win_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml b/.ci_support/win_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml similarity index 94% rename from .ci_support/win_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml rename to .ci_support/win_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml index 8a6afdb..ab87508 100644 --- a/.ci_support/win_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022.yaml +++ b/.ci_support/win_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022.yaml @@ -1,5 +1,5 @@ CLANG_VERSION: -- 18.1.2 +- 18.1.3 CL_VERSION: - 19.38.33130 FINAL_CFLAGS: @@ -12,10 +12,10 @@ RUNTIME_VERSION: - 14.38.33130 VCVER: - '14.3' -VSVER: -- '17' VSYEAR: - '2022' +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: @@ -27,6 +27,5 @@ vc: zip_keys: - - VCVER - VSYEAR - - VSVER - RUNTIME_VERSION - CL_VERSION diff --git a/README.md b/README.md index f51d295..9f99c46 100644 --- a/README.md +++ b/README.md @@ -94,17 +94,17 @@ Current build status - linux_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 + linux_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 - variant + variant - linux_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 + linux_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 - variant + variant @@ -136,59 +136,59 @@ Current build status - osx_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 + osx_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139MSVC_HEADERS_VERSION14.29.30133TOOLCHAIN_COMBINED14.29.16.11 - variant + variant - osx_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 + osx_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130MSVC_HEADERS_VERSION14.38.33130TOOLCHAIN_COMBINED14.38.17.8 - variant + variant - win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019 + win_64_CLANG_VERSION16.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019 - variant + variant - win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022 + win_64_CLANG_VERSION16.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022 - variant + variant - win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019 + win_64_CLANG_VERSION17.0.6CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019 - variant + variant - win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022 + win_64_CLANG_VERSION17.0.6CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022 - variant + variant - win_64_CLANG_VERSION18.1.2CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSVER16VSYEAR2019 + win_64_CLANG_VERSION18.1.3CL_VERSION19.29.30139RUNTIME_VERSION14.29.30139VCVER14.2VSYEAR2019 - variant + variant - win_64_CLANG_VERSION18.1.2CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSVER17VSYEAR2022 + win_64_CLANG_VERSION18.1.3CL_VERSION19.38.33130RUNTIME_VERSION14.38.33130VCVER14.3VSYEAR2022 - variant + variant @@ -205,6 +205,7 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-clang_win--64-green.svg)](https://anaconda.org/conda-forge/clang_win-64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/clang_win-64.svg)](https://anaconda.org/conda-forge/clang_win-64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/clang_win-64.svg)](https://anaconda.org/conda-forge/clang_win-64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/clang_win-64.svg)](https://anaconda.org/conda-forge/clang_win-64) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-clangxx_win--64-green.svg)](https://anaconda.org/conda-forge/clangxx_win-64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/clangxx_win-64.svg)](https://anaconda.org/conda-forge/clangxx_win-64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/clangxx_win-64.svg)](https://anaconda.org/conda-forge/clangxx_win-64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/clangxx_win-64.svg)](https://anaconda.org/conda-forge/clangxx_win-64) | | [![Conda Recipe](https://img.shields.io/badge/recipe-msvc--headers--libs-green.svg)](https://anaconda.org/conda-forge/msvc-headers-libs) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/msvc-headers-libs.svg)](https://anaconda.org/conda-forge/msvc-headers-libs) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/msvc-headers-libs.svg)](https://anaconda.org/conda-forge/msvc-headers-libs) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/msvc-headers-libs.svg)](https://anaconda.org/conda-forge/msvc-headers-libs) | | [![Conda Recipe](https://img.shields.io/badge/recipe-winsdk-green.svg)](https://anaconda.org/conda-forge/winsdk) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/winsdk.svg)](https://anaconda.org/conda-forge/winsdk) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/winsdk.svg)](https://anaconda.org/conda-forge/winsdk) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/winsdk.svg)](https://anaconda.org/conda-forge/winsdk) | @@ -218,16 +219,16 @@ conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `clang_win-64, msvc-headers-libs, winsdk` can be installed with `conda`: +Once the `conda-forge` channel has been enabled, `clang_win-64, clangxx_win-64, msvc-headers-libs, winsdk` can be installed with `conda`: ``` -conda install clang_win-64 msvc-headers-libs winsdk +conda install clang_win-64 clangxx_win-64 msvc-headers-libs winsdk ``` or with `mamba`: ``` -mamba install clang_win-64 msvc-headers-libs winsdk +mamba install clang_win-64 clangxx_win-64 msvc-headers-libs winsdk ``` It is possible to list all of the versions of `clang_win-64` available on your platform with `conda`: diff --git a/recipe/activate-clang_win-64.bat b/recipe/activate-clang_win-64.bat index 3096fa6..5318f0e 100644 --- a/recipe/activate-clang_win-64.bat +++ b/recipe/activate-clang_win-64.bat @@ -1,6 +1,5 @@ @echo on -set "CXX=clang++.exe" set "CC=clang.exe" set "NM=llvm-nm.exe" set "LD=lld-link.exe" @@ -12,4 +11,3 @@ set "LD=lld-link.exe" set "CPPFLAGS_USED=-D_CRT_SECURE_NO_WARNINGS -D_MT -D_DLL -nostdlib -Xclang --dependent-lib=msvcrt -fuse-ld=lld -fno-aligned-allocation" set "LDFLAGS=-nostdlib -Xclang --dependent-lib=msvcrt -fuse-ld=lld -Wl,-defaultlib:%CONDA_PREFIX%/lib/clang/@MAJOR_VER@/lib/windows/clang_rt.builtins-x86_64.lib" set "CFLAGS=@CFLAGS@ %CPPFLAGS_USED%" -set "CXXFLAGS=@CXXFLAGS@ %CPPFLAGS_USED%" diff --git a/recipe/activate-clang_win-64.sh b/recipe/activate-clang_win-64.sh index f1177d4..b5e0163 100644 --- a/recipe/activate-clang_win-64.sh +++ b/recipe/activate-clang_win-64.sh @@ -118,16 +118,14 @@ LDFLAGS_USED="${LDFLAGS_USED} -Wl,-defaultlib:@PREFIX@/lib/clang/@MAJOR_VER@/lib _tc_activation \ activate host @CHOST@ @CHOST@- \ - as clang clang++ \ + as clang \ "CC,${CC:-@CHOST@-clang}" \ - "CXX,${CXX:-@CHOST@-clang++}" \ "LD,${LD-$(which lld-link)}" \ "AR,${AR-$(which llvm-ar)}" \ "RANLIB,${RANLIB-$(which llvm-ranlib)}" \ "NM,${NM-$(which llvm-nm)}" \ "CPPFLAGS,${CPPFLAGS_USED}" \ "CFLAGS,@CFLAGS@ ${CPPFLAGS_USED}" \ - "CXXFLAGS,@CXXFLAGS@ ${CPPFLAGS_USED}" \ "LDFLAGS,${LDFLAGS_USED}" \ "LIB,${LIB_USED}" \ "INCLUDE,${INCLUDE_USED}" \ diff --git a/recipe/activate-clangxx_win-64.bat b/recipe/activate-clangxx_win-64.bat new file mode 100644 index 0000000..713f3cf --- /dev/null +++ b/recipe/activate-clangxx_win-64.bat @@ -0,0 +1,4 @@ +@echo on + +set "CXX=clang++.exe" +set "CXXFLAGS=@CXXFLAGS@ %CPPFLAGS_USED%" diff --git a/recipe/activate-clangxx_win-64.sh b/recipe/activate-clangxx_win-64.sh new file mode 100644 index 0000000..0bfb44f --- /dev/null +++ b/recipe/activate-clangxx_win-64.sh @@ -0,0 +1,112 @@ +#!/bin/bash + +[ -z "${CI}" ] || export CONDA_BUILD_WINSDK=/tmp/cf-ci-winsdk + +# This function takes no arguments +# It tries to determine the name of this file in a programatic way. +function _get_sourced_filename() { + if [ -n "${BASH_SOURCE[0]}" ]; then + basename "${BASH_SOURCE[0]}" + elif [ -n "${(%):-%x}" ]; then + # in zsh use prompt-style expansion to introspect the same information + # see http://stackoverflow.com/questions/9901210/bash-source0-equivalent-in-zsh + basename "${(%):-%x}" + else + echo "UNKNOWN FILE" + fi +} + +# The arguments to this are: +# 1. activation nature {activate|deactivate} +# 2. toolchain nature {build|host|ccc} +# 3. machine (should match -dumpmachine) +# 4. prefix (including any final -) +# 5+ program (or environment var comma value) +# The format for 5+ is name{,,value}. If value is specified +# then name taken to be an environment variable, otherwise +# it is taken to be a program. In this case, which is used +# to find the full filename during activation. The original +# value is stored in environment variable CONDA_BACKUP_NAME +# For deactivation, the distinction is irrelevant as in all +# cases NAME simply gets reset to CONDA_BACKUP_NAME. It is +# a fatal error if a program is identified but not present. +function _tc_activation() { + local act_nature=$1; shift + local tc_nature=$1; shift + local tc_machine=$1; shift + local tc_prefix=$1; shift + local thing + local newval + local from + local to + local pass + + if [ "${act_nature}" = "activate" ]; then + from="" + to="CONDA_BACKUP_" + else + from="CONDA_BACKUP_" + to="" + fi + + for pass in check apply; do + for thing in $tc_nature,$tc_machine "$@"; do + case "${thing}" in + *,*) + newval=$(echo "${thing}" | sed "s,^[^\,]*\,\(.*\),\1,") + thing=$(echo "${thing}" | sed "s,^\([^\,]*\)\,.*,\1,") + ;; + *) + newval="${CONDA_PREFIX}/bin/${tc_prefix}${thing}" + if [ ! -x "${newval}" -a "${pass}" = "check" ]; then + echo "ERROR: This cross-compiler package contains no program ${newval}" + return 1 + fi + ;; + esac + if [ "${pass}" = "apply" ]; then + thing=$(echo ${thing} | tr 'a-z+-' 'A-ZX_') + eval oldval="\$${from}$thing" + if [ -n "${oldval}" ]; then + eval export "${to}'${thing}'=\"${oldval}\"" + else + eval unset '${to}${thing}' + fi + if [ -n "${newval}" ]; then + eval export "'${from}${thing}=${newval}'" + else + eval unset '${from}${thing}' + fi + fi + done + done + return 0 +} + +if [ "${CONDA_BUILD:-0}" = "1" ]; then + if [ -f /tmp/old-env-$$.txt ]; then + rm -f /tmp/old-env-$$.txt || true + fi + env > /tmp/old-env-$$.txt +fi + +_tc_activation \ + activate host @CHOST@ @CHOST@- \ + clang++ \ + "CXX,${CXX:-@CHOST@-clang++}" \ + "CXXFLAGS,@CXXFLAGS@ ${CPPFLAGS_USED}" \ + +if [ $? -ne 0 ]; then + echo "ERROR: $(_get_sourced_filename) failed, see above for details" +else + if [ "${CONDA_BUILD:-0}" = "1" ]; then + if [ -f /tmp/new-env-$$.txt ]; then + rm -f /tmp/new-env-$$.txt || true + fi + env > /tmp/new-env-$$.txt + + echo "INFO: $(_get_sourced_filename) made the following environmental changes:" + diff -U 0 -rN /tmp/old-env-$$.txt /tmp/new-env-$$.txt | tail -n +4 | grep "^-.*\|^+.*" | grep -v "CONDA_BACKUP_" | sort + rm -f /tmp/old-env-$$.txt /tmp/new-env-$$.txt || true + fi +fi diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index c456ca8..dcd9fc1 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -3,7 +3,7 @@ CLANG_VERSION: - 16.0.6 - 17.0.6 - - 18.1.2 + - 18.1.3 # VS-related things that are zipped together: # match vcver / vsyear / vsver / runtime_version / cl_version from diff --git a/recipe/deactivate-clang_win-64.sh b/recipe/deactivate-clang_win-64.sh index 74083d3..149bf14 100644 --- a/recipe/deactivate-clang_win-64.sh +++ b/recipe/deactivate-clang_win-64.sh @@ -115,16 +115,14 @@ LDFLAGS_USED="${LDFLAGS_USED} -Wl,-defaultlib:@PREFIX@/lib/clang/@MAJOR_VER@/lib _tc_activation \ deactivate host @CHOST@ @CHOST@- \ - as clang clang++ \ + as clang \ "CC,${CC:-@CHOST@-clang}" \ - "CXX,${CXX:-@CHOST@-clang++}" \ "LD,${LD-$(which lld-link)}" \ "AR,${AR-$(which llvm-ar)}" \ "RANLIB,${RANLIB-$(which llvm-ranlib)}" \ "NM,${NM-$(which llvm-nm)}" \ "CPPFLAGS,${CPPFLAGS_USED}" \ "CFLAGS,${CPPFLAGS_USED}" \ - "CXXFLAGS,${CPPFLAGS_USED}" \ "LDFLAGS,${LDFLAGS_USED}" \ "LIB,${LIB_USED}" \ "INCLUDE,${INCLUDE_USED}" \ diff --git a/recipe/deactivate-clangxx_win-64.sh b/recipe/deactivate-clangxx_win-64.sh new file mode 100644 index 0000000..9816415 --- /dev/null +++ b/recipe/deactivate-clangxx_win-64.sh @@ -0,0 +1,112 @@ +#!/bin/bash + +[ -z "${CI}" ] || export CONDA_BUILD_WINSDK=/tmp/cf-ci-winsdk + +# This function takes no arguments +# It tries to determine the name of this file in a programatic way. +function _get_sourced_filename() { + if [ -n "${BASH_SOURCE[0]}" ]; then + basename "${BASH_SOURCE[0]}" + elif [ -n "${(%):-%x}" ]; then + # in zsh use prompt-style expansion to introspect the same information + # see http://stackoverflow.com/questions/9901210/bash-source0-equivalent-in-zsh + basename "${(%):-%x}" + else + echo "UNKNOWN FILE" + fi +} + +# The arguments to this are: +# 1. activation nature {activate|deactivate} +# 2. toolchain nature {build|host|ccc} +# 3. machine (should match -dumpmachine) +# 4. prefix (including any final -) +# 5+ program (or environment var comma value) +# The format for 5+ is name{,,value}. If value is specified +# then name taken to be an environment variable, otherwise +# it is taken to be a program. In this case, which is used +# to find the full filename during activation. The original +# value is stored in environment variable CONDA_BACKUP_NAME +# For deactivation, the distinction is irrelevant as in all +# cases NAME simply gets reset to CONDA_BACKUP_NAME. It is +# a fatal error if a program is identified but not present. +function _tc_activation() { + local act_nature=$1; shift + local tc_nature=$1; shift + local tc_machine=$1; shift + local tc_prefix=$1; shift + local thing + local newval + local from + local to + local pass + + if [ "${act_nature}" = "activate" ]; then + from="" + to="CONDA_BACKUP_" + else + from="CONDA_BACKUP_" + to="" + fi + + for pass in check apply; do + for thing in $tc_nature,$tc_machine "$@"; do + case "${thing}" in + *,*) + newval=$(echo "${thing}" | sed "s,^[^\,]*\,\(.*\),\1,") + thing=$(echo "${thing}" | sed "s,^\([^\,]*\)\,.*,\1,") + ;; + *) + newval="${CONDA_PREFIX}/bin/${tc_prefix}${thing}" + if [ ! -x "${newval}" -a "${pass}" = "check" ]; then + echo "ERROR: This cross-compiler package contains no program ${newval}" + return 1 + fi + ;; + esac + if [ "${pass}" = "apply" ]; then + thing=$(echo ${thing} | tr 'a-z+-' 'A-ZX_') + eval oldval="\$${from}$thing" + if [ -n "${oldval}" ]; then + eval export "${to}'${thing}'=\"${oldval}\"" + else + eval unset '${to}${thing}' + fi + if [ -n "${newval}" ]; then + eval export "'${from}${thing}=${newval}'" + else + eval unset '${from}${thing}' + fi + fi + done + done + return 0 +} + +if [ "${CONDA_BUILD:-0}" = "1" ]; then + if [ -f /tmp/old-env-$$.txt ]; then + rm -f /tmp/old-env-$$.txt || true + fi + env > /tmp/old-env-$$.txt +fi + +_tc_activation \ + deactivate host @CHOST@ @CHOST@- \ + clang++ \ + "CXX,${CXX:-@CHOST@-clang++}" \ + "CXXFLAGS,${CPPFLAGS_USED}" \ + +if [ $? -ne 0 ]; then + echo "ERROR: $(_get_sourced_filename) failed, see above for details" +else + if [ "${CONDA_BUILD:-0}" = "1" ]; then + if [ -f /tmp/new-env-$$.txt ]; then + rm -f /tmp/new-env-$$.txt || true + fi + env > /tmp/new-env-$$.txt + + echo "INFO: $(_get_sourced_filename) made the following environmental changes:" + diff -U 0 -rN /tmp/old-env-$$.txt /tmp/new-env-$$.txt | tail -n +4 | grep "^-.*\|^+.*" | grep -v "CONDA_BACKUP_" | sort + rm -f /tmp/old-env-$$.txt /tmp/new-env-$$.txt || true + fi +fi diff --git a/recipe/install-pkg.bat b/recipe/install-pkg.bat index 48d38f1..8c91d1a 100644 --- a/recipe/install-pkg.bat +++ b/recipe/install-pkg.bat @@ -5,20 +5,26 @@ for /f "tokens=1 delims=." %%i in ("%PKG_VERSION%") do ( set "MAJOR_VER=%%i" ) -rem We need the additional z in the activation name to have the activation call -rem run after the vs2017 activation. See https://github.com/conda/conda/pull/7176 -rem for conda's ordering implementation. -copy "%RECIPE_DIR%\activate-clang_win-64.bat" "%PREFIX%\etc\conda\activate.d\vs%VSYEAR%_z-clang_win-64.bat" -if errorlevel 1 exit /B 1 pushd "%PREFIX%\etc\conda\activate.d" -sed -i 's/@CFLAGS@/%FINAL_CFLAGS%/g' vs%VSYEAR%_z-clang_win-64.bat -if errorlevel 1 exit /B 1 -sed -i 's/@CXXFLAGS@/%FINAL_CXXFLAGS%/g' vs%VSYEAR%_z-clang_win-64.bat -if errorlevel 1 exit /B 1 -sed -i 's/@YEAR@/%VSYEAR%/g' vs%VSYEAR%_z-clang_win-64.bat -if errorlevel 1 exit /B 1 -sed -i 's/@VER@/%VSVER%/g' vs%VSYEAR%_z-clang_win-64.bat -if errorlevel 1 exit /B 1 -sed -i 's/@MAJOR_VER@/%MAJOR_VER%/g' vs%VSYEAR%_z-clang_win-64.bat -if errorlevel 1 exit /B 1 +if [%PKG_NAME%] == [clang_win-64] ( + REM We need the additional "y" in the activation name to have the activation call + REM run after the vs20XX activation, which is named vs2019_compiler_vars.bat; see + REM https://github.com/conda/conda/pull/7176 for conda's ordering implementation. + copy "%RECIPE_DIR%\activate-clang_win-64.bat" ".\vs%VSYEAR%_y-clang_win-64.bat" + if %ERRORLEVEL% neq 0 exit 1 + sed -i 's/@CFLAGS@/%FINAL_CFLAGS%/g' vs%VSYEAR%_y-clang_win-64.bat + if %ERRORLEVEL% neq 0 exit 1 + sed -i 's/@MAJOR_VER@/%MAJOR_VER%/g' vs%VSYEAR%_y-clang_win-64.bat + if %ERRORLEVEL% neq 0 exit 1 +) else if [%PKG_NAME%] == [clangxx_win-64] ( + REM Similarly, we need clangxx activation after clang (so add "z" after "y"), + REM to ensure that we have CPPFLAGS_USED available + copy "%RECIPE_DIR%\activate-clangxx_win-64.bat" ".\vs%VSYEAR%_z-clangxx_win-64.bat" + if %ERRORLEVEL% neq 0 exit 1 + sed -i 's/@CXXFLAGS@/%FINAL_CXXFLAGS%/g' vs%VSYEAR%_z-clangxx_win-64.bat + if %ERRORLEVEL% neq 0 exit 1 +) else ( + REM shouldn't happen + exit 1 +) popd diff --git a/recipe/install-pkg.sh b/recipe/install-pkg.sh index c9e4fe2..bd0d082 100644 --- a/recipe/install-pkg.sh +++ b/recipe/install-pkg.sh @@ -65,7 +65,13 @@ do sed -i.bak "s|@WINSDK_VERSION@|$WINSDK_VERSION|g" ${CHANGE}-${PKG_NAME}.sh # cannot have linebreaks in variable COMPONENT_URLS, better to insert them here (+ indent) sed -i.bak "s,@COMPONENT_URLS@,${COMPONENT_URLS// /\\n },g" ${CHANGE}-${PKG_NAME}.sh - cp ${CHANGE}-${PKG_NAME}.sh ${PREFIX}/etc/conda/${CHANGE}.d/${CHANGE}-${PKG_NAME}.sh + if [[ "${PKG_NAME}" == "clangxx_win-64" ]]; then + # ensure clangxx activation happens after clang by ordering the filename + # alphabetically afterwards (clang={{ VCVER }} + - vc{{ vc_major }}_runtime >={{ RUNTIME_VERSION }} + # Need ucrt for windows<10 and when the VC runtime does not bundle it + - ucrt >=10.0.20348.0 + requirements: + build: + - m2-sed # [win] + - sed # [unix] + host: + # Needed to create the symlinks + - clangxx {{ CLANG_VERSION }} + - llvm-tools {{ CLANG_VERSION }} + run: + - {{ pin_subpackage("clang_win-64", exact=True) }} + - clangxx {{ CLANG_VERSION }} + - clangxx_impl_{{ target_platform }} # [osx] + - gxx_impl_{{ target_platform }} # [linux] + test: + files: + - test.cpp + - run_test_clangxx.sh # [not win] + - run_test_clangxx.bat # [win] + commands: + - run_test_clangxx.bat # [win] + - bash run_test_clangxx.sh # [not win] + about: home: https://github.com/conda-forge/clang-win-activation-feedstock license: BSD-3-Clause diff --git a/recipe/run_test_clang.bat b/recipe/run_test_clang.bat index fbae166..c664591 100644 --- a/recipe/run_test_clang.bat +++ b/recipe/run_test_clang.bat @@ -1,10 +1,6 @@ @echo on %CC% %CFLAGS% test.c %LDFLAGS% -v -if errorlevel 1 exit /B 1 +if %ERRORLEVEL% neq 0 exit 1 a.exe -if errorlevel 1 exit /B 1 -%CXX% %CFLAGS% test.cpp %LDFLAGS% -v -if errorlevel 1 exit /B 1 -a.exe -if errorlevel 1 exit /B 1 +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/run_test_clang.sh b/recipe/run_test_clang.sh index 93abeb0..5e19391 100644 --- a/recipe/run_test_clang.sh +++ b/recipe/run_test_clang.sh @@ -5,4 +5,3 @@ echo "CONDA_BUILD_WINSDK: $CONDA_BUILD_WINSDK" echo "CI: $CI" $CC $CFLAGS test.c $LDFLAGS -v test -f a.exe -$CXX $CXXFLAGS test.cpp $LDFLAGS -v diff --git a/recipe/run_test_clangxx.bat b/recipe/run_test_clangxx.bat new file mode 100644 index 0000000..d9c52ac --- /dev/null +++ b/recipe/run_test_clangxx.bat @@ -0,0 +1,6 @@ +@echo on + +%CXX% %CFLAGS% test.cpp %LDFLAGS% -v +if %ERRORLEVEL% neq 0 exit 1 +a.exe +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/run_test_clangxx.sh b/recipe/run_test_clangxx.sh new file mode 100644 index 0000000..c77d7b4 --- /dev/null +++ b/recipe/run_test_clangxx.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +echo "CONDA_BUILD_WINSDK: $CONDA_BUILD_WINSDK" +echo "CI: $CI" +$CXX $CXXFLAGS test.cpp $LDFLAGS -v +test -f a.exe