Skip to content

When building Swift toolchain with libcxx, libcxxabi should also be installed #80112

Open
@Naville

Description

@Naville

Description

Ref:

INSTALL_TARGETS=install-cxx-headers

There are four install components:

  • install-libcxx
  • install-libcxx-headers
  • install-libcxxabi
  • install-libcxxabi-headers

From my understanding here is the "official" Swift Toolchain on Darwin doesn't provide any libcxx stuff, presumably they're compiled with build-toolchain-only ?

However in our downstream, we patch llvm-install-components in the preset to inject the full suite of LLVM tools like llvm-lto that we need in our customer's build pipeline.
In this case, build-toolchain-only is not a viable option since it seems it skips the target generation of llvm tools completely. But if we build "normally" with the fullchain suite, yes, libcxx is installed, but not libcxxabi (headers), this results in (rare) projects that actually uses libcxxabi.h unable to build with this toolchain

Reproduction

Build the full swift toolchain, we use our own preset based on:

[preset: Base]
mixin-preset=
    buildbot_osx_package,no_assertions
    mixin_buildbot_osx_package,no_test

Expected behavior

Both libcxx and libcxxabi are installed

Environment

This was found on a local build Swift 5.9.2, but it seems relevant issues still persist in ToT

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.triage neededThis issue needs more specific labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions