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

stdenv/darwin: assemble full clang toolchain #94427

Closed

Commits on Sep 18, 2020

  1. stdenv/darwin: assemble full clang toolchain

    Adapted from main expression for clang 7.
    thefloweringash committed Sep 18, 2020
    Configuration menu
    Copy the full SHA
    25c16f3 View commit details
    Browse the repository at this point in the history
  2. darwin/stdenv: refactoring

    Build the llvm support libraries (libcxx, libcxxabi) from scratch
    without using the existing llvm libraries. This is the same spirit and
    similar implementation as the "useLLVM" bootstrap in llvm package
    sets. Critically it avoids having libcxxabi provided by the cc-wrapper
    when building libcxx, which otherwise results in two libcxxabi
    instances.
    
    $ otool -L /nix/store/vd4vvgs9xngqbjzpg3qc41wl6jh42s9i-libc++-7.1.0/lib/libc++.dylib
    /nix/store/vd4vvgs9xngqbjzpg3qc41wl6jh42s9i-libc++-7.1.0/lib/libc++.dylib:
            /nix/store/vd4vvgs9xngqbjzpg3qc41wl6jh42s9i-libc++-7.1.0/lib/libc++.1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
            /nix/store/gmpwk5fyp3iasppqrrdpswxvid6kcp8r-libc++abi-7.1.0/lib/libc++abi.dylib (compatibility version 1.0.0, current version 1.0.0)
            /nix/store/3hn7azynqgp2pm5gpdg45gpq0ia72skg-libc++abi-7.1.0/lib/libc++abi.dylib (compatibility version 1.0.0, current version 1.0.0)
            /nix/store/1nq94scbxs6bk7pimqhvz76q6cfmbv97-Libsystem-osx-10.12.6/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
    
    Additionally move some utilities (clang, binutils, coreutils, gnugrep)
    to the stage layers so they can be replaced before the final
    stdenv. This should cause most of stage4 to be built from the
    toolchain assembled as of stage3 instead of the bootstrap toolchain.
    thefloweringash committed Sep 18, 2020
    Configuration menu
    Copy the full SHA
    1aa04ca View commit details
    Browse the repository at this point in the history