2
0
mirror of git://git.savannah.gnu.org/libtool.git synced 2024-12-21 06:59:11 +08:00
Commit Graph

1460 Commits

Author SHA1 Message Date
Gary V. Vaughan
a905ce0f28 * libtoolize.in: Break out of the command argument parse loop when
-- is encountered.
2004-01-09 16:55:03 +00:00
Gary V. Vaughan
4ed4bf98cf * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep
tests/sh.test happy.
2004-01-09 10:22:51 +00:00
Gary V. Vaughan
c4e30f595b * Makefile.am (aclocal_macros, aclocal_DATA): Removed.
(EXTRA_DIST): Remove m4 macro files; they are automatically
added by automake.
(pkgmacrodir): Where to install libtool macro files.
(pkgmacro_DATA): List installable libtool macro files.
(install-data-local): Remove previous versions of ltdl.m4 and
libtool.m4 from their old location.
* libtoolize.in: Use new pkgmacrodir installed macros when
libtoolizing a project.  Treat libtool.m4 and ltdl.m4 specially,
and func_serial_update() any other files from pkgmacrodir.
(pkgmacrodir): Where to find installed libtool macro files.
(aclocaldir): Removed.
(func_copy_all_files): Add an optional callback parameter to
control how files are copied.  If the callback is passed, don't
tell it whether it can copy or not.
(func_serial): Exchange parameters and make macro_regex optional,
so that this function can be used to extract serial numbers from
files with the traditional /^# serial [1-9][0-9]*$/ syntax.
Changed all callers.
(func_serial_update): Make macro_regex optional last parameter, so
that this function can be used as a callback for
func_copy_all_files().  Changed all callers.
* m4/ltsugar.m4: Add a serial number.
2004-01-08 10:34:52 +00:00
Gary V. Vaughan
3aedc1f02a A complete rewrite of the m4 code involved in the generation of
libtool via config.status.  The old way involved manually
synchronising disparate bits of shell code in several macros, to
quote a copy of a shell variable, put that in config.status, maybe
add it to some quotation loops to prevent early expansion, and
then add a block to _LT_CONFIG_COMMANDS to bring it into the
libtool script.  The new way is to mark shell variables for
propogation using _LT_DECL for language independent variables, or
_LT_TAGDECL for those that need to be propogated in several
language flavours.  The marking can be done in the macro that
probes the variables, and this new m4 machinery takes care of
synchronising all the other bits of code at autoconf time:

* m4/ltsugar.m4:  New file.  Macros that are useful outside the
context of libtool.  Initially, contains some generalised list
management macros, and the scaffolding for dictionary type data
storage and retrieval.
* Makefile.am (aclocal_macros): Install ltsugar.m4.
* m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to
the libtool script, along with a comment, and hints for quoting
and renaming.
(_LT_TAGDECL): Similarly mark a tagged shell variable for export
in each tag.
(lt_decl_tag_varnames, lt_decl_quote_varnames)
(lt_decl_dquote_varnames, lt_decl_varnames_tagged)
(lt_decl_all_varnames):  New utility macros for managing lists of
shell variable names from _LT_DECL and _LT_TAGDECL.
(_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE):
Expand to correctly quoted variable declarations in config.status
from all marked shell variables.
(_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable
declaration for libtool tag section.
(_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked
variables to _LT_LIBTOOL_DECLARE.
(_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and
friends to generate all the variable passing shell code for
config.status, to get marked variables from libtool.m4 into
libtool itself eventually.
(AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag
configuration.  Changed all client macros to mark variables
suitably rather than the hand pasting that was necessary
previously.
(AC_PROG_SED): Renamed from LT_AC_PROG_SED.
(LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for
propogation to the libtool script.
2004-01-07 12:26:25 +00:00
Gary V. Vaughan
4b208b6e8b * libtoolize.in (seen_gettext): Removed unused variable. 2004-01-07 03:50:33 +00:00
Gary V. Vaughan
96bf572fa9 * libtoolize.in (func_scan_files): Don't assume the existence of
aclocal.m4.  Make the comment more descriptive.
Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
2004-01-06 20:25:53 +00:00
Gary V. Vaughan
678ae874c2 * NEWS: Note libtoolize changes. 2004-01-06 19:58:01 +00:00
Gary V. Vaughan
1cfd6cc0c0 * ChangeLog.2003: New file, containing all the ChangeLog entries
from 2003.  Trimmed ChangeLog accordingly.
2004-01-06 19:43:09 +00:00
Gary V. Vaughan
3f084a6e89 * ltmain.in: Output 2004 in the copyright from libtool --version. 2004-01-06 19:26:17 +00:00
Stefan Nordhausen
a8f3df622a Roll back copyright changes. 2004-01-04 20:45:24 +00:00
Stefan Nordhausen
5f2a0ecae7 Scott James Remnant <scott@netsplit.com>
* m4/ltmain.in: Don't use the mkdir -p option when creating a
temporary output directory so a symlink attack can't be used to
arbitrarily chmod other directories on the system if libtool
gets run as root.
2004-01-03 14:45:59 +00:00
Peter O'Gorman
a85084863f * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped. 2004-01-02 23:10:52 +00:00
Peter O'Gorman
9b663ef2e4 * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it
allows for zsh differences, as noted in the autoconf manual's
Portable Shell - Special Shell Variables section.
2004-01-02 23:04:21 +00:00
Scott James Remnant
860a32a0eb * .cvsignore: Ignore stamp-vcl created by the Makefile. 2004-01-02 02:25:20 +00:00
Bob Friesenhahn
c4c9b05ac5 Joe Orton <joe@manyfish.co.uk>
* m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash
in front of all the inner double-quotes as this is removed
on Solaris, IRIX and AIX leading to broken definitions
in config.status.
2004-01-02 02:18:03 +00:00
Scott James Remnant
dff2249409 Updated all copyright notices to include 2004.
* NEWS: Next release will be in 2004.
2004-01-02 01:59:11 +00:00
Scott James Remnant
81c873e7b5 * ltmain.sh: Infer tagged configuration for link mode with the
full compiler arguments available rather than only the first.
2003-12-31 01:33:53 +00:00
Alexandre Duret-Lutz
7983eaf90b * ltmain.sh: Quote $exec_cmd before it is eval'ed, so that
libtool --mode=execute echo '4 * 5' does not expand the `*'.
2003-12-31 00:31:23 +00:00
Peter O'Gorman
04990d9b98 * m4/libtool.m4: Move things around so that "setopt NO_GLOB_SUBST"
to make zsh behave wrt  escapes happens early in config.status.
2003-11-28 13:41:22 +00:00
Gary V. Vaughan
306033a153 * libltdl/configure.ac: Removed.
* configure.ac (AC_CONFIG_HEADERS): Merged from
libltdl/configure.ac.
(AC_LIB_LTDL): Ditto.
(AC_CONFIG_FILES): Add libltdl/Makefile.
(AC_CONFIG_SUBDIRS): Removed.
(AC_CONFIG_COMMANDS): Remove generation of libltdl/ltmain.sh.
* libltdl/Makefile.am (libtool): Removed references, since we now
share $(top_builddir)/libtool.
* NEWS: Updated.
2003-11-27 13:32:33 +00:00
Gary V. Vaughan
7774933215 * Makefile.am (vcl.tmp): Be careful of VPATH builds. 2003-11-26 18:06:52 +00:00
Gary V. Vaughan
f8ba12607b * Makefile.am (EXTRA_DIST): Add stamp-vcl, or we go back to a
double configure run from a distributed tarball :-?
2003-11-26 16:30:20 +00:00
Gary V. Vaughan
f3d1939fe2 Okay, the problem I am trying to solve is that when a change (say,
bumping the version to 1.6 for the next release) is committed, the
timestamp in ChangeLog is updated, but ltmain.sh and libtoolize
inherit the pre-commit build number from config.status.  This
delta notes the change in build number in the unstamped ChangeLog
and forces a rerun of configure etc. to roll a new ltmain.sh with
the correct TIMESTAMP:

* Makefile.am (stamp-vcl): We actually need a new config.status to
force the correct timestamp into libtoolize and ltmain.sh,
rerunning autoconf has no effect at all if configure.ac hasn't
changed.
2003-11-26 15:36:08 +00:00
Gary V. Vaughan
32ba8b7442 * Makefile.am (stamp-vcl): New rules to force libtool and
libtoolize scripts to update when the TIMESTAMP changes in
ChangeLog, but the file modification time doesn't (e.g in cvs
commit).  Otherwise we'll carry on releasing tarballs with the
wrong version numbers in the tools!
2003-11-26 13:36:31 +00:00
Gary V. Vaughan
9a7495a24d * config/mkstamp: Change output format to ` $rev $date'.
* configure.ac: Make the banner more like suggestions in
http://www.gnu.org/prep/standards_toc.html Section 4.6.
* libtoolize.in: Make --version output conform to the GNU
standard.
* ltmain.in: Ditto. And tweak the generated file headers to
match.
2003-11-26 12:34:23 +00:00
Gary V. Vaughan
a7df618add * Makefile.am (config.status): Removed. Rebuilding config.status
isn't enough, because the TIMESTAMP in configure is still out
of date.
(configure): We actually need a new configure to force the
correct timestamp into ltmain.sh.
2003-11-25 16:51:14 +00:00
Gary V. Vaughan
3f71175814 * Makefile.am (config/ltmain.sh): Removed. Rebuilding ltmain.sh
isn't enough, because the TIMESTAMP in config.status is still out
of date.
(config.status): We actually need a new config.status to force the
correct timestamp into ltmain.sh.
2003-11-25 16:48:13 +00:00
Gary V. Vaughan
8f7c696c5f * Makefile.am (config/ltmain.sh): Note the dependency on the
timestamp in ChangeLog so we don't ship libtools that report the
wrong version number :-/
2003-11-25 16:41:44 +00:00
Gary V. Vaughan
d30b465a54 * bootstrap: Explain automake and autoconf version dependencies
truthfully, and the difference between bootstrap and user
dependencies.
* configure.ac (AM_INIT_AUTOMAKE): List AUTOMAKE_OPTIONS here.
* Makefile.am, doc/Makefile.am, tests/Makefile.am
(AUTOMAKE_OPTIONS): Removed from here.
2003-11-25 15:48:23 +00:00
Gary V. Vaughan
c2b6ce4412 * tests/defs (func_configure): cdemo, demo and mdemo are shows
signs of indeterminacy for some users.  Be more verbose during
failure to help track down the cause.
2003-11-24 15:26:56 +00:00
Peter O'Gorman
33a0b234b0 * ltmain.in: Test $old_striplib before using it, not $striplib. 2003-11-22 14:12:57 +00:00
Peter O'Gorman
96172f9e02 * tests/demo-hardcode.test: Call ./libtool not libtool. 2003-11-22 14:09:14 +00:00
Peter O'Gorman
65021963c3 * ltmain.in: Move eval to after command separation to allow ~ in paths. 2003-11-22 14:03:35 +00:00
Peter O'Gorman
f97c9e4568 * ltmain.in: Check for module_cmds if max_cmd_len is exceeded too. 2003-11-22 13:58:35 +00:00
Gary V. Vaughan
3f3c6f4c5e * configure.ac (LASTRELEASE): Calculate it as best as we can from
AC_PACKAGE_VERSION.
* Makefile.am (distdir): Remove dependency on timestamps so that
it is possible to roll a dist without contacting the cvs server.
Use `make cvs-release' for that.
(cvs-news): Extracted from cvs-dist.
(cvs-dist): Depend on cvs-news.
(CHECK_LASTRELEASE): Check LASTRELEASE has been set.
(prev-tarball): New rule.  Use LASTRELEASE to make sure the
previous release tarball is present.
(cvs-diff): Use CHECK_LASTRELEASE.
(xdelta): Ditto.
(cvs-release): Depend on prev-tarball, timestamps, cvs-news and
fetch. Provided you set LASTRELEASE appropriately, making a full
cvs release is just a matter of `make cvs-release', and submitting
the files to ftp-upload.
2003-11-22 10:03:13 +00:00
Gary V. Vaughan
098ef77a20 * m4/libtool.m4 (_LT_PROG_LTMAIN): Ensure config.status has a
value for `ac_aux_dir' when automake is not used.
Reported by Patrick Welche <prlw1@newn.cam.ac.uk>.
2003-11-19 17:58:40 +00:00
Gary V. Vaughan
e7c19e2e1c * configure.ac (AC_PREREQ): AS_HELP_STRING was introduced after
autoconf-2.57 was released.
2003-11-19 12:55:47 +00:00
Gary V. Vaughan
9b5a0f038d * libltdl/ltdl.c (lt_dlhandle_find): New function to find a handle
by module name.
* libltdl/ltdl.h (lt_dlhandle_find): Declare it.
* doc/libtool.texi (User defined module data): Document it.
* NEWS: Updated.
2003-11-18 22:39:39 +00:00
Gary V. Vaughan
fe6fb50bc3 * m4/libtool.m4 (AC_LIBTOOL_SETUP): Uncomment call to
_LT_CONFIG_COMMANDS.
(_LT_AC_TAG_CONFIG, AC_LIBTOOL_CONFIG): Accumulate tag generation
for `config.status' using _LT_CONFIG_SAVE_COMMANDS.  Remove
AC_MSG_NOTICE noise now that libtool is generated by a single
config.status tag.
* Makefile.am (libtool): Specify CONFIG_COMMANDS properly now that
libtool is generated in one pass.
2003-11-17 17:20:09 +00:00
Gary V. Vaughan
50503c94d7 * configure.ac (CONF_SUBDIRS): Make these relative to
tests/Makefile.am.
(DIST_MAKEFILE_LIST): Adjust to compensate for having removed the
`tests/' part in CONF_SUBDIRS.
* tests/Makefile.am (DIST_SUBDIRS): Distribute these directories.
(SUBDIRS): Set to `.', a NOP, to workaround an automake bug which
ignores DIST_SUBDIRS unless SUBDIRS is also set.
* Makefile.am (DIST_SUBDIRS): Don't try to distribute the tests
subdirectories from here, since the recursive automake dist rule
only works with direct child directories.  Defer to
tests/Makefile.am in this case.
2003-11-17 15:49:06 +00:00
Scott James Remnant
fec57b3fba * ltmain.in: In compile mode, delay parsing of -shared, -static,
-prefer-pic and -prefer-non-pic until after tagged configuration
has been read.  In link mode, read tagged configuration before
parsing any arguments.  These arguments will now work when using
a non-C compiler.
2003-11-17 11:19:07 +00:00
Gary V. Vaughan
0ef83c1b17 * NEWS: Mention AC_LIBTOOL_TAGS. 2003-11-14 17:33:04 +00:00
Gary V. Vaughan
422f828727 * Makefile.am (EXTRA_DIST): List ChangeLog files correctly. 2003-11-14 17:31:23 +00:00
Gary V. Vaughan
c114abf5e4 * tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/mdemo/configure.ac, tests/mdemo2/configure.ac,
tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Declare just
the tags we need using AC_LIBTOOL_TAGS, reducing the size of the
configure script by 50% in most cases.
2003-11-14 17:28:29 +00:00
Marius Vollmer
e12f17a713 * doc/libtool.texi (Libltdl interface): libltdl does in fact load
dependency libs for lt_dlopen()ed modules.
2003-11-14 15:14:11 +00:00
Gary V. Vaughan
a69688b769 Run our configure.ac files through Autoconf 2.59's autoupdate, and
then tweak the results by hand:

* m4/libtool.m4 (AC_PROG_LD): In common with all the other
AC_PROG_ macros, AC_SUBST the discovered LD.
(AC_PROG_NM): Similarly for NM.
(LT_AC_PROG_SED): Similarly for SED.
* configure.ac: No need to SUBST NM and LD manually any more.
(AC_PREREQ): Conservatively downgrade from 2.59 to 2.54.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/mdemo/configure.ac, tests/mdemo2/configure.ac,
tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Ditto.
* m4/libtool.m4 (AM_PROG_LIBTOOL, AM_ENABLE_SHARED,
AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC,
AM_PROG_LD, AM_PROG_NM): AU_DEFUN these macros so autoupdate can
use the newer definitions.
2003-11-14 11:12:22 +00:00
Gary V. Vaughan
d79ab06e59 The rules for uploading releases to gnu.org have been updated, and
are in fact now rather complicated.  This delta updates the
release instructions to the describe the new process, and updates
the maintainer rules to help automate many of the steps:

* README-alpha: Updated release instructions.
* Makefile.am (GPG): Name of the program for generating signatures
for files to be uploaded.
(XDELTA, XDELTA_OPTIONS): Invocation of xdelta.
(cvs-dist): Run distcheck before tagging the cvs tree incase
distcheck fails, and then generate the gpg signature files.
(cvs-diff): Generate the gpg signature files for the diff.
(xdelta): New rule for generating the xdelta diffs and associated
gpg signature files.
(cvs-release): New rule to do all of the above, if you don't mind
typing your gpg passphrase over and over again. :-)
(fetch): New rule inspired by automakes similar rule for updating
files maintained outside the project.
* config/config.guess, config/config.sub: Updated with the new
fetch rule.
2003-11-12 18:37:26 +00:00
Gary V. Vaughan
e15eb25258 * libltdl/ltdl.c (lt_dlinit): Save a function call for each loader
added to the list, in exchange for appending loaders to the list
with O(N) rather than O(1).  The longest the loader list can ever
get is 4 (on cygwin with dld installed) so it probably constitutes
a small speedup, in addition to making the code much more readable.
2003-11-11 16:53:31 +00:00
Gary V. Vaughan
c866b386af * m4/libtool.m4 (AC_LIBTOOL_SETUP): Don't define the value for
ltmain unconditionally.
(_LT_PROG_LTMAIN): New macro to ensure that the
shell variable `ltmain' actually points at a suitable `ltmain.sh'.
(_AC_PROG_LIBTOOL): Require it.
(AC_LIBTOOL_CONFIG, _LT_AC_TAG_CONFIG): Invoke it.
* Makefile.am (libtool): ltmain.sh is in the build tree.
* libltdl/configure.ac: Ditto.
2003-11-11 16:49:32 +00:00
Scott James Remnant
503555927d * ltmain.in: Add -pthread and similar to $deplibs ($compile_deplibs
and $finalize_deplibs for programs) when found on the command line
or in a .la file's dependency_libs (but don't place them there) so
they are honoured when linking both programs and libraries.
2003-11-10 21:06:49 +00:00