Hi Peter,
Thanks for the fast response.
Peter O'Gorman wrote:
A secondary issue is that changing this to "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress" does not work, and the string passed to g++ must be "-Wl,-flat_namespace -Wl,-undefined suppress"
While I have seen this issue before, I have never seen a failure associated with it. Is sleepycat seeing an actual failure?
Isn't the problem report -Wl,suppress vs suppress, rather than the wonky ${wl} in the $show?
Here is what I get with sh -x and libtool's tagdemo with -no-undefined removed from the makefile:
++ cmd=g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0
+ echo 'g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0'
g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0
+ eval 'g++ -dynamiclib -single_module ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0'
++ g++ -dynamiclib -single_module -Wl,-flat_namespace -Wl,-undefined -Wl,suppress -o .libs/libbaz.0.0.0.dylib .libs/baz.o .libs/libbaz.lax/libfoo.a/foo.o -install_name /Users/peter/libtool-1.5.10/tests/_inst/lib/libbaz.0.dylib -Wl,-compatibility_version -Wl,1 -Wl,-current_version -Wl,1.0
As you can see the ${wl} is printed with the $echo, but when g++ is actually called, it is properly eval'ed.
Ah, yes I have seen this too, now that you explain it. We need to figure out which $show is responsible, and make it into an eval $show...
Gary, we need some tests without -no-undefined on platforms which support generating shared libraries with undefined symbols.
I'll submit a patch proposal presently.
Cheers, Gary. -- Gary V. Vaughan ())_. [EMAIL PROTECTED],gnu.org} Research Scientist ( '/ http://tkd.kicks-ass.net GNU Hacker / )= http://www.gnu.org/software/libtool Technical Author `(_~)_ http://sources.redhat.com/autobook
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/libtool