Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 4 additions & 3 deletions README.md

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

67 changes: 50 additions & 17 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,9 @@ source:
- patches/0004-Work-around-stray-nostdlib-flags-causing-errors-with.patch

build:
number: 4
number: 5
skip: true # [win]
skip: true # [ppc64le or aarch64]
ignore_run_exports_from:
# we want to ignore libstdcxx, but not libgcc; the latter also comes in through
# compiler('c'), and conda keeps that despite ignoring the cxx run-exports
- {{ compiler('cxx') }}
missing_dso_whitelist:
- /usr/lib/libc++abi.dylib

# use selectors here so smithy breaks up CI jobs
# [sys_abi]
Expand All @@ -49,7 +43,7 @@ requirements:
- llvmdev {{ version }} # [not osx]

outputs:
- name: libcxx
- name: libcxx-devel
build:
string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [hardening == "none"]
string: debug_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [hardening == "debug"]
Expand All @@ -58,22 +52,18 @@ outputs:
- libcxx =*=debug* # [hardening == "debug"]
files:
- include/c++ # [unix]
- lib/libc++.* # [unix]
- lib/libc++.a # [unix]
- lib/libc++experimental.* # [unix]
- Library/include/c++ # [win]
- Library/bin/c++*.dll # [win]
- Library/lib/c++*.lib # [win]
- Library/lib/libc++*.lib # [win]
requirements:
build:
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
host:
- {{ pin_subpackage("libcxx", exact=True) }}
run:
- {{ pin_subpackage("libcxxabi", exact=True) }} # [linux]
- {{ pin_subpackage("libcxx", exact=True) }}
run_constrained:
- __osx <12 # [osx and (sys_abi == "pre-12")]
- sysroot_{{ target_platform }} >={{ c_stdlib_version }} # [linux]
- __osx <12 # [osx and (sys_abi == "pre-12")]

# package for old sys_abi is not installable on macOS-12 image anymore
{% if sys_abi != "pre-12" %}
Expand Down Expand Up @@ -112,16 +102,56 @@ outputs:
downstreams: # [osx]
- python-symengine # [osx]
- openturns # [osx]
# disabled until libcxx-testing depends on `libcxx-devel`
{% if False %}
# test current libcxx against old clang builds;
# version correspondence is 0.{{ CLANG_MAJOR }}
# these tests are unusual in that they use -Wl,-rpath, but not -L.
# we'd need the pre-12 system libcxx, but azure deleted the macOS-11 image
- libcxx-testing 0.18 # [osx]
- libcxx-testing 0.17 # [osx]
- libcxx-testing 0.16 # [osx]
- libcxx-testing 0.15 # [osx]
{% endif %}
{% endif %}

- name: libcxx
build:
string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [hardening == "none"]
string: debug_h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [hardening == "debug"]
run_exports: # [hardening == "debug"]
# packages built with hardened lib must not be installable without extra label
- libcxx =*=debug* # [hardening == "debug"]
ignore_run_exports_from:
# we want to ignore libstdcxx, but not libgcc; the latter also comes in through
# compiler('c'), and conda keeps that despite ignoring the cxx run-exports
- {{ compiler('cxx') }}
files:
- lib/libc++.so # [linux]
- lib/libc++.so.* # [linux]
- lib/libc++.dylib # [osx]
- lib/libc++.*.dylib # [osx]
- Library/bin/c++*.dll # [win]
requirements:
build:
- {{ stdlib('c') }}
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
- {{ pin_subpackage("libcxxabi", exact=True) }} # [linux]
run:
- {{ pin_subpackage("libcxxabi", exact=True) }} # [linux]
run_constrained:
- sysroot_{{ target_platform }} >={{ c_stdlib_version }} # [linux]
test:
commands:
# presence of shared libraries
- test -f $PREFIX/lib/libc++.so # [linux]
- test -f $PREFIX/lib/libc++.dylib # [osx]
# absence of static libs & headers
- test ! -f $PREFIX/lib/libc++.a # [unix]
- test ! -f $PREFIX/lib/libc++experimental.a # [unix]
- test ! -d $PREFIX/include/c++ # [unix]

- name: libcxxabi
build:
skip: true # [not linux]
Expand All @@ -134,6 +164,9 @@ outputs:
build:
# for run-exports
- {{ stdlib('c') }}
- {{ compiler('c') }}
run_constrained:
- libcxx {{ version }}.*
test:
commands:
- test -f $PREFIX/lib/libc++abi.so # [linux]
Expand Down