[SCM] GNU Libtool branch, master, updated. release-2-2-2-18-gd9a4d8f
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project GNU Libtool. The branch, master has been updated via d9a4d8f71ae415bb716dc8267a506a102bacf0b2 (commit) from 39903a5836fc563e83fe6aa614d75a2a3ebe04fe (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - commit d9a4d8f71ae415bb716dc8267a506a102bacf0b2 Author: Peter O'Gorman [EMAIL PROTECTED] Date: Mon Apr 21 15:18:41 2008 -0500 basename does not take a list of strings. * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed $basename. * tests/darwin.at: New. Check that we can built fat program, shared library and convenience library. * Makefile.am: Add test. Reported by LiKai Liu [EMAIL PROTECTED] --- Summary of changes: ChangeLog |8 Makefile.am|3 +- libltdl/config/ltmain.m4sh |2 +- tests/darwin.at| 96 4 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 tests/darwin.at diff --git a/ChangeLog b/ChangeLog index 4cc2147..b4d0388 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2008-04-21 Peter O'Gorman [EMAIL PROTECTED] + basename does not take a list of strings. + * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed + $basename. + * tests/darwin.at: New. Check that we can built fat program, + shared library and convenience library. + * Makefile.am: Add test. + Reported by LiKai Liu [EMAIL PROTECTED] + Use AC_CHECK_TOOL for lipo too. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. * libltdl/config/ltmain.m4sh (func_extract_archives): Use. diff --git a/Makefile.am b/Makefile.am index 480b647..0085c7f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -465,7 +465,8 @@ TESTSUITE_AT= tests/testsuite.at \ tests/deplibs-ident.at \ tests/configure-iface.at \ tests/stresstest.at \ - tests/cmdline_wrap.at + tests/cmdline_wrap.at \ + tests/darwin.at EXTRA_DIST += $(srcdir)/$(TESTSUITE) $(TESTSUITE_AT) $(srcdir)/tests/package.m4 diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 089f162..ff1e50d 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -,7 +,7 @@ func_extract_archives () $RM unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive} done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e $basename | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do diff --git a/tests/darwin.at b/tests/darwin.at new file mode 100644 index 000..adc0db6 --- /dev/null +++ b/tests/darwin.at @@ -0,0 +1,96 @@ +# darwin.at - tests specific to Mac OS X +# +# Copyright (C) 2008 Free Software Foundation, Inc. +# Written by Peter O'Gorman, 2008 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +AT_BANNER([Mac OS X tests]) +AT_SETUP([darwin fat compile]) +noskip=: +case $host_os in +darwin*) ;; +*) noskip=false ;; +esac + +AT_DATA([foo.c],[[ +int x=0; +]]) + +$noskip { +$CC $CPPFLAGS $CFLAGS -arch ppc -arch i386 -c -o foo.o foo.c 21 /dev/null || noskip=false +rm -f foo.o +} + +AT_CHECK([$noskip || (exit 77)]) + +AT_DATA([baz.c],[[ +int y=0; +]]) + +AT_DATA([bar.c],[[ +extern int x; +int bar(void); +int bar() { return x;} +]]) + +AT_DATA([main.c],[[ +extern int x; +extern int y; + +int main()
Re: [libtool-2.2.2] testsuite on NFS mount on AIX
On Mon, 2008-04-21 at 09:29 +0200, Michael Haubenwallner wrote: On Sat, 2008-04-19 at 18:40 +0200, Ralf Wildenhues wrote: Hello Michael, * Michael Haubenwallner wrote on Fri, Apr 18, 2008 at 04:59:43PM CEST: when doing the libtool testsuite in some NFS mounted directory on AIX, the output is full of lines looking like: rm: cannot remove directory `/nfsmount/libtool-2.2.2/tests/testsuite.dir/25/broken/lib': File exists Although it does not cause any additional test to fail, it's still ugly. Yep. This is because AIX keeps shared libraries in use for some time even if there are no more programs using it. Yep, I knew that. But this only applies to shared libraries having read (execute?) permission for 'other'. Ha! I wasn't aware of that. Thank you! I've confirmed on AIX 5.3 that read permissions are what counts, but it shouldn't hurt removing the others as well. So adding an 'umask 0007' (or 0077) early in testsuite.at can help here. I'd like to avoid giving more permissions if the user set, say, umask 077 before. Thus let's just remove those for others. I've applied the patch below and put you in THANKS. Thank you! +case $host_os in +aix*) umask o-rwx ;; As I was not aware of symbolics with umask yet, and being paranoid, I've tried that: Unfortunately, it depends on the shell if umask with symbolics works: It works with bash as well as AIX' /bin/ksh, while it does not work with AIX' /bin/sh, but without any failure notice - it just sets umask to 0: $ /bin/sh sh$ umask 0007 sh$ umask o-rwx; umask sh$ umask 007; umask 0007 sh$ umask junk; umask sh$ Ohw, sorry - this works for AIX' (5.3) /bin/sh, I've accidentally tested this on the Solaris box. So we want to use the numeric umask here... So there's no need to use numeric umasks on AIX, sorry! /haubi/
Re: libtool performance status
On Mon, 21 Apr 2008, Ralf Wildenhues wrote: If they were lower in between, and since increased, there must have been at least one regression along the way. Can you use git bisect to identify one? Remember that you fixed an expr-related bug which was impacting FreeBSD and causing an error message to be displayed rather than code being executed. Perhaps this fix adds a small cost? Since only 54% of the time is attributed to user+system time the rest of the time must be spent doing things like moving the disk drive heads, waiting for I/O, servicing interrupts, or running other programs (none in this case). Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
FYI - Use AC_CHECK_TOOL for lipo too.
Hi, I just pushed this. Peter -- Peter O'Gorman http://pogma.com From 39903a5836fc563e83fe6aa614d75a2a3ebe04fe Mon Sep 17 00:00:00 2001 From: Peter O'Gorman [EMAIL PROTECTED] Date: Mon, 21 Apr 2008 10:21:27 -0500 Subject: [PATCH] Use AC_CHECK_TOOL for lipo too. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. * libltdl/config/ltmain.m4sh (func_extract_archives): Use. --- ChangeLog |6 ++ libltdl/config/ltmain.m4sh |6 +++--- libltdl/m4/libtool.m4 |3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8d2e5c3..4cc2147 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-04-21 Peter O'Gorman [EMAIL PROTECTED] + + Use AC_CHECK_TOOL for lipo too. + * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. + * libltdl/config/ltmain.m4sh (func_extract_archives): Use. + 2008-04-20 Gary V. Vaughan [EMAIL PROTECTED] Fix misleading lt_dlopenadvise documentation. diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 378acae..089f162 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -2208,14 +2208,14 @@ func_extract_archives () darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename $darwin_archive` - darwin_arches=`lipo -info $darwin_archive 2/dev/null | $GREP Architectures 2/dev/null || true` + darwin_arches=`$LIPO -info $darwin_archive 2/dev/null | $GREP Architectures 2/dev/null || true` if test -n $darwin_arches; then darwin_arches=`$ECHO $darwin_arches | $SED -e 's/.*are://'` darwin_arch= func_verbose $darwin_base_archive has multiple architectures $darwin_arches for darwin_arch in $darwin_arches ; do func_mkdir_p unfat-$$/${darwin_base_archive}-${darwin_arch} - lipo -thin $darwin_arch -output unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive} ${darwin_archive} + $LIPO -thin $darwin_arch -output unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive} ${darwin_archive} cd unfat-$$/${darwin_base_archive}-${darwin_arch} func_extract_an_archive `pwd` ${darwin_base_archive} cd $darwin_curdir @@ -2227,7 +2227,7 @@ func_extract_archives () darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output $darwin_file $darwin_files + $LIPO -create -output $darwin_file $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd $darwin_orig_dir diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index cdab378..9906e11 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -893,10 +893,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) +AC_CHECK_TOOL([LIPO], [lipo], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) +_LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no -- 1.5.3.7
Re: [PATCH 363] Allow better compile time type checking for lt_dladvise
On Mon, 21 Apr 2008, Ralf Wildenhues wrote: Does this work with C and C++ compilers? Does it change the ABI or API? If yes, no, then I like it. Otherwise, as nice as it is, it would be a bit inappropriate for a minor release number, no? I use this approach in GraphicsMagick C code without any problems. If it changes the ABI then the existing code must be broken. It could only be seen as an API change if the using application did not use libtool's specified API types (as it should). We would (of course) test with many compilers prior to release. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Re: FYI - Use AC_CHECK_TOOL for lipo too.
On Mon, 21 Apr 2008, Peter O'Gorman wrote: Hi, I just pushed this. Since the full patch appears on the [EMAIL PROTECTED] list, perhaps it is not necessary to manually duplicate already committed patches on this list? What are the official rules regarding when the patch must be posted to this list as well? Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Re: FYI - Use AC_CHECK_TOOL for lipo too.
Hi Bob, * Bob Friesenhahn wrote on Mon, Apr 21, 2008 at 07:25:10PM CEST: Since the full patch appears on the [EMAIL PROTECTED] list, perhaps it is not necessary to manually duplicate already committed patches on this list? It's an idea. However, those commit messages - don't allow to add comments to the patches (irrelevant for trivial ones that don't need commenting upon), - don't set Reply-To: to libtool-patches. Discussion on libtool-commit seems awkward, so after-commit review is a bit more work. Not a big issue. What are the official rules regarding when the patch must be posted to this list as well? I don't know how official rules are, but I think we've copied all to libtool-patches so far. Cheers, Ralf
Re: darwin fat binary support bugfix
Peter O'Gorman wrote: I will fix, and even apply the (non-failing) test tomorrow. Making the test fail is better. Ok? Peter -- Peter O'Gorman http://pogma.com From d9a4d8f71ae415bb716dc8267a506a102bacf0b2 Mon Sep 17 00:00:00 2001 From: Peter O'Gorman [EMAIL PROTECTED] Date: Mon, 21 Apr 2008 15:18:41 -0500 Subject: [PATCH] basename does not take a list of strings. * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed $basename. * tests/darwin.at: New. Check that we can built fat program, shared library and convenience library. * Makefile.am: Add test. Reported by LiKai Liu [EMAIL PROTECTED] --- ChangeLog |8 Makefile.am|3 +- libltdl/config/ltmain.m4sh |2 +- tests/darwin.at| 96 4 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 tests/darwin.at diff --git a/ChangeLog b/ChangeLog index 4cc2147..b4d0388 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2008-04-21 Peter O'Gorman [EMAIL PROTECTED] + basename does not take a list of strings. + * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed + $basename. + * tests/darwin.at: New. Check that we can built fat program, + shared library and convenience library. + * Makefile.am: Add test. + Reported by LiKai Liu [EMAIL PROTECTED] + Use AC_CHECK_TOOL for lipo too. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. * libltdl/config/ltmain.m4sh (func_extract_archives): Use. diff --git a/Makefile.am b/Makefile.am index 480b647..0085c7f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -465,7 +465,8 @@ TESTSUITE_AT = tests/testsuite.at \ tests/deplibs-ident.at \ tests/configure-iface.at \ tests/stresstest.at \ - tests/cmdline_wrap.at + tests/cmdline_wrap.at \ + tests/darwin.at EXTRA_DIST += $(srcdir)/$(TESTSUITE) $(TESTSUITE_AT) $(srcdir)/tests/package.m4 diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 089f162..ff1e50d 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -,7 +,7 @@ func_extract_archives () $RM unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive} done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e $basename | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do diff --git a/tests/darwin.at b/tests/darwin.at new file mode 100644 index 000..adc0db6 --- /dev/null +++ b/tests/darwin.at @@ -0,0 +1,96 @@ +# darwin.at - tests specific to Mac OS X +# +# Copyright (C) 2008 Free Software Foundation, Inc. +# Written by Peter O'Gorman, 2008 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +AT_BANNER([Mac OS X tests]) +AT_SETUP([darwin fat compile]) +noskip=: +case $host_os in +darwin*) ;; +*) noskip=false ;; +esac + +AT_DATA([foo.c],[[ +int x=0; +]]) + +$noskip { +$CC $CPPFLAGS $CFLAGS -arch ppc -arch i386 -c -o foo.o foo.c 21 /dev/null || noskip=false +rm -f foo.o +} + +AT_CHECK([$noskip || (exit 77)]) + +AT_DATA([baz.c],[[ +int y=0; +]]) + +AT_DATA([bar.c],[[ +extern int x; +int bar(void); +int bar() { return x;} +]]) + +AT_DATA([main.c],[[ +extern int x; +extern int y; + +int main() { +return x+y; +} +]]) + +mkdir bin +AT_DATA([bin/basename],[[ +#! /bin/sh + +usage=usage: $0 argument +if test $# != 1; then + echo $usage 2 + exit 1 +fi + +echo $1 | sed s,^.*/,, +]]) + +chmod +x bin/basename +save_PATH=$PATH +PATH=`pwd`/bin:$PATH +export PATH + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch ppc -arch i386 foo.c],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch ppc -arch i386 baz.c],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch ppc
Re: darwin fat binary support bugfix
Hi Peter, On 21 Apr 2008, at 16:20, Peter O'Gorman wrote: Peter O'Gorman wrote: I will fix, and even apply the (non-failing) test tomorrow. Making the test fail is better. Ok? Looks good to me. Please apply. Peter -- Peter O'Gorman http://pogma.com From d9a4d8f71ae415bb716dc8267a506a102bacf0b2 Mon Sep 17 00:00:00 2001 From: Peter O'Gorman [EMAIL PROTECTED] Date: Mon, 21 Apr 2008 15:18:41 -0500 Subject: [PATCH] basename does not take a list of strings. * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed $basename. * tests/darwin.at: New. Check that we can built fat program, shared library and convenience library. * Makefile.am: Add test. Reported by LiKai Liu [EMAIL PROTECTED] Cheers, Gary -- ())_. Email me: [EMAIL PROTECTED] ( '/ Read my blog: http://blog.azazil.net / )= ...and my book: http://sources.redhat.com/autobook `(_~)_ PGP.sig Description: This is a digitally signed message part
Re: libtool performance status
* Bob Friesenhahn wrote on Mon, Apr 21, 2008 at 05:14:00PM CEST: On Mon, 21 Apr 2008, Ralf Wildenhues wrote: If they were lower in between, and since increased, there must have been at least one regression along the way. Can you use git bisect to identify one? Remember that you fixed an expr-related bug which was impacting FreeBSD and causing an error message to be displayed rather than code being executed. Perhaps this fix adds a small cost? Unlikely. It removes a forkexec and adds a pattern match and ${foo#bar} substitution. Both of the latter should be pretty quick compared with the former. To put some sort of proof to my claims, here's what I get building GM unoptimized (CFLAGS=-g) on GNU/Linux with Libtool 2.2.2. and current master (all timings best of three): 2.2.2: 110.31user 30.73system 2:21.01elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+5714405minor)pagefaults 0swaps master: 107.42user 28.04system 2:16.51elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+5069147minor)pagefaults 0swaps Looks like a small but definite improvement to me. :-) Also note that there is only 1.05s of unaccounted-for elapsed time, also the lower page fault count is a pretty good indicator that things have not gotten worse. To break things down further, I recorded (with make -n) most libtool calls, split them into --mode=compile and --mode=link, put them in a shell script, and added '-n --silent' so we only measure libtool script overhead. compile mode 2.2.2: 5.72user 2.30system 0:07.93elapsed 101%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+537316minor)pagefaults 0swaps compile mode master: 4.95user 1.21system 0:06.14elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+292254minor)pagefaults 0swaps link mode 2.2.2: 12.11user 7.92system 0:19.74elapsed 101%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1662149minor)pagefaults 0swaps link mode master: 11.91user 7.10system 0:18.94elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+1450595minor)pagefaults 0swaps Again not much, but consistently better (and much better than 1.5.x). Since only 54% of the time is attributed to user+system time the rest of the time must be spent doing things like moving the disk drive heads, waiting for I/O, servicing interrupts, or running other programs (none in this case). Hmm. That may or may not be libtool's fault, though; linking in itself isn't so cheap, I/O-wise. Can you please check whether libtool --tag=CXX --config is identical for each of the builds you timed? Thanks Ralf
Re: silencing libtool and automake
Hello Joachim, * Joachim Worringen wrote on Mon, Apr 21, 2008 at 11:16:05AM CEST: We use libtool/automake/configure for our builds, but autotools-builds are pretty verbose, which is not always desired. I checked that by adding the @ silencer in the Makefiles and calling libtool with --silent we get what we want. make -s LIBTOOLFLAGS=--silent How can I create such Makefiles via autoreconf configure? Put this in configure.ac: AC_SUBST([AM_LIBTOOLFLAGS], [--silent]) Then you need only 'make -s'. Choosing additional '@' is currently not supported by Automake, though there exists at least one third-party patch to achieve similar functionality. Cheers, Ralf ___ http://lists.gnu.org/mailman/listinfo/libtool
silencing libtool and automake
We use libtool/automake/configure for our builds, but autotools-builds are pretty verbose, which is not always desired. I checked that by adding the @ silencer in the Makefiles and calling libtool with --silent we get what we want. How can I create such Makefiles via autoreconf configure? - autoreconf honors LIBTOOLIZE env setting, but not LIBTOOL itself - slightly off-topic: how can I tell automake to add the @-silencer? Preferably, this would be a controllable setting by using an env-variable. thanks, Joachim -- Joachim Worringen, Software Architect, Dolphin Interconnect Solutions phone ++49/(0)228/324 08 17 - http://www.dolphinics.com ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: move to git
On Sat, Apr 19, 2008 at 2:53 AM, Jim Meyering [EMAIL PROTECTED] wrote: Ralf Wildenhues [EMAIL PROTECTED] wrote: I don't quite understand what happened. With the repo converted from CVS, the tag SHAs were all different, but they already pointed to the same tree object. After the filter-branch rewrite, they now all have the same SHA. I suspect the bug happens earlier. Jim, can you take a look? Hi Ralf, I'm beginning to think that our time might be better spent investigating an alternate conversion method: cvs2git. Unfortunately, I might not have time for that right away. Just a thought, but nearly all of the freedesktop.org projects (including all of X) were converted using Keith Packard's parsecvs tool. I haven't heard of anyone complaining of incorrect history. http://gitweb.freedesktop.org/?p=users/keithp/parsecvs.git;a=summary -- Dan ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: move to git
Dan Nicholson [EMAIL PROTECTED] wrote: On Sat, Apr 19, 2008 at 2:53 AM, Jim Meyering [EMAIL PROTECTED] wrote: Ralf Wildenhues [EMAIL PROTECTED] wrote: I don't quite understand what happened. With the repo converted from CVS, the tag SHAs were all different, but they already pointed to the same tree object. After the filter-branch rewrite, they now all have the same SHA. I suspect the bug happens earlier. Jim, can you take a look? Hi Ralf, I'm beginning to think that our time might be better spent investigating an alternate conversion method: cvs2git. Unfortunately, I might not have time for that right away. Just a thought, but nearly all of the freedesktop.org projects (including all of X) were converted using Keith Packard's parsecvs tool. I haven't heard of anyone complaining of incorrect history. http://gitweb.freedesktop.org/?p=users/keithp/parsecvs.git;a=summary That's exactly what I used. Note however, that parsecvs is not robust. With a slightly unusual ,v file, it's easy to make it segfault. I've encountered at least 3 repositories that it is unable to convert. I think cvs2git will be better. BTW, I suspect that parsecvs is unmaintained, since my recent patch to make it work with newer versions of git has evoked no reply, and the patch has not appeared in the repository. ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: silencing libtool and automake
On Mon, 21 Apr 2008, Joachim Worringen wrote: We use libtool/automake/configure for our builds, but autotools-builds are pretty verbose, which is not always desired. I checked that by adding the @ silencer in the Makefiles and calling libtool with --silent we get what we want. Using current FSF released software and adding --silent to the libtool options, I obtain complete silence (other than compiler warnings/errors) via 'make -s'. Based on the above, it seems likely that you are not using the current releases of the software. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ ___ http://lists.gnu.org/mailman/listinfo/libtool
Problems with libtool 2.2.2 and /bin/sh pointing to dash
Hi, I've had reports of Poky breaking with libtool 2.2.2 and have isolated this to people using dash as their /bin/sh provider (Poky runs the configure script with /bin/sh). When used in this combination, the global_symbol_pipe expression becomes corrupted in the generated libtool file amongst other things and I've included a diff of the corruption below. I noticed this with gtk+ 2.12.7. gtk+ also has the issues that it tries to run libtool before its been generated and I've had to patch this to run a previously generated version of libtool poky has around to solve cases like this. I'm not sure if there is a neater way to address that problem? Regards, Richard --- libtool-bash2008-04-21 17:57:40.0 +0100 +++ libtool-dash2008-04-21 23:36:38.0 +0100 @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash # arm-poky-linux-gnueabi-libtool - Provide generalized library-building support services. # Generated automatically by config.status (gtk+) 2.12.7 @@ -107,10 +107,10 @@ lt_unset=unset # turn spaces into newlines. -SP2NL=tr \\040 \\012 +SP2NL=tr \040 \012 # turn newlines into spaces. -NL2SP=tr \\015\\012 \\040\\040 +NL2SP=tr \015\012 \040\040 # How to create reloadable object files. reload_flag= -r @@ -141,22 +141,22 @@ LTCFLAGS=-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -Wall # Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' +global_symbol_pipe=sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/ /p' # Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p' +global_symbol_to_cdecl=sed -n -e 's/^T .* \\(.*\\)\$/extern int ();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char ;/p' # Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=sed -n -e 's/^: \\([^ ]*\\) \$/ {\1\\\, (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\\\2\, (void *) 2},/p' +global_symbol_to_c_name_address=sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\\\\, (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\\, (void *) \\},/p' # Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=sed -n -e 's/^: \\([^ ]*\\) \$/ {\1\\\, (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/ {\\\2\, (void *) 2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\lib\\2\, (void *) 2},/p' +global_symbol_to_c_name_address_lib_prefix=sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\\\\, (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/ {\\, (void *) \\},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\lib\, (void *) \\},/p' # The name of the directory that contains temporary libtool files. objdir=.libs # Shell to use when invoking shell scripts. -SHELL=/bin/sh +SHELL=/bin/bash # An echo program that does not interpret backslashes. ECHO=echo @@ -301,7 +301,7 @@ # Commands used to build a shared archive. archive_cmds=\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib archive_expsym_cmds=echo \\\{ global:\\\ \$output_objdir/\$libname.ver~ - cat \$export_symbols | sed -e \\\s/(.*)/1;/\\\ \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\s/(.*)/;/\\\ \$output_objdir/\$libname.ver~ echo \\\local: *; };\\\ \$output_objdir/\$libname.ver~ \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: Problems with libtool 2.2.2 and /bin/sh pointing to dash
Hi Richard, On 21 Apr 2008, at 19:07, Richard Purdie wrote: gtk+ also has the issues that it tries to run libtool before its been generated and I've had to patch this to run a previously generated version of libtool poky has around to solve cases like this. I'm not sure if there is a neater way to address that problem? Starting with libtool 2.0, the multipass generation of the libtool script has been consolidated into a single `config.status' pass, which happens after all the code in `configure.ac' has completed. The implication of this is that the libtool script does not exist during execution of code from `configure.ac', and so obviously it cannot be called for `--config' details anymore. If you are upgrading projects that used this idiom to libtool 2.0 or newer, you should replace those calls with direct references to the equivalent Autoconf shell variables that are set by the configure time tests before being passed to `config.status' for inclusion in the generated libtool script. -- Macro: LT_OUTPUT By default, the configured `libtool' script is generated by the call to `AC_OUTPUT' command, and there is rarely any need to use `libtool' from `configure'. However, sometimes it is necessary to run configure time compile and link tests using `libtool'. You can add `LT_OUTPUT' to your `configure.ac' any time after `LT_INIT' and any `LT_LANG' calls; that done, `libtool' will be created by a specially generated `config.lt' file, and available for use in later tests. Also, when `LT_OUTPUT' is used, for backwards compatibility with Automake regeneration rules, `config.status' will call `config.lt' to regenerate `libtool', rather than generating the file itself. Cheers, Gary -- ())_. Email me: [EMAIL PROTECTED] ( '/ Read my blog: http://blog.azazil.net / )= ...and my book: http://sources.redhat.com/autobook `(_~)_ PGP.sig Description: This is a digitally signed message part ___ http://lists.gnu.org/mailman/listinfo/libtool
Re: Problems with libtool 2.2.2 and /bin/sh pointing to dash
Hello Richard, * Richard Purdie wrote on Tue, Apr 22, 2008 at 01:07:48AM CEST: I've had reports of Poky breaking with libtool 2.2.2 and have isolated this to people using dash as their /bin/sh provider (Poky runs the configure script with /bin/sh). When used in this combination, the global_symbol_pipe expression becomes corrupted in the generated libtool file amongst other things and I've included a diff of the corruption below. I noticed this with gtk+ 2.12.7. That typically means that the configure script is run with a different shell than the libtool script. Beware: the configure script might restart itself under a different shell, exporting CONFIG_SHELL. I can successfully configure and use libtool with CONFIG_SHELL=/bin/dash /bin/dash ./configure -C make but for example if you configure with /bin/sh pointing to bash, then later switch the /bin/sh symlink to dash, you're giving libtool a hard time. If that wasn't the case, then please show how to reproduce this situation. For that, your $PATH, the /bin/sh symlink, your $SHELL, and eventual $CONFIG_SHELL values are important to see, as well as how exactly you configure and build the package. I haven't checked whether gtk+ 2.12.7 munges with the shell setting in its configure script. gtk+ also has the issues that it tries to run libtool before its been generated and I've had to patch this to run a previously generated version of libtool poky has around to solve cases like this. I'm not sure if there is a neater way to address that problem? Gary has already addressed this part. Cheers, Ralf ___ http://lists.gnu.org/mailman/listinfo/libtool