summaryrefslogtreecommitdiff
path: root/patches/patch-small-lib-2
blob: 938e36ab632e8a5bf3dd0661e4ddd134845182c6 (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
Index: autogen.sh
===================================================================
RCS file: /cvs/liboil/liboil/autogen.sh,v
retrieving revision 1.8
diff -u -r1.8 autogen.sh
--- autogen.sh	26 Jul 2005 20:32:36 -0000	1.8
+++ autogen.sh	3 Aug 2005 21:16:18 -0000
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 autoreconf -i -f &&
-./configure --enable-maintainer-mode --disable-static $@
+./configure --enable-maintainer-mode --disable-static --enable-library-peeling $@
Index: configure.ac
===================================================================
RCS file: /cvs/liboil/liboil/configure.ac,v
retrieving revision 1.56
diff -u -r1.56 configure.ac
--- configure.ac	3 Aug 2005 03:33:47 -0000	1.56
+++ configure.ac	3 Aug 2005 21:16:18 -0000
@@ -60,6 +60,14 @@
   AC_DEFINE(ENABLE_BROKEN_IMPLS, 1, [Define if compiling broken implementations])
 fi
 
+AC_ARG_ENABLE(library-peeling,
+  AC_HELP_STRING([--enable-library-peeling],[peel unused functions]),
+  enable_library_peeling=$enableval,enable_broken_implementations=no)
+if test "x$enable_library_peeling" = xyes ; then
+  AC_DEFINE(ENABLE_PEELING, 1, [Define if peeling library])
+  LIBOIL_CFLAGS="$LIBOIL_CFLAGS -ffunction-sections -fdata-sections"
+fi
+
 ##################################################
 # Check for gtk-doc.
 ##################################################
Index: liboil/Makefile.am
===================================================================
RCS file: /cvs/liboil/liboil/liboil/Makefile.am,v
retrieving revision 1.41
diff -u -r1.41 Makefile.am
--- liboil/Makefile.am	3 Aug 2005 03:33:47 -0000	1.41
+++ liboil/Makefile.am	3 Aug 2005 21:16:18 -0000
@@ -46,7 +46,6 @@
 	-no-undefined \
 	-export-symbols-regex 'oil_'
 liboiltmp1_la_LIBADD = \
-	liboilfunctions.la \
 	$(LIBM)
 
 liboil_@LIBOIL_MAJORMINOR@_la_SOURCES = \
@@ -67,12 +66,12 @@
 	liboiltest.c \
 	liboilmarshal.c
 liboil_@LIBOIL_MAJORMINOR@_la_LIBADD = \
-	liboilfunctions.la \
 	$(LIBM)
 liboil_@LIBOIL_MAJORMINOR@_la_CFLAGS = $(LIBOIL_CFLAGS)
 liboil_@LIBOIL_MAJORMINOR@_la_LDFLAGS = \
 	-no-undefined \
 	-version-info $(LIBOIL_LIBVERSION) \
+	.libs/liboilfunctions.a \
 	-export-symbols-regex '^oil_'
 
 # This is required to use 'make -j2'. Automake doesn't seem to notice
@@ -111,11 +110,11 @@
 	echo '  NULL' >>liboilarray.c.tmp
 	echo '};' >>liboilarray.c.tmp
 	echo >>liboilarray.c.tmp
-	grep '^_oil_function_impl_' .libs/liboiltmp1.exp | \
+	grep '^_oil_function_impl_.*ref' .libs/liboiltmp1.exp | \
 	  sed 's/.*/extern OilFunctionImpl &;/' >>liboilarray.c.tmp
 	echo >>liboilarray.c.tmp
 	echo 'OilFunctionImpl *_oil_function_impl_array[] = {' >>liboilarray.c.tmp
-	grep '^_oil_function_impl_' .libs/liboiltmp1.exp | \
+	grep '^_oil_function_impl_.*ref' .libs/liboiltmp1.exp | \
 	  sed 's/.*/  \&&,/' >>liboilarray.c.tmp
 	echo '  NULL' >>liboilarray.c.tmp
 	echo '};' >>liboilarray.c.tmp