mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-21 01:40:57 +08:00
113 lines
4.6 KiB
Plaintext
113 lines
4.6 KiB
Plaintext
For next public release:
|
|
************************
|
|
|
|
* check whether the version of libtool.m4 is compatible
|
|
with ltconfig/ltmain.sh
|
|
|
|
* Inter-library dependencies should be fully tracked by libtool
|
|
and need to work for ltlibraries too. This requires looking up
|
|
installed libtool libraries for transparent support.
|
|
Thomas Tanner has a patch for this.
|
|
|
|
* Alexandre Oliva suggests that we should have an option to hardcode
|
|
paths into libraries, as well as binaries: `... -Wl,-soname
|
|
-Wl,/tmp/libtest.so.0 ...'. Tim Mooney wants the same thing.
|
|
|
|
* Lists of exported symbols should be stored in the pseudo library
|
|
so that the size of lt_preloaded_symbols can be reduced.
|
|
|
|
* Documentation:
|
|
|
|
- AC_PROG_LIBTOOL, AC_ENABLE/DISABLE_SHARED/STATIC/FAST_INSTALL,
|
|
AC_LIBTOOL_DLOPEN, AC_LIBLTDL_CONVENIENCE/INSTALLABLE are not documented
|
|
|
|
- Purpose and usage of convenience libraries must be better documented
|
|
|
|
- some new internal variables are not documented yet.
|
|
|
|
In the future:
|
|
**************
|
|
|
|
* Godmar Back writes:
|
|
libltdl uses such stdio functions as fopen, fgets, feof, fclose, and others.
|
|
These functions are not async-signal-safe. While this does not make
|
|
libltdl unusable, it restricts its usefulness and puts an
|
|
unnecessary burden on the user.
|
|
|
|
As a remedy, I'd recommend to replace those functions with functions
|
|
that POSIX says are async-signal-safe, such as open, read, close.
|
|
This will require you to handle interrupted system calls and implement
|
|
fgets, but the former isn't hard and there's plenty of implementations
|
|
out from which you can steal the latter.
|
|
|
|
I believe relying on async-signal-safe functions to the greatest extent
|
|
possible would greatly improve libltdl's ability to be embedded in and
|
|
used by other systems.
|
|
|
|
* Fix */demo on win32.
|
|
This may require resolving some of the items below.
|
|
|
|
* Figure out how to use data items in dlls with win32.
|
|
The difficult part is compiling each object which will be linked with an
|
|
import lib differently than if it will be linked with a static lib. This will
|
|
almost definitely require that automake pass some hints about linkage in to
|
|
each object compilation line.
|
|
|
|
* Resolve the name clash between import libs and static libs on win32.
|
|
Probably the best way to do this is to create lib$name-dll.a for the import
|
|
library, and continue to use lib$name.a for the static lib. libtool
|
|
--mode=link can then favour -dll.a over .a if there is a choice. No point in
|
|
doing this until we can export data items (above).
|
|
|
|
* If not cross-compiling, have the static flag test run the resulting
|
|
binary to make sure everything works.
|
|
|
|
* Implement full multi-language support. Currently, this is only for
|
|
C++, but there are beginnings of this in the manual (Other Languages).
|
|
This includes writing libtool not to be so dependent on the compiler
|
|
used to configure it.
|
|
|
|
We especially need this for C++ linking, for which libtool currently
|
|
does not handle static constructors properly, even on operating
|
|
systems that support them. ``Don't use static constructors'' is no
|
|
longer a satisfactory answer.
|
|
|
|
People who need it:
|
|
Jean Daniel Fekete <Jean-Daniel.Fekete@emn.fr>
|
|
Thomas Hiller <hiller@tu-harburg.d400.de>
|
|
|
|
* Another form of convenience library, suggested by Alexandre Oliva,
|
|
is to have undocumented utility libraries, where only the shared
|
|
version is installed.
|
|
|
|
* We could use libtool object convenience libraries that resolve
|
|
symbols to be included in a libtool archive. This would require some
|
|
sort of -whole-archive option, as well.
|
|
|
|
* Currently, convenience libraries (.al) are built from .lo objects,
|
|
except when --disable-shared. When we can build both shared and
|
|
static libraries, we should probably create a .al out of .lo objects
|
|
and also a .a out of .o objects. The .al would only be used to
|
|
create shared libraries, whereas the .a would be used for creating
|
|
static libraries and programs.
|
|
|
|
* Need to finalize the documentation, and give a specification of
|
|
`.la' files so that people can depend on their format. This also
|
|
needs to be done so that DLD uses a public interface to libtool
|
|
archives. This would be a good thing to put before the maintainance
|
|
notes.
|
|
|
|
Things to think about:
|
|
**********************
|
|
|
|
* Talk with RMS about his so-called `automatic package generation
|
|
tool.' This is probably what Thomas has been murmuring about for the
|
|
Hurd. We'll need to integrate package-supplied programs such as
|
|
libtool into that scheme, since it manages some of the preinstall and
|
|
postinstall commands, but isn't installed itself. Probably, things
|
|
like libtool should be distributed as part of such a binary package.
|
|
|
|
* Maybe implement full support for other orthogonal library types
|
|
(libhello_g, libhello_p, 64 vs 32-bit ABI's, etc). Make these types
|
|
configurable.
|