mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-24 16:03:23 +00:00
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 =
|
||||
[ ./softfp-hurd.patch ]
|
||||
[ ./softfp-hurd.patch ./dragonegg-2.7.patch ]
|
||||
++ optional (cross != null) ./libstdc++-target.patch
|
||||
++ optional noSysDirs ./no-sys-dirs.patch
|
||||
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
|
||||
@ -204,6 +204,8 @@ stdenv.mkDerivation ({
|
||||
--disable-libstdcxx-pch
|
||||
--without-included-gettext
|
||||
--with-system-zlib
|
||||
--enable-lto
|
||||
--enable-plugin
|
||||
--enable-languages=${
|
||||
concatStrings (intersperse ","
|
||||
( 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 {
|
||||
name = "llvm-2.2";
|
||||
name = "llvm-2.7";
|
||||
src = fetchurl {
|
||||
url = http://llvm.org/releases/2.2/llvm-2.2.tar.gz;
|
||||
sha256 = "788d871aec139e0c61d49533d0252b21c4cd030e91405491ee8cb9b2d0311072";
|
||||
url = http://llvm.org/releases/2.7/llvm-2.7.tgz;
|
||||
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 {
|
||||
inherit fetchurl stdenv gcc flex perl libtool;
|
||||
inherit fetchurl stdenv gcc flex perl libtool groff;
|
||||
};
|
||||
|
||||
llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) {
|
||||
@ -3709,6 +3709,11 @@ let
|
||||
libXrender;
|
||||
};
|
||||
|
||||
dragonegg = import ../development/libraries/dragonegg {
|
||||
inherit fetchsvn llvm;
|
||||
stdenv = overrideGCC stdenv gcc45;
|
||||
};
|
||||
|
||||
enchant = makeOverridable (import ../development/libraries/enchant) {
|
||||
inherit fetchurl stdenv aspell pkgconfig;
|
||||
inherit (gnome) glib;
|
||||
|
Loading…
Reference in New Issue
Block a user