Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libcxx 17.0.6 #131

Merged
merged 29 commits into from
May 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
f53c65c
Merge remote-tracking branch 'upstream/main' into rc
h-vetinari Jul 21, 2023
501a3a2
Revert "remove rc-channels"
h-vetinari Jul 21, 2023
2d8b590
build from upstream main branch
h-vetinari Jul 21, 2023
aa535c3
require MacOS >=10.13
h-vetinari Jul 21, 2023
d120f1f
depend on glibc 2.17
h-vetinari Jul 21, 2023
b3ff0a4
rebase patches
h-vetinari Jul 21, 2023
ead0467
MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.24.0, and co…
h-vetinari Jul 21, 2023
d45216b
update test for patch to __availability
h-vetinari Jul 30, 2023
1778fc8
libcxx 17.0.0.rc1
h-vetinari Jul 30, 2023
e1219de
ensure we don't use old sysroot at runtime
h-vetinari Jul 30, 2023
58271df
Merge pull request #126 from h-vetinari/rc
h-vetinari Jul 31, 2023
dd01f86
retrigger CI
h-vetinari Jul 31, 2023
55e686b
strengthen constraint on `__osx` to run-requirement
h-vetinari Aug 10, 2023
f6d29c7
libcxx 17.0.0.rc2
h-vetinari Aug 11, 2023
da61de3
libcxx 17.0.0.rc2 (#128)
github-actions[bot] Aug 11, 2023
98a3cbb
Merge remote-tracking branch 'up/main' into rc
h-vetinari Aug 12, 2023
3553890
reinstate revert that adds pre-C11 fallbacks for old clangs
h-vetinari Aug 12, 2023
a2b9e44
libcxx 17.0.0.rc3
h-vetinari Aug 23, 2023
6884af9
rc3, forward port testing improvements, rebase pre-C11 fallbacks (#129)
github-actions[bot] Aug 23, 2023
7bc4b08
Merge remote-tracking branch 'upstream/main' into 17
h-vetinari Apr 21, 2024
8843e25
remove rc-channel sources & targets
h-vetinari Sep 26, 2023
de76323
remove obsolete travis configuration
h-vetinari Sep 26, 2023
d3f9842
alphabetize keys in conda-forge.yml
h-vetinari Sep 26, 2023
aaf669c
libcxx 17.0.1
h-vetinari Sep 26, 2023
91f0758
updated v17.0.2
regro-cf-autotick-bot Oct 3, 2023
2bf10e9
libcxx 17.0.6
h-vetinari Mar 6, 2024
2db1dfa
do stdlib transformation
h-vetinari Apr 21, 2024
c387396
MNT: Re-rendered with conda-build 24.3.0, conda-smithy 3.34.1, and co…
h-vetinari Apr 21, 2024
35b0baf
add testing against clang 17 & 18
h-vetinari Apr 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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