Commit graph

9649 commits

Author SHA1 Message Date
Andrew Childs 56fcbcd154 llvmPackages_11: darwin cross compilation and bootstrapping 2021-05-17 00:28:05 +09:00
Finn Behrens 417a96c8be sbcl: update to 2.1.2 and add arm64-darwin
(cherry picked from commit 49d2ad093ecd54f40550745f240dda8dbf0ce920)
2021-05-17 00:28:04 +09:00
Andrew Childs c99904e113 clang_11: revert -fno-common default 2021-05-17 00:27:02 +09:00
github-actions[bot] 5c18268a6b
Merge staging-next into staging 2021-05-16 06:22:08 +00:00
github-actions[bot] d6fe7f78a8
Merge master into staging-next 2021-05-16 06:22:05 +00:00
Jörg Thalheim 3280de8b8c
Merge pull request #123125 from lopsided98/rustc-armv5tel
rustc: allowing building for ARMv5
2021-05-16 04:48:16 +01:00
John Ericson 4236fb1c7f
Merge pull request #123103 from sternenseemann/compiler-rt-resources
llvmPackages_{7-12}.compiler-rt: install resource files to DATADIR
2021-05-15 12:06:57 -07:00
github-actions[bot] c10600230e
Merge staging-next into staging 2021-05-15 18:30:31 +00:00
sternenseemann 74f709f62e llvmPackages_{7,8,9}: link ${compiler-rt.out}/share to resource root
This is done for 10-12, but not for the earlier llvm package sets.
2021-05-15 18:35:44 +02:00
sternenseemann 0046076950 llvmPackages_{7-12}.compiler-rt: install resource files to DATADIR
This is in an effort to fix the following build failure shown by
chromium:

    clang++: error: no such file or directory: '/nix/store/fhd89wrmkx6nflzjk0d6waz70bk3zc4i-clang-wrapper-12.0.0/resource-root/share/cfi_blacklist.txt'

As it turns out a change introduced via the gnu-install-dirs.patch
caused `add_compiler_rt_resource_file` to install resource files to
$dev/include (FULL_INCLUDEDIR) instead of $out/share (FULL_DATADIR)
which in turn meant that the clang wrappers we had didn't link those
files to its resource root at all.

Alternative fix to this would have been to link
compiler-rt.dev/include/*.txt to the wrappers resource-root/share as
well, but since this was handled inconsistently across the patch anyways
(the dfsan list is installed correctly), opt to handle this
consistently within the patch.

llvmPackages_{5,6} install the resource files to a completely different
location and need separate investigation.
2021-05-15 18:35:43 +02:00
Ben Wolsieffer 9d6134ae6d rustc: allowing building for ARMv5
toRustTarget needed to handle the armv5tel case
2021-05-15 11:43:51 -04:00
sternenseemann 91cba7b0a9 llvmPackages_{10,11,12}.compiler-rt: install resource txts to $out/share
7869d16545 changed how resource files are
installed. Likely by accident, now some of the resource files are
installed to $dev/include instead of $out/share. This causes the cc
wrapper's resource-root to miss those files from compiler-rt as they are
in a different place than expected.

This commit fixes all instances of this incorrect installation for
llvmPackages_10, 11 and 12 which are the only llvm package sets which
link ${targetLlvmLibraries.compiler-rt.out}/share to the resource-root.

For the other llvm package set this will likely also need to be fixed,
but it doesn't have to have immediate urgency and doing it in two steps
allows us to (hopefully) fix the chromium build without causing a darwin
stdenv rebuild.

The full fix can be found in #123103 and should probably be included in
the next staging-next rotation.
2021-05-15 17:40:24 +02:00
github-actions[bot] 78ae7ac75e
Merge staging-next into staging 2021-05-15 06:22:25 +00:00
Jonathan Ringer 0546e68ef7
Merge remote-tracking branch 'origin/master' into staging-next 2021-05-14 21:57:09 -07:00
John Ericson 7dd53fe56e
Merge pull request #122778 from Ericson2314/choose-linker
treewide: Allow the linker to be chosen independently
2021-05-14 18:53:14 -04:00
John Ericson 93e6a25f50
Merge pull request #123047 from sternenseemann/usellvm-lunwind
llvmPackages_*.lldClang: pass -lunwind if exceptions are enabled
2021-05-14 18:51:34 -04:00
sternenseemann f506019942 llvmPackages_*.lldClang: pass -lunwind if exceptions are enabled
To successfully compile C++ with useLLVM we need an unwinder and
thus to explicitly -lunwind like it has been done for the android
cross targets.
2021-05-15 00:34:50 +02:00
Stéphan Kochen f91dcdd7b5
copper: broken on darwin (#123030) 2021-05-14 17:35:55 -04:00
John Ericson 18c38f8aee treewide: All the linker to be chosen independently
This will begin the process of breaking up the `useLLVM` monolith. That
is good in general, but I hope will be good for NetBSD and Darwin in
particular.

Co-authored-by: sterni <sternenseemann@systemli.org>
2021-05-14 21:29:51 +00:00
Vladimír Čunát 1a7ef60b2f
Merge #122803: llvm*: patch to fix a test on older CPUs 2021-05-14 22:31:23 +02:00
Vladimír Čunát c48eaa70e3
Merge branch 'master' into staging-next 2021-05-14 22:27:34 +02:00
John Ericson 49d2653653
Merge pull request #122974 from sternenseemann/lldClang-no-double-wrap
llvmPackages_*.lldClang: don't wrap bintools twice
2021-05-14 14:52:57 -04:00
sternenseemann f7b49ea2af llvmPackages_12.lld: make sure llvm libunwind is passed
lld needs LLVM's libunwind for its headers. That libunwind is not part
of the tools scope in pkgs/development/compilers/llvm/12/default.nix,
which means that lld previously received libunwind from top-level pkgs
which of course doesn't have the required headers.

To resolve this pass libunwind from the libraries scope — platform
concerns don't really mattern as only libunwind.src is used.

libunwind was initially passed correctly, but that was removed in
e830db4320. This regression was likely
introduced accidentally.
2021-05-14 16:23:12 +02:00
sternenseemann 3eaa00879c llvmPackages_*.lldClang: don't wrap bintools twice
The bintools argument received a wrapped version of tools.bintools which
is already wrapped. Wrapped bintools twice leads to users of lldClang
being unable to find the tools which are not wrapped like ar.
2021-05-14 12:50:41 +02:00
zowoq 004f8cd986 Merge staging-next into staging 2021-05-14 16:32:43 +10:00
AndersonTorres cfd20fa9e1 zig: rewrite
substituteAll is not used anymore.
2021-05-14 00:22:12 -03:00
github-actions[bot] bf5d8bb531
Merge master into staging-next 2021-05-14 00:58:11 +00:00
Jan Tojnar ac6a4f7cf5
Merge branch 'staging-next' into staging 2021-05-14 01:40:09 +02:00
Sandro 6920440a69
Merge pull request #93043 from dasj19/mono6-update
mono5: 5.20.1.27 -> 5.20.1.34
2021-05-13 23:34:23 +02:00
github-actions[bot] 39e3f7c2cc
Merge master into staging-next 2021-05-13 18:32:50 +00:00
Matthias Devlamynck ef2742bcde elm-instrument: fix build 2021-05-13 09:36:51 -07:00
Jan Tojnar 0313c77b55
Merge branch 'staging-next' into staging 2021-05-13 11:42:36 +02:00
Vladimír Čunát ea306f6dfc
llvm*: patch to fix a test on older CPUs
- 10, 11, 12: use the upstream patch
- 9: use Luke's patch as the upstream patch won't apply
2021-05-13 10:43:45 +02:00
github-actions[bot] a8e5ac148b
Merge master into staging-next 2021-05-13 00:56:26 +00:00
Vladimír Čunát ba2140b657
Merge #122044: compiler-rt: Fix build by passing resource dir
Fast-forwarded from staging to staging-next.  See:
https://github.com/NixOS/nixpkgs/pull/111487#issuecomment-840088733
2021-05-12 22:55:14 +02:00
John Ericson 22da550728
Fast-forward PR #122399 from staging to staging-next
compiler-rt: Revert passing `COMPILER_RT_OS_DIR` and not symlinking libs
(cherry picked from commit 680b33fe37)
https://github.com/NixOS/nixpkgs/pull/111487#issuecomment-840078869
2021-05-12 22:43:52 +02:00
Jan Tojnar 71fa678899
Merge branch 'staging-next' into staging 2021-05-12 14:31:36 +02:00
Vladimír Čunát 7178848064
ghdl-llvm: fix llvm output selection 2021-05-12 10:51:11 +02:00
John Ericson e830db4320 llvmPackages: Fix more inconsistencies
The main thing was using `llvm_meta` in all versions.

Secondarily:

 - libunwindx7: Forgot to split outputs

 - libcxx{,abi} 12: Forgot to apply output-splitting patches.

 - simplify `useLLVM` stdenv-switching logic.

 - openmp always gets its own directory
2021-05-12 00:16:11 +00:00
John Ericson 37194a325d treewide: Try to make a few bootstrapping things more consistent
- Introduce `preLibcCrossHeaders` to bootstrap libgcc and compiler-rt
  the same way.

- Organize LLVM bintools as `bintools{-unwrapped,,NoLibc}` for
  consistency with GNU Binutils and Apple's cctools.

- Do Android changes for all `llvmPackages` for consistency.

- Improve the way the default GCC and LLVM versions are selected.
2021-05-12 00:14:56 +00:00
John Ericson e0d3c9d031 llvmPackages*.libcxx*: Always use the attribute name for pname
This decision was made in a902d99422 but
just for LLVM 12. Now we apply it consitently.
2021-05-12 00:14:56 +00:00
John Ericson 894f0c6ec8 llvmPackages: Always put libunwind before openmp
This keeps the "main bootstrap" together.
2021-05-12 00:13:13 +00:00
sternenseemann 4caedc060f llvmPackages_12.libunwind: Make sure we get right llvm version 2021-05-12 00:12:51 +00:00
sternenseemann 894a09dfd2 llvmPackages_7.lldClang: add libunwind to extraLibraries 2021-05-12 00:12:40 +00:00
sternenseemann 53adcfb798 llvmPackages_7.libunwind: simplify expressions
* Use LLVM_PATH instead of llvm-config
* Pass less unnecessary options to cmake
2021-05-12 00:08:02 +00:00
John Ericson cf02b24813 Merge remote-tracking branch 'upstream/staging-next' into staging 2021-05-11 22:30:46 +00:00
Vladimír Čunát ec97081437
Merge #122554: llvm*Packages: fix output selection 2021-05-11 22:08:44 +02:00
Stéphan Kochen 3cf4c5d09b swiProlog: fix darwin build 2021-05-11 21:10:57 +02:00
github-actions[bot] 37c26a396b
Merge master into staging-next 2021-05-11 18:28:07 +00:00
John Ericson 912c8262b4
Merge pull request #117591 from s1341/android_non_prebuilt
treewide: Support aarch64-android using minimal prebuilt components
2021-05-11 12:49:53 -04:00