2004-02-11 Albert Chin-A-Young * m4/libtool.m4: Fix typo: testring -> teststring. 2004-02-11 Gary V. Vaughan * commit: Mail a nicer commit notification. 2004-02-10 Gary V. Vaughan * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4: * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just went crazy and committed a bunch of stuff that shouldn't have been in the last changeset. The patch backs it all out. * config/mailnotify: New file for mailing commit notifications, imported from cvs-utils. * commit: Updated from cvs-utils and tweaked for libtool. * Makefile.am (EXTRA_DIST): Add config/mailnotify. 2004-02-06 Gary V. Vaughan * bootstrap: Remove vcl.tmp, otherwise it can interfere with make. * Makefile.am (vcl.tmp): Move comment out of multi-line command, as this rule is called from bootstrap as if it were a Makefile. * m4/ltversion.in: New file to capture what version number macros are being used. * Makefile.am (m4/ltversion.m4): New rule to create it from m4/ltversion.in. (nodist_pkgmacro_DATA): Add m4/ltversion.m4. (EXTRA_DIST): Add m4/ltversion.in. * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION from ltversion.m4. * bootstrap: Call the Makefile.am to create an initial m4/ltversion.m4. * ltmain.in: Diagnose version mismatches of various flavours. * TODO: Remove mismatch item. * NEWS: Updated. * Makefile.am ($(top_builddir)/config.status): Removed. * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is how automake-1.8 now informs all Makefiles when config.status needs to be rebuilt. Reported by Alexandre Duret-Lutz * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here. * Makefile.am (libtool, libtoolize): These rules are redundant. Automake generates better rules for remaking these files. * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with beginning with LT_ and _LT_. * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the unexpanded macros error. * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require Autoconf 2.58, which ships this macro anyway. * Makefile.am: Comment typo. * 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-05 Peter O'Gorman * 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-04 Peter O'Gorman * 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 . 2004-02-03 Scott James Remnant * 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. 2003-02-03 Scott James Remnant * 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-01-31 Peter O'Gorman * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to `$echo, causes problems when builtin echo is broken. Reported by Ralf Wildenhues . 2004-01-27 Scott James Remnant 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-25 Scott James Remnant * NEWS: Include 1.5.2 release information. 2004-01-22 Gary V. Vaughan 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 Jeff Squyres * 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 Gary V. Vaughan * 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 2004-01-21 Nick Hudson * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove gratuitous ${libname}${release}${shared_ext} from library_names_spec. 2004-01-21 Peter O'Gorman * 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-18 Benjamin Reed * ltmain.in: Fix handling of frameworks in search paths. Also a one-liner fix to eval shrext in the libtool library search. 2004-01-16 Gary V. Vaughan * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or else aclocal.m4 is huge, and m4 directory is not distributed. * 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-15 Scott James Remnant * 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. 2004-01-12 Gary V. Vaughan * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it only needs to be updated in one place. (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-13 Peter O'Gorman * m4/libtool.m4: Quote shrext as it is evaled in ltmain. 2004-01-11 Scott James Remnant * 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-11 Gary V. Vaughan * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy. Now the test can actually succeed sometimes. 2004-01-09 Gary V. Vaughan * libtoolize.in: Break out of the command argument parse loop when -- is encountered. 2004-01-08 Gary V. Vaughan * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep tests/sh.test happy. 2004-01-07 Gary V. Vaughan * 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-07 Gary V. Vaughan 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 Gary V. Vaughan * libtoolize.in (seen_gettext): Removed unused variable. 2004-01-06 Gary V. Vaughan * libtoolize.in (func_scan_files): Don't assume the existence of aclocal.m4. Make the comment more descriptive. Reported by Alexandre Duret-Lutz * NEWS: Note libtoolize changes. * ChangeLog.2003: New file, containing all the ChangeLog entries from 2003. Trimmed ChangeLog accordingly. * ltmain.in: Output 2004 in the copyright from libtool --version. 2004-01-03 Stefan Nordhausen Scott James Remnant * 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-02 Peter O'Gorman * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped. * 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 Scott James Remnant * .cvsignore: Ignore stamp-vcl created by the Makefile. 2004-01-02 Bob Friesenhahn Joe Orton * 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 Scott James Remnant * NEWS: Next release will be in 2004. Continued in ChangeLog.2003 $Revision$ $Date$