summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/reduce-unbundle-libffi.patch
blob: 21529840b6930d3cf723430371e4d7ead9fce03f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
This patch unbundles libffi.

Index: autogen.sh
===================================================================
diff --git a/autogen.sh b/autogen.sh
--- a/autogen.sh	(revision 6860)
+++ b/autogen.sh	(working copy)
@@ -142,18 +142,6 @@
   ;;
 *--with-csl* | *--with-both*)
   L="$L ./csl ./csl/cslbase ./csl/cslbase-nothrow ./libraries/SoftFloat-3a/source"
-# On Apple m1 (ie arm64) I will want to build a universal version of the
-# libffi library and that is done in a way that differs from standrad builds.
-  case "`uname -s` `uname -m`" in
-  *Darwin*arm64*)
-    L="$L ./libraries/libffi-for-mac/libffi-3.3-arm64"
-    L="$L ./libraries/libffi-for-mac/libffi-3.3-x86_64"
-    L="$L ./libraries/libffi"
-    ;;
-  *)
-    L="$L ./libraries/libffi"
-    ;;
-  esac
   case $a in
   *--without-fox* | *with-fox=no* | \
   *--without-gui* | *with-gui=no*)
Index: configure.ac
===================================================================
diff --git a/configure.ac b/configure.ac
--- a/configure.ac	(revision 6860)
+++ b/configure.ac	(working copy)
@@ -1389,37 +1389,6 @@
   cd "$builddir"
 fi
 
-AC_MSG_NOTICE([About to configure libffi])
-mkdir -p libffi
-if test `uname` = "Darwin" && test "$enable_universal" != "no"
-then
-# This is a messy script that arranges to build a universal version of
-# the library on MacOS. It does this by building arm64 and an x86_64
-# separately and then merging the resulting libraries.
-  sed "s+@srcdir@+$abssrcdir+" \
-     < $abssrcdir/libraries/libffi-for-mac/Makefile \
-     > libffi/Makefile
-else
-  cd libffi
-  setpasscc
-  doconfig="$SHELL $abssrcdir/libraries/libffi/configure -C $filtered \
-          $pass_host \
-          CPPFLAGS=\"$CPPFLAGS\" \
-          CFLAGS=\"$CFLAGS\" \
-          CXXFLAGS=\"$CXXFLAGS\" \
-          LDFLAGS=\"$LDFLAGS\" \
-          $passcc \
-          --disable-multi-os-directory \
-          --disable-docs \
-          --prefix=\"$builddir\" \
-          --libdir=\"$builddir/lib\" \
-          --includedir=\"$builddir/include\""
-  AC_MSG_NOTICE([doconfig = $doconfig])
-  printf "\n\n+++ About to configure libffi +++\n\n"
-  eval "$doconfig"
-  cd "$builddir"
-fi
-
 AC_MSG_NOTICE([About to configure libsoftfloat])
 mkdir -p softfloat
 cd softfloat
Index: csl/cslbase/Makefile.am
===================================================================
diff --git a/csl/cslbase/Makefile.am b/csl/cslbase/Makefile.am
--- a/csl/cslbase/Makefile.am	(revision 6860)
+++ b/csl/cslbase/Makefile.am	(working copy)
@@ -807,35 +807,6 @@
 
 endif !crlibm
 
-LIBFFIDEPS=../lib/libffi.a ../include/ffi.h
-
-FFIDEP = ../include/ffi.h
-FFIINC = -I../include
-AM_CPPFLAGS     += $(FFINC)
-reduce_CPPFLAGS += $(FFINC)
-bootstrapreduce_CPPFLAGS += $(FFINC)
-csl_CPPFLAGS    += $(FFINC)
-flatcsl_CPPFLAGS    += $(FFINC)
-
-# The following ugly dependencies are here so that one can go, for
-# instance, "make csl.o" in a clean tree and libffi building will get
-# triggered.
-
-
-csl_LDADD += ../lib/libffi.a
-flatcsl_LDADD += ../lib/libffi.a
-bootstrapreduce_LDADD += ../lib/libffi.a
-reduce_LDADD += ../lib/libffi.a
-
-csl_DEPENDENCIES += $(LIBFFIDEPS)
-flatcsl_DEPENDENCIES += $(LIBFFIDEPS)
-bootstrapreduce_DEPENDENCIES += $(LIBFFIDEPS)
-reduce_DEPENDENCIES += $(LIBFFIDEPS)
-
-$(LIBFFIDEPS):
-	@printf "About to build libffi for %s ($@)\n" `pwd`
-	-$(TRACE)@$(MAKE) -C ../libffi install
-
 SOFTFLOATDEPS=../lib/libsoftfloat.a ../include/softfloat.h
 
 SOFTFLOATDEP = ../include/softfloat.h
Index: csl/cslbase/configure.ac
===================================================================
diff --git a/csl/cslbase/configure.ac b/csl/cslbase/configure.ac
--- a/csl/cslbase/configure.ac	(revision 6860)
+++ b/csl/cslbase/configure.ac	(working copy)
@@ -146,8 +146,8 @@
   AC_DEFINE(WITHOUT_FFI, [1], [remove the foreign function support])
 fi
 
+AC_SEARCH_LIBS([ffi_call], [ffi])
 
-
 # What host am I on?
 AC_CANONICAL_HOST()