From: David F. <dav...@wo...> - 2008-07-11 15:30:34
|
Without --enable-shared, libtool doesn't generate symbol lists. Use some autogenerated-libtool-internals to sort it out. Tested with: gcc on linux-amd64, mingw crosscompile, osx-{ppc,intel} --- liboil/Makefile.am | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/liboil/Makefile.am b/liboil/Makefile.am index 3f6fbb6..e9d8ef5 100644 --- a/liboil/Makefile.am +++ b/liboil/Makefile.am @@ -207,25 +207,30 @@ build_trampolines_CFLAGS = $(LIBOIL_CFLAGS) build_trampolines_LDADD = $(LIBOIL_LIBS) liboilarray.c: liboiltmp1.la Makefile + ../libtool --config > .libs/libtoolcfg echo '/* This file is autogenerated. Do not edit */' >liboilarray.c.tmp echo >>liboilarray.c.tmp echo '#include <liboil/liboilfunction.h>' >>liboilarray.c.tmp echo >>liboilarray.c.tmp - grep '^_oil_function_class_' .libs/liboiltmp1.exp | \ - sed -e 's/ .*//' -e 's/.*/extern OilFunctionClass &;/' >>liboilarray.c.tmp + . .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \ + sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_class_ | \ + sed -e 's/.*/extern OilFunctionClass &;/' >>liboilarray.c.tmp echo >>liboilarray.c.tmp echo 'OilFunctionClass *_oil_function_class_array[] = {' >>liboilarray.c.tmp - grep '^_oil_function_class_' .libs/liboiltmp1.exp | \ - sed -e 's/ .*//' -e 's/.*/ \&&,/' >>liboilarray.c.tmp + . .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \ + sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_class_ | \ + sed -e 's/.*/ \&&,/' >>liboilarray.c.tmp echo ' NULL' >>liboilarray.c.tmp echo '};' >>liboilarray.c.tmp echo >>liboilarray.c.tmp - grep '^_oil_function_impl_' .libs/liboiltmp1.exp | \ - sed -e 's/ .*//' -e 's/.*/extern OilFunctionImpl &;/' >>liboilarray.c.tmp + . .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \ + sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_impl_ | \ + sed -e '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 | \ - sed -e 's/ .*//' -e 's/.*/ \&&,/' >>liboilarray.c.tmp + . .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \ + sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_impl_ | \ + sed -e 's/.*/ \&&,/' >>liboilarray.c.tmp echo ' NULL' >>liboilarray.c.tmp echo '};' >>liboilarray.c.tmp echo >>liboilarray.c.tmp -- 1.5.5 |