Skip to content

Commit

Permalink
Merge pull request #131 from h-vetinari/17
Browse files Browse the repository at this point in the history
libcxx 17.0.6
  • Loading branch information
h-vetinari authored May 6, 2024
2 parents fa1d837 + 35b0baf commit 83f6f06
Show file tree
Hide file tree
Showing 21 changed files with 198 additions and 188 deletions.
4 changes: 4 additions & 0 deletions .azure-pipelines/azure-pipelines-linux.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .azure-pipelines/azure-pipelines-osx.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .ci_support/linux_64_.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
c_stdlib:
- sysroot
c_stdlib_version:
- '2.17'
cdt_name:
- cos6
channel_sources:
Expand All @@ -12,3 +16,6 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
target_platform:
- linux-64
zip_keys:
- - c_stdlib_version
- cdt_name
10 changes: 6 additions & 4 deletions .ci_support/osx_64_.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
MACOSX_DEPLOYMENT_TARGET:
- '10.9'
- '10.13'
MACOSX_SDK_VERSION:
- '10.14'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
- '10.13'
channel_sources:
- conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
- clang_bootstrap
cxx_compiler_version:
- '15'
- '16'
dummy_var:
- '0'
macos_machine:
- x86_64-apple-darwin13.4.0
openturns:
- '1.20'
target_platform:
- osx-64
8 changes: 5 additions & 3 deletions .ci_support/osx_arm64_.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
MACOSX_DEPLOYMENT_TARGET:
- '11.0'
c_stdlib:
- macosx_deployment_target
c_stdlib_version:
- '11.0'
channel_sources:
- conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
- clang_bootstrap
cxx_compiler_version:
- '15'
- '16'
dummy_var:
- '1'
macos_machine:
- arm64-apple-darwin20.0.0
openturns:
- '1.20'
target_platform:
- osx-arm64
25 changes: 23 additions & 2 deletions .gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 9 additions & 7 deletions .scripts/build_steps.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .scripts/logging_utils.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .scripts/run_docker_build.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 13 additions & 6 deletions .scripts/run_osx_build.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions build-locally.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions conda-forge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ bot:
abi_migration_branches:
- 15.x
- 14.x
provider: {linux_aarch64: default, linux_ppc64le: default}
travis:
osx_image: xcode6.4
conda_forge_output_validation: true
build_platform:
osx_arm64: osx_64
conda_build:
pkg_format: '2'
conda_forge_output_validation: true
channel_priority: flexible
github:
branch_name: main
tooling_branch_name: main
conda_build:
pkg_format: '2'
provider:
linux_aarch64: default
linux_ppc64le: default
test: native_and_emulated
9 changes: 7 additions & 2 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,13 @@ c_compiler_version: # [linux]
cxx_compiler_version: # [linux]
- 12 # [linux]

MACOSX_SDK_VERSION: # [osx and x86_64]
- 10.14 # [osx and x86_64]
c_stdlib_version: # [linux or (osx and x86_64)]
# actually would need >=2.24, but we don't have that in conda-forge yet
- "2.17" # [linux]
- "10.13" # [osx and x86_64]

MACOSX_SDK_VERSION: # [osx and x86_64]
- "10.14" # [osx and x86_64]

dummy_var: # [osx]
- 0 # [osx and x86_64]
Expand Down
28 changes: 17 additions & 11 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
{% set version = "16.0.6" %}
{% set version = "17.0.6" %}

package:
name: libcxx_and_libcxxabi
version: {{ version }}

source:
- url: https://github.com/llvm/llvm-project/releases/download/llvmorg-{{ version.replace(".rc", "-rc") }}/llvm-project-{{ version.replace(".rc", "rc") }}.src.tar.xz
sha256: ce5e71081d17ce9e86d7cbcfa28c4b04b9300f8fb7e78422b1feb6bc52c3028e
sha256: 58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813
patches:
- patches/0001-libcxxabi-10.9-compatibility.patch # [osx and x86_64]
- patches/0002-Support-legacy-standalone-builds.patch
- patches/0001-Support-legacy-standalone-builds.patch
# See https://lists.llvm.org/pipermail/libcxx-dev/2021-July/001172.html
- patches/0003-Fix-ABI-compatibility-with-system.patch
- patches/0004-custom-error-message-for-old-sdk.patch
- patches/0002-Fix-ABI-compatibility-with-system.patch
- patches/0003-custom-error-message-for-old-sdk.patch
# upstream removed fallbacks in case the underlying libc didn't support C11 in
# https://github.com/llvm/llvm-project/commit/21f73d5826fb5024a27eaacafadfa316f58949c5;
# however, it seems that the then-required using_if_exists does not work as desired yet
- patches/0005-Revert-libc-Remove-workaround-for-C11-features-on-co.patch
# using new libcxx with old clang versions (beyond what upstream supports) relies on
# having these fallbacks in place. Drop if conflict-resolution becomes too messy.
- patches/0004-Revert-libc-Remove-workaround-for-C11-features-on-co.patch

build:
number: 0
Expand All @@ -32,6 +32,7 @@ requirements:
- cmake
- ninja
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
- python >3 # [not osx]
host:
- clangdev {{ version }} # [not osx]
Expand All @@ -51,9 +52,12 @@ outputs:
requirements:
build:
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
host:
run:
- {{ pin_subpackage("libcxxabi", exact=True) }} # [linux]
run_constrained:
- sysroot_{{ target_platform }} >={{ c_stdlib_version }} # [linux]
test:
requires:
- clang # [osx]
Expand All @@ -74,10 +78,10 @@ outputs:
- bash compile_test.sh # [unix]
- compile_test.bat # [win]
# make sure we inserted link to our docs wherever it is necessary;
# i.e. everywhere there's a string "availability(macos,...,introduced=<ver>)" for osx version >10.9;
# i.e. everywhere there's a string "availability(macos,...,introduced=<ver>)" for osx version >10.13;
# 'grep -v' inverts the match but returns non-zero exit code if no lines are returned; so we use 'wc -l';
# we want to have zero lines that don't either: contain the link or are for 10.9
- if [ 0 -eq $(cat ${PREFIX}/include/c++/v1/__availability | grep "availability(macos" | grep -vE "(conda-forge|10.9)" | wc -l) ]; then exit 0; else exit 1; fi # [osx]
# we want to have zero lines that don't either: contain our link or are for <=10.13 (lowest occurring in that file is 10.9)
- if [ 0 -eq $(cat ${PREFIX}/include/c++/v1/__availability | grep "availability(macos" | grep -vE "(conda-forge|10.9|10.1[0-3])" | wc -l) ]; then exit 0; else exit 1; fi # [osx]
# !!!!!!!!!!!! README !!!!!!!!!!!!!!!!!!
# we do not ship libcxxabi on OSX - this breaks exception passing
- if [ -f $PREFIX/lib/libc++abi.dylib ]; then exit 1; fi # [osx]
Expand All @@ -90,6 +94,8 @@ outputs:
- openturns # [osx]
# test current libcxx against old clang builds;
# version correspondence is 0.{{ CLANG_MAJOR }}
- libcxx-testing 0.18 # [osx]
- libcxx-testing 0.17 # [osx]
- libcxx-testing 0.16 # [osx]
- libcxx-testing 0.15 # [osx]
- libcxx-testing 0.14 # [osx]
Expand Down
Loading

0 comments on commit 83f6f06

Please sign in to comment.