188 Commits

Author SHA1 Message Date
Robert Boehne
0a378ba0b6 * doc/libtool.texi (C++ libraries): Finally updated to reflect
Libtool's support for C++.
2002-04-19 19:26:59 +00:00
Alexandre Oliva
b69b3e703b merge from head. Omits work in ltmain.in 2002-03-02 16:50:29 +00:00
Gary V. Vaughan
0b288c0313 From Nick Hudson <skrll@netbsd.org>
* doc/Makefile.am (libtool_TEXINFOS): Add fdl.texi so that it
is included in the distribution.
2001-04-08 00:31:50 +00:00
Gary V. Vaughan
d7dfc42553 * doc/libtool.texi (Multiple dependencies): A note about the
problems I've reintroduced by reverting the my patch of 2001-03-31.
2001-04-06 00:57:13 +00:00
Gary V. Vaughan
15194b1f9e * NEWS: Updated.
* doc/libtool.texi (Thread Safety in libltdl): New node describing
the  application the new MT API.
* libltdl/ltdl.h: Prototypes.
* libltdl/ltdl.c: Use these functions throughout the rest of
the file to provide thread locking.
(lt_dlmutex_register): New function to set callbacks for
multi-threaded calls into libltdl.
(lt_dl_mutex_lock): Type of a locking callback function.
(lt_dl_mutex_lock): Type of an unlocking callback function.
(lt_dl_mutex_seterror): Type of a callback function to save the
last libltdl error message in thread local storage.
(lt_dl_mutex_geterror): Type of a callback function to retrieve
the last saved error message from thread local storage.

* ltconfig.in: Likewise.
* ltcf-c.sh: Likewise.
* ltcf-cxx.sh: Likewise.
* ltcf-gcj.sh: Likewise.
2001-03-05 21:31:44 +00:00
Robert Boehne
a21a251320 Added the link mode option -objectlist FILE. 2001-03-05 15:41:55 +00:00
Robert Boehne
3691ccd8a4 Support for piecewise linking to allow very large libraries to be built. 2001-02-23 20:12:00 +00:00
Gary V. Vaughan
da4f5f79d7 * NEWS: Updated.
* doc/libtool.texi (User defined module data): Updated.
* libltdl/ltdl.c (lt_dlhandle_next): New function.
* libltdl/ltdl.h (lt_dlhandle_next): Prototypes.
2001-01-08 01:59:21 +00:00
Gary V. Vaughan
901ac2b281 * NEWS: Updated.
* doc/libtool.texi (User defined module data):  Document it all.
* ltdl.m4:  Check for memcpy, or else bcopy.
* ltdl.c (lt_caller_data): New type.
(lt_dl_handle_struct): Add an lt_caller_data field.
(lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): New functions.
(rpl_memcpy): A minimal fallback implementation.
(rpl_realloc): A realloc implemented with lt_dlmalloc and
lt_dlfree.
(LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN):
New memory handling convenience macros.  Use them
appropriately throughout the rest of this file.
* ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): Prototyped.
2001-01-05 09:39:42 +00:00
Gary V. Vaughan
14f9ce5da8 From vvv@vsu.ru:
* doc/fdl.texi (GNU Free Documentation License): contained @bye
command which prevented part of document to be generated (indices,
etc).
* doc/libtool.texi (Dlpreopening): the @deftypevar did not contain
a space after a type.
2000-12-23 16:33:33 +00:00
Gary V. Vaughan
67a83ce7cf * doc/libtool.texi (Libltdl interface): Add documentation.
* libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident):  Add
prototypes.
(LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status.
* libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident):  Allow
making and testing of resident module status, which prevents a
module from being lt_dlclosed.
(lt_dlopen):  If lt_dlopen()ing self, make the module resident.
(lt_dlclose):  Return an error if the module is resident.
2000-12-16 03:19:09 +00:00
Gary V. Vaughan
5e2c723d07 * libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version
number to reflect the breakage of binary compatibility.
* doc/libtool.texi (Libltdl interface):  Document
LT_NON_POSIX_NAMESPACE.
* libltdl/ltdl.h (LT_POSIX_NAMESPACE):  Deleted.  The default is
now to use this namespace, so the cpp macro is no longer
necessary.
2000-11-21 08:56:36 +00:00
Gary V. Vaughan
cd1b37ab75 * ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those
ending in ``_t'') to deprecated #define compatibility macros.
Also ease up on the namespace pollution, so that only ``lt_''
and ``LT_'' prefixes are taken from the global namespace.
* ltdl.h: ditto.
2000-11-19 02:34:29 +00:00
Gary V. Vaughan
17712ad9a8 * doc/fdl.texi: New file. The license for distributing the
libtool manual.
* doc/libtool.texi: Reference the new license.
2000-11-11 11:48:02 +00:00
Gary V. Vaughan
3fdb690c21 * doc/libtool.texi: Corrected nother attack of CRLF line
endings.
2000-10-30 23:43:19 +00:00
Robert Boehne
b5bde1b843 * docs/libtool.texi: Added pointers to documentation
of Hewlett-Packard, Compaq Tru64 and IBM AIX systems.
2000-10-27 20:01:43 +00:00
Mo DeJong
b184db8995 typo fix from Mo DeJong 2000-07-20 01:59:28 +00:00
Alexandre Oliva
f0a0d81429 * libtool.m4 (_AC_PROG_LIBTOOL): Run before AC_LIBTOOL_GCJ.
Add ltcf-c.sh to LIBTOOL_DEPS.  Run AC_LIBTOOL_CXX and
AC_LIBTOOL_GCJ on demand.
(AC_PROVIDE_IFELSE): Define for non-CVS autoconf compatibility.
(AC_LIBTOOL_CXX): Accept multiple executions.  Add ltcf-cxx.sh
to LIBTOOL_DEPS.  Reset config.log output.
(AC_LIBTOOL_GCJ): New macro.
* libtoolize.in: Copy ltcf-cxx.sh if AC_PROG_CXX is found.
Copy ltcf-gcj.sh when appropriate.
* doc/libtool.texi (AC_LIBTOOL_CXX): Doesn't have to be
explicitly called.
(AC_LIBTOOL_GCJ): Document.
* tagdemo/configure.in (AC_LIBTOOL_CXX): Don't call.
2000-05-26 05:41:51 +00:00
Ossama Othman
0e91693e3a * ltmain.in (libobjs, reload_conv_objs): When searching for object
files, search for "*.$objext," not "*.o."
(compile_command, finalize_command, progfiles): No need to
transform `.lo'	objects into standard `.o' objects.  `.lo' files
are converted to the appropriate `.o' file earlier in the link
mode code.
* doc/libtool.texi (AC_LIBTOOL_CXX): Documented this
macro, and the `tagdemo' test that utilizes it.  Updated C++ and
tagged configuration documentation.
2000-02-28 17:51:35 +00:00
Ossama Othman
20b6249003 * bootstrap: Merged updates from HEAD branch.
(sub): Added tagdemo to list of subdirectories to be
bootstrapped.
* ltcf-cxx.sh (AR): Removed redefinition of $AR to C++ compiler on
Solaris for the Sun C++ and Green Hills C++ compilers.  `ar' must
be used to extract object files from the archives, despite the
fact that the archive must be created by the compiler.
Reported by Stephan Kulow <coolo@kde.org>
(predeps, postdeps): Remove any space between "-{L,R}" and the
path.  Some compilers, such as HP aCC add space between them.
* ltconfig.in (dlopen, dlopen_support): Merged updates from HEAD
branch.
* ltmain.in: Merged updates from HEAD branch.
(libext): Do not reset $libext to `al' when creating convenience
libraries.  Some compilers have problems with such a non-standard
extension.
Reported by Stephan Kulow <coolo@kde.org>
* doc/libtool.texi: Merged updates from HEAD branch.
* libltdl/Makefile.am, libltdl/configure.in, libltdl/ltdl.c,
libltdl/ltdl.h: Merged updates from HEAD branch.
2000-02-06 00:29:57 +00:00
Ossama Othman
7e7dbcc06d * ltconfig.in (available_tags): The name of each newly added
tagged configuration is appended to this list.  This is done at
ltconfig time so that the generated `libtool' script need not
determine which tags it supports everytime it is used.  The
available_tags variable is used by `ltmain.in' to iterate over
each of the tagged configurations when attempting to automatically
choose which one to use for the supplied compile/link command.
* ltmain.in: Added ability to automatically determine which tagged
configuration to use based on the compiler found in the supplied
base compile command.
(available_tags): This new variable contains a list of available
tagged configurations.  This gets generated at ltconfig time.
(object_name, old_object): Renamed these to pic_object and
non_pic_object, respectively.
* doc/libtool.texi (Configuration tags): Updated documentation.
Libtool now has the ability to infer which tagged configuration to
use based on the compiler found in the supplied base compile
command.
* tagdemo/configure.in, tagdemo/configure: Removed explicit
substitution of "--tag=CXX" in $LIBTOOL.  The newly added
automatic selection of tagged configurations obviates the need to
explicitly specify which tag to use.
2000-02-04 03:53:36 +00:00
Ossama Othman
a1de3b2a3c Moved "LTCC" in "--add-tag" example before "CC" because users may
inadvertently do something like the following:

  CC=$CXX LTCC=$CC ./ltconfig --add-tag=...

Doing the above would set LTCC to the C++ compiler ($CXX), which
is incorrect since LTCC should be the C compiler.  Also added
documentation explaining this potential problem.
1999-12-04 21:04:41 +00:00
Alexandre Oliva
fefa6ea9a5 The beginnings of multi-compiler/language support in libtool.
Integrated Alexandre's configuration tags patch, part of Thomas'
patch and part of my patch.

These patches make it possible for libtool to support
compilers besides C compilers.  This also includes support for
linkers besides `ld', and similarly for other tools commonly used
for development.  See the libtool documentation for more details.

Moved all C compiler related configuration code to `ltcf-c.sh',
described below.

Multi-compiler/language still isn't complete but testing is now
possible.
1999-12-04 02:48:03 +00:00
Thomas Tanner
974da4c714 * NEWS: updated
* THANKS: added Olly Betts and Pavel Roskin
* doc/libtool.texi: fix typo

* fix major bugs which rendered libtool virtually
  unusable (i.e. not portable):
* ltconfig.in: don't hardcode system dependent variables in ltconfig!!
  but set sane defaults
* Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig
* libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG

* ltconfig.in: use old_deplibs for archives, too
  remove second occurence of sysv5
* ltmain.in: fix typo, fix the second occurence of -DPIC, too

* libltdl/Makefile.am: increment version number, fix typo
* libltdl/ltdl.c (lt_dlsym): don't report an error if the
  libltdl-style symbol name wasn't found


* ltconfig.in: add support for Unixware (sysv4.2uw2*)
1999-11-02 12:33:05 +00:00
Thomas Tanner
ef128a41ba * NEWS: new -no-install flag
* configure.in: fix typo
* doc/libtool.texi(Link mode): document -no-install flag,
  correct -no-fast-install docs
* libtool.m4: check for "file" command
* ltconfig.in: don't hardcode /usr/bin/file, remove second
  definition of sysv5, replace linkopts -> linker_flags
* ltmain.in: add new -no-install flag, print help for -no-install
  and -no-fast-install flags


* ltmain.in: always create output_objdir


* libltdl/Makefile.am: don't preserve file attributes when
  installing the libltdl sources
1999-10-03 16:36:32 +00:00
Thomas Tanner
7cc892b2c9 * NEWS: mention fixes
* doc/PLATFORMS: GNU/Hurd update
* depdemo: make use of variables
* ltconfig.in: use CC -E when checking for ELF support
  on NetBSD (reported by Todd Vierling <tv@pobox.com>),
  replace all occurences of 'linkopts' with 'linker_flags'
* ltmain.in: move ltdll.c and impgen.c to ltconfig.in and
  only add them to the libtool script if it's necessary


* ltconfig.in: add support for UnixWare 7.X.X
* doc/PLATFORMS: add new platforms


* doc/libtool.texi: document use of noinst_LTLIBRARIES for
  convenience libraries

* ltconfig.in: check for freebsdelf3, not just freebsd3.
Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1

* ltmain.in: enable workaround for freebsdelf3.0


* ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS
1999-08-24 11:05:14 +00:00
Olly Betts
a63cecfad3 * doc/libtool.texi (Compile mode): typo correction.
(Link mode): and another.
(Release numbers):  and another.
(Distributing libltdl): and another.
(Test descriptions): and another.
(libtool script contents): and one more.
1999-08-02 22:40:36 +00:00
Erez Zadok
179131c63c * doc/PLATFORMS (i*86-*openbsd2.5): New platform.
Slight reordering of other bsd entries.
1999-07-23 22:43:14 +00:00
Gary V. Vaughan
2cc31a3e28 * configure.in (AC_PROG_RANLIB): No longer required as we now use
AC_CHECK_TOOL in AC_LIBTOOL_SETUP.
* libtool.m4 (AC_PROG_LIBTOOL):  Pass the $build variable to
ltconfig.
(AC_PROG_RANLIB): replaced with AC_CHECK_TOOL.
* ltconfig.in (build): new variable to hold the build triplet
which is now checked for unless --no-verify is specified.
(--build): new argument to set the build triplet.
(ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different
to $host.
* doc/libtool.texi (Invoking ltconfig): Document --build option.
* NEWS: Note --build option.
1999-07-20 09:29:31 +00:00
Erez Zadok
067961bd2f * doc/PLATFORMS: Updated mostly *bsd platforms. 1999-07-19 22:34:21 +00:00
Alexandre Oliva
10ca174015 * doc/libtool.texi (Porting inter-library dependencies): Typos
Reported by Petter Reinholdtsen <pere@hungry.com>
1999-07-19 11:44:01 +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
Olly Betts
910e10d745 * doc/libtool.texi (C++ Libraries): fixed a typo. 1999-07-09 14:08:08 +00:00
Thomas Tanner
6870393fea * doc/PLATFORMS: 1.3b passes all tests on cygwin
* ltconfig.in: finish_cmds for FreeBSD removed
* depdemo/l3/Makefile.am: install libl3.la into an extra directory
1999-07-02 23:19:20 +00:00
Alexandre Oliva
b2822fd81f * doc/PLATFORMS: Tested on as many platforms as possible for me. 1999-07-02 12:01:08 +00:00
Thomas Tanner
3f8de2c2fc * NEWS: updated
* doc/PLATFORMS: updated
* changed my email address
1999-07-01 14:48:06 +00:00
Thomas Tanner
86180ef4d5 * NEWS: mention -no-fast-install, rename dummy to force
* doc/PLATFORMS: 1.3b passes all tests on GNU/Linux,
  FreeBSD (2.2.6 and 3.1)
* doc/libtool.texi: it's possible to link libtool libraries
  using -L and -l, better documentation of uninstall and clean mode,
  rename dummy to force, documented -no-fast-install,
  AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL,
  documented hardcode_into_libs and striplib/old_striplib,
* ltconfig.in: search for strip program, added hardcode_into_libs
  and striplib/old_striplib variables, set strip commands for GNU strip,
  on FreeBSD >= 3.2 set hardcode_into_libs to yes,
  fast-install mode doesn't work if hardcode_into_libs = yes
* ltmain.in: reimplemented hardcoding into libraries:
  new relink mode, preserve all libtool args, relink libraries
  when installing if necessary
  added -no-fast-install flag, removed unnecessary `dlname'
  initialization, use striplib/old_striplib for stripping libraries,
  dlname is always soname or in library_names so we don't need
  to handle different file names
1999-06-29 17:37:06 +00:00
Thomas Tanner
1be7f3cc98 * NEWS: updated
* README: added GNU Hurd to the supported platforms
* doc/libtool.texi: document `-dlpreopen dummy'
  instead of `-dlopen dummy'
* libltdl/ltdl.c (strchr): fixed typo (missing star)


* libltdl/ltdl.c (strrchr): fixed typo (missing star)
* libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings

* ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols
1999-06-23 15:09:28 +00:00
Thomas Tanner
debe84ef9b * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive
regex (reported by Chris P. Ross <cross@eng.us.uu.net>)
* ltmain.in: support `-dlopen self', define lt_preloaded_symbols
  if dlself != no
* doc/libtool.texi (Compile and Link mode): document it,
  documented the -Wc, -Wl flags, libtool does also support non C
  source code


* ltconfig.in: CR/LF fix for broken DJGPP bash
* ltmain.in: CR/LF fix for DJGPP
1999-06-18 14:49:47 +00:00
Alexandre Oliva
5c8124b35d * NEWS: List fixed problems.
* doc/PLATFORMS: Tested for 1.3.2.
1999-05-26 00:16:39 +00:00
Alexandre Oliva
c6838fbbdb * doc/PLATFORMS: Release 1.3.1 passes on GNU Hurd/x86.
Reported by Pavel Roskin <pavel_roskin@geocities.com>
1999-05-23 12:26:47 +00:00
Thomas Tanner
1b2ea275d2 * NEWS: updated
* TODO: -Wc, -Wl, implemented
* AUTHORS: changed my email address
* doc/libtool.texi: fix "wierd" typo :)
* ltmain.in: linking against convenience libraries was broken,
  implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for
  compiler and linker-specific flags,
  add -lc before we do the deplibs check
* ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags
  for $LD, link_all_deplibs=yes on IRIX


* NEWS: insert todays date alongside 1.3.1 release.
* Makefile.in: use gnu not gnits rules
* config.guess: synch with gnu common & apply Takabatake-san's
MIPS *000 patch.
* config.sub: synch with gnu common.
1999-05-22 18:04:32 +00:00
Alexandre Oliva
6e5e458d2c * doc/PLATFORMS: Updated to 1.3.1 for all platforms I've got.
Added sparc-unknown-linux-gnu.
1999-05-21 12:17:35 +00:00
Alexandre Oliva
7052713ac0 * NEWS: Updated docs.
* TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX
4.3.2.0 no longer fails on static dlopening.  GNU DLD no longer
has to support .la files, since libltdl already does.  Convenience
libraries and reloadable objects should be tested in the
testsuite.  We could support some amount of control on the soname
of libraries.
* doc/libtool.texi: Notes about convenience libraries and
automake.  Documented INCLTDL.
1999-05-20 23:55:28 +00:00
Gary V. Vaughan
bcdbd54041 * NEWS: Added 1.3.1 news items.
* doc/PLATFORMS: updated the boxes I have access to, to 1.3.1
in preparation for the next release.
1999-05-19 07:57:37 +00:00
Gary V. Vaughan
ac019c8a4e * doc/PLATFORMS: updated my hpux-10.20 and cygwin box entries. 1999-04-29 11:39:03 +00:00
Alexandre Oliva
261e22b193 * doc/libtool.texi (Distributing libltdl): Document that -static
may cause the same problems on libltdl as -all-static.
* TODO: We might want to fix this in the future.
1999-04-29 09:58:41 +00:00
Alexandre Oliva
1e3e735f34 * doc/libtool.texi: Clear up overfull hbox. 1999-04-29 08:51:12 +00:00
Gary V. Vaughan
68a7dcd93f * libtool.m4 (ltconfig_enable_win32_dll): pass --enable-win32-dll to
ltconfig if this is set.
(AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt
a dll build on win32 hosts.
* ltconfig.in (--enable-win32-dll): new flag for the cli.
(cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set
to yes, then do not attempt to build shared libraries.
* doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL.
* NEWS: noted new macro.
1999-04-28 15:26:14 +00:00
Thomas Tanner
9d87d7b208 * NEWS: new clean mode
* THANKS: added Ossama Othman
* doc/libtool.texi: documented the new `clean' mode
* ltconfig.in: set need_version=no on OSF (reported by
  Marcus Sundberg <mackan@stacken.kth.se>)
* ltmain.in: allow absolute non-existant -L paths,
  always use output_objdir instead of objdir for temporary files,
  delete generated temporary symbol lists,
  don't add .la twice in the pseudo-library header,
  implemented and documented clean mode (deletes libraries,
  programs and object files and the files associated with them),
  if build_libtool_libs=no and no static library is available,
  try to link the program against the shared library,
  don't add a statically linked library to the dependency_libs
* ltmain.in (help uninstall): added a missing backslash
  after echo (reported by Ossama Othman)
1999-04-27 17:30:20 +00:00