Re: HEAD: func_quote_for_expand and Solaris 2.6 /bin/sed
Ralf Wildenhues [EMAIL PROTECTED] writes: On HEAD, quote.test currently fails on Solaris 2.6, because the sed_double_backslash script is not portable its /bin/sed, which is not POSIX conforming. This script in general.m4sh is the culprit: [...] I'm a bit out of ideas how to fix this easily, while maintaining full generality at the same time. Hm, did you consider using something like this? --- snip --- bs='\\' bs2='' bs4='' dollar='\$' sed_double_backslash=\ s/$bs4/$bs4\\ /g s/\n$bs2$dollar/$bs2$bs$dollar/g s/\n//g --- snip --- I think it is general and it should be portable. Well, at least it seems to work with /bin/sh of Solaris. Bye, Ralf Menzel
Re: HEAD: func_quote_for_expand and Solaris 2.6 /bin/sed
Ralf Menzel [EMAIL PROTECTED] writes: Hm, did you consider using something like this? [...] Oops, that was an early version. Here is the latest version: --- snip --- sed_double_backslash=\ s/$bs4/$bs4\\ /g s/^$bs2$dollar/$bs2$bs$dollar/ s/\\([[^$bs]]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g --- snip --- Bye, Ralf Menzel
Re: Support -library=stlport4 with Sun C++ compiler
Hi, Albert Chin [EMAIL PROTECTED] writes: Good catch. Updated patch attached. 2006-08-01 Albert Chin [EMAIL PROTECTED] * libtool.m4 (AC_LIBTOOL_POSTDEP_PREDEP) [ solaris ]: Don't set $postdeps to -lCstd -lCrun if -library=stlport4 set in CXXFLAGS as stlport4 C++ library incompatible with Cstd C++ library. Use '-library=Cstd -library=Crun' instead of '-lCstd -lCrun'. 2006-08-01 Albert Chin [EMAIL PROTECTED] * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS) [ solaris ]: Don't set $postdeps to -lCstd -lCrun if -library=stlport4 set in CXXFLAGS as stlport4 C++ library incompatible with Cstd C++ library. Use '-library=Cstd -library=Crun' instead of '-lCstd -lCrun'. I found some problems with the patches: 1. In the patch for libtool-HEAD the 'for ... do' line is superflous. 2. _LT_AC_TAGVAR doesn't seem to work with libtool-HEAD. I used _LT_TAGVAR, which seems to work. 3. In libtool-HEAD the patch addresses the Sun C compiler for Linux and not for Solaris, while the patch for libtool-1-5 addresses the Solaris compiler and ignores the linux version. The following patches seem to work for me: libtool-1-5-patch Description: Patch for libtool-1-5 libtool-HEAD-patch Description: Patch for libtool-HEAD
Re: loop in libtool m4 macros
Ralf Wildenhues [EMAIL PROTECTED] writes: Any pointers/help much appreciated. Well, I probably don't know as much about m4 as you do. But I had a look nevertheless Index: m4/libtool.m4 [...] -[lt_join($@, lt_decl_varnames_tagged([$1], [...] Well I head a look at the traces. This indicated that lt_combine might be the culprit. (lt_join uses lt_combine.) Though I didn't know what this might effect, I made the following change. (More or less just because _lt_combine looks similar.) --- snip --- Index: m4/ltsugar.m4 === RCS file: /cvsroot/libtool/libtool/m4/ltsugar.m4,v retrieving revision 1.3 diff -u -p -r1.3 ltsugar.m4 --- m4/ltsugar.m4 8 Jan 2005 21:17:57 - 1.3 +++ m4/ltsugar.m4 9 Jun 2005 16:36:48 - @@ -38,7 +38,7 @@ m4_define([lt_join], # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. m4_define([lt_combine], -[m4_if([$2], [[]], [], +[m4_if([$2], [], [], [lt_join(m4_quote(m4_default([$1], [, ])), _$0([$1], m4_car($2)[$3], m4_shiftn(3, $@)), $0([$1], m4_cdr($2), m4_shiftn(2, $@)))])]) --- snip --- I was pleasently suprised to see, that the loop disapeared. But instead I got another error: --- snip --- configure.ac:44: error: Unknown option `' to LT_INIT_LIBTOOL ../../m4/libtool.m4:83: LT_INIT is expanded from... configure.ac:44: the top level autom4te: /home/menzel/sw5.9-gcc3.4/bin/m4 failed with exit status: 1 --- snip --- The error came for every configure.ac where LT_INIT is used without options. I'd try the following change but haven't got time to test it now. Maybe someone else can make further investigation. --- snip --- Index: m4/ltoptions.m4 === RCS file: /cvsroot/libtool/libtool/m4/ltoptions.m4,v retrieving revision 1.10 diff -u -p -r1.10 ltoptions.m4 --- m4/ltoptions.m4 8 Jan 2005 21:17:57 - 1.10 +++ m4/ltoptions.m4 9 Jun 2005 16:36:48 - @@ -52,10 +52,11 @@ m4_ifdef([$0_found], [m4_undefine([$0_fo # and exit. m4_define([_LT_SET_OPTIONS], [AC_FOREACH([_LT_Option], [$1], -[_LT_SET_OPTION(_LT_Option) -m4_ifdef(_LT_MANGLE_DEFUN(_LT_Option), - _LT_MANGLE_DEFUN(_LT_Option), - [m4_fatal([Unknown option `]_LT_Option[' to LT][_INIT_LIBTOOL])]) +[m4_if(_LT_Option, [], [], + [_LT_SET_OPTION(_LT_Option) + m4_ifdef(_LT_MANGLE_DEFUN(_LT_Option), + _LT_MANGLE_DEFUN(_LT_Option), + [m4_fatal([Unknown option `]_LT_Option[' to LT][_INIT_LIBTOOL])])]) ])dnl dnl dnl Simply set some default values (i.e off) if boolean options were not --- snip --- Bye, Ralf Menzel
Re: Solaris whole_archive update
Hello, Ralf Wildenhues [EMAIL PROTECTED] writes: * Ralf Wildenhues wrote on Fri, Apr 22, 2005 at 06:14:17PM CEST: Could you please test this as well on your respective Solaris systems, so we don't get a bogus 1.5.16 release? Thank you very much. Oh Brother. This is the correct patch for branch-1-5, the other one was bogus. OK, I'm not sure what this patch is supposed to patch and how I should test this. What I did is the following: I applied the patch to a recent branch-1-5 check out. After that I executed ../configure ; make ; make check for the four different compilers that I have available. I could find no differences in output of make check between the patched and the unpatched versions. The check results are (all on a Solaris 2.9 system): gcc 3.4.3: ... == All 111 tests passed (1 tests were not run) == cc: Sun WorkShop 6 update 2 C 5.3 Patch 111679-14 2004/02/20 and cc: Sun C 5.5 Patch 112760-16 2005/01/25: ... PASS: tagdemo-conf.test FAIL: tagdemo-make.test SKIP: tagdemo-exec.test PASS: tagdemo-shared.test FAIL: tagdemo-make.test SKIP: tagdemo-exec.test ... 2 of 109 tests failed (3 tests were not run) Please report to bug-libtool@gnu.org cc: Sun C 5.6 Patch 117551-03 2004/11/23: ... PASS: tagdemo-conf.test FAIL: tagdemo-make.test SKIP: tagdemo-exec.test PASS: tagdemo-shared.test FAIL: tagdemo-make.test SKIP: tagdemo-exec.test FAIL: f77demo-static.test SKIP: f77demo-make.test SKIP: f77demo-exec.test FAIL: f77demo-conf.test SKIP: f77demo-make.test SKIP: f77demo-exec.test FAIL: f77demo-shared.test SKIP: f77demo-make.test SKIP: f77demo-exec.test 5 of 103 tests failed (9 tests were not run) Please report to bug-libtool@gnu.org I will now do the same thing for a branch-2-0 check out. Bye, Ralf Menzel
Re: Solaris whole_archive update
Hi, Ralf Wildenhues [EMAIL PROTECTED] writes: For now it would suffice if you tried the following (additionally to making sure there are no regressions in the test suite): for each $CC above, go to the build dir, and execute [snip] $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static main.lo libcee.la $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.lo libcee.la The last two commands should compile and the binaries return 0. OK, I get [anarion:conv]324 ./main ; echo $? 0 [anarion:conv]325 ./main_static ; echo $? 0 for all four compilers (gcc 3.4.3 and Sun Workshop 6.2, 8 and 9) for branch-1-5 as well as for branch-2-0. Bye, Ralf Menzel