Symbols in "pick any" sections are not global. Use
awk, not sed, in the global_symbol_pipe so that keeping
track of sections is easier.
* doc/libtool.texi (libtool script contents): Update to hint
at new findings concerning "pick any" sections.
* bootstrap (SHELL): Set to $CONFIG_SHELL or /bin/sh.
Name `make' targets in portable fashion. Work around `rm'
warnings. Unconditionally create fake `libtoolize'.
Reported by Patrick Welche <prlw1@newn.cam.ac.uk>.
dipatch..
(_LT_SET_OPTION): here. Do not fail but warn on unknown
options.
(_LT_UNLESS_OPTIONS(win32-dll), LT_OPTION_DEFINE(dlopen)):
Add whitespace.
Reported by Robert Ögren <lists@roboros.com> and
Akim Demaille <akim@lrde.epita.fr>.
Use pre-defined programs for installation; use NORMAL_INSTALL
and NORMAL_UNINSTALL. Really fix ownership and timestamp
problems. Fix typo in uninstallation of aclocal files.
Reported by Peter Breitenlohner <peb@mppmu.mpg.de> and
Charles Wilson <cygwin@cwilson.fastmail.fm>.
which lack AC_CONFIG_LIBOBJ_DIR support.
* bootstrap: Unless environment variable WORKING_LIBOBJS_SUPPORT
is set to true aka `:', symlink ..
* argz.c lt__dirent.c lt__strl.c: .. these from the copies in
libltdl.
* configure.ac (SUBDIR_LIBOBJS): Automake conditional, set if
bootstrap didn't make the extra copies of libobj sources in
top srcdir...
* Makefile.am: Add these to EXTRA_DIST if SUBDIR_OBJS is not set,
as well as the originals in libltdl/, in order to work when
bootstrapped both with old and newer Automake/Autoconf.
for $MV to be defined before use. Factor out setting of some
common file commands and m4_require it before use:
* libltdl/m4/libtool.m4 (_LT_FILEUTILS_DEFAULTS): Allow user to
override some common file commands at configure time.
(_LT_SETUP, _LT_CONFIG, _LT_COMPILER_OPTION, _LT_LINKER_OPTION)
(_LT_COMPILER_C_O, _LT_COMPILER_FILE_LOCKS)
(_LT_SYS_DYNAMIC_LINKER, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
(_LT_SYS_HIDDEN_DEPLIBS): m4_require it to ensure the commands are
defined before they are called.
Save file descriptor to original STDIN, and restore after
redirection. Fixes memory corruption with Tru64 and OSF sh.
Reported by Nicolas Joly <njoly@pasteur.fr>.
and "rm -f && ln -s" to make a symlink for a shared library: the
former is needed for libraries `ln' depends on, the latter for
Solaris /bin/ln.
Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine. Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:
* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations. Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule. Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance. Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed. Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
(LT_PATH_NM): If nm is not found on the path, look for
dumpbin. Then check if $NM responds as dumpbin would
and if not, assume the name lister is BSD nm compatible.
(_LT_CMD_GLOBAL_SYMBOLS): If the name lister uses the
dumpbin interface, adjust the test to find a working
global_symbol_pipe.
* doc/libtool.texi: Document $NM to possibly be MS
dumpbin compatible, and also document the format of the
relevant output from MS dumpbin.
libtool before config.status.
(_LT_CONFIG_COMMANDS): If LT_OUTPUT has been invoked, then
generate code in config.status to call config.lt instead of
generating libtool directly.
* doc/libtool.texi (LT_INIT): Document LT_OUTPUT.
* tests/early-libtool.at: New test.
* Makefile.am (TESTSUITE_AT): Updated.
* tests/testsuite.at: Updated. Define defaults for $ACLOCAL,
$AUTOCONF.
(func_mode_execute, func_mode_install, func_mode_link): Use it.
Do not append a dot to a file name to source, it breaks on
cygwin managed mounts and is not necessary anywhere.
Reported by Eric Blake <ebb9@byu.net>.
(func_configure_nofail): this, call from old.
* tests/fcdemo-conf.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test: Use. Do not fail gratuitously but
SKIP on compilers that look like they could be Fortran 77-only.
Reported by Patrick Welche <prlw1@newn.cam.ac.uk>.
definition of lt_libltdlc_LTX_preloaded_symbols tagged with
__declspec(dllexport) in ltdl.c and one definition with an
initial value in libltdlcS.c. So, just say extern in ltdl.c.
Fixes the mdemo-exec.test for MinGW.
New macros: save warnings and boilerplate of simple compile/link tests.
(_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG,
_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Call.
(_LT_COMPILER_OPTION, _LT_LINKER_OPTION, _LT_COMPILER_C_O, ):
Fail only if nonempty warnings different from default compile/link.
need for $ECHO here. Fix sed script syntax to be portable.
This should now put the pic-flag right after the last $*FLAGS
variable again, if any. Necessary for Fortran AC_FC_SRCEXT.
about forbidden characters in output, check with grep after checking
func_quote_for_eval result. Also, warn instead of fail.
* config/general.m4sh (func_quote_for_eval, func_quote_for_expand):
Revert SunOS sh bug workaround patch from 2004-12-28 as it
triggers bugs in the Tru64 5.1B shell.
Reported by Albert Chin <libtool@mlists.thewrittenword.com> and
Nicolas Joly <njoly@pasteur.fr>.
_LT_LANG_CXX_CONFIG) [ linux ]: PGI:
Add $pic_flag to archive_cmds and archive_expsyms_cmds.
Bug reported against LAM by Troy Telford <ttelford@lnxi.com>.
* libtoolize.m4sh (pkgdatadir, aclocaldir): Substituted from
configure.
(func_copy_all_from_path): Removed. No longer used.
(func_copy_some_files): Simplify now that nothing is copied from a
list of possible directories now.
(func_scan_files): Remove directory readability check...
(func_nonemptydir_p): ...in favour of a dedicated sanity check
function called from the main body.
(_lt_pkgvdatadir): Set pkgdatadir and aclocaldir appropriately if
this is in the environment.
* configure.ac: Tests for `ln' removed.
(APIVERSION): Removed.
* Makefile.am (pkgvdatadir, nobase_dist_pkgvdata_DATA)
(nobase_pkgvdata_DATA): Renamed to...
(pkgdatadir, nobase_dist_pkgdata_DATA, aclocalfiles): ...these
respectively.
(edit): Adjust for new variable names.
(install-data-local): Don't bother to remove old macro files that
will be overwritten by the installation, and perform a manual
installation of $(aclocalfiles) to preserve timestamps.
(install-exec-hook): Removed. No need to make versioned links.
(uninstall-hook): No need to remove versioned links, but now we
need to manually remove the manually installed $(aclocalfiles).
* doc/libtool.texi: Remove bogus notes about setting
ACLOCAL_AMFLAGS for versioned libtool installations.
* NEWS: Remove parallel installation item.
AC_DEFINE_UNQUOTED consistently. Reported by
Michael Koch <konqueror@gmx.de>, Riccardo Mottola <zuse@libero.it>,
and Dalibor Topic <robilad@kaffe.org>.
* Makefile.am, tests/testsuite.at: Adjust.
* tests/testsuite.at: Reorder tests. Suspend AT_TESTED.
(PREPARE_TESTS): Define EGREP, host, build, LIBTOOL.
(LT_AT_BOOTSTRAP): Fail if autoreconf fails.
(LT_AT_EXEC_CHECK): New macro for execution of $build binaries.
(LT_AT_TAG): New macro to test tag availability or skip test.
* tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at,
tests/link-order.at, tests/stresstest.at, tests/template.at:
Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS.
Use compiler/linker flags consistently.
* tests/link-order.at: Fix use of AT_DATA, bogus redirection
inside AT_CHECK.
* tests/stresstest.at: Do not use wildcards/regex in symbol files,
they are not portable. Use -no-undefined on win32. Fix to ignore
compile/link warnings.
* config/ltmain.m4sh: Don't add files with the same base name to an
archive; rename duplicates instead.
(func_extract_an_archive): Remove section to deal with duplicate
base names in an archive.
* tests/functests.at: remove.
* tests/duplicate_members.at: new test.
* tests/testsuite.at: Add new test, remove old.
* Makefile.am: Add new test, remove old.
files generated in doc and tests already lived in
$top_srcdir/Makefile.am, along with proxy rules in sub-Makefiles,
this changeset consolidates almost everything into the top
Makefile.am, simplifying things considerably:
* doc/Makefile.am, tests/Makefile.am: Removed. All rules moved...
* Makefile.am: ...to here and adjusted to run from $top_builddir.
Some reformatting to group rules and declarations by purpose, and
simplify with respect to removing much of the make recursion.
Add `doc/PLATFORMS', `doc/fdl.texi' and `doc/notes.texi'.
`defs.in' and `defs.m4sh' are in directory `tests'.
(uninstall-hook): Don't forget to uninstall libtoolize's libltdl
source tree.
* bootstrap: Simplified dirty makefile management, and bootstrap
file creation in light of having only a single pertinent
Makefile.
* configure.ac (CONF_SUBDIRS): Add tests/ prefix to each subdir to
compensate.
(DIST_MAKEFILE_LIST): Adjust.
(AC_CONFIG_FILES): Remove doc/Makefile and tests/Makefile.
* tests/defs.m4sh (LIBTOOL, scripts): Adjust paths.
* tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/cdemo-undef.test,
tests/demo-conf.test, tests/demo-deplibs.test,
tests/demo-exec.test, tests/demo-hardcode.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-noinst-link.test,
tests/demo-nopic.test, tests/demo-pic.test,
tests/demo-relink.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-relink.test,
tests/depdemo-shared.test, tests/depdemo-static.test,
tests/depdemo-unst.test, tests/f77demo-conf.test,
tests/f77demo-exec.test, tests/f77demo-make.test,
tests/f77demo-shared.test, tests/f77demo-static.test,
tests/link-2.test, tests/link.test, tests/mdemo-conf.test,
tests/mdemo-dryrun.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test,
tests/objectlist.test, tests/pdemo-conf.test,
tests/pdemo-exec.test, tests/pdemo-inst.test,
tests/pdemo-make.test, tests/quote.test, tests/sh.test,
tests/suffix.test, tests/tagdemo-conf.test,
tests/tagdemo-exec.test, tests/tagdemo-make.test,
tests/tagdemo-shared.test, tests/tagdemo-static.test,
tests/tagdemo-undef.test, tests/tagtrace.test (func_cd,
func_require): Adjust paths..
* m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [ linux ]:
Reinstate formatted whole_archive_flag_spec for PGI compilers.
* config/ltmain.m4sh (func_mode_link), m4/libtool.m4 (_LT_LINKER_SHLIBS):
New tag prelink_cmds, to be executed before linking a program.
(_LT_LANG_CXX_CONFIG) [ linux ]: Use for pgCC.
(_LT_COMPILER_C_O): conftest might be nonempty, clean up more thoroughly.
copied into the destination directory. This changeset fixes
that bug:
* libtoolize.m4sh (func_serial_update): Renamed local variable
`my_update_p' to `my_serial_update_p', and initialise it correctly
even when the destination file is not yet there.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
(_lt_pkgvdatadir): ...to this.
* tests/testsuite.at (LT_AT_LIBTOOLIZE): The `-I' option is no
longer supported by libtoolize. Set _lt_pkgvdatadir in the
environment of the invocation instead.
portable, and had problems with GNU make-3.80 at least. This
changeset pulls the installation rules for libtoolize's copy of
the libltdl sources out of libltdl/Makefile.am so that
ltdldatafiles is defined in the same Makefile that uses it. Also,
this makes a start at cleaning up libltdl/Makefile.am so that it
is useful in a package that uses `libtoolize --ltdl':
* libltdl/loaders/Makefile.am: Removed entirely.
* libltdl/Makefile.am (dlopen.la, dld_link.la, dyld.la)
(load_add_on.la, loadlibrary.la, shl_load.la): All built from here
now that the loaders submake has gone.
(show-ltdldatafiles): Removed. No longer required.
(ltdldatadir, ltdldatafiles, install-local): Moved from here...
* Makefile.am (ltdldatadir, ltdldatafiles, install-local): ..to
here.
(libtoolize): Substitute $(ltdldatafiles) directly without calling
make to get the value from libltdl/Makefile.
pkgvmacro_DATA is no longer set in the makefile.
* libtoolize.m4sh (func_massage_pkgvmacro_DATA): Use it and, for
consistency, renamed from this...
(func_massage_nobase_pkgvdata_DATA): ...to this. Adjust all
callers.
common code from similar serial comparison functions:
* libtoolize.m4sh (func_keyword_update): Common code factored out
of func_ltmain_update and func_config_update.
(func_ltmain_update, func_config_update): Adjust, and fix sed
expressions to not use unportable ? modifier.
(func_install_update): New serial number based file updater keyed
off 'scriptversion' variable in install-sh. Adjust all callers.
uninstalled libtoolize isn't necessary if we allow overriding of
the libtool master copy directory:
* configure.ac (pkvmacrodir): No need to substitute this.
* Makefile.am (edit): No need to substitute pkgvmacrodir.
(dist_pkgvdata_DATA): Use nobase_ prefix so that these files are
installed to $(pkgvdatadir)/config.
(pkgvmacro_DATA): Renamed to...
(nobase_pkgvdata_DATA): ...this, so that files are installed to
$(pkgvdatadir)/m4.
(install-data-hook): Adjust.
* libtoolize.m4sh: Remove -I processing.
(func_filename_path_search): No longer required without -I.
Adjust all callers.
(pkgvltdldirs, pkgvmacrodirs): Deleted.
(pkgvdatadir): Allow overriding from the environment so that we
can write tests for uninstalled libtoolize.
(func_serial_update, func_ltmain_update, func_config_update):
Rename srcdirs parameter to srcdir, and don't call the path_search
function anymore. Adjust all callers.
(--install): Don't blindly copy all config files.
When using -I to test an uninstalled libtoolize, we need to add
the config subdirectory to the search path so that ltmain.sh can
be found in the source tree.
path delimiter for all inner loop iterations.
Once a matching file has been copied, no need to keep searching
the path for another -- move on to the next file!
for copying files correctly from the source tree, we must know
exactly which files should be copied by the --ltdl option to avoid
accidentally picking up compilation objects and other noise when
$builddir == $srcdir:
* libltdl/loaders/Makefile.am (ltdldatadir, ltdldatafiles)
(install-data-local): Removed...
* libltdl/Makefile.am (ltdldatafiles): ...and consolidated here.
(show-ltdldatafiles): New rule...
* Makefile.am (ltdldatafiles, libtoolize): ...used to substitute
exactly which files are installed by libtoolize --ltdl.
(edit): Move pkgvmacro_DATA substitution expression...
(libtoolize): ...to here.
* libtoolize.m4sh: Use func_copy_some_files() instead of
func_copy_all_from_path() to copy the --ltdl option installed
files.
(pkgvltdldirs): New path variable to search for files installed by
--ltdl option.
(func_massage_pkgvltdl_files): New function to calculate the list
of ltdl installation files.
and set to empty when using $LD for linking. Fixes regression
introduced in 2004-11-17.
Reported by Ralf Menzel <menzel@ls6.cs.uni-dortmund.de> and
Пухальский Юрий Андреевич <pooh@cryptopro.ru>.
Test if it is possible to use the -exports_file linker option on
irix with gcc, as the gcc specs file may include a -hidden_symbol
option that is clashing with the -exports_file option.
See this gcc bugzilla entry for further details:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288
* THANKS: Update.
format with the `o' flag in create mode.
Set the umask to 0 when untarring to avoid copied files taking
their mode from the installer's umask.
* libltdl/loaders/Makefile.am (install-data-local): Ditto.
* libtoolize.m4sh (func_copy_cb): Ditto.
Ignore errors from failed `cd' in the tar processes, since we
may be running in dryrun mode.
Reported by Noah Misch <noah@cs.caltech.edu>,
Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
[irix*, osf*]: Output -update_registry information to
${output_objdir} directory, not ${objdir}. ${output_objdir}
will work when a project has a single Makefile and performs
builds in subdirectories. ${objdir} expects the source in
the current directory, breaking single-Makefile builds.