Commit Graph

114 Commits

Author SHA1 Message Date
Gary V. Vaughan
45ca0c8273 * tests/sh.test: Add a new test to enforce X as the fill
character in `test "X...'.
Beef up the `test' tests to also check `test -.' and `test ! -.'
phrases for compliance.
* ltmain.in: Fix quoting problems uncovered by the new tests.
2001-07-29 16:35:50 +00:00
Andrew C. Feren
ed51dc446f * tests/sh.test: New test to disallow `test $foo', where
`test "$foo"' is much safer.
* ltmain.in: Fix quoting problems uncovered by the new test.
2001-07-29 16:20:45 +00:00
Gary V. Vaughan
6f5427b530 Merge test improvements from multi-language-branch:
* tests/defs: Find and set the value of CC probed by libtool.m4
* tests/link-2.test: Use a .lo wrapper script, and the value of
CC set by defs instead of hardcoding gcc.
* tests/link.test: Use the value of CC set by defs instead of
hardcoding gcc.
* tests/quote.test: Ditto.
* tests/suffix.test: Ditto.
2001-06-30 20:31:34 +00:00
Gary V. Vaughan
ab6753a139 * tests/suffix.test: Typo in 2nd for loop.
From Tim Van Holder <tim.van.holder@pandora.be>
2001-06-29 22:29:09 +00:00
Gary V. Vaughan
6a6e0d1af8 From "Golubev I. N." <gin@mo.msk.ru>
* tests/Makefile.am (CPPLAGS): Typo. s/CPPLAGS/CPPFLAGS.
2001-06-29 17:09:04 +00:00
Robert Boehne
1c0ec8cf1c * bootstrap: Added tagdemo and pdemo tests from
multi-language-branch.
* configure.in: Added pdemo and tagdemo to CONF_SUBDIRS
and merged references to CXX and GCJ from multi-language-branch.
*pdemo: Added test directory from multi-language-branch.
*tagdemo: Added test directory from multi-language-branch.
*tests/Makefile.am: Merged additional tests from
multi-language-branch.
*tests/pdemo-*.test: ditto.
*tests/tagdemo-*.test: ditto.
2001-06-06 14:53:29 +00:00
Gary V. Vaughan
7396e09d88 * libtool.m4, ltmain.in, libltdl/configure.in,
tests/quote.test:  Remove stale references to ltconfig.
2001-04-24 23:22:35 +00:00
Gary V. Vaughan
a398a2326d From Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
* tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test
scripts get the same make that was used in the top level
directory.
2001-04-24 17:13:01 +00:00
Gary V. Vaughan
b054ed6edd * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test.
* tests/depdemo-dups.test:  Removed, as part of the patch
reversion below.
* ltmain.in: Revert my change from 2001-03-31.  Although it
was technically correct, it opens a whole can of worms we don't
want to deal with right now.
2001-04-05 23:09:38 +00:00
Gary V. Vaughan
2604e82a6d * ltmain.in: Remove the code for stripping duplicate deplibs
from libtool link lines -- duplicates are somtimes necessary
to satisfy inter-library dependencies, and never cause link to
fail even if they are spurious.
* tests/depdemo-dups.test: New file.  Make sure this bug doesn't
creep back in again!
* tests/Makefile.am (TESTS): Use the new test above.
2001-03-31 23:51:10 +00:00
Gary V. Vaughan
e927e43114 libtool.m4 now contains a version of the code that used to run
from ltconfig, so that ltmain.sh and then libtool are
generated at configure time.

* Makefile.am:  Don't generate ltmain.sh or ltconfig anymore.
* bootstrap: ltconfig is no more!
* configure.in: Call AC_PROG_LIBTOOL directly.
(AC_OUTPUT): Generate tmain.sh.
* libtool.m4: Don't build an argument list for ltconfig.
(_LT_AC_LTCONFIG_HACK):  Refactoring of the former contents of
ltconfig.in to take advantage of the m4 macros from autoconf.
* ltmain.in: Don't do a version check against ltconfig.
* tests/assign.test: Remove reference to ltconfig.
* tests/hardcode.test: ditto.
* tests/sh.test: ditto.
2000-09-06 17:31:09 +00:00
Alexandre Oliva
ce4a397e19 * depdemo/main.c: Support -alt.
* tests/build-relink2.test: Try it.
2000-09-05 12:54:02 +00:00
Alexandre Oliva
03d0740c11 * ltconfig.in: Removed all references to what used to be
hardcode_into_libs=all.  2000-09-03's patch was wrong.
* ltmain.in: Likewise.
* tests/build-relink.test, tests/build-relink2.test: Adjust.
* mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before
libfoo2.la, so that they're installed in the right order.
2000-09-05 11:03:06 +00:00
Alexandre Oliva
916ce7a372 * tests/dryrun.test: Build libsub.la along with the object files,
since it is needed by libfoo2.la.
2000-09-04 08:20:02 +00:00
Alexandre Oliva
bd95e0f762 * tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on
`. /dev/null'.  Set CONFIG_SITE to /dev/null/config/site, to make
sure we pick a non-existent file.
2000-09-04 07:46:01 +00:00
Alexandre Oliva
5d15db14ac * ltconfig.in: Get rid of hardcode_into_libs=all; use
hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes
instead.
[FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no.
* ltmain.in: Likewise.
* tests/build-relink.test, tests/build-relink2.test: Adjust.
2000-09-04 04:00:48 +00:00
Alexandre Oliva
39791a20c8 * tests/mdemo-exec.test: Modify failure message. 2000-09-04 01:20:16 +00:00
Alexandre Oliva
51edf45910 * tests/quote.test: Move the match test out of case statements, to
work around bug in /bin/sh of several OSs.
2000-09-03 21:37:32 +00:00
Thomas Tanner
ec4406e4ee * ltmain.in: remove duplicates from deplibs, handle
interdependent libraries (e.g. -la -lb -la),
  this requires adding deplibs in reverse order

* ltmain.in: link dlpreopened libraries before other libraries
  (reported by Pavel Roskin)
* mdemo/Makefile.am: build and link libsub.la
* mdemo/sub.c: new file used by both dlopened modules
* mdemo/foo*: use sub() defined in libsub
* tests/dryrun.test: build libsub.la

* mdemo/Makefile.am: always link mdemo.static with -static
* mdemo/configure.in: ditto

* ltmain.in: fix dlopen/dlpreopening of objects

* ltmain.in (ILD): fix misplaced `continue' in -R* argument handler

* ltmain.in: merge duplicated code of clean and uninstall mode

* libtool.m4: recognize powerpc*linux* (reported by
  Dirk A. Mueller <dmuell@gmx.net>)
2000-02-23 23:10:05 +00:00
Thomas Tanner
8683e2f1b4 * ltmain.in: rewrite of the ILD code, merge linking code for
programs, libraries and objects, allow linking of shared libraries
  against static libraries/objects on platforms that support it
  but print a warning, fix some typos

* partially revert my previous change and
  update only copyright notices of files that were actually modified

* NEWS: update

* libltdl/Makefile.am: version number was wrong

* libltdl/ltdl.c (tryall_dlopen): revert Gary's change
  since it breaks dlpreopening
* ltdl.m4: ditto

* libltdl/ltdl.c (sys_search_path): search in the system default
  library search path, too
* ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path

* libltdl/ltdl.c (find_module): remove bogus file_not_found_error

* libltdl/ltdl.c (load_deplibs): implement loading of dependency
  libraries
* libltdl/ltdl.c (unload_deplibs): implement unloading of dependency
  libraries
* libltdl/ltdl.c (lt_dlexit): correctly close all modules and
  their dependencies

* libltdl/ltdl.c (lt_dlforeach): new function
* libltdl/ltdl.h: ditto
* doc/libtool.texi (using libltdl): document it

* libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to
  INCLTDL

* libtoolize.in: reformatting
* ltconfig.in: reformatting
* ltmain.in: reformatting

* mdemo/configure.in: AC_SUBST INCLTDL
* mdemo/Makefile.am: use INCLTDL

* tests/Makefile.am: reexport OBJEXT and EXEEXT
* tests/dryrun.test: use them for building main.obj and mdemo.exe
2000-01-19 20:34:37 +00:00
Thomas Tanner
47938d46eb * update all copyright notices to 2000
* doc/libtool.texi (using libltdl): document new lt_dlinfo struct,
  replace NULL with @code{NULL}, document lt_dlsetdata(),
  lt_dlgetdata() and lt_dlgetinfo()
* libltdl/Makefile.am: increment interface version number
* libltdl/configure.in: set version number to 1.1
* libltdl/ltdl.c: make some variables public by moving them
  to the info struct, add support for application specific data
  within module handles, new lt_dlsetdata(), lt_dlgetdata() and
  lt_dlgetinfo() functions,
  fix memory leaks, minor cleanups
* libltdl/ltdl.h: ditto
* mdemo/main.c: demonstrate use of lt_dlgetinfo,
  improved handling of errors

* ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux
  and Solaris, only hardcode *all* run-paths if hardcode_into_libs
  is set to 'all', otherwise hardcode only user-specified rpaths
  into libraries
* ltmain.in: minor cleanups, we don't need to add user-specified
  rpaths to compile_rpath, finalize_rpath is sufficient

* ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has
  been set! (reported by Bruno Haible <haible@ilog.fr>)

* configure.in: AC_SUBST reload_flag, deplibs_check_method
  and file_magic_cmd

* README: use 'libtool --version' instead of 'ltconfig --version'
  (suggested by Francios Pinard <pinard@iro.umontreal.ca>
2000-01-13 00:28:09 +00:00
Alexandre Oliva
30880b9095 * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and
finalize_command.
(-Wc, -Wl): Likewise.
* tests/quote.test: Adjust quoting style of -Wl.
1999-12-18 07:50:04 +00:00
Alexandre Oliva
8f4d31885a * tests/sh.test: New test to detect uses of quotes within
backticks within quotes.
* ltconfig.in, ltmain.in: Fix detected errors.  Mark false
positives with a comment that disables the detector.
Reported by Akim Demaille <akim@epita.fr>
1999-11-04 16:15:50 +00:00
Thomas Tanner
cbc1402596 * NEWS, TODO: updated (pic flags)
* libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag
* ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags,
  fixed the strip check (reported by Keith Bostic <bostic@bostic.com>)
* ltmain.in (compile mode): build only PIC/non-PIC code depending
  on pic_mode
* libltdl/README: document the supported dlopen interfaces
* doc/libtool.texi (tests): documented new tests
* tests/Makefile.am: added new tests
* tests/demo-pic.test: new test to test --with-pic
* tests/demo-nopic.test: new test to test --without-pic
* tests/build-relink2.test: variant of build-relink.test that
  uses depdemo
1999-07-17 09:00:53 +00:00
Thomas Tanner
17e3fe3947 * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl)
* tests/build-relink.test: also check for hardcode_into_libs = yes,
  if set, we need to relink at install-time
1999-06-30 12:50:59 +00:00
Alexandre Oliva
de757d463e * dryrun.test: It would still fail at random times, because `cp'
and `mv' are not guaranteed to preserve the timestamps of the
installed files.  Instead of preserving them, just remove them
before the dry uninstall test.  Redirect dry-run output to stderr,
so that it can be easily separated from the regular output.
1999-04-07 19:36:05 +00:00
Alexandre Oliva
5168badef7 * tests/dryrun.test: The constant modifications of libtool would
cause main.o to be updated at the wrong time; the new approach is
to modify the libtool script so that it enables dry run depending
on whether an environment variable is set or not.  I've also moved
`after' and `before' to a directory deep within $objdir, instead
of creating it in ../tests.
* tests/Makefile.am (CLEANFILES): Removed.
1999-04-07 06:02:12 +00:00
Alexandre Oliva
9d03aa6fc1 * tests/dryrun.test: We cannot rely on setting LIBTOOL, because
automake may use sub-makes, and the setting will not be propagated
to them on some makes.  Instead, create a dry version of libtool
and switch between it and the original one before and after dry
runs.
* tests/Makefile.am (CLEANFILES): Added libtool-*, created by
dryrun.test.
1999-04-07 00:33:43 +00:00
Alexandre Oliva
1d53527eb7 * tests/dryrun.test: Use cmp instead of diff.
(before, after): Create them within ../tests.
(libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL,
SHELL and top_builddir from the environment if available.  For dry
runs, use "$libtool -n".
* tests/Makefile.am (CLEANFILES): Added before and after.
* ltmain.in: Do not create links to object files in dry runs.
1999-04-06 23:55:04 +00:00
Thomas Tanner
cdf5a93630 * doc/libtool.texi: reorder tests to reflect execution order,
documented dryrun.test and depdemo*
* ltmain.in (lt_preloaded_symbols): dry-run mode bugfix
* tests/dryrun.test: new test to check whether the dry-run
  mode works properly
1999-04-05 12:32:21 +00:00
Alexandre Oliva
d05274cd86 * libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests
that involve linking
* Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto
* tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set
(LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down
1999-04-02 06:22:10 +00:00
Thomas Tanner
4bd346f93b new test 1999-04-01 15:34:55 +00:00
Thomas Tanner
b6eed25814 * demo/Makefile.am: moved testsuite specific declarations to the end,
the deplibs check is now optional
* libltdl/configure.in: read libtool --config only once,
  merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4
* libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not
  used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN
  no longer necessary
* ltconfig.in: NM is already checked in libtool.m4,
* ltmain.in: always link all static dependency_libs
* tests/Makefile.am: added deplibs.test
* tests/demo-exec.test, demo-inst.test: removed hell0
* tests/deplibs.test: new test to test the deplibs_check_method
1999-04-01 15:34:13 +00:00
Alexandre Oliva
02f26dc09c * demo/Makefile.am: create a static library, link two libtool
archives with it, then link the program hell0 with both
* demo/hell1.c, demo/hell2.c: dummy files used to create the
libtool archives without introducing symbol conflicts
* tests/demo-exec.test, tests/demo-inst.test: run the new program
* ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all
1999-03-26 00:08:49 +00:00
Alexandre Oliva
50e3b8b1db * tests/build-relink.test: if we relink and have hardcode_direct,
removing an uninstalled library breaks an uninstalled program
1999-03-21 11:25:30 +00:00
Alexandre Oliva
083b9443f3 * tests/*-unst.test: if directory is not configured, skip it
* tests/demo.test, tests/mdemo.test: unused, removed
* tests/depdemo.test: ditto
1999-03-21 04:51:36 +00:00
Thomas Tanner
e65f46d3fc * use the same header in all configure.in's and Makefile.am's
* NEWS: improved support for BeOS and Cygwin
* TODO: ILD branch was merged, all internal variables and macros
  are now documented
* demo/Makefile.am: use $(LIBS) instead of -lm
* doc/libtool.texi: documented new variable hardcode_into_libs
  and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros
  to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN
* libltdl/ltdl.c: added two new error messages (cannot_open_error,
  cannot_close_error), use them where approriate,
  BeOS support (thanks to Xavier Pianet), on BeOS search modules
  additionally in ADDON_PATH
* libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have
  libm and *-ncr-sysv4.3* requires libmw
* ltconfig.in: don't check for LoadLibrary, hardcode dlopen
  configuration for BeOS and Cygwin
* ltmain.in: fix sourcing of .la files on Solaris
  (patch by Raja R Harinath)
1999-03-20 00:27:33 +00:00
Alexandre Oliva
bbb484049e * tests/*.test: when a test fails, skip tests that depend on it.
If a certain configuration is not supported, skip all its tests.
1999-03-19 17:58:53 +00:00
Alexandre Oliva
72a4710566 * tests/noinst-link.test: new test
* tests/Makefile.am (TESTS): added noinst-link.test
* doc/libtool.texi: document it
1999-03-19 16:54:29 +00:00
Thomas Tanner
64d9b880c5 * merged my inter-library dependencies code from the ILD branch:
* NEWS: inter-library dependencies are now supported
* configure.in: add the depdemo subdirectory
* depdemo/*: new demo to demonstrate inter-library dependencies
* tests/depdemo*: new tests for depdemo
* ltconfig.in: added hardcode_into_libs (whether library paths
  should be hardcoded into the libraries),
  it currently defaults to 'no'
* ltmain.in: new internal 'relink' mode to relink libraries
  on platforms with hardcode_into_libs=yes, save command line
  arguments in libtool_args, accept relative -L directories,
  ignore -lm on BeOS and Cygwin, always ignore -lc,
  handle -l, -L and .la arguments later, always make the library
  installation directory (-rpath) absolute, in relink mode don't
  delete the not-relinked library and exit immediately after relinking,
  try to find already-installed libtool libraries that were specified
  using -l, support hardcoding of library paths into libraries too,
  export shlibpath before linking libraries, and a lot of other
  big changes that I don't want to describe here... please read
  the source.

* merged Gary's Win32 code from the ILD branch:
* NEWS: Win32 DLLs are now supported
* TODO: removed .a library namespace clash for win32.  It is
  now resolved.
* ltconfig.in (cygwin, library_names_spec):  removed $libname.a.
  Creating a dll with libtool no longer creates an import library.
* ltconfig.in (extract_expsyms_cmds): Create $objdir if it does
  not exist -- i.e. we need to generate import an import library
  in a directory which has no libs of its own.
* doc/libtool.texi (old_archive_from_expsyms_cmds,
  extract_expsyms_cmds): documented these new variables.
* ltconfig.in (extract_expsyms_cmds): New variable.  Commands to
  extract the exported symbol list from a dll.
  (old_archive_from_expsyms_cmds): New variable.  Commands to build
  an old archive from the extracted expsyms list.
* ltmain.in: run the cmds in extract_expsyms_cmds and
  old_archive_from_expsyms_cmds as necessary.
* ltconfig.in (cygwin, old_archive_from_new_cmds): no longer
  required.
* ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even
  sure whether win32 honours the runpath at all when searching for
  a dll to load!  Anyway, when set to yes this prevents a gratuitous
  warning.
* ltmain.in (deplib): The cygwin environment doesn't actually have
  -lm, and although the linker fakes having one, specifiying it to
  libtool will break ILD, so we ignore it when generating
  dependencies.
1999-03-18 21:57:08 +00:00
Alexandre Oliva
55aaaf9e09 * tests/build-relink.test (hardcode_action): when set to relink,
skip the test with lt-hell
1999-03-16 22:48:24 +00:00
Thomas Tanner
d3d99595b1 started new ChangeLog 1999-03-16 16:54:48 +00:00
Alexandre Oliva
0762ab0a48 * tests/sh.test: look for $Xsed' without $echo "X...'
* ltconfig.in, ltmain.in: fixed a few such occurrences
1999-03-13 22:20:33 +00:00
Alexandre Oliva
3a297fa7b3 * tests/Makefile.am (TESTS): run demo-nofast before demo-shared 1999-03-10 18:28:49 +00:00
Alexandre Oliva
b4806a4300 * tests/build-relink.test: when hell is expected to fail, run it
within a subshell and redirect stderr to stdout, so that dynamic
linker errors are only printed in verbose mode
1999-03-08 21:08:09 +00:00
Alexandre Oliva
f3b997d2ad * tests/build-relink.test: hellT was renamed to lt-hell 1999-03-08 19:40:54 +00:00
Alexandre Oliva
bcea172e1a forgot to add demo-nofast.test 1999-03-08 17:14:42 +00:00
Alexandre Oliva
71a7972d32 * tests/build-relink.test: link broken libhello.la with at least
one libtool object
1999-03-08 17:06:43 +00:00
Thomas Tanner
0984f95203 * TODO: updated (libltdl build problem fixed)
* doc/libtool.texi (libltdl interface): removed the line which
  promised that lt_dlopen will return NULL if it can't resolve all
  symbols
* libltdl/Makefile.am, libltdl/configure.in: fixed build problem:
  renamed the convenience library to libltdlc.la and the
  installed version to libltdl.la
* ltmain.in (wrapper script): replaced the "T" suffix of the program
  file name with a "lt-" prefix
* mdemo/Makefile.am: use libltdlc.la
* tests/Makefile.am, tests/demo-nofast.test: added demo to
  test --enable-fast-install=no
1999-03-08 15:56:45 +00:00
Alexandre Oliva
c90722e577 * tests/Makefile.am (TESTS): run hardcode before build-relink
trashes libhello.la
* tests/hardcode.test (need_prefix): set to yes so that _inst is
not removed
1999-03-07 23:45:22 +00:00