about summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/13
AgeCommit message (Collapse)AuthorFilesLines
2023-01-24llvmPackages: use libcxxrt on FreeBSDAlyssa Ross3-6/+14
FreeBSD doesn't use LLVM's cxxabi implementation, for backwards compatibility reasons. Software expects the libcxxrt API when building on FreeBSD. This fixes the build of pkgsCross.x86_64-freebsd.boost.
2023-01-24llvmPackages: don't exclude FreeBSD from -lunwindAlyssa Ross1-1/+1
The exception for FreeBSD was added in 0afe9d1f704 ("freebsd packages: Init at 13.1"), but it seems to have been erroneous, as e.g. ncurses fails to build: x86_64-unknown-freebsd13-clang++ -o demo ../obj_s/demo.o -L../lib -lncurses++w -L../lib -lformw -lmenuw -lpanelw -lncursesw -lutil -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -DNDEBUG -O2 -fPIC -DPIC x86_64-unknown-freebsd13-ld: error: undefined symbol: _Unwind_Resume >>> referenced by demo.cc >>> ../obj_s/demo.o:(TestApplication::run()) >>> referenced by demo.cc >>> ../obj_s/demo.o:(_GLOBAL__sub_I_demo.cc) >>> referenced by demo.cc >>> ../obj_s/demo.o:(NCursesUserItem<UserData>::NCursesUserItem(char const*, char const*, UserData const*)) >>> referenced 46 more times clang-12: error: linker command failed with exit code 1 (use -v to see invocation) This is fixed by undoing the change, adding -lunwind on FreeBSD.
2023-01-22lib.teams.llvm: createsternenseemann1-1/+1
As a first stop towards getting a bit more organized for #171047, add a maintainer team and add myself and John Ericson as new members. Michael Raskin asked to be removed. A second step could be creating a github team additionally.
2023-01-21treewide: switch to nativeCheckInputsGuillaume Girol1-1/+1
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
2023-01-20bintools: add isGNU and isLLVM attributesAlyssa Ross1-1/+6
2023-01-18llvmPackages.bintools: remove as -> llvm-as symlinkAlyssa Ross1-1/+0
"llvm-as is an LLVM IR -> LLVM bitcode assembler not a system assembler"[1], and therefore should not be linked as "as". The "as" symlink was removed in 46e5ea5af64 ("llvm*: remove symlinks to llvm-diff, llvm-as and associated LLVM IR utilities."), but that was partially reverted by b331c72f032 ("llvm: setup some symlinks for compatibility with binutils"), which restored a bunch of symlinks that were incorrectly removed, but also incorrectly restored "as". This was pointed out[2] at the time but apparently never fixed. [1]: https://github.com/NixOS/nixpkgs/issues/93523#issue-661663683 [2]: https://github.com/NixOS/nixpkgs/commit/b331c72f032389c7156ff1d30117f91c95bbeedb#commitcomment-40981705
2023-01-18llvmPackages.bintools-unwrapped: add missing symlinksAlyssa Ross1-3/+8
We were missing symlinks for some programs e.g. strings, which caused e.g. pkgsLLVM.x264 to fail to build. Here, I have filled in all the symlinks that LLVM would create if built with the LLVM_INSTALL_BINUTILS_SYMLINKS option. Where an existing symlink's target has changed, it's to avoid a double indirection e.g. strip -> llvm-strip -> llvm-objcopy has because just strip -> llvm-objcopy. There's also the related problem that we are creating a as -> llvm-as symlink, which doesn't make sense, but I'll remove that in a subsequent commit so that if it somehow breaks something it's easy to revert just that change. Fixes: https://github.com/NixOS/nixpkgs/pull/210983
2022-12-26llvmPackages_13.lldb: enable installCheckPhase, add messagepsondej1-0/+3
2022-12-09llvm: disable libpfm on all non-Linux platformsAlyssa Ross1-4/+3
libpfm is Linux-specific, it should be disabled on e.g. FreeBSD as well as Darwin.
2022-12-04Merge remote-tracking branch 'origin/master' into staging-nextMartin Weinelt1-0/+1
2022-12-04Merge pull request #193004 from ShamrockLee/clang-mainprogramSandro1-0/+1
2022-11-28Merge #201268: libcxx: link correct libcxxabi versionVladimír Čunát2-2/+18
...into staging
2022-11-23Merge staging-next into staginggithub-actions[bot]2-2/+6
2022-11-22llvm: Find otool bin from targetPrefixJosh Channings2-4/+4
This is to fix the stdenvBootstrapTools issue where otool & others are not available in PATH, but only under the targetPrefix.
2022-11-22Merge pull request #197674 from squalus/openmp-crossArtturi2-2/+6
openmp: fix cross compile
2022-11-22libcxxabi: Skip dylib fixups for version symlinksJosh Channings1-0/+2
Apart from being a no-op, this seems to cause the install to make a copy, rather than keeping the symlinks intact.
2022-11-22libcxx: Link libc++.dylib to matching libc++abi.dylibJosh Channings1-0/+14
Same adjustment as made for libc++abi in #185766, for the same reason: the unamended dylib links to the libc++abi in the build stdenv, which is the wrong version. Tested on Darwin with LLVM 14 stdenv, but the phase is added to all versions, including 11 - so this will cause a mass rebuild. See: https://github.com/NixOS/nixpkgs/pull/185766
2022-11-15Merge pull request #199844 from vincentbernat/fix/git-clang-format7c6f434c1-0/+1
llvmpackages: patch shebangs for python subpackages
2022-11-13Merge pull request #82131 from Ericson2314/bsd-crossJohn Ericson3-3/+7
FreeBSD packages: Init at 13.1
2022-11-08clang-unwrapped: mv {$out,$python}/share/scan-view/*.pyShamrock Lee1-1/+2
This fixes "${clang-unwrapped.python}/bin/scan-view" by providing the relative dependency "${clang-unwrapped.python}/share/scan-view/ScanView.py"
2022-11-06llvmpackages: patch shebangs for python subpackagesVincent Bernat1-0/+1
Notably, "git-clang-format" fails with: /usr/bin/env: ‘python’: No such file or directory
2022-11-04freebsd packages: Init at 13.1John Ericson3-3/+7
Always set `SRCTOP`, set it with abs path llvmPackages: Bump minimum version for FreeBSD llvmPackages_*, libgcc, compiler_rt: Hack in enough libs that one can compiler C freebsd.compat: Rename some things to work around cc-wrapper change 0bea4a194f7103fcedc0226a74e50657875a7c4d / #191724 in particular
2022-10-24openmp: fix cross compilesqualus2-2/+6
2022-10-20stdenvBootstrapTools: fix cycle on aarch64-darwinStéphan Kochen1-1/+1
2022-10-11Merge staging-next into staginggithub-actions[bot]2-2/+29
2022-10-09llvmPackages_13.compiler-rt: fix build with libxcryptMartin Weinelt1-1/+3
2022-10-08llvmPackages_{13,14}.lldb: fix build on x86 macOSRahul Butani2-2/+29
See: https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
2022-10-05Merge pull request #186575 from stephank/fix/compiler-rt-builtins7c6f434c1-7/+8
compiler-rt: build builtins on darwin
2022-10-05Merge pull request #185766 from stephank/fix/libcxxabitoonn1-1/+11
libcxxabi: remove link with build libcxxabi
2022-09-23clang: specify meta.mainProgramShamrock Lee1-0/+1
2022-09-07Merge pull request #188540 from OPNA2608/fix/llvm-parallel-testsBernardo Meurer1-0/+7
llvm*: Fix core usage & remove progress bar in tests
2022-09-03llvm*: Don't show progress bar on testsOPNA26081-1/+7
Since the progress bar results in large output that is broken due to the use of ncurses and we already use the flag that gives verbose output on test failures, let's just disable the progress bar.
2022-09-03llvm*: Fix core usage in testsOPNA26081-0/+1
lit (LLVM Integrated Tester) [0] by default uses as many threads as the build host has cores, ignoring the user's core settings for the build. This passes the configured core count on to lit, along with LLVM's default settings for it which we otherwise override in the process [1]. [0]: https://www.llvm.org/docs/CommandGuide/lit.html [1]: https://github.com/llvm/llvm-project/blob/329fda39c507e8740978d10458451dcdb21563be/llvm/CMakeLists.txt#L559-L565
2022-08-26libcxxabi: remove link with build libcxxabiStéphan Kochen1-1/+11
2022-08-24compiler-rt: build builtins on darwinStéphan Kochen1-7/+8
The missing xcrun meant builtins were missing from darwin. This apparently wasn't an issue until now, but is in projects using `@available` checks. (The ARM64 hack was apparently the previous solution to fixing broken SDK detection.)
2022-08-18llvmPackages*.libunwind: Don't redo install phase from scratchJohn Ericson1-22/+14
I can't think of any good reason it was the way it was before. I think CMake can be made to install the headers too, but this is a fine first step.
2022-08-01compiler-rt: Fix "bare metal" case boolean logicJohn Ericson1-1/+1
It is possible to both be bare metal and have a libc (newlib). This libc doesn't provide very much --- not enough for CMake to think the C toolchain works. We therefore adjust our logic so we hit the "bare metal" case with or without libc. The "use LLVM" bootstrap is intentionally not affected.
2022-07-05Revert "llvmPackages: do not include static archives when shared…"sternenseemann1-6/+0
Reverts #162607 / 1748887ff2353a16806a46dc27fb603981a047d5. Reason for revert: This change caused llvm-config{,-native} to be unable to find static archives bundled with LLVM, as has been [reported]. Ever since #152944 using moveToOutput in LLVM is _evil_ because llvm-config obtains it knowledge about the installation locations from the CMake configure step. Consequently a change like #162607 will need to be implemented by making LLVM itself install the static archives to the correct location or by adding yet another patch which updates llvm-config's knowledge of the location. The latter is not desireable in my opinion, though, since it is just asking for this sort of trouble: Before #152944 we had an outputs.patch that did this sort of things which broke spectacularly in edge cases. Fixes #148117. [reported]: https://github.com/NixOS/nixpkgs/issues/148117#issuecomment-1158245576
2022-06-06llvm_13: disable tools/gold/X86/split-dwarf.ll test on armv7lmisuzu1-0/+1
2022-05-30treewide: pkgs/development/compilers: mark broken for darwinRick van Schijndel1-0/+2
2022-04-08Merge pull request #162607 from waldheinz/libllvm-drop-staticLassulus1-0/+6
llvmPackages/libllvm: do not include static archives when shared is r…
2022-03-27Clarify that lld package provides unwrapped lldAleksey Kladov1-1/+1
lld package provides an unwrapped lld. It doesn't always work on NixOS (eg, it doesn't set rpath), and so dosen't always work. What one should be using instead is the `lld` from `llvmPackages.bintools` package. This super counterintutive. One incremental step we can take here is to clarify that the `lld` package is unrwapped -- right now, it looks like 100% legit thing one should be using!
2022-03-04llvmPackages/libllvm: move static archives to dev outputMatthias Treydte1-0/+6
Reduces closure size by ~240MiB (down to ~100MiB) for LLVM 13, the others are similar. Having those archives in the lib output makes no sense as they are no runtime dependencies. Removing them alltogether is also not an option because the dynamic libraries offer only the C API while many users of libllvm require the C++ API. Those users must have an dependency on libllvm.dev anyway and will find those files for linking.
2022-02-22Merge #158113: llvmPackages_13: 13.0.0 -> 13.0.1Vladimír Čunát1-2/+2
...into staging
2022-02-14llvmPackages_13.clang: add nostdlibinc flagJyun-Yan You2-4/+19
This patch adds nostdlibinc flag after parsing arguments instead of sed substitution. Fix #151879
2022-02-04llvmPackages_13: 13.0.0 -> 13.0.1Cheng Shao1-2/+2
2022-01-29Merge pull request #155462 from veprbl/pr/libcxx_12_no_apple_availabilityDmitry Kalinkin1-6/+0
llvmPackages_{12,13,git}: don't try to patch non-existing _LIBCPP_USE_AVAILABILITY_APPLE
2022-01-18llvmPackages_{12,13,git}: don't try to patch non-existing ↵Dmitry Kalinkin1-6/+0
_LIBCPP_USE_AVAILABILITY_APPLE substituteStream(): WARNING: pattern '# define _LIBCPP_USE_AVAILABILITY_APPLE' doesn't match anything in file 'include/__config' The new mechanism for those is a cmake option LIBCXX_ENABLE_VENDOR_AVAILABILITY_ANNOTATIONS that is off by default: https://reviews.llvm.org/D90843
2022-01-08Merge pull request #153790 from sternenseemann/cross-bootstrap-logicJohn Ericson1-1/+5
Cross bootstrapping logic fixes benefitting llvmPackages
2022-01-07llvmPackages_*.clang: pick clangUseLLVM if targetPlatform.useLLVMsternenseemann1-2/+2
libcxxClang still depends on cc wrapper's gccForLibs for libgcc which is not available when useLLVM is set. In such cases we need to switch to clangUseLLVM and (try) to use compiler-rt instead. Resolves #153759: pkgsLLVM.llvmPackages.stdenv now correctly clangUseLLVM as cc, allowing compilation to work as expected.