Commit Graph

46 Commits

Author SHA1 Message Date
Dmitry Kalinkin
6d9769663d
cc-wrapper: allow compilers to specify unsupported hardening modes
Fixes: 0fd7ef61b2 ('clang_34: Disable hardening bits (#28543)')
2017-12-30 12:23:25 -05:00
John Ericson
e65259f00c LLVM: Get binutils plugin header from libbfd 2017-11-13 08:46:13 -05:00
Piotr Bogdan
38ac67fc9a llvm_34: fix build with glibc 2.26 2017-11-10 19:16:11 +00:00
John Ericson
bf7b521500 treewide: Fix some references to binutils
- Compiler's shouldn't use `binutils.dev` as that doesn't yet exist
   with a cross binutils.

 - Last two `binutils.binutils` which weren't reverted
2017-09-14 18:12:54 -04:00
Jörg Thalheim
b6bacc4bb2 llvmPackage_{3.4,3.5,3.7,3.8,3.9}: fix output of llvm-config
llvm-config is a tool to output compile and linker flags, when compiling against llvm.

The tool however outputs static library names despite libllvm is build
as shared library on nixos. This was fixed for llvm 3.4, 3.5 and 3.7.

For llvm 3.8 and 3.9 it printed the library extension twice (.so.so).
This was fixed in 4.0 and the patch is backported to 3.8 and 3.9 in
this pull request.

```
$ for i in 34 35 37 38 39; do echo "\nllvm-$i"; nix-shell -p llvmPackages_$i.llvm --run 'llvm-config --libnames'; done

llvm-34
libLLVMInstrumentation.so libLLVMIRReader.so libLLVMAsmParser.so
...

llvm-35
libLLVMLTO.so libLLVMObjCARCOpts.so libLLVMLinker.so libLLVMipo.so
...

llvm-37
libLLVMLTO.so libLLVMObjCARCOpts.so libLLVMLinker.so libLLVMBitWriter.so
...

llvm-38
libLLVM-3.8.1.so

llvm-39
libLLVM-3.9.so
```

fixes #26713
2017-06-20 10:22:06 +01:00
Jörg Thalheim
4c4f50ce76
llvmPackages_34.llvm: fix output of llvm-config
now llvm-config --libnames and llvm-config --libfiles output the proper
files.
2017-05-23 18:38:44 +01:00
Will Dietz
947c26972b LLVM: Fix licensing metadata, closes #22679. (#22681)
* All projects are available under NCSA license,
  other than dragonegg.
* "Runtime" projects are dual-licensed under
  both NCSA and MIT:
  libc++, libc++abi, compiler-rt
* I don't mention MIT for compiler-rt as
  we only build it as part of LLVM.
2017-02-11 23:13:29 +01:00
Tuomas Tynkkynen
8a4d6516ee Merge remote-tracking branch 'upstream/staging' into master 2016-11-30 00:34:23 +02:00
Vladimír Čunát
b67ae8b33c
llvmPackages*.lldb: fixup input by disabling libedit
Fixes #20773.  https://llvm.org/bugs/show_bug.cgi?id=28898
Of course, feel free to find a better solution.

I love this copy&paste :-/
2016-11-28 19:02:15 +01:00
Frederik Rietdijk
7ab6edd171 llvm_34: use python2 2016-11-24 22:28:03 +01:00
Aneesh Agrawal
fcee1d0b28
Remove redundant -DCMAKE_BUILD_TYPE=Release flags
Since commit 183d05a0 in 2012, this is the default.

fixes #18000
2016-10-01 16:13:41 +02:00
Vladimír Čunát
c02f0ade90 fix evaluation on darwin, fixing tarball job fully 2016-05-19 10:04:43 +02:00
Tuomas Tynkkynen
9f8a22fae5 treewide: Make explicit that 'dev' output of binutils is used 2016-05-19 10:00:26 +02:00
Nikolay Amiantov
e2e4e59975 llvm: add debug builds support 2015-10-03 14:18:57 +03:00
Shea Levy
145768bf9b Unmaintain a bunch of packages 2015-07-01 08:11:05 -04:00
Matthew Maurer
6a76633bb6 llvm-3.4: enable RTTI (close #8289) 2015-06-11 22:09:46 +02:00
Vladimír Čunát
6732b3b8ad clang-3.4: fix build by adding zlib
I didn't care enough to search for cause of the regression.
2015-05-30 15:42:15 +02:00
Peter Simons
fbfec3fc35 llvmPackages_34.dragonegg is broken because the required "ABIHack.inc" patch has disappeared upstream 2015-04-01 14:31:48 +02:00
Eric Seidel
69d02b71a0 clang: add isClang passthru attribute to mirror isGNU 2015-03-24 20:37:01 -07:00
Shea Levy
6e3c9d5ce4 Fix fallout of recent cc-wrapper changes
Fixes tarball except for 56e21d05e8
2015-03-24 22:13:43 -04:00
Vladimír Čunát
a0bf07827b mpc: also rename the attribute to libmpc
Attrnames and package names should be as close as possible to avoid confusion.
I took care not to confuse the two mpc things during the mass-replace,
so hopefully I suceeded (tarball still builds).
2015-01-17 09:55:32 +01:00
Eric Seidel
f3c6827373 rename all occurrences of stdenv.cc.gcc to stdenv.cc.cc 2015-01-14 20:27:55 -08:00
John Wiegley
28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00
Eelco Dolstra
a4619673b5 clang/llvm: Fewer build-time dependencies
Such as valgrind, dejagnu, tcl/tk, ...
2014-10-11 22:26:39 +02:00
Eelco Dolstra
cb9f69c052 llvm: Don't depend on Python on Darwin
There already is a Python in /usr/bin, so we don't need to build
another one.
2014-09-23 13:13:53 +02:00
Joel Taylor
fa9b1f9cda build nix head successfully 2014-09-09 13:54:57 -07:00
Eric Seidel
0577499d74 fix some packages on darwin 2014-09-09 13:54:26 -07:00
Joel Taylor
7da056233f wip libc++ 2014-09-09 13:54:25 -07:00
Vladimír Čunát
6295a3ca36 Merge recent master into x-updates
Hydra: ?compare=1142825

Conflicts (easy):
	pkgs/applications/audio/lmms/default.nix
	pkgs/desktops/e18/enlightenment.nix
	pkgs/games/exult/default.nix
	pkgs/os-specific/linux/alsa-plugins/default.nix
2014-08-02 05:08:07 +02:00
Mateusz Kowalczyk
7a45996233 Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
Vladimír Čunát
219cae447d llvmPackages: maintenance update to 3.4.2
Updated all that was released: llvm, clang, and libc++.
2014-06-20 00:23:52 +02:00
Vladimír Čunát
4d269593d2 dragonegg: fix build, probably after gcc minor update 2014-05-30 11:03:54 +02:00
Vladimír Čunát
872860e6de Merge #1187 into p/stdenv
Tested building firefox, kdelibs, evince on x86_64-linux.
2014-05-29 22:16:07 +02:00
Vladimír Čunát
0430f59d64 llvmPackages.lld: fix build after 3.4.1 update
Somehow I forgot this package.
2014-05-16 18:29:12 +02:00
Vladimír Čunát
cf1dbbbf72 llvm+clang: maintenance update 3.4 -> 3.4.1
Slightly hacky for clang at some points, as directory names change strangely.
2014-05-15 21:02:28 +02:00
Ricardo M. Correia
f9cd53ba18 llvm: Add support for grsecurity 2014-05-15 13:25:47 +02:00
Vladimír Čunát
07dc578572 llvm(Packages) on darwin: attempts to fix
- mark llvm34 as broken on darwin (so it doesn't install by default with nix-env)
- don't use our gcc for llvm_34 (might fix the build)
- switch also clang default to 3.3 on darwin (llvm was before)
2014-04-10 21:19:40 +02:00
Maxim Ivanov
2780cf2838 Fix -fsanitize=... options for clang
When using -fsanitize=... options clang implicitly
links binary to static libraries which are part of
llvm, but expects them to be found under clang prefix
2014-03-26 13:06:22 +00:00
Mathijs Kwik
fc30e8e9b5 llvm: remove duplicate ncurses buildInput 2014-02-06 10:01:13 +01:00
Shea Levy
9cf29b7039 llvm: Propagate ncurses and zlib
Really shouldn't be needed with shared libs, should patch llvm-config

Fixes #1601

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-03 18:11:00 -05:00
Shea Levy
134546bca2 clang: Fix linking with -flto
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-02 20:39:16 -05:00
Shea Levy
86c587134b llvm-3.4: Try to fix build on darwin
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-02 19:47:59 -05:00
Eelco Dolstra
e8a401a0c9 llvm-3.4: Only build on Linux
It doesn't build on Darwin because it depends on Valgrind:
http://hydra.nixos.org/build/8616143/nixlog/1/raw
2014-01-30 13:49:17 +01:00
Shea Levy
1cb628c2e7 clang: the --sysroot purity trick doesn't take care of the -dynamic-linker setting
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-27 12:50:21 -05:00
Shea Levy
407c60fdf9 Fix tarball
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-20 20:33:06 -05:00
Shea Levy
fea2266290 llvm: Split llvmFull into separate derivations
Now most packages in the llvm suite are built as separate derivations.
The exceptions are:

* compiler-rt must currently be built with llvm. This increases llvm's
  size by 6 MB
* clang-tools-extra must be built with clang

In addition, the top-level llvm attribute is defaulted to llvm 3.4, and
llvm 3.3 must be accessed by the llvm_33 attribute. This is to make the
out-of-date packages obvious in the hope that eventually all will be
updated to work with 3.4 and 3.3 can be removed. I think we should keep
this policy in the future (latest llvm gets top-level name, the rest are
versioned until they can be removed).

The llvm packages (except libc++, which exception I will try to remove
on the next update) can all be accessed via the llvmPackages attribute,
and there are also aliases for the packages that already existed (llvm,
clang, and dragonegg).

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-20 20:33:06 -05:00