2013-05-16 17:16:02 +02:00
|
|
|
{ stdenv, fetchurl, perl, groff, cmake, python, libffi, libcxx }:
|
2008-03-17 12:18:21 +01:00
|
|
|
|
2013-01-22 20:33:55 +01:00
|
|
|
let version = "3.2"; in
|
2011-10-18 18:37:28 +02:00
|
|
|
|
2011-10-19 22:57:18 +02:00
|
|
|
stdenv.mkDerivation {
|
2011-10-18 18:37:28 +02:00
|
|
|
name = "llvm-${version}";
|
|
|
|
|
2008-03-17 12:18:21 +01:00
|
|
|
src = fetchurl {
|
2012-10-08 05:25:11 +02:00
|
|
|
url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
|
2013-01-22 20:33:55 +01:00
|
|
|
sha256 = "0hv30v5l4fkgyijs56sr1pbrlzgd674pg143x7az2h37sb290l0j";
|
2008-03-17 12:18:21 +01:00
|
|
|
};
|
|
|
|
|
2013-05-16 17:16:02 +02:00
|
|
|
preConfigure = ''
|
|
|
|
patchShebangs .
|
|
|
|
export REQUIRES_RTTI=1
|
|
|
|
'';
|
2010-06-12 22:54:35 +02:00
|
|
|
|
2013-05-16 17:16:02 +02:00
|
|
|
# ToDo: polly, libc++; --enable-cxx11?
|
|
|
|
|
|
|
|
configureFlags = [
|
|
|
|
"--enable-shared" # saves half the size, and even more for e.g. mesa
|
|
|
|
"--disable-assertions" "--enable-optimized"
|
|
|
|
"--disable-timestamps" # embedding timestamps seems a danger to purity
|
|
|
|
"--enable-libffi"
|
|
|
|
#"--enable-experimental-targets=r600"
|
|
|
|
#"--enable-libcpp"
|
|
|
|
] ;
|
|
|
|
|
|
|
|
patches = [ ./set_soname.patch ]; # http://llvm.org/bugs/show_bug.cgi?id=12334
|
|
|
|
patchFlags = "-p0";
|
|
|
|
|
|
|
|
buildInputs = [ perl groff python ]
|
|
|
|
#++ [ libcxx ]
|
|
|
|
;
|
|
|
|
propagatedBuildInputs = [ libffi ];
|
2010-06-12 23:52:39 +02:00
|
|
|
|
2011-12-04 00:47:59 +01:00
|
|
|
enableParallelBuilding = true;
|
2013-05-16 17:16:02 +02:00
|
|
|
#ToDo: doCheck?
|
2011-12-04 00:47:59 +01:00
|
|
|
|
2010-06-12 22:54:35 +02:00
|
|
|
meta = {
|
|
|
|
homepage = http://llvm.org/;
|
|
|
|
description = "Collection of modular and reusable compiler and toolchain technologies";
|
2010-06-13 00:30:09 +02:00
|
|
|
license = "BSD";
|
2012-10-08 05:25:11 +02:00
|
|
|
maintainers = with stdenv.lib.maintainers; [viric shlevy raskin];
|
2011-12-19 14:00:03 +01:00
|
|
|
platforms = with stdenv.lib.platforms; all;
|
2010-06-12 22:54:35 +02:00
|
|
|
};
|
2008-03-17 12:18:21 +01:00
|
|
|
}
|