Commit Graph

1483 Commits

Author SHA1 Message Date
Gary V. Vaughan
849a7b9f99 * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require
Autoconf 2.58, which ships this macro anyway.
2004-02-06 14:12:10 +00:00
Gary V. Vaughan
3968c1f247 * Makefile.am: Comment typo. 2004-02-06 14:03:52 +00:00
Gary V. Vaughan
e9b269e4fa * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number
that is required for the calling code.
* doc/libtool.texi (AC_PROG_LIBTOOL): Document it.
* NEWS: Updated.
2004-02-06 13:58:06 +00:00
Peter O'Gorman
a9151fe677 * ltmain.in (infer_tag, win32_libid): Style changes. Rename
infer_tag to func_infer_tag and win32_libid to func_win32_libid.
* m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid.
2004-02-05 14:53:16 +00:00
Peter O'Gorman
c76530e05e * ltmain.in (infer_tag): Move tag inferrence to a shell function.
Also test $base_compile against $CC with escaped arguments. Bug
reported by Geoff Keating <geoffk@apple.com>.
2004-02-04 14:39:02 +00:00
Scott James Remnant
b4ae553286 * Makefile.am (install-data-hook): Manually make config.guess
and config.sub executable after they are installed as _DATA.
We can't use _SCRIPTS because the various program name
transforms may be applied to them.
(dist_pkgdata_DATA): List config.guess and config.sub here
(pkgdata_SCRIPTS): instead of here.
2004-02-03 22:05:07 +00:00
Scott James Remnant
21b9758e8c * ltmain.in: Create temporary directory under a strict umask
rather than running chmod afterwards, preventing a race
condition where the directory could be replaced with a symbolic
link in the time between the two commands.
2004-02-03 22:02:51 +00:00
Peter O'Gorman
56ffee0e55 * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to
`$echo, causes problems when builtin echo is broken. Reported
by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2004-01-31 12:03:29 +00:00
Scott James Remnant
d608987264 This fixes release procedure problems discovered whilst making
the 1.5.2 release.

* Makefile.am (cvs-dist): Because we check whether ChangeLog
has been committed, this rule can't be run with uncommitted
source so we can't run 'commit' and don't need to run
'make dist' a second time.  Fix CVS tag as it should be
"release-X" not "Release-X".
(cvs_commit): New rule for the cvs-release chain that runs
'commit'
(cvs-release): Depend on cvs-commit, depend on deltas instead of
cvs-diff and xdelta.
(cvs-diff): Removed, replaced with delta-diff.
(delta-diff): Unpack and diff the old and new tarballs rather
than using CVS, so we get a genuinely complete diff.
(xdelta): Removed, replaced with delta-xdelta.
(got-xdelta): New rule for improved reading.
(delta-xdiff): Copied and cleaned up version of old xdelta rule.
(deltas): Depends on delta-diff and delta-xdelta (make deltas).
(cvs-news): Don't depend on timestamps, cvs-dist itself does now.
(prev-tarball): This is the only place we need a LASTRELEASE check
so copy the code here and remove the CHECK_RELEASE variable.
(new-tarball): Check there's a new tarball (did cvs-dist work?)
(FETCHFILES): Remove obsolete libltdl mentions.
* README-alpha: Update CVS instructions as everything's changed
on Savannah.
(Release procedure): Update NEWS and ChangeLog after changing
the version number (both times); Run 'make fetch' after running
'configure' (difficult to do it beforehand); Require 'commit'
before 'make cvs-dist' as that checks ChangeLog is committed;
'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE
to make instead of OLDVERSION (and it's mandatory); Clean up
uploading paragraph; Clearer announcement sending instruction;
Removed ftp-upload@gnu.org mail as that's not necessary now;
Make web page updating instructions a bit clearer; Add an instruction
to update the manual for non-alphas.
(Alpha release note template): Add a Subject; update CVS instructions.
(Full release note template): Add a Subject; update CVS instructions.
* configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk
about bz2 files in our release announcements; remove old reference
to OLDVERSION.
2004-01-27 12:38:47 +00:00
Scott James Remnant
a702e8a9fb * NEWS: Include 1.5.2 release information. 2004-01-25 13:41:21 +00:00
Gary V. Vaughan
3dd601f552 This fixes a bug in the libtoolize ltdl source installation rules,
which were copying Makefile.in from the libtool tree into the
package running libtoolize.  Now we explicitly list the files to
copy to force the package to generate its own Makefile.in:

* libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES):
Add ltdl.h.
(ltdldatadir): New variable for installation directory of
libtoolize --ltdl files.
(ltdldata_DATA): Tell automake what files to copy there at install
time (and remove at unistall time!).
(local-install-files): Removed.  This hack is not required
anymore, the automake generated install rules are much more
advanced than this.
* Makefile.am (install-data-hook, uninstall-local): Removed.
Libltdl files for libtoolize are installed by their own Makefile
now.
2004-01-22 22:25:43 +00:00
Jeff Squyres
0085cef913 * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers
(e.g. Intel Linux icc compiler) write temporary files to the current
directory. These compilers do support -c and -o simultaneously but
wrongly fail the test due to the failure to create temporary
files. It is incorrect to penalize compilers which write temporary
files to the current directory so the 'chmod -w .' is therefore
removed.
2004-01-22 19:01:19 +00:00
Gary V. Vaughan
a9d07029d6 * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP.
AIX has a brain-dead grep that only handles lines < 2048
characters.  Default GREP incase we are not using a future
autoconf that sets it for us :-)  Changed all callers to use $GREP
instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP.
Declare GREP as a libtool config var.
* ltmain.in: Use it.
* tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by
tightening the regexp.
Reported by Albert Chin-A-Young  <china@thewrittenword.com>
2004-01-22 15:27:25 +00:00
Nick Hudson
5b48aab18d * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove
gratuitous ${libname}${release}${shared_ext} from
library_names_spec.
2004-01-21 14:38:54 +00:00
Peter O'Gorman
e6c5a654ae * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the
reload_cmds to use $CC, otherwise ld will thin out any fat
objects.
2004-01-21 14:16:34 +00:00
Benjamin Reed
de50d5cf48 * ltmain.in: Fix handling of frameworks in search paths. Also
a one-liner fix to eval shrext in the libtool library search.
2004-01-19 04:57:26 +00:00
Gary V. Vaughan
0363c0c48e * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or
else aclocal.m4 is huge, and m4 directory is not distributed.
2004-01-16 22:42:26 +00:00
Gary V. Vaughan
b6b8a7c3b1 * configure.ac (AC_CONFIG_HEADERS): Create config.h in
$top_srcdir.
* m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if
necessary. Calculate filename from first argument to
AC_CONFIG_HEADERS, and substitute as CONFIG_H.
* libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in
$top_srcdir for headers.
(DEFS): Override the default HAVE_CONFIG_H with the config.h
filename.
(ltdl.lo): Reference config.h via $(CONFIG_H).
* libltdl/ltdl.c (HAVE_CONFIG_H): Ditto.
2004-01-16 22:03:19 +00:00
Scott James Remnant
ce6c2776cf * m4/lt~obsolete.m4: Add a file containing aclocal-fooling
macro definitions which stop the contents of an installed
libtool.m4 ending up in our aclocal.m4 when we bootstrap.
* Makefile.am (pkgmacro_DATA): Note that we don't need to add
lt~obsolete.m4 to this list.

* m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it
2004-01-15 19:16:51 +00:00
Gary V. Vaughan
d3588ab4b0 (AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add
tags if a compiler was found; ie if you have no gcj compiler,
don't tack the GCJ tag onto the generated libtool script.
2004-01-15 08:36:48 +00:00
Peter O'Gorman
454327bf10 * m4/libtool.m4: Quote shrext as it is evaled in ltmain. 2004-01-13 12:24:52 +00:00
Scott James Remnant
08e80547ba * ltmain.in: new -precious-files-regex link mode option
to prevent removal of matching files from the temporary
output directory.
(Debian Bug #221420)
* doc/libtool.texi: document the new option.
* NEWS: announce the new option.
2004-01-12 02:32:50 +00:00
Gary V. Vaughan
1cda059e52 * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy.
Now the test can actually succeed sometimes.
2004-01-11 23:24:02 +00:00
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