Commit Graph

1154 Commits

Author SHA1 Message Date
Giulio De Pasquale
5989c9d76c llvmPackages_11.compiler-rt: Add i486, i586, i686 to X86 family. Expose ix86 family builtins.
Co-Authored-By: John Ericson <git@JohnEricson.me>
2022-10-14 18:35:40 +02:00
github-actions[bot]
7df9a7a84c
Merge staging-next into staging 2022-10-13 18:07:50 +00:00
Bernardo Meurer
2196a95e68
Merge pull request #195403 from Flakebi/rocm 2022-10-13 14:56:18 -03:00
Artturi
e66d2fd89d
Merge pull request #194256 from Artturin/treewides2 2022-10-13 00:08:01 +03:00
github-actions[bot]
5d957f3dba
Merge staging-next into staging 2022-10-11 00:05:26 +00:00
Sebastian Neubauer
72aaaa782a llvmPackages_rocm.llvm: 5.2.3 → 5.3.0 2022-10-10 21:35:27 +02:00
Artturin
7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03:00
Martin Weinelt
842a2c2399
llvmPackages_rocm.llvm: fix build with libxcrypt 2022-10-09 18:14:32 +02:00
Martin Weinelt
716a31527a
llvmPackages_10.compiler-rt: fix build with libxcrypt 2022-10-09 18:14:32 +02:00
Martin Weinelt
efd944cb72
llvmPackages_12.compiler-rt: fix build with libxcrypt 2022-10-09 18:14:30 +02:00
Martin Weinelt
f64f770801
llvmPackages_13.compiler-rt: fix build with libxcrypt 2022-10-09 18:13:28 +02:00
Franz Pletz
057ae3d0f1
llvmPackage_14.compiler-rt: fix build with libxcrypt 2022-10-09 18:10:31 +02:00
Franz Pletz
495e6501b6
llvmPackages_11.compiler-rt: fix build with libxcrypt 2022-10-09 18:09:37 +02:00
Rahul Butani
d20c8697eb
llvmPackages_{13,14}.lldb: fix build on x86 macOS
See: https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
2022-10-08 21:40:04 -05:00
github-actions[bot]
a6e5efa5f4
Merge staging-next into staging 2022-10-06 00:05:14 +00:00
7c6f434c
711191ca62
Merge pull request #186575 from stephank/fix/compiler-rt-builtins
compiler-rt: build builtins on darwin
2022-10-05 18:48:36 +00:00
7c6f434c
1723d25c72
Merge pull request #190908 from a12l/lldb-lua
lldb: Add Lua support
2022-10-05 18:46:02 +00:00
7c6f434c
d89b2002b3
Merge pull request #193636 from crabtw/staging
llvmPackages_{14, git}.clang: add nostdlibinc flag
2022-10-05 18:45:01 +00:00
toonn
6a132cf2f3
Merge pull request #185766 from stephank/fix/libcxxabi
libcxxabi: remove link with build libcxxabi
2022-10-05 12:58:32 +02:00
Jyun-Yan You
44165d3657 llvmPackages_{14, git}.clang: add nostdlibinc flag
Fix header search paths as #153963
2022-09-30 09:33:05 +08:00
Albin Otterhäll
f0938ab85f lldb: add support for Lua bindings in LLDB-git 2022-09-27 01:19:26 +02:00
Albin Otterhäll
86d743a958 lldb: add support for Lua bindings in LLDB 14 2022-09-27 01:19:26 +02:00
Shamrock Lee
8afdfd9e64 clang: specify meta.mainProgram 2022-09-23 01:55:21 +08:00
Martin Weinelt
5d4267b0f2 Merge remote-tracking branch 'origin/master' into staging-next 2022-09-20 12:25:19 +02:00
Yureka
6485a02fb3 llvm 14 lld: build with 2M stack size to fix firefox lto 2022-09-20 08:04:26 +02:00
Yureka
94cad6ec1a llvm 14 compiler-rt: enable libclang_rt.profile-....a build 2022-09-20 08:04:26 +02:00
github-actions[bot]
0b07cb1528
Merge staging-next into staging 2022-09-13 12:02:05 +00:00
Alyssa Ross
723a5645b5 pkgsStatic.llvm_14: fix build 2022-09-13 08:24:17 +00:00
Bernardo Meurer
ee33222938
Merge pull request #188540 from OPNA2608/fix/llvm-parallel-tests
llvm*: Fix core usage & remove progress bar in tests
2022-09-07 12:29:53 -03:00
OPNA2608
bd332c848c llvm*: Don't show progress bar on tests
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-03 18:38:44 +02:00
OPNA2608
6c6f4a9724 llvm*: Fix core usage in tests
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]: 329fda39c5/llvm/CMakeLists.txt (L559-L565)
2022-09-03 17:20:46 +02:00
Stéphan Kochen
96e4a0f05c libcxxabi: remove link with build libcxxabi 2022-08-26 17:02:11 +02:00
Martin Weinelt
249398ffa8 Merge remote-tracking branch 'origin/staging-next' into staging 2022-08-25 00:32:27 +02:00
Stéphan Kochen
fb91bfc380 compiler-rt: build builtins on darwin
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-24 08:45:14 +02:00
Bernardo Meurer
d5cd07efab
Merge pull request #187851 from Flakebi/rocm
rocm: 5.2.1 → 5.2.3
2022-08-23 16:10:08 -03:00
Sebastian Neubauer
2987efca09 llvmPackages_rocm.llvm: 5.2.1 → 5.2.3 2022-08-22 10:14:16 +00:00
John Ericson
22a98bf523 llvmPackages_git.libcxxabi: Replace vendored patch with fetch
https://reviews.llvm.org/D132298 is now landed, so we can fetch the
commit instead.
2022-08-21 08:34:19 -04:00
doyougnu
376625d40f llvmPackages_git: 2022-01-07 -> 2022-25-07, add README
The new LLVM commit is just before the LLVM 15 fork off.

The readme describing upgrade process so it is easier for others to do.

Co-Authored-By: Dylan Green <Dylan.Green@Obsidian.Systems>
Co-Authored-By: John Ericson <John.Ericson@Obsidian.Systems>
2022-08-20 12:43:52 -04:00
github-actions[bot]
784a588a10
Merge staging-next into staging 2022-08-19 00:04:04 +00:00
John Ericson
d6636a5de6 llvmPackages_14.compiler-rt: fix aarch32 patch
This is just the same fix we did for LLVM 13 in
265ba73a78 applied to LLVM 14.
2022-08-18 22:09:17 +00:00
John Ericson
fd36ac32c0 Revert "clang_14: drop out-of-date armv7l patch"
This reverts commit f69c82f8ea.
2022-08-18 22:08:12 +00:00
John Ericson
dbc5a792a2 llvmPackages*.libunwind: Don't redo install phase from scratch
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-18 00:10:08 -04:00
Sebastian Neubauer
ec590fdd24 llvmPackages_rocm: compile as one derivation
This is the supported way rocm is tested.
It makes packaging in nix a *lot* easier (see the code size).

An important change is the dontLink detection in the clang/clang++
wrapper script: When compiling with --cuda-device-only,
the linker must not be set, otherwise e.g. the blender kernels fail to
compile.
2022-08-16 19:20:55 +02:00
Sebastian Neubauer
35be36c724 llvmPackages_rocm.llvm: 5.1.1 → 5.2.1 2022-08-16 18:20:56 +02:00
John Ericson
bf39e32272 compiler-rt: Fix "bare metal" case boolean logic
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-08-01 12:18:54 -04:00
Luiz Ribeiro
c743308438 llvm14: Skip broken tests on riscv 2022-07-16 22:50:41 -05:00
Ivan Kozik
34c77f1e8d llvmPackages_14: 14.0.1 -> 14.0.6 2022-07-07 19:34:17 +00:00
Vladimír Čunát
43f9c191bf
Merge #110571: treewide: migrate to -fno-common
...into staging
2022-07-07 10:06:38 +02:00
Gaelan Steele
5b47eb13ac gcc, clang11: don't force -fcommon on GCC 10 or clang11
GCC 10 sets -fno-common by default. This broke some packages, so
when moving to GCC 10 we initially disabled this behavior. This
commit reverts that, bringing us closer to the standard and
upstream.

Co-authored-by: Sergei Trofimovich <slyich@gmail.com>
2022-07-06 08:37:00 +01:00
sternenseemann
0083a683d7 Revert "llvmPackages: do not include static archives when shared…"
Reverts #162607 / 1748887ff2.

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-07-05 15:03:12 +02:00
misuzu
f69c82f8ea clang_14: drop out-of-date armv7l patch 2022-06-20 15:37:47 +03:00
Sandro
646c74dd66
Merge pull request #176591 from misuzu/llvm-armv7l
llvmPackages/libllvm: disable failing tests on armv7l
2022-06-10 02:00:14 +02:00
John Ericson
942da65b07 llvmPackages_14: Fix remaining broken gnu-install-dirs patches 2022-06-08 16:43:04 +00:00
misuzu
f8c1774e25 llvm_11: disable tools/gold/X86/split-dwarf.ll test on armv7l 2022-06-06 20:33:50 +03:00
misuzu
67df7777e7 llvm_12: disable failing tests on armv7l 2022-06-06 20:33:49 +03:00
misuzu
b1b9ceaa95 llvm_13: disable tools/gold/X86/split-dwarf.ll test on armv7l 2022-06-06 20:33:49 +03:00
misuzu
d7848386e5 llvmPackages/libllvm: disable failing tests on armv7l 2022-06-05 09:54:18 +03:00
Rick van Schijndel
0b45cae8a3
treewide: pkgs/development/compilers: mark broken for darwin 2022-05-30 13:41:09 +02:00
Janne Heß
c911240e9c
Revert "Add mingwW64-llvm cross-system." 2022-05-18 13:50:23 +02:00
Shea Levy
0f68ed163c
Merge branch 'mingwW64-clang' into staging 2022-05-18 06:30:21 -04:00
7c6f434c
cd6eea51c4
Merge pull request #171083 from ehmry/wrapCCWith-nixSuport
wrapCCWith: structured argument for wrapper flags
2022-05-14 15:05:25 +00:00
Shea Levy
15aa32e082
llvm-bintools: passthru targetPrefix.
This is expected e.g. by the GHC cross-compilation code
2022-05-09 10:09:20 -04:00
Shea Levy
b7b9b73760
libcxx/libcxxabi: Fix build on Windows with lld 2022-05-09 10:06:52 -04:00
Shea Levy
5ca96b948c
libcxxabi: Fix build against compiler-rt-using clang 2022-05-09 10:05:50 -04:00
Shea Levy
078a07708a
libunwind: Fix build against compiler-rt-using clang 2022-05-09 10:05:47 -04:00
Shea Levy
dee9af9323
bintools: Add isXXX flags to check linker type 2022-05-09 10:03:48 -04:00
Shea Levy
a73b59a157
llvm-bintools: Include aliases for windres and dlltool on Windows 2022-05-06 10:54:52 -04:00
Sebastian Neubauer
a0b66ad30e rocm-llvm: 5.0.2 -> 5.1.1 2022-05-05 18:36:00 +02:00
Emery Hemingway
ff802de61e llvm-14: use nixSupport arguments with wrapCCWith 2022-04-30 21:53:58 -05:00
github-actions[bot]
f6bedc13d1
Merge master into staging-next 2022-04-17 18:01:03 +00:00
7c6f434c
7bcc39de71
Merge pull request #166835 from dtzWill/fix/issue-166833-clang-tools14
llvmPackages_14.clang: include clang-tools-extra in src for use
2022-04-17 13:16:26 +00:00
github-actions[bot]
1c0229dbfd
Merge staging-next into staging 2022-04-15 00:03:21 +00:00
Michael Weiss
84dbfa8f97
llvmPackages_14: 14.0.0 -> 14.0.1 2022-04-13 22:30:31 +02:00
Lassulus
a1780e4b7d
Merge pull request #162607 from waldheinz/libllvm-drop-static
llvmPackages/libllvm: do not include static archives when shared is r…
2022-04-08 19:39:18 +01:00
John Ericson
f712cdd62e
Merge pull request #166977 from peperunas/clangMultiStdenv-fix
clangMultiStdenv: expose lib64 and lib separately in sysroot
2022-04-05 12:21:33 -04:00
Giulio De Pasquale
599cd79b99 Expose lib64 and lib separately in sysroot 2022-04-03 00:53:03 +02:00
Will Dietz
075c5eb8d3 llvmPackages_14.clang: include clang-tools-extra in src for use
Fixes #166833.

The build creates a symlink for this assuming it's present,
so be sure it's there when filtering the source for clang.

Alternatively we could use LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR.
2022-04-01 11:09:39 -05:00
Aleksey Kladov
6d111cbf61 Clarify that lld package provides unwrapped lld
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-27 18:14:55 -04:00
Anthony Cowley
eb20eae90f
llvmPackages_rocm: 4.5.2 -> 5.0.2 (#165362)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-03-27 20:35:14 +02:00
Will Dietz
2efcc3e297 openmp: disable tests due to failures 2022-03-24 18:58:38 -05:00
Will Dietz
4f3116f754 openmp: drop fix-find-tool patch, set *_TOOL vars directly 2022-03-24 18:58:38 -05:00
Will Dietz
7151381aab openmp: tests, few failures 2022-03-24 18:58:38 -05:00
Will Dietz
5e04d64aed openmp: no longer broken 2022-03-24 18:58:38 -05:00
Will Dietz
790c4f13dd openmp: new fix-find-tools patch 2022-03-24 18:58:38 -05:00
Will Dietz
641c2d3b7b llvmPackages_14.openmp: fix install dirs patch 2022-03-24 18:58:38 -05:00
Michael Weiss
c9cfbe0899
llvmPackages_14: 14.0.0-rc4 -> 14.0.0 2022-03-23 23:21:32 +01:00
Anthony Cowley
29a988f978
Merge pull request #163698 from InternetUnexplorer/rocm-llvm-disable-shared-libs
llvmPackages_rocm.llvm: don't build shared libs
2022-03-22 10:28:19 -04:00
github-actions[bot]
ea64a128d1
Merge master into staging-next 2022-03-14 00:02:12 +00:00
Michael Weiss
f0c2e46468
llvmPackages_14: 14.0.0-rc2 -> 14.0.0-rc4 2022-03-13 13:34:54 +01:00
Michael Weiss
90d9b7c8dc
llvmPackages: Fix the update script 2022-03-13 13:34:50 +01:00
InternetUnexplorer
9c8eda7f38 llvmPackages_rocm.llvm: don't build shared libs
This seems to fix the notorious "CommandLine Error: Option 'xxxxx'
registered more than once!" error in applications that use both Mesa and
ROCm.

Since Mesa is built with llvmPackages_latest and ROCm stuff is built
with llvmPackages_rocm, applications that use both (such as Blender) end
up with two different `libLLVM*.so`s loaded, which breaks things.

This seems like a straightforward way to fix the problem, and since the
ROCm stack seems to be the only thing in Nixpkgs that uses
llvmPackages_rocm this hopefully shouldn't break anything.

While there might be another way to fix this problem that doesn't
require disabling the shared libraries, I haven't been able to find it
yet, and since this issue seems to affect a lot of people I think it
might make sense to merge this fix for now and revisit it later if a
better solution is found.

This also removes a small patch to rocm-comgr since there are no longer
LLVM shared libraries for it to link against.
2022-03-11 11:33:56 -08:00
github-actions[bot]
201cc2f89b
Merge master into staging-next 2022-03-09 00:02:05 +00:00
Michael Weiss
dd8169da3e
llvmPackages_14: 14.0.0-rc1 -> 14.0.0-rc2 2022-03-08 22:27:24 +01:00
Matthias Treydte
1748887ff2 llvmPackages/libllvm: move static archives to dev output
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-03-04 13:05:53 +01:00
github-actions[bot]
f4fc464126
Merge master into staging-next 2022-03-02 00:06:44 +00:00
Michael Weiss
5040ab9149
llvmPackages_14: Mark broken packages
I quickly went over the latest Hydra evaluation:
https://hydra.nixos.org/eval/1746327?filter=llvmPackages_14&compare=1746266&full=#tabs-still-fail
2022-03-01 23:37:00 +01:00
github-actions[bot]
bfb0bc0461
Merge master into staging-next 2022-02-28 18:05:41 +00:00
Michael Weiss
3bce8227a0
llvmPackages_14.lld: Update fix-root-src-dir.patch to fix the build 2022-02-28 12:34:08 +01:00
github-actions[bot]
6787116890
Merge master into staging-next 2022-02-28 00:02:07 +00:00
Michael Weiss
323837f7db
llvmPackages_14: 2022-01-07 -> 14.0.0-rc1 2022-02-27 23:23:02 +01:00
Michael Weiss
45cd41de23
llvmPackages_{git,14}: Replace tabs in lld/default.nix
This fixes a CI warning [0]:
Run cat "$HOME/changed_files" | xargs -r editorconfig-checker -disable-indent-size
pkgs/development/compilers/llvm/14/lld/default.nix:
	28: Wrong indent style found (tabs instead of spaces)
	29: Wrong indent style found (tabs instead of spaces)
	30: Wrong indent style found (tabs instead of spaces)

[0]: https://github.com/NixOS/nixpkgs/runs/5351700772
2022-02-27 20:25:20 +01:00
Michael Weiss
d61e45b686
llvmPackages_14: init at 2022-01-07
This is a temporary hack until I have time to update the patches for
14.0.0-rc1. We need llvmPackages_14 *NOW* for Chromium M99.
2022-02-27 19:11:30 +01:00
github-actions[bot]
0a79f47878
Merge master into staging-next 2022-02-27 18:01:07 +00:00
Michael Weiss
e2ba45f5ab
llvmPackages_14: Copy the files from llvmPackages_git 2022-02-27 18:49:21 +01:00
Michael Weiss
faae760e98
llvmPackages_git.llvm: Drop llvm-config-link-static.patch (#162101)
To fix the build as this patch was already upstreamed in the meantime.
2022-02-27 18:40:07 +01:00
Michael Weiss
6dc6d8c456
Merge pull request #154465 from Ericson2314/bump-llvm-git
llvmPackages_git.*: Bump to newer commit
2022-02-27 18:37:23 +01:00
Vladimír Čunát
f46e8e4408
Merge #158113: llvmPackages_13: 13.0.0 -> 13.0.1
...into staging
2022-02-22 13:16:57 +01:00
Jyun-Yan You
2fe19fe24a llvmPackages_13.clang: add nostdlibinc flag
This patch adds nostdlibinc flag after parsing arguments
instead of sed substitution.

Fix #151879
2022-02-14 17:10:32 +08:00
Cheng Shao
1a8754caf8 llvmPackages_13: 13.0.0 -> 13.0.1 2022-02-04 14:23:25 +00:00
Dmitry Kalinkin
46244fa290
Merge pull request #155462 from veprbl/pr/libcxx_12_no_apple_availability
llvmPackages_{12,13,git}: don't try to patch non-existing _LIBCPP_USE_AVAILABILITY_APPLE
2022-01-29 21:15:21 -05:00
Dmitry Kalinkin
34523e76a2
llvmPackages_{12,13,git}: don't try to patch non-existing _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-18 05:42:00 -05:00
John Ericson
4badff49fd llvmPackages_git.*: Bump to newer commit 2022-01-11 07:28:05 +00:00
John Ericson
baf290023c
Merge pull request #153790 from sternenseemann/cross-bootstrap-logic
Cross bootstrapping logic fixes benefitting llvmPackages
2022-01-08 12:39:30 -08:00
Moritz Angermann
08f22ce9cc llvmPackages_12.llvm: create fix-llvm-issue-49955.patch
This patch addresses llvm/llvm-project#49955
2022-01-08 14:01:39 +01:00
sternenseemann
e238f456b8 llvmPackages_*.clang: pick clangUseLLVM if targetPlatform.useLLVM
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.
2022-01-07 14:52:13 +01:00
sternenseemann
766f5ffb76 llvmPackages_*: respect cc for target when choosing C++ flavour
llvmPackages_*.clang should check the default compiler for the package
set it is targeting (targetPackages.stdenv.cc) instead of the compiler
that has been used to build it (stdenv.cc) in order to get some sense of
whether to use libc++ or libstdc++.

Since we are now inspecting targetPackages in the llvmPackages.clang
attribute, we need to avoid using it in the cross stdenv — which just
forces us to explicitly request libcxxClang for darwin instead of
relying on the clang attribute to pick it for us.

We also need to do something similar for targetPackages.stdenv.cc: Here
the llvmPackages.clang logic would work as we want (inspect
targetPackages.stdenv.cc and if it doesn't exist, make the choice based
on stdenv.cc), but it gets locked in a cycle with the previous package.
We can easily break this, however: We know that the previous set had
clang and the next one doesn't exist, so we'd choose libcxxClang any day
of the week.
2022-01-07 14:42:41 +01:00
github-actions[bot]
92dce734f0
Merge staging-next into staging 2022-01-05 18:01:42 +00:00
github-actions[bot]
0d3fe41724
Merge master into staging-next 2022-01-05 18:01:06 +00:00
sternenseemann
115a6f077f llvmPackages_{12,13,git}.compiler-rt: remove new runtimes in useLLVM
LLVM 12 added the memory profiling runtime and LLVM 13 the ORC
runtime. Both need a libc in order to build (or at least headers not
present in clang's resource root), so we'll disable them for any sort of
baremetal-ish build. memprof likely doesn't work in a baremetal
situation at all, orc is unknown. Whether both would compile with musl
is to be checked.
2022-01-05 18:17:53 +01:00
sternenseemann
e4fddecdb3 llvmPackages_{11,12,13,git}.libllvm: enable static build
The main thing we need to pass LLVM_ENABLE_PIC=OFF to prevent LLVM from
building shared objects because our cc-wrapper is incapable of producing
shared objects. Building LLVM statically also influences other LLVM
projects like clang and lld -- which can be built linked fully
statically with this change.
2022-01-04 18:40:32 +01:00
sternenseemann
e5ccc412d2 llvmPackages_*.libllvm: only build tests if doCheck
To make the value of doCheck in the argument attribute set accurate we
also need to include the condition for cross compilation which normally
is added by stdenv.mkDerivation.
2022-01-04 18:40:32 +01:00
sternenseemann
c70dca8249 llvmPackages_*.libllvm: make llvm-config and llvm-config equivalent
LLVM's build system creates NATIVE/bin/llvm-config by reexecuting cmake
with entirely new flags. Problematically, the `CMAKE_INSTALL_*` flags
are not inherited, causing llvm-config-native to return wrong
installation paths, e. g. CMAKE_INSTALL_LIBDIR would default to `lib64`
on x86_64-linux. Previously this was masked by outputs.patch which
replaced ActiveLibDir with a string passed in from Nix, however
`--cmakedir` for example would turn out to be wrong always, breaking
cross-compilation of e. g. lld.

Additionally LLVM_ENABLE_RTTI needs to be repassed, as it is used to
determine if RTTI is available. Passing LLVM_LINK_LLVM_DYLIB is crucial
if we are building LLVM non-statically: It influences the --shared-mode
flag (which should indicate that -lLLVM is enough to link all
components) and makes --link-shared work in the first place,
i. e. llvm-config-native believes the built shared libs don't exist
unless we repass this flag.

Passing LLVM_LINK_LLVM_DYLIB=ON, however, makes the native build produce
a full libLLVM.so which is something we don't want, so we introduce a
patch which forces llvm-config to link statically against the LLVM
components it needs.
2022-01-04 11:09:43 +01:00
sternenseemann
d807aaa30c llvmPackages*.libllvm: drop outputs.patch for llvm-config.patch
Due to gnu-install-dirs.patch llvm-config will return correct results
for --link-shared as well as --link-static even without this patch.
2022-01-04 11:09:43 +01:00
sternenseemann
c58517aeed llvmPackages_*.clang: stop passing LLVM_CONFIG_PATH unnecessarily
Starting with LLVM 8, clang does no longer use llvm-config to detect the
LLVM installation: https://github.com/llvm/llvm-project/commit/e4faa5c7986b7
Consequently, there is no point passing LLVM_CONFIG_PATH (in fact the
variable is unused currently).
2022-01-03 16:46:38 +01:00
7c6f434c
84fb429d21
Merge pull request #150018 from trofi/fix-llvm-for-gcc-12
llvm_{5..12}: fix tests against upcoming gcc-12
2021-12-31 21:45:53 +00:00
Dmitry Kalinkin
508623b372
clang_{11,12,13,git}: enable RTTI 2021-12-24 22:24:00 -05:00
7c6f434c
58a27ea378
Merge pull request #148367 from r-burns/llvm-config-static
llvmPackages_*.llvm: fix llvm-config-native with static libs
2021-12-24 10:25:03 +00:00
Jonathan Ringer
182e07f0d9
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/libraries/webkitgtk/default.nix
	pkgs/development/python-modules/pylast/default.nix
	pkgs/development/python-modules/pymavlink/default.nix
2021-12-23 10:16:42 -08:00
github-actions[bot]
0c6795fa5b
Merge master into staging-next 2021-12-23 00:01:33 +00:00
github-actions[bot]
3479555209
Merge staging-next into staging 2021-12-19 18:01:44 +00:00
Dmitry Kalinkin
e1aaaa90fe
llvmPackages.libcxx: unset _LIBCPP_USE_AVAILABILITY_APPLE 2021-12-18 10:09:25 -05:00
github-actions[bot]
3e2d1c1e65
Merge staging-next into staging 2021-12-15 18:01:52 +00:00
Neubauer, Sebastian
de8041b44e llvmPackages_rocm.llvm: 4.3.1 → 4.5.2
Fix compiler-rt build and use ninja for faster builds.
2021-12-15 16:57:22 +01:00
Vladimír Čunát
030e814b88
Merge #148107: llvmPackages_13.clang: fix jemalloc issues
... into staging-next.  Also re-enable jemalloc in firefoxPackages.
2021-12-15 14:09:34 +01:00
Dmitry Kalinkin
07a8ae0c5a
Merge branch 'staging-next' into staging
Conflicts:
	pkgs/development/libraries/log4cplus/default.nix
2021-12-11 14:01:19 -05:00
Sergei Trofimovich
1ead4951db llvmPackages_5.compiler-rt: fix build against gcc-12
[ 11%] Building CXX object lib/xray/CMakeFiles/clang_rt.xray-x86_64.dir/xray_buffer_queue.cc.o
    In file included from lib/xray/xray_buffer_queue.cc:15:
    lib/xray/xray_buffer_queue.h:35:5: error: 'size_t' does not name a type
       35 |     size_t Size = 0;
          |     ^~~~~~
    lib/xray/xray_buffer_queue.h:23:1: note: 'size_t' is defined in header '<cstddef>';
      did you forget to '#include <cstddef>'?
       22 | #include <utility>
      +++ |+#include <cstddef>
       23 |
2021-12-10 19:56:55 +00:00
github-actions[bot]
0f2bb5a63f
Merge master into staging-next 2021-12-10 12:01:12 +00:00
Sergei Trofimovich
35223810a1 llvm_{5..12}: fix tests against upcoming gcc-12
In https://gcc.gnu.org/PR103598 we found out that gcc-12
changed __PRETTY_FUNCTION__ slightly and broke llvm-12 (and older)
tests that rely on exact type match. llvm-13 already removed the
qualified names from the expected output.

This change changes expected output to avoid llvm:: namespace prefix.
This is enough to get tests pass on x86_64 again.

Tested against this week's gcc-12 and against gcc-10.
2021-12-10 09:08:04 +00:00
arcnmx
265ba73a78 llvmPackages_13.compiler-rt: fix aarch32 patch 2021-12-04 07:12:34 -08:00
github-actions[bot]
904ed45698
Merge master into staging-next 2021-12-03 18:01:12 +00:00
Jörg Thalheim
50474e1857
Merge pull request #147543 from risicle/ris-libcxx-13-aarch64
llvmPackages_13.libcxx: require gcc >=10 on gcc platforms
2021-12-03 16:06:34 +00:00
Ryan Burns
544707d6a4 llvmPackages_*.llvm: fix llvm-config-native with static libs
Since both static and shared libs are installed to the same `lib`
output, we override the ActiveLibDir unconditionally.

Fixes `llvm-config-native --link-static --libs`
2021-12-02 19:21:21 -08:00
oxalica
754460f861
llvmPackages_13.clang: revert D100879
The malloc alignment assumption is incorrect for jemalloc and causes
mis-compilation in firefox.

https://reviews.llvm.org/D100879
https://bugzilla.mozilla.org/show_bug.cgi?id=1741454
2021-12-01 15:28:33 +08:00
midchildan
24d1fc7c73
llvmPackages_git.libcxx: fix darwin build 2021-11-28 00:58:53 +09:00
Robert Scott
54a487505a llvmPackages_13.libcxx: require gcc >=10 on gcc platforms
specifically aarch64. as of version 13 libcxx does not build on gcc9.
2021-11-26 22:12:42 +00:00
midchildan
7994b1dfc0
fixup! llvmPackages_13.libcxx: fix darwin build 2021-11-26 02:38:44 +09:00
midchildan
d8338cbe06
fixup! llvmPackages_13.libcxx: fix darwin build
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-11-25 20:20:49 +09:00
midchildan
e157b5dc28
llvmPackages_13.libcxx: fix darwin build 2021-11-25 19:59:17 +09:00
toonn
21df776a31 llvmPackages_13.libcxxabi: Align with 11 libcxxabi
LLVM 11 libcxxabi has some flags to support usage in the Darwin stdenv,
in particular, `standalone` and `withLibunwind`.

Darwin stdenv needs the `standalone` flag because its `hostPlatform` set
doesn't have `useLLVM` set to true. And it needs `withLibunwind` to
explicitly disable including `libunwind` as a build input.

We also prefix `install_name_tool` in case we're cross-compiling.
2021-11-24 15:17:13 -08:00
toonn
d90fb1c038 llvmPackages_12.libcxxabi: Align with 11 libcxxabi
LLVM 11 libcxxabi has some flags to support usage in the Darwin stdenv,
in particular, `standalone` and `withLibunwind`.

Darwin stdenv needs the `standalone` flag because its `hostPlatform` set
doesn't have `useLLVM` set to true. And it needs `withLibunwind` to
explicitly disable including `libunwind` as a build input.

We also prefix `install_name_tool` in case we're cross-compiling.
2021-11-24 15:17:13 -08:00