1997-08-21 13:16:08 +08:00
|
|
|
|
For next public release:
|
|
|
|
|
************************
|
|
|
|
|
|
1998-01-26 03:35:11 +08:00
|
|
|
|
* Get rid of the sections that try to change behaviour for GNU ld. We
|
|
|
|
|
really should make our shared library support just depend on the
|
|
|
|
|
compiler type.
|
1997-08-12 23:19:11 +08:00
|
|
|
|
|
1998-01-26 03:35:11 +08:00
|
|
|
|
* Explain why we have the `-lm' in:
|
|
|
|
|
libhello_la_LDFLAGS = -version-info 3:12:1 -lm
|
|
|
|
|
|
|
|
|
|
* Explain why we don't allow `-o SOMEFILE' with compile mode.
|
|
|
|
|
|
|
|
|
|
* Alexandre Oliva suggests that we hardcode paths into libraries, as
|
|
|
|
|
well as binaries: `... -Wl,-soname -Wl,/tmp/libtest.so.0 ...'.
|
|
|
|
|
|
|
|
|
|
* Primoz Peterlin <peterlin@biofiz.mf.uni-lj.si> -Aicrit:
|
|
|
|
|
|
|
|
|
|
> A very first impression after compiling the new recode on HP-UX 9.05
|
|
|
|
|
> (with gcc and various other gnuities). I encountered the following
|
|
|
|
|
> problem [...]
|
|
|
|
|
> ../libtool: /./ltmain.sh: not found
|
|
|
|
|
|
|
|
|
|
This is a bug in HP-UX sed. The correct solution is to obtain a sed
|
|
|
|
|
update from your HP-UX vendor, or to install GNU sed. The sed
|
|
|
|
|
distributed with HP-UX is so horribly broken that it is impossible to
|
|
|
|
|
change libtool so that it works by using it.
|
|
|
|
|
|
|
|
|
|
* From Kenneth Albanowski:
|
|
|
|
|
|
|
|
|
|
At the very least, this message should be tailored for the OS and
|
|
|
|
|
libraries -- if Linux's ld requires explicit -rpath arguments (instead of
|
|
|
|
|
treating all -L paths as -rpaths) then this message should mention it, as
|
|
|
|
|
well as the full options. Something like this would seem ideal:
|
|
|
|
|
|
|
|
|
|
Libraries have been installed to /usr/lib, /usr/local/lib, /foo/bar
|
|
|
|
|
and /foo/baz. To link against libraries in /foo/bar and /foo/baz, users
|
|
|
|
|
may have to:
|
|
|
|
|
- Use the -L/foo/bar and -L/foo/baz linker flags, and
|
|
|
|
|
- Add /foo/bar:/foo/baz to their LD_LIBRARY_PATH environment
|
|
|
|
|
variable during execution, or
|
|
|
|
|
- Add /foo/bar:/foo/baz to their LD_RUN_PATH environment
|
|
|
|
|
variable during linking, or
|
|
|
|
|
- Use the -rpath /foo/bar and -rpath /foo/baz linker flags, or
|
|
|
|
|
- Have the system administrator add /foo/bar and /foo/bz to
|
|
|
|
|
/etc/ld.so.conf
|
|
|
|
|
[See the ld.so(8) manual page and any operating system documentation
|
|
|
|
|
about shared libraries for more information.]
|
|
|
|
|
|
|
|
|
|
* Franc,ois Pinard about debugging:
|
1997-10-15 02:33:24 +08:00
|
|
|
|
|
|
|
|
|
``Another thing I'm curious to experiment is how will `gdb' perform
|
|
|
|
|
with shared libraries. There are a few notes in the manual about
|
|
|
|
|
generating a "more easy to debug" version of the program. I tried the
|
|
|
|
|
recipe, but it broke somewhere in Automake generated dependency code,
|
|
|
|
|
so I got to remove it for now. However, the manual does not explain
|
|
|
|
|
what the debugging difficulty is, and so, I wonder what problems I
|
|
|
|
|
will meet.''
|
|
|
|
|
|
1997-11-28 00:57:00 +08:00
|
|
|
|
* Document the change from `-allow-undefined' to `-no-undefined'.
|
|
|
|
|
|
1997-11-29 01:23:28 +08:00
|
|
|
|
* Document what to tell users about adding their libraries to their
|
|
|
|
|
`ldconfig' directories at bootup. Libtool doesn't do this
|
|
|
|
|
automatically, because it can't.
|
|
|
|
|
|
1997-08-27 02:44:05 +08:00
|
|
|
|
* Some packages, such as GIMP, choose to put a note about
|
|
|
|
|
`--disable-shared' in their README:
|
1997-08-12 23:19:11 +08:00
|
|
|
|
|
1997-08-27 02:44:05 +08:00
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
The GIMP uses GNU libtool in order to build shared libraries on a
|
|
|
|
|
variety of systems. While this is very nice for making usable
|
|
|
|
|
binaries, it can be a pain when trying to debug a program. For that
|
|
|
|
|
reason, compilation of shared libraries can be turned off by
|
|
|
|
|
specifying the "--disable-shared" option to "configure".
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
Simply invoke configure in the top-level directory. Besides the usual
|
|
|
|
|
GNU configure options, there are the following SANE specific options:
|
1997-08-12 23:19:11 +08:00
|
|
|
|
|
1997-08-27 02:44:05 +08:00
|
|
|
|
--disable-shared
|
|
|
|
|
Don't use shared libraries. Useful for debugging or when there
|
|
|
|
|
is a problem building shared libraries.
|
|
|
|
|
----------------------------------------------------------------------
|
1997-08-12 23:19:11 +08:00
|
|
|
|
|
1997-08-27 02:44:05 +08:00
|
|
|
|
Perhaps a similar note could be added to ABOUT-NLS.
|
1997-08-12 23:19:11 +08:00
|
|
|
|
|
1997-08-27 02:44:05 +08:00
|
|
|
|
I'll add a suggestion to the libtool documentation, so that other
|
1997-10-15 02:33:24 +08:00
|
|
|
|
maintainers add this kind of note to their package documentation. The
|
|
|
|
|
biggest motivation, mentioned by Franc,ois Pinard, is to turn off
|
|
|
|
|
double-compilation.
|
1997-08-21 13:16:08 +08:00
|
|
|
|
|
|
|
|
|
In the future:
|
|
|
|
|
**************
|
|
|
|
|
|
1997-11-28 00:57:00 +08:00
|
|
|
|
* Inter-library dependencies should be automatically tracked by
|
|
|
|
|
libtool. Reminded by Alexandre Oliva. This also would require
|
|
|
|
|
looking up installed libtool libraries for transparent support.
|
|
|
|
|
|
1997-08-12 23:19:11 +08:00
|
|
|
|
* 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.
|
|
|
|
|
|
1997-09-15 20:31:09 +08:00
|
|
|
|
People who need it:
|
|
|
|
|
Jean Daniel Fekete <Jean-Daniel.Fekete@emn.fr>
|
|
|
|
|
Thomas Hiller <hiller@tu-harburg.d400.de>
|
|
|
|
|
|
1997-08-28 02:21:56 +08:00
|
|
|
|
* Writing libtool as a shell script means that proper variable quoting
|
|
|
|
|
is a real problem. Be careful when `eval'ing a string that the
|
|
|
|
|
arguments are properly quoted. Note that arguments with embedded
|
|
|
|
|
whitespace probably will cause problems (because of IFS).
|
|
|
|
|
|
|
|
|
|
I don't have good ideas on to fix the problems with whitespace, other
|
|
|
|
|
than subverting IFS entirely, perhaps always using an `eval "set
|
|
|
|
|
$quoted_args"' sequence.
|
|
|
|
|
|
1997-06-30 20:20:49 +08:00
|
|
|
|
* Another form of convenience library, suggested by Alexandre Oliva,
|
|
|
|
|
is to have undocumented utility libraries, where only the shared
|
|
|
|
|
version is installed.
|
|
|
|
|
|
1997-07-22 01:31:05 +08:00
|
|
|
|
* We could use libtool object convenience libraries that resolve
|
1998-01-26 03:35:11 +08:00
|
|
|
|
symbols to be included in a libtool archive. This would require some
|
|
|
|
|
sort of -whole-archive option, as well.
|
1997-07-22 01:31:05 +08:00
|
|
|
|
|
1997-07-01 12:38:32 +08:00
|
|
|
|
* Somehow we need to make sure that static libraries never appear in
|
1997-10-22 13:00:03 +08:00
|
|
|
|
$deplibs. This, will probably require that libtool discover exactly
|
|
|
|
|
which files would be linked from which directories when somebody says
|
|
|
|
|
`-lsomething'. This adds a lot of complexity, but I see no other way
|
|
|
|
|
around it.
|
1997-07-01 12:38:32 +08:00
|
|
|
|
|
1997-07-09 01:08:33 +08:00
|
|
|
|
* 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.
|
|
|
|
|
|
1997-05-25 06:50:52 +08:00
|
|
|
|
Things to think about:
|
|
|
|
|
**********************
|
1997-04-02 03:04:40 +08:00
|
|
|
|
|
1997-05-25 06:50:52 +08:00
|
|
|
|
* Implement full support for other orthogonal library types
|
|
|
|
|
(libhello_g, libhello_p). Make these types configurable. Some
|
|
|
|
|
thinking will have to be done about the defaults, and what libhello
|
|
|
|
|
(standard type) should be.
|
1997-04-02 03:00:38 +08:00
|
|
|
|
|
1997-04-02 03:04:40 +08:00
|
|
|
|
Maybe we should just add an autoconf macro and get creative with
|
1997-05-25 06:50:52 +08:00
|
|
|
|
library_transform_name, or something. These changes should be
|
1997-04-02 03:04:40 +08:00
|
|
|
|
partially driven by the needs of packaging tools, such as RPM and
|
|
|
|
|
dpkg.
|
1997-04-02 03:00:38 +08:00
|
|
|
|
|
1997-05-25 06:50:52 +08:00
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
|
|
* Add support for windoze DLL's, and maybe other jumptable libs.
|
|
|
|
|
Check out Lesstif and Tcl configuration again (maybe they would be
|
|
|
|
|
interested in libtool by now?). The Cygnus win32 project may also be
|
|
|
|
|
of value, though it still seems pretty rudimentary right now.
|