This should finally fix #5293 by fixing two bugs in GMP's configuration setup
[packages/integer-gmp.git] / gmp / tarball / patch
1 diff -ur gmp-5.0.2.orig/Makefile.am gmp-5.0.2/Makefile.am
2 --- gmp-5.0.2.orig/Makefile.am  2011-05-08 10:49:29.000000000 +0100
3 +++ gmp-5.0.2/Makefile.am       2011-07-27 17:58:20.000000000 +0100
4 @@ -93,7 +93,7 @@
5  LIBMP_LT_AGE =      1
6  
7  
8 -SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd demos tune doc
9 +SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd demos tune
10  
11  EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf
12  
13 diff -ur gmp-5.0.2.orig/Makefile.in gmp-5.0.2/Makefile.in
14 --- gmp-5.0.2.orig/Makefile.in  2011-05-08 10:49:35.000000000 +0100
15 +++ gmp-5.0.2/Makefile.in       2011-07-27 17:58:13.000000000 +0100
16 @@ -435,7 +435,7 @@
17  LIBMP_LT_CURRENT = 4
18  LIBMP_LT_REVISION = 22
19  LIBMP_LT_AGE = 1
20 -SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd demos tune doc
21 +SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd demos tune
22  
23  # The ansi2knr setups for the build programs are the same as the normal
24  # automake ansi2knr rules, but using $(CC_FOR_BUILD) instead of $(CC).
25 diff -ur gmp-5.0.2.orig/configure gmp-5.0.2/configure
26 --- gmp-5.0.2.orig/configure    2011-05-08 10:49:33.000000000 +0100
27 +++ gmp-5.0.2/configure 2011-07-27 18:00:11.000000000 +0100
28 @@ -28478,7 +28478,7 @@
29  # FIXME: Upcoming version of autoconf/automake may not like broken lines.
30  #        Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
31  
32 -ac_config_files="$ac_config_files Makefile mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile tests/mpf/Makefile tests/mpn/Makefile tests/mpq/Makefile tests/mpz/Makefile tests/rand/Makefile tests/misc/Makefile tests/cxx/Makefile doc/Makefile tune/Makefile demos/Makefile demos/calc/Makefile demos/expr/Makefile gmp.h:gmp-h.in mp.h:mp-h.in"
33 +ac_config_files="$ac_config_files Makefile mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile tests/mpf/Makefile tests/mpn/Makefile tests/mpq/Makefile tests/mpz/Makefile tests/rand/Makefile tests/misc/Makefile tests/cxx/Makefile tune/Makefile demos/Makefile demos/calc/Makefile demos/expr/Makefile gmp.h:gmp-h.in mp.h:mp-h.in"
34  
35  cat >confcache <<\_ACEOF
36  # This file is a shell script that caches the results of configure
37 @@ -29665,7 +29665,6 @@
38      "tests/rand/Makefile") CONFIG_FILES="$CONFIG_FILES tests/rand/Makefile" ;;
39      "tests/misc/Makefile") CONFIG_FILES="$CONFIG_FILES tests/misc/Makefile" ;;
40      "tests/cxx/Makefile") CONFIG_FILES="$CONFIG_FILES tests/cxx/Makefile" ;;
41 -    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
42      "tune/Makefile") CONFIG_FILES="$CONFIG_FILES tune/Makefile" ;;
43      "demos/Makefile") CONFIG_FILES="$CONFIG_FILES demos/Makefile" ;;
44      "demos/calc/Makefile") CONFIG_FILES="$CONFIG_FILES demos/calc/Makefile" ;;
45 Only in gmp-5.0.2.orig: doc
46 diff -ur gmp-5.0.2.orig/memory.c gmp-5.0.2/memory.c
47 --- gmp-5.0.2.orig/memory.c     2011-05-08 10:49:29.000000000 +0100
48 +++ gmp-5.0.2/memory.c  2011-07-27 15:18:21.000000000 +0100
49 @@ -24,10 +24,21 @@
50  #include "gmp-impl.h"
51  
52  
53 +/* Patched for GHC: */
54 +void * stgAllocForGMP   (size_t size_in_bytes);
55 +void * stgReallocForGMP (void *ptr, size_t old_size, size_t new_size);
56 +void   stgDeallocForGMP (void *ptr, size_t size);
57 +
58 +void *  (*__gmp_allocate_func) __GMP_PROTO ((size_t)) = stgAllocForGMP;
59 +void *  (*__gmp_reallocate_func) __GMP_PROTO ((void *, size_t, size_t))
60 +     = stgReallocForGMP;
61 +void    (*__gmp_free_func) __GMP_PROTO ((void *, size_t)) = stgDeallocForGMP;
62 +/*
63  void * (*__gmp_allocate_func) __GMP_PROTO ((size_t)) = __gmp_default_allocate;
64  void * (*__gmp_reallocate_func) __GMP_PROTO ((void *, size_t, size_t))
65       = __gmp_default_reallocate;
66  void   (*__gmp_free_func) __GMP_PROTO ((void *, size_t)) = __gmp_default_free;
67 +*/
68  
69  
70  /* Default allocation functions.  In case of failure to allocate/reallocate
71 --- gmp-5.0.2.orig/configure.in 2011-08-04 16:35:01.000000000 +1000
72 +++ gmp-5.0.2/configure.in      2011-08-04 16:39:03.000000000 +1000
73 @@ -3178,6 +3178,7 @@
74            AC_DEFINE(HAVE_HOST_CPU_FAMILY_x86_64)
75           case $host in
76             *-*-darwin*)
77 +             GMP_DEFINE_RAW(["define(<PIC_ALWAYS>,<yes>)"])
78               GMP_INCLUDE_MPN(x86_64/darwin.m4) ;;
79           esac
80            ;;
81 --- gmp-5.0.2.orig/configure    2011-08-04 17:38:22.000000000 +1000
82 +++ gmp-5.0.2/configure 2011-08-04 17:39:04.000000000 +1000
83 @@ -27567,6 +27567,9 @@
84           case $host in
85             *-*-darwin*)
86  
87 +echo "define(<PIC_ALWAYS>,<yes>)" >> $gmp_tmpconfigm4
88 +
89 +
90  echo "include_mpn(\`x86_64/darwin.m4')" >> $gmp_tmpconfigm4i
91   ;;
92           esac
93 --- gmp-5.0.2.orig/mpn/asm-defs.m4      2011-08-04 23:11:19.000000000 +1000
94 +++ gmp-5.0.2/mpn/asm-defs.m4   2011-08-04 23:11:59.000000000 +1000
95 @@ -1041,7 +1041,7 @@
96  dnl  systems which are always PIC.  PIC_ALWAYS established in config.m4
97  dnl  identifies these for us.
98  
99 -ifelse(`PIC_ALWAYS',`yes',`define(`PIC')')
100 +ifelse(PIC_ALWAYS,yes,`define(`PIC')')
101  
102  
103  dnl  Various possible defines passed from the Makefile that are to be tested