From: Gary V. Vaughan Date: Sat, 28 Aug 2004 16:15:23 +0000 (+0000) Subject: To help users submit better bug reports, improve the general X-Git-Tag: release-1-9b~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd970d849310a62394dbb1df73d73483fd0ad378;p=thirdparty%2Flibtool.git To help users submit better bug reports, improve the general instructions, and provide additional useful info alongside the bug reporting address in --help output: * Makefile.am (edit): Substitute $host_triplet. * libtoolize.in: Output useful debug info with --help. * config/ltmain.in: Ditto. * README: Rewritten. Added copyright info. * README-alpha: Rewritten. Added copyright info. * HACKING: New file, partly taken from old README-alpha. --- diff --git a/ChangeLog b/ChangeLog index df264d03b..71b0f2a44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-08-28 Gary V. Vaughan + + To help users submit better bug reports, improve the general + instructions, and provide additional useful info alongside the bug + reporting address in --help output: + + * Makefile.am (edit): Substitute $host_triplet. + * libtoolize.in: Output useful debug info with --help. + * config/ltmain.in: Ditto. + * README: Rewritten. Added copyright info. + * README-alpha: Rewritten. Added copyright info. + * HACKING: New file, partly taken from old README-alpha. + 2004-08-27 Gary V. Vaughan Two things to stop `make distcheck' from trying to rebuild diff --git a/HACKING b/HACKING new file mode 100644 index 000000000..f68734ec2 --- /dev/null +++ b/HACKING @@ -0,0 +1,356 @@ +GNU Libtool +*********** + +1. Introduction +=============== + +This file attempts to describe the processes we use to maintain libtool, +and is not part of a release distribution. + +2. Maintenance Notes +==================== + +* If you incorporate a change from somebody on the net: + If it is a large change, you must make sure they have signed the + appropriate paperwork, and be sure to add their name and email + address to THANKS + +* If a change fixes a test, mention the test in the ChangeLog entry. + +* If somebody reports a new bug, mention his name in the ChangeLog entry + and in the test case you write. + +* The correct response to most actual bugs is to write a new test case + which demonstrates the bug. Then fix the bug, re-run the test suite, + and check everything in. + +* Some files in the libtool package are not owned by libtool. These + files should never be edited here. These files are: + COPYING + INSTALL + config/ + + config.guess + + config.sub + + depcomp + + install-sh + + mdate-sh + + missing + + texinfo.tex + doc/ + + fdl.texi + libltdl/ + + COPYING.LESSER + + config.guess + + config.sub + + install-sh + + missing + The ones that are important for a release can be udated with, + `make -fMakefile.maint fetch'. + +* Changes other than bug fixes must be mentioned in NEWS + + +2. Test Suite +============= + +* Use "make check" liberally, on as many platforms as you can. Use as + many compilers and linkers you can. + + +3. Naming +========= + +* We've adopted the convention that exported Autoconf macros should be + named with a leading `LT_' and be documented in the libtool manual. + Internal macros begin with `_LT_' if they are visible to aclocal, or + potentially part of an AC_DEFUN/AC_REQUIRE path, or else `_lt_' if + they are very low level. This convention was only introduced just + before libtool-2.0, so there may still be exceptions in the existing + code. But all new code should use it. + +* All shell variables used internally by libtool's Autoconf macros + should be named with the a leading `lt_' (not that they cannot clash + with the `_lt_' macro namespace). + + +4. Editing `.am' Files +====================== + +* Always use $(...) and not ${...} + +* Use `:', not `true'. Use `exit 1', not `false'. + +* Use `##' comments liberally. Comment anything even remotely unusual. + +* Never use basename or dirname. Instead use sed. + +* Do not use `cd' within back-quotes, use `$(am__cd)' instead. + Otherwise the directory name may be printed, depending on CDPATH. + +* In general, if a loop is required, it should be silent. Then the body + of the loop itself should print each "important" command it runs. + + +5. Editing libtoolize.in and ltmain.in +====================================== + +* Use shell functions, but be careful not to assume local scope for + variable names. Don't use `return', instead echo the result of a + function and call it from within backquotes. + +6. Release Procedure +==================== + +* If you are a libtool maintainer, but have not yet registered your + gpg public key and (preferred) email address with the FSF, send an + email, preferably GPG-signed, to that includes + the following: + + (a) name of package(s) that you are the maintainer for, and your + preferred email address. + + (b) an ASCII armored copy of your GnuPG key, as an attachment. + ("gpg --export -a YOUR_KEY_ID > mykey.asc" should give you + this.) + + When you have received acknowledgement of your message, the proper GPG + keys will be registered on ftp-upload.gnu.org and only then will you be + authorized to upload files to the FSF ftp machines. + +* Make sure you have a copy of xdelta installed, and a copy of the previous + release tarball in the build directory. + +* Update the version number in configure.ac. + See http://www.gnu.org/software/libtool/contribute.html for details of + the numbering scheme. + +* Update NEWS, ChangeLog. + +* Make sure the 'Be Bourne compatible' shell snippet near the top of + ./libtoolize.in, ./ltmain.in matches the latest autoconf wisdom by + updating to match CVS autoconf AS_SHELL_SANITIZE in autoconf's + lib/m4sugar/m4sh.m4. + +* Run ./bootstrap. + +* Have some tea. If you are running on less than 3.6GHz CPU, order + a pizza too ;-) + +* Run ./configure and then make. + +* Run `make -fMakefile.maint fetch', which will fetch new versions of the + files that are maintained outside of libtool. + +* Run ./commit. + +* Run `make -fMakefile.maint cvs-dist' which will build a release tarball + (with `make distcheck'), tag the tree with release-$(VERSION) and generate + the gpg signature files. + +* Run 'make -fMakefile.maint deltas' (pass LASTRELEASE=min.maj[.mic[alpha]] + if needed) to create both diff and xdelta files between the previous + release tarball and the new with detached gpg signature files and clear + signed directive files. + +* Upload release tarball, diff file and xdelta file, plus their associated + detached gpg signature files and clear signed directive files to + ftp-upload.gnu.org. If the upload is destined for ftp.gnu.org, then the + files should be placed in the /incoming/ftp directory. If the upload is + an alpha release destined for alpha.gnu.org, then the files should be + placed in the /incoming/alpha directory. + +* Send announcement to libtool@gnu.org and autotools-announce@gnu.org, + if not an alpha send to info-gnu@gnu.org as well. + +* Update version number in configure.ac to next alpha number. + See http://www.gnu.org/software/libtool/contribute.html for details of + the numbering scheme. + +* Update NEWS, ChangeLog. + +* Run ./commit. + +* Update the webpages, libtool.html will need to indicate the latest + release number and the news page should get a HTMLified copy of your + release announcement. + +* If not an alpha, replace manual.html with the new one + (generate with `make -f Makefile.maint web-manual'). + + + +7. Alpha release note template +============================== + +To: libtool@gnu.org, autotools-announce@gnu.org +Subject: GNU Libtool @VERSION@ released (alpha release). + +The Libtool Team is pleased to announce alpha release @VERSION@ of GNU +Libtool. + +GNU Libtool hides the complexity of using shared libraries behind a +consistent, portable interface. GNU Libtool ships with GNU libltdl, +which hides the complexity of loading dynamic runtime libraries +(modules) behind a consistent, portable interface. + +Here are the compressed sources: + + ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz + ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2 + +Here are the xdeltas and diffs against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@: + + ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz + ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta + +Here are the gpg detached signatures: + + ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz.sig + ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2.sig + ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz.sig + ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta.sig + +Here are the MD5 and SHA1 checksums: + + @MD5SUM@ libtool-@VERSION@.tar.gz + @MD5SUM@ libtool-@VERSION@.tar.bz2 + @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz + @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta + @SHA1SUM@ libtool-@VERSION@.tar.gz + @SHA1SUM@ libtool-@VERSION@.tar.bz2 + @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz + @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta + +This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@. + +This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@, +but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own +projects. + +Alternatively, you can fetch the unbootstrapped sourcecode from +anonymous cvs by using the following commands: + + $ export CVS_RSH=ssh + $ cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool \ + co -r @CVS_RELEASE_TAG@ libtool + +You will then need to have recent (possibly as yet unreleased) versions +of Automake and Autoconf installed to bootstrap the checked out +sources yourself. + +New in @VERSION@: @RELEASE_DATE@ + + @EXCERPT_FROM_NEWS_FILE@ + +Please report bugs to , along with the verbose +output of any failed test groups, and the output from `./libtool --help.' + + + +8. Full release note template +============================= + +To: info-gnu@gnu.org +Cc: libtool@gnu.org, autotools-announce@gnu.org +Subject: GNU Libtool @VERSION@ released. + +The Libtool Team is pleased to announce the release of GNU Libtool +@VERSION@. + +GNU Libtool hides the complexity of using shared libraries behind a +consistent, portable interface. GNU Libtool ships with GNU libltdl, +which hides the comlexity of loading dynamic runtime libraries +(modules) behind a consistent, portable interface. + +This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@. + +New in @VERSION@: @RELEASE_DATE@ + + @EXCERPT_FROM_NEWS_FILE@ + +libtool-@VERSION@ is available now from ftp.gnu.org, along with +diffs and xdeltas against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@ +that are also available from ftp.gnu.org. Please +use a mirror to reduce stress on the main gnu machine: + + http://www.gnu.org/order/ftp.html + +Here are the compressed sources: + + ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz + ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2 + +Here are the xdeltas and diffs against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@: + + ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz + ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta + +Here are the gpg detached signatures: + + ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz.sig + ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2.sig + ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz.sig + ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta.sig + +Here are the MD5 and SHA1 checksums: + + @MD5SUM@ libtool-@VERSION@.tar.gz + @MD5SUM@ libtool-@VERSION@.tar.bz2 + @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz + @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta + @SHA1SUM@ libtool-@VERSION@.tar.gz + @SHA1SUM@ libtool-@VERSION@.tar.bz2 + @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz + @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta + +This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@, +but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own +projects. + +Alternatively, you can fetch the unbootstrapped sourcecode from +anonymous cvs by using the following commands (just hit return when +you are prompted for the password): + + $ export CVS_RSH=ssh + $ cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool \ + co -r @CVS_RELEASE_TAG@ libtool + +You will then need to have the latest release versions of Automake +(@AUTOMAKE_VERSION@) and Autoconf (@AUTOCONF_VERSION@) installed to +bootstrap the checked out sources yourself. + +Please report bugs to , along with the verbose +output of any failed test groups, and the output from `./libtool --help.' + + +-- +Copyright (C) 2004 Free Software Foundation, Inc. + +The canonical source of this file is maintained with the +GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +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. + +As a special exception to the GNU General Public License, +if you distribute this file as part of a program or library that +is built using GNU libtool, you may include it under the same +distribution terms that you use for the rest of that program. + +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; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA + + +Local Variables: +mode: text +fill-column: 72 +End: diff --git a/Makefile.am b/Makefile.am index cea3b0d85..da0cb799e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,6 +29,7 @@ edit = sed \ -e 's,@datadir\@,$(datadir),g' \ -e 's,@pkgdatadir\@,$(pkgdatadir),g' \ -e 's,@aclocaldir\@,$(aclocaldir),g' \ + -e 's,@host_triplet\@,$(host_triplet),g' \ -e "s,@configure_input\@,Generated from $$input; do not edit by hand,g" timestamp = set -- `$(MKSTAMP) < $(top_srcdir)/ChangeLog`; \ diff --git a/README b/README index c83f15293..e2041ca94 100644 --- a/README +++ b/README @@ -1,3 +1,9 @@ +GNU Libtool +*********** + +1. Introduction +=============== + This is GNU Libtool, a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. @@ -6,61 +12,6 @@ To use libtool, add the new generic library building commands to your Makefile, Makefile.in, or Makefile.am. See the documentation for details. -Libtool supports building static libraries on all platforms. - -Shared library support has been implemented for these platforms: - AIX 3.x, 4.x (*-*-aix3*, *-*-aix4*) - BeOS (*-*-beos*) - BSD/OS 2.1, 3.x, 4.x (*-*-bsdi2.1, *-*-bsdi3*, *-*-bsdi4*) - Darwin 5.x, 6.x a.k.a Mac OS X (*-*-darwin*) [see note] - Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*) - DG/UX R4.11, R4.12, R4.20 (*-*-dguxR411*, *-*-dguxR412*, *-*-dguxR420*) - FreeBSD 2.x, 3.x, 4.x (*-*-freebsd2*, *-*-freebsd3*, *-*-freebsd4*) - GNU Hurd (*-*-gnu*) - GNU/Linux ELF (*-*-linux-gnu*, except aout, coff, and oldld) - HP-UX 9.x, 10.x, 11.x (*-*-hpux9*, *-*-hpux10*, *-*-hpux11*) [see note] - IRIX 5.x, 6.x (*-*-irix5*, *-*-irix6*) - NCR MP-RAS 3.x (*-ncr-sysv4.3*) [see note] - NEWS-OS Release 6 (*-*-newsos6) - Motorola System V 4 (mk88-motorola-sysv4) [see note] - NetBSD 1.x (*-*-netbsd*) - OpenBSD 2.x (*-*-openbsd*) - OS/2 using EMX (*-*-os2*) - Reliant Unix (*-sni-sysv4) [see note] - SCO OpenServer 5.x (*-*-sco3.2v5*) - SCO UnixWare 7.x (*-*-sysv5*) - Solaris 2.x (*-*-solaris2*) - SunOS 4.x, a.k.a. Solaris 1.x (*-*-sunos4*) - UnixWare 2.x (*-*-sysv4.2uw2*) - UTS 4.x (*-*-uts4*) - All ELF targets that use both the GNU C compiler (gcc) and GNU ld - -NOTE: Some HP-UX sed programs are horribly broken, and cannot handle -libtool's requirements, so users may report unusual problems. There -is no workaround except to install a working sed (such as GNU sed) on -these systems. - -NOTE: The vendor-distributed NCR MP-RAS cc programs emits copyright -on standard error that confuse tests on size of conftest.err. The -workaround is to specify CC when run configure with CC='cc -Hnocopyr'. - -NOTE: Due to a bug in autoconf cc isn't supported on Motorola System V 4. -You can only use gcc. This bug will hopefully be fixed in autoconf 2.14. - -NOTE: Any earlier DG/UX system with ELF executables, such as R3.10 or -R4.10, is also likely to work, but hasn't been explicitly tested. - -NOTE: Libtool has only been tested with the Siemens C-compiler and -an old version of gcc provided by Marco Walther you can find on -ftp://ftp.mch.sni.de/sni/mr/pd/gnu/gcc/gcc.2.7.2.3 on Reliant Unix. - -NOTE: libtool.m4, ltdl.m4 and the configure.ac files are marked to use -autoconf-mode, which is distributed with GNU Emacs 21, and all recent -releases of XEmacs. - -NOTE: In some cases support is more limited on Darwin 5.x because of -the use of zsh as the default system shell. - Libtool's home page is: http://www.gnu.org/software/libtool/libtool.html @@ -71,63 +22,138 @@ See the file INSTALL for instructions on how to build and install libtool. See the info node (libtool)Tested Platforms. (or the file -doc/PLATFORMS) for a list of platforms that libtool shared library -support was tested on. +doc/PLATFORMS) for a list of platforms that libtool supports. + + +2. Reporting Bugs +================= If you have any suggestions or bug reports, or you wish to port libtool to a new platform, please send electronic mail to the libtool mailing list or bug reports to . -Don't forget to mention the version of libtool that you are currently -using (by typing `libtool --version'). +Be sure to send us your information from the end of the help message +given by `./libtool --help'. + + +3. The Test Suite +================= + +Libtool comes with an integrated set of tests to check that your build +is sane. You can run the entire suite like this: + + make check + +The tests run in groups in the various demo subdirectories, so if one +of the tests early in a group FAILs, the rest of the tests in that +group will be SKIPPED. If you see a FAIL further into a group, even +if a test with the same name PASSes in another test group, you need to +take note of the name of the first test in the group if you want to +rerun the group with FAILures to get verbose output. + +To run a test group in isolation (say, you think you have fixed a bug, +but don't want to rerun the entire suit), you can do it like this: + + make check TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' + +Providing that you have a FAIL from the most recent group from a +particular demo directory (like the cdemo-static.test group above), you +can explore the state of the directory to help with debugging. + +If you wish to report a test group failure to the libtool list, you +need to send the verbose output of the FAILing group, along with the +information from the end of `$(top_builddir)/libtool --help' to the +bug report mailing list, . From a bourne +compatible shell, you can generate verbose test output like this: + + VERBOSE=1 make check \ + TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \ + | tee cdemo-static-group.log + + +4. Version Numbering +==================== People have complained that they find the version numbering scheme -under which libtool is released confusing... it works like this: +under which libtool is released confusing... so we've changed it! + +It works like this: . Releases with a less than 1 were not yet feature -complete. If libtool ever undergoes a major rewrite or substantial -restructuring, the will be incremented again. In the -mean time, whenever we make a stable release it will have its - incremented with respect to the previous stable -release. - -So that alpha releases can be distinguished from stable releases, -we append a letter to them, starting with `a' and continuing -alphabetically: - - . - -Since alpha releases are start with the code of a previous stable -release, the and are the same as the -stable release they started with. So release `1.3a' is the first -alpha release after stable release `1.3', and so on. - -To complicate matters slightly we always increment the letter in the -repository before *and* after making a release tarball. This means -that "odd" letters (a,c,e,g...) only exist in the repository, and -"even" letters are used instantaneously for an alpha release. For -example, you can tell that libtool-1.3c is an alpha release that is a -snapshot of the repository taken between official alpha releases -1.3b and 1.3d. Since the odd lettered alpha release number potentially -cover many states of the tree, we somtimes qualify such releases by -adding the cvs version of the ChangeLog: - - $ libtool --version - ltmain.sh (GNU libtool) 1.3c (1.666 2000/01/14 13:50:21) - -Finally, if we need to make a patch release to fix bugs in a stable -release, and the development on the trunk has made the tree unstable, -we use a third number, so: - - .. - - $ libtool --version - ltconfig (GNU libtool) 1.3.4 (1.385.2.196 1999/12/07 21:47:57) - -There might be several patch releases to the last stable release, -and all happening concurrently with alpha releases. For example, -libtool-1.3.4 and libtool-1.3b might be available at the same time: -`1.3.4' is the fourth patch release after stable release `1.3'; -`1.3b' is the first alpha release after stable release `1.3'. - +complete. Releases with a of 1 used the old numbering +scheme that everyone disliked so much. Releases with a +of 2 us the new scheme described here. If libtool ever undergoes a +major rewrite or substantial restructuring, the will be +incremented again. + +If we make a patch release to fix bugs in a stable release, we use a +third number, so: + + .. + +Version numbers are chosen to make it easy for users to decide two +things: + + Q: How `developed' is this release? + A: The higher the number, the better! + Q: How `stable' is this release? + A: - If the is even, it is a stable release, `2.0'. + - If the is odd, it is a development version with + new features compared to the last stable release, `2.1a'. + - If it has an `odd'[1] letter after the version number, it is a + snapshot direct from CVS, `2.1a'. + - If it has an `even'[1] letter after the version number, it is an + alpha quality release, `2.1b'. + - If it has three numbers in the version, it is a patch release, + fixing bugs from the stable release (with no new features), `2.0.1'. + +[1] We always increment the letter in the repository before *and* after + making a release tarball. This means that "odd" letters + (a,c,e,g...) only exist in the repository, and "even" letters are + used instantaneously for an alpha release. Since the odd lettered + version numbers cover many states of the tree, we also qualify them + by adding the cvs version of the ChangeLog: + + $ libtool --version + ltmain.sh (GNU libtool 1.1603 2004/09/12 22:02:07) 2.1a + + Copyright (C) 2004 Free Software Foundation, Inc. + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +For more details about version numbers, see: + + http://www.gnu.org/software/libtool/contribute.html + +-- +Copyright (C) 2004 Free Software Foundation, Inc. + +The canonical source of this file is maintained with the +GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +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. + +As a special exception to the GNU General Public License, +if you distribute this file as part of a program or library that +is built using GNU libtool, you may include it under the same +distribution terms that you use for the rest of that program. + +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; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA + + +Local Variables: +mode: text +fill-column: 72 +End: diff --git a/README-alpha b/README-alpha index 78bca0b8d..8c5684eab 100644 --- a/README-alpha +++ b/README-alpha @@ -1,282 +1,106 @@ -This is an alpha testing release of GNU Libtool. To get the latest -CVS version of this package, do: +GNU Libtool +*********** - export CVS_RSH=ssh - cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool co libtool - cd libtool - ./bootstrap - -The `bootstrap' script sets up the source directory for you to hack. To -use it, you need a recent (maybe yet to be released) version of both -Autoconf and Automake. - -If you have any suggestions or bug reports, or you wish to port -libtool to a new platform, please send electronic mail to the libtool -mailing list or bug reports to . -Don't forget to mention the version of libtool that you are currently -using (by typing `libtool --version'). - -================================================================ -= Administrivia - -* If you incorporate a change from somebody on the net: - If it is a large change, you must make sure they have signed the - appropriate paperwork, and be sure to add their name and email - address to THANKS - -* If a change fixes a test, mention the test in the ChangeLog entry. - -* If somebody reports a new bug, mention his name in the ChangeLog entry - and in the test case you write. - -* The correct response to most actual bugs is to write a new test case - which demonstrates the bug. Then fix the bug, re-run the test suite, - and check everything in. - -* Some files in the libtool package are not owned by libtool. These - files should never be edited here. These files are: - COPYING - INSTALL - config/ - + config.guess - + config.sub - + depcomp - + install-sh - + mdate-sh - + missing - + texinfo.tex - doc/ - + fdl.texi - libltdl/ - + COPYING.LESSER - + config.guess - + config.sub - + install-sh - + missing - -* Changes other than bug fixes must be mentioned in NEWS - -================================================================ -= Test suite - -* Use "make check" liberally, on as many platforms as you can. Use as - many compilers and linkers you can. - - -================================================================ -= Release procedure - -* If you are a libtool maintainer, but have not yet registered your - gpg public key and (preferred) email address with the FSF, send an - email, preferably GPG-signed, to that includes - the following: - - (a) name of package(s) that you are the maintainer for, and your - preferred email address. - - (b) an ASCII armored copy of your GnuPG key, as an attachment. - ("gpg --export -a YOUR_KEY_ID > mykey.asc" should give you - this.) - - When you have received acknowledgement of your message, the proper GPG - keys will be registered on ftp-upload.gnu.org and only then will you be - authorized to upload files to the FSF ftp machines. - -* Update the version number in configure.ac. - See http://www.gnu.org/software/libtool/contribute.html for details of - the numbering scheme. - -* Update NEWS, ChangeLog. - -* Make sure the 'Be Bourne compatible' shell snippet near the top of - ./libtoolize.in, ./ltmain.in matches the latest autoconf wisdom by - updating to match CVS autoconf AS_SHELL_SANITIZE in autoconf's - lib/m4sugar/m4sh.m4. - -* Run ./bootstrap. - -* Have some tea. If you are running on less than 3.6GHz CPU, order - a pizza too ;-) - -* Run ./configure and then make. - -* Run `make -fMakefile.maint fetch', which will fetch new versions of the - files that are maintained outside of libtool. - -* Run ./commit. +1. Introduction +=============== -* Run `make -fMakefile.maint cvs-dist' which will build a release tarball - (with `make distcheck'), tag the tree with release-$(VERSION) and generate - the gpg signature files. +This is an alpha testing release of GNU Libtool, please try it on all +the platforms you have access to. Using it more or less implicitly +signs you up to help us find whatever problems you report. -* Make sure you have a copy of xdelta installed, and a copy of the previous - release tarball in the build directory. +If it builds and passes the test suite (`make check'), please send +notification to the libtool mailing list with a +subject line including the string `[PLATFORM]'. -* Run 'make -fMakefile.maint deltas' (pass LASTRELEASE=min.maj[.mic[alpha]] - if needed) to create both diff and xdelta files between the previous - release tarball and the new with detached gpg signature files and clear - signed directive files. -* Upload release tarball, diff file and xdelta file, plus their associated - detached gpg signature files and clear signed directive files to - ftp-upload.gnu.org. If the upload is destined for ftp.gnu.org, then the - files should be placed in the /incoming/ftp directory. If the upload is - an alpha release destined for alpha.gnu.org, then the files should be - placed in the /incoming/alpha directory. +2. Reporting Bugs +================= -* Send announcement to libtool@gnu.org and autotools-announce@gnu.org, - if not an alpha send to info-gnu@gnu.org as well. +If this distribution doesn't work for you, before you report the problem, +please try upgrading to the latest version from CVS first: -* Update version number in configure.ac to next alpha number. - See http://www.gnu.org/software/libtool/contribute.html for details of - the numbering scheme. - -* Update NEWS, ChangeLog. - -* Run ./commit. - -* Update the webpages, libtool.html will need to indicate the latest - release number and the news page should get a HTMLified copy of your - release announcement. - -* If not an alpha, replace manual.html with the new one - (generate with `make -f Makefile.maint web-manual'). - -================================================================ -= Alpha release note template - -To: libtool@gnu.org, autotools-announce@gnu.org -Subject: GNU Libtool @VERSION@ released (alpha release). - -The Libtool Team is pleased to announce alpha release @VERSION@ of GNU -Libtool. - -GNU Libtool hides the complexity of using shared libraries behind a -consistent, portable interface. GNU Libtool ships with GNU libltdl, -which hides the complexity of loading dynamic runtime libraries -(modules) behind a consistent, portable interface. - -Here are the compressed sources: - - ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz - ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2 - -Here are the xdeltas and diffs against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@: - - ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz - ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta - -Here are the gpg detached signatures: - - ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz.sig - ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2.sig - ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz.sig - ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta.sig - -Here are the MD5 and SHA1 checksums: - - @MD5SUM@ libtool-@VERSION@.tar.gz - @MD5SUM@ libtool-@VERSION@.tar.bz2 - @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz - @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta - @SHA1SUM@ libtool-@VERSION@.tar.gz - @SHA1SUM@ libtool-@VERSION@.tar.bz2 - @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz - @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta - -This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@. - -This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@, -but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own -projects. - -Alternatively, you can fetch the unbootstrapped sourcecode from -anonymous cvs by using the following commands: - - $ export CVS_RSH=ssh - $ cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool \ - co -r @CVS_RELEASE_TAG@ libtool - -You will then need to have recent (possibly as yet unreleased) versions -of Automake and Autoconf installed to bootstrap the checked out -sources yourself. - -New in @VERSION@: @RELEASE_DATE@ - - @EXCERPT_FROM_NEWS_FILE@ - -Please report bugs to . - -================================================================ -= Full release note template + export CVS_RSH=ssh + cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool co libtool + cd libtool + ./bootstrap -To: info-gnu@gnu.org -Cc: libtool@gnu.org, autotools-announce@gnu.org -Subject: GNU Libtool @VERSION@ released. +The `bootstrap' script sets up the source directory for you to hack, though +it may take quite some time to run. To use it, you need a recent (maybe yet +to be released) version of both Autoconf and Automake. If you don't +intend to run the test suite, you can speed up the `bootstrap' step by +an order of magnitude if you call it like this instead: -The Libtool Team is pleased to announce the release of GNU Libtool -@VERSION@. + reconfdirs=. ./bootstrap -GNU Libtool hides the complexity of using shared libraries behind a -consistent, portable interface. GNU Libtool ships with GNU libltdl, -which hides the comlexity of loading dynamic runtime libraries -(modules) behind a consistent, portable interface. +If your bug is not fixed in the latest version, please send a full +report to , including the information from the end +of the help message given by `./libtool --help', and the verbose output +of any failed test groups (as described below). -This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@. -New in @VERSION@: @RELEASE_DATE@ +3. The Test Suite +================= - @EXCERPT_FROM_NEWS_FILE@ +Libtool comes with an integrated set of tests to check that your build +is sane. You can run the entire suite like this: -libtool-@VERSION@ is available now from ftp.gnu.org, along with -diffs and xdeltas against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@ -that are also available from ftp.gnu.org. Please -use a mirror to reduce stress on the main gnu machine: + make check - http://www.gnu.org/order/ftp.html +The tests run in groups in the various demo subdirectories, so if one +of the tests early in a group FAILs, the rest of the tests in that +group will be SKIPPED. If you see a FAIL further into a group, even +if a test with the same name PASSes in another test group, you need to +take note of the name of the first test in the group if you want to +rerun the group with FAILures to get verbose output. -Here are the compressed sources: +To run a test group in isolation (say, you think you have fixed a bug, +but don't want to rerun the entire suit), you can do it like this: - ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz - ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2 + make check TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' -Here are the xdeltas and diffs against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@: +Providing that you have a FAIL from the most recent group from a +particular demo directory (like the cdemo-static.test group above), you +can explore the state of the directory to help with debugging. - ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz - ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta +If you wish to report a test group failure to the libtool list, you need +to send the verbose output of the FAILing group, along with the +information from the end of `$(top_builddir)/libtool --help' to the bug +report mailing list, with a subject line that +includes the string `[TEST FAILURE]'. From a bourne compatible shell, +you can generate verbose test output like this: -Here are the gpg detached signatures: + VERBOSE=1 make check \ + TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \ + | tee cdemo-static-group.log - ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz.sig - ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2.sig - ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz.sig - ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta.sig +-- +Copyright (C) 2004 Free Software Foundation, Inc. -Here are the MD5 and SHA1 checksums: +The canonical source of this file is maintained with the +GNU Libtool package. Report bugs to bug-libtool@gnu.org. - @MD5SUM@ libtool-@VERSION@.tar.gz - @MD5SUM@ libtool-@VERSION@.tar.bz2 - @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz - @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta - @SHA1SUM@ libtool-@VERSION@.tar.gz - @SHA1SUM@ libtool-@VERSION@.tar.bz2 - @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz - @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta +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. -This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@, -but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own -projects. +As a special exception to the GNU General Public License, +if you distribute this file as part of a program or library that +is built using GNU libtool, you may include it under the same +distribution terms that you use for the rest of that program. -Alternatively, you can fetch the unbootstrapped sourcecode from -anonymous cvs by using the following commands (just hit return when -you are prompted for the password): +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. - $ export CVS_RSH=ssh - $ cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/libtool \ - co -r @CVS_RELEASE_TAG@ libtool +You should have received a copy of the GNU General Public License +along with GNU Libtool; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA -You will then need to have the latest release versions of Automake -(@AUTOMAKE_VERSION@) and Autoconf (@AUTOCONF_VERSION@) installed to -bootstrap the checked out sources yourself. -Please report bugs to . +Local Variables: +mode: text +fill-column: 72 +End: diff --git a/config/ltmain.in b/config/ltmain.in index 5558535b7..ef7867aef 100644 --- a/config/ltmain.in +++ b/config/ltmain.in @@ -1,10 +1,12 @@ -# ltmain.sh - Provide generalized library-building support services. # @configure_input@ -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 -# Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# + +# ltmain.sh (GNU @PACKAGE@@TIMESTAMP@) @VERSION@ +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + # This program 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 @@ -24,6 +26,47 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. +# Usage: $progname [OPTION]... [MODE-ARG]... +# +# Provide generalized library-building support services. +# +# --config show all configuration variables +# --debug enable verbose shell tracing +# -n, --dry-run display commands without modifying any files +# --features display basic configuration information and exit +# --mode=MODE use operation mode MODE +# --preserve-dup-deps don't remove duplicate dependency libraries +# --quiet, --silent don't print informational messages +# --tag=TAG use configuration variables from tag TAG +# --version print version information +# -h, --help print short or long help message +# +# MODE must be one of the following: +# +# clean remove files from the build directory +# compile compile a source file into a libtool object +# execute automatically set library path, then run a program +# finish complete the installation of libtool libraries +# install install libraries or executables +# link create a library or an executable +# uninstall remove libraries from an installed directory +# +# MODE-ARGS vary depending on the MODE. +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. +# +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: @host_triplet@ +# shell: $SHELL +# compiler: $LTCC +# linker: $LD (gnu? $with_gnu_ld) +# $progname: (GNU @PACKAGE@@TIMESTAMP@) @VERSION@ +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . + # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh @@ -37,6 +80,7 @@ elif test -n "${BASH_VERSION+set}${KSH_VERSION+set}" && (set -o posix) >/dev/nul fi DUALCASE=1; export DUALCASE # for MKS sh +dirname="s,/[^/]*$,," basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh @@ -47,9 +91,19 @@ basename="s,^.*/,,g" progpath="$0" # The name of this program: +PROGRAM=ltmain.sh progname=`echo "$progpath" | $SED "$basename"` modename="$progname" +# Make sure we have an absolute path for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *) progdir=`echo "$progpath" | $SED "$dirname"` + progdir=`cd "$progdir" && pwd` + progpath="$progdir/$progname" + ;; +esac + # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 @@ -177,6 +231,52 @@ o2lo="s/\\.${objext}\$/.lo/" # Shell function definitions: # This seems to be the best place for them +# func_usage +# Echo short help message to standard output and exit. +func_usage () +{ + $SED '/^# Usage:/,/# -h/ { + s/^# //; s/^# *$//; + s/\$progname/'$progname'/; + p; + }; d' < "$progpath" + echo + echo "run \`$progname --help | more' for full usage" + exit $EXIT_SUCCESS +} + +# func_help +# Echo long help message to standard output and exit. +func_help () +{ + $SED '/^# Usage:/,/# Report bugs to/ { + s/^# //; s/^# *$//; + s:\$progname:'$progname':; + s:\$SHELL:'"$SHELL"':; + s:\$LTCC:'"$LTCC"':; + s:\$LD:'"$LD"':; + s/\$with_gnu_ld/'"$with_gnu_ld"'/; + s/\$automake_version/'"`automake --version 2>/dev/null |$SED 1q`"'/; + s/\$autoconf_version/'"`autoconf --version 2>/dev/null |$SED 1q`"'/; + p; + }; d' < "$progpath" + exit $EXIT_SUCCESS +} + + +# func_version +# Echo version message to standard output and exit. +func_version () +{ + $SED '/^# '$PROGRAM' (GNU /,/# warranty; / { + s/^# //; s/^# *$//; + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/; + p; + }; d' < "$progpath" + exit $EXIT_SUCCESS +} + + # func_win32_libid arg # return the library type of file 'arg' # @@ -687,18 +787,9 @@ do # Have we seen a non-optional argument yet? case $arg in - --help) - show_help=yes - ;; - - --version) - $echo "$PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION" - $echo - $echo "Copyright (C) 2004 Free Software Foundation, Inc." - $echo "This is free software; see the source for copying conditions. There is NO" - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $EXIT_SUCCESS - ;; + -\?|-h) func_usage ;; + --help) show_help=yes ;; + --version) func_version ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath @@ -783,11 +874,11 @@ fi # left over by shells. exec_cmd= - if test -z "$show_help"; then - if test -z "$mode"; then - $echo "$modename: error: you must specify a MODE." 1>&2 - exit $EXIT_FAILURE - fi +if test -z "$show_help"; then + if test -z "$mode"; then + $echo "$modename: error: you must specify a MODE." 1>&2 + exit $EXIT_FAILURE + fi # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then @@ -6544,41 +6635,9 @@ fi # We need to display help for each of the modes. case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS +"") + func_help ;; - clean) $echo \ "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... diff --git a/libtoolize.in b/libtoolize.in index 726918767..ed5d1e2ee 100644 --- a/libtoolize.in +++ b/libtoolize.in @@ -1,6 +1,8 @@ #! /bin/sh +# @configure_input@ + # libtoolize (GNU @PACKAGE@@TIMESTAMP@) @VERSION@ -# Written by Gary V. Vaughan +# Written by Gary V. Vaughan , 2003 # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO @@ -35,16 +37,24 @@ # --debug enable verbose shell tracing # -n, --dry-run print commands rather than running them # -f, --force replace existing files -# --help display this message and exit # -i, --install copy missing auxiliary files # --ltdl[=DIR] install libltdl in a subdirectory [default: libltdl] # -q, --quiet work silently # -v, --verbose verbosely report processing # --version print version information and exit +# -h, --help print short or long help message # # You must `cd' to the top directory of your package before you run # `$progname'. # +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: @host_triplet@ +# $progname: (GNU @PACKAGE@@TIMESTAMP@) @VERSION@ +# automake: $automake_version +# autoconf: $autoconf_version +# # Report bugs to . # Be Bourne compatible @@ -186,7 +196,13 @@ func_help () { $SED '/^# Usage:/,/# Report bugs to/ { s/^# //; s/^# *$//; - s/\$progname/'$progname'/; + s:\$progname:'$progname':; + s:\$SHELL:'"$SHELL"':; + s:\$LTCC:'"$LTCC"':; + s:\$LD:'"$LD"':; + s/\$with_gnu_ld/'"$with_gnu_ld"'/; + s/\$automake_version/'"`automake --version 2>/dev/null |$SED 1q`"'/; + s/\$autoconf_version/'"`autoconf --version 2>/dev/null |$SED 1q`"'/; p; }; d' < "$progpath" exit $EXIT_SUCCESS