112 Commits

Author SHA1 Message Date
Bruce Korb
45d16ee8bf resync with HEAD 2002-03-12 02:06:26 +00:00
Alexandre Oliva
b69b3e703b merge from head. Omits work in ltmain.in 2002-03-02 16:50:29 +00:00
Gary V. Vaughan
4222020f0e 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:16:32 +00:00
Gary V. Vaughan
24a907b4db * 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-06 00:43:31 +00:00
Robert Boehne
babb5e5b55 Added the pdemo directory and test scripts to test piecewise linking. 2001-04-03 21:47:48 +00:00
Gary V. Vaughan
18ea53942b * 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-04-01 00:30:34 +00:00
Alexandre Oliva
057a5c6b6e * depdemo/main.c: Support -alt.
* tests/build-relink2.test: Try it.
2000-09-05 12:36:42 +00:00
Alexandre Oliva
3a2b47cc44 * 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.
2000-09-05 10:29:19 +00:00
Alexandre Oliva
347acbf9d3 * 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:45:56 +00:00
Alexandre Oliva
bef17cfd22 * 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:44 +00:00
Alexandre Oliva
dfd1ec4cf1 * tests/mdemo-exec.test: Modify failure message. 2000-09-04 01:20:22 +00:00
Alexandre Oliva
db8a3bd5ac * 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:22 +00:00
Alexandre Oliva
d6c5943dd6 * tests/defs (CC): Extract from the libtool script.
* tests/link.test, tests/link-2.test, tests/quote.test: Use it.
2000-09-03 21:13:13 +00:00
Alexandre Oliva
e0bbcef2a8 * tests/link-2.test: Create hell.lo in the format expected by
libtool.
2000-09-02 23:37:10 +00:00
Raja R Harinath
922899255f * tests/Makefile.am (COMMON_TESTS): New variable.
(CXX_TESTS): Define unconditionally.
(TESTS): Move all tests to COMMON_TESTS, and conditionally
include CXX_TESTS.
(EXTRA_DIST): Don't use $(TESTS).
2000-07-24 05:33:28 +00:00
Ossama Othman
43cd1a73b9 * ltmain.in: Make sure $arg is set when linking `.lo' files into a
program.  Moved tag decision code after check for recognized
source file extension (fixes "suffix" test failure).  Merged
Rhapsody support from main trunk.
(output_obj) Added missing '$' before "echo" command (fixes "sh"
test failure).
* tests/suffix.test: Corrected typo in error message, and improved
the message.
2000-05-28 23:40:05 +00:00
Ossama Othman
9e7886828f * libtool.m4 (AC_LIBTOOL_PICMODE): Merged this macro from the HEAD
branch.
(AC_LIBTOOL_CXX): Made sure CXX is exported to ltconfig.
* ltcf-cxx.sh (ac_ext): Changed test source extension to "cc" to
avoid potential ambiguities when using case-insensitive shells.
(archive_expsym_cmds): Make sure soname is set otherwise
-retain-symbol-file feature won't work.  The change was made for
the Linux Compaq C++ and GNU G++ configurations.
Reported by Stephan Kulow <coolo@kde.org>.
* ltconfig.in, ltmain.in: Merged in changes from the HEAD branch.
* tests/Makefile.am (clean-local): Fixed typo where a "distclean"
was done in `mdemo' instead of the `tagdemo'.
2000-05-24 21:21:37 +00:00
Alexandre Oliva
4440ad0108 * configure.in: Look for C++ compiler.
* Makefile.am (libtool): Configure CXX tag.
* tests/Makefile.am: Test tagdemo only if CXX found.
2000-05-14 07:55:53 +00:00
Ossama Othman
8267110e98 * configure.in (CONF_SUBDIRS): Added the `tagdemo' directory to
the list.
* ltcf-cxx.sh: Remove any residual `a.out' files resulting from
the "eval $output_verbose_link_cmds."
* ltconfig.in: Cleaned up nested quotes that were introduced with
the tags patch.  This fixes part sh.test failure.
* ltmain.in: Check if "$run" is of zero length before creating a
`.lo' file.  This fixes the dryrun.test failure.
Cleaned up nested quotes that were introduced with
the tags patch.  This fixes another part sh.test failure.
Remove "$libobj" not "libobj."
Exit with an error if both $object_name and $old_object are set to
"none" in the corresponding `.lo' file.  This should never happen.
Changed remaining uses of "mkdir" to "$mkdir."
Added dry run case to `.lo' case in link mode.  This fixes the
link-2.test failure.
(object_name, old_object): Prepend the subdirectory the `.lo'
resides in to the object names extracted from the `.lo' file.
This fixes the build-relink2.test failure.
(tempemovelist): Use $echo "X..." instead of echo "..." since
$Xsed is being used.  This fixes the last part of the sh.test
failure.
* tagdemo/Makefile.am, tagdemo/Makefile.in, tagdemo/README,
tagdemo/acinclude.m4, tagdemo/aclocal.m4, tagdemo/configure,
tagdemo/configure.in, tagdemo/foo.cpp, tagdemo/foo.h,
tagdemo/main.cpp, tests/tagdemo-conf.test tests/tagdemo-exec.test
tests/tagdemo-make.test tests/tagdemo-shared.test
tests/tagdemo-static.test: Added a new tagdemo that exercises
libtool's tagged configuration support found in the multilanguage
branch.
* tests/Makefile.am (TESTS): Added the tagdemo tests to the list.
* tests/quote.test: Updated to HEAD branch version.  This fixes
the quote.test failure.
2000-02-01 05:42:00 +00:00
Alexandre Oliva
ce76df07da Change that is part of Alexandre's configuration tags patch but isn't
related to multi-language support.

The change just makes sure the that a shell variable is set.
1999-12-04 02:54:05 +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
Alexandre Oliva
592c5783b7 * tests/build-relink.test: new; check shlibpath_overrides_runpath
* tests/Makefile.am (TESTS): add build-relink.test; remove
hardcode.test duplicates
* doc/libtool.texi: document it
1999-03-07 23:28:05 +00:00
Thomas Tanner
17915a088c * autogen: libltdl needs autoheader
* demo/Makefile.am: renamed hell.debug to hell.static
  (we're demonstrating static linking, not debugging)
* tests/demo*: ditto
* doc/libtool.texi (libltdl): documented new lt_dlopen(NULL)
  feature
* libltdl/acconfig.h: required for config.h
* libltdl/configure.in: use config.h
* libltdl/ltdl.c: use config.h, support lt_dlopen(NULL)
  (returns a handle for the program itself)
* ltconfig.in: minor reformatting
* ltmain.in: in lt_preloaded_symbols always define
  the program's symbols first, for -export-dynamic list all
  program symbols together, -export-symbols was broken for
  programs, minor reformatting
* mdemo/Makefile.am: renamed mdemo.debug to mdemo.static
* tests/mdemo*: ditto, mdemo.test was completely broken
1999-02-11 23:48:25 +00:00