llvm update attempt + dragonegg
svn path=/nixpkgs/trunk/; revision=22234
This commit is contained in:
parent
7ac1e6a12b
commit
e6ad625902
@ -136,7 +136,7 @@ stdenv.mkDerivation ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
patches =
|
patches =
|
||||||
[ ./softfp-hurd.patch ]
|
[ ./softfp-hurd.patch ./dragonegg-2.7.patch ]
|
||||||
++ optional (cross != null) ./libstdc++-target.patch
|
++ optional (cross != null) ./libstdc++-target.patch
|
||||||
++ optional noSysDirs ./no-sys-dirs.patch
|
++ optional noSysDirs ./no-sys-dirs.patch
|
||||||
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
|
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
|
||||||
@ -204,6 +204,8 @@ stdenv.mkDerivation ({
|
|||||||
--disable-libstdcxx-pch
|
--disable-libstdcxx-pch
|
||||||
--without-included-gettext
|
--without-included-gettext
|
||||||
--with-system-zlib
|
--with-system-zlib
|
||||||
|
--enable-lto
|
||||||
|
--enable-plugin
|
||||||
--enable-languages=${
|
--enable-languages=${
|
||||||
concatStrings (intersperse ","
|
concatStrings (intersperse ","
|
||||||
( optional langC "c"
|
( optional langC "c"
|
||||||
|
46
pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch
Normal file
46
pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
Index: mainline/gcc/config/i386/i386.c
|
||||||
|
===================================================================
|
||||||
|
--- mainline.orig/gcc/config/i386/i386.c 2010-04-02 09:11:58.733574308 +0200
|
||||||
|
+++ mainline/gcc/config/i386/i386.c 2010-04-02 09:29:11.276111437 +0200
|
||||||
|
@@ -4992,7 +4992,8 @@
|
||||||
|
case, we return the original mode and warn ABI change if CUM isn't
|
||||||
|
NULL. */
|
||||||
|
|
||||||
|
-static enum machine_mode
|
||||||
|
+extern enum machine_mode type_natural_mode (const_tree, CUMULATIVE_ARGS *);
|
||||||
|
+enum machine_mode
|
||||||
|
type_natural_mode (const_tree type, CUMULATIVE_ARGS *cum)
|
||||||
|
{
|
||||||
|
enum machine_mode mode = TYPE_MODE (type);
|
||||||
|
@@ -5123,7 +5124,9 @@
|
||||||
|
See the x86-64 PS ABI for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-static int
|
||||||
|
+extern int classify_argument (enum machine_mode, const_tree,
|
||||||
|
+ enum x86_64_reg_class [MAX_CLASSES], int);
|
||||||
|
+int
|
||||||
|
classify_argument (enum machine_mode mode, const_tree type,
|
||||||
|
enum x86_64_reg_class classes[MAX_CLASSES], int bit_offset)
|
||||||
|
{
|
||||||
|
@@ -5504,7 +5507,9 @@
|
||||||
|
|
||||||
|
/* Examine the argument and return set number of register required in each
|
||||||
|
class. Return 0 iff parameter should be passed in memory. */
|
||||||
|
-static int
|
||||||
|
+extern int examine_argument (enum machine_mode, const_tree, int,
|
||||||
|
+ int *, int *);
|
||||||
|
+int
|
||||||
|
examine_argument (enum machine_mode mode, const_tree type, int in_return,
|
||||||
|
int *int_nregs, int *sse_nregs)
|
||||||
|
{
|
||||||
|
@@ -6186,7 +6191,8 @@
|
||||||
|
|
||||||
|
/* Return true when TYPE should be 128bit aligned for 32bit argument passing
|
||||||
|
ABI. */
|
||||||
|
-static bool
|
||||||
|
+extern bool contains_aligned_value_p (tree);
|
||||||
|
+bool
|
||||||
|
contains_aligned_value_p (tree type)
|
||||||
|
{
|
||||||
|
enum machine_mode mode = TYPE_MODE (type);
|
@ -1,11 +1,11 @@
|
|||||||
{stdenv, fetchurl, gcc, flex, perl, libtool }:
|
{stdenv, fetchurl, gcc, flex, perl, libtool, groff }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "llvm-2.2";
|
name = "llvm-2.7";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://llvm.org/releases/2.2/llvm-2.2.tar.gz;
|
url = http://llvm.org/releases/2.7/llvm-2.7.tgz;
|
||||||
sha256 = "788d871aec139e0c61d49533d0252b21c4cd030e91405491ee8cb9b2d0311072";
|
sha256 = "19dwvfyxr851fjfsaxbm56gdj9mlivr37bv6h41hd8q3hpf4nrlr";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gcc flex perl libtool ];
|
buildInputs = [ gcc flex perl libtool groff ];
|
||||||
}
|
}
|
||||||
|
15
pkgs/development/libraries/dragonegg/default.nix
Normal file
15
pkgs/development/libraries/dragonegg/default.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{stdenv, fetchsvn, llvm}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "dragonegg-2.7";
|
||||||
|
|
||||||
|
GCC = "gcc";
|
||||||
|
|
||||||
|
buildInputs = [ llvm ];
|
||||||
|
|
||||||
|
src = fetchsvn {
|
||||||
|
url = http://llvm.org/svn/llvm-project/dragonegg/branches/release_27;
|
||||||
|
rev = 105882;
|
||||||
|
sha256 = "0j0mj3zm1nd8kaj3b28b3w2dlzc1xbywq4mcdxk5nq4yds6rx5np";
|
||||||
|
};
|
||||||
|
}
|
@ -2506,7 +2506,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
llvm = import ../development/compilers/llvm {
|
llvm = import ../development/compilers/llvm {
|
||||||
inherit fetchurl stdenv gcc flex perl libtool;
|
inherit fetchurl stdenv gcc flex perl libtool groff;
|
||||||
};
|
};
|
||||||
|
|
||||||
llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
|
llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
|
||||||
@ -3709,6 +3709,11 @@ let
|
|||||||
libXrender;
|
libXrender;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dragonegg = import ../development/libraries/dragonegg {
|
||||||
|
inherit fetchsvn llvm;
|
||||||
|
stdenv = overrideGCC stdenv gcc45;
|
||||||
|
};
|
||||||
|
|
||||||
enchant = makeOverridable (import ../development/libraries/enchant) {
|
enchant = makeOverridable (import ../development/libraries/enchant) {
|
||||||
inherit fetchurl stdenv aspell pkgconfig;
|
inherit fetchurl stdenv aspell pkgconfig;
|
||||||
inherit (gnome) glib;
|
inherit (gnome) glib;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user