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
