From 4d1452a659166185502467e2ff8ae9986fac8dcd Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Mon, 4 Apr 2005 17:38:31 +0000 Subject: [PATCH] * notes.texi: Platform-specific configuration notes. * doc/libtool.texi: Include as section. * bootstrap, doc/Makefile.am: build also as notes.txt and distribute. --- ChangeLog | 6 ++++++ bootstrap | 6 +++++- doc/.cvsignore | 1 + doc/Makefile.am | 8 +++++++- doc/libtool.texi | 12 ++++++++++++ doc/notes.texi | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 doc/notes.texi diff --git a/ChangeLog b/ChangeLog index 2d8546c7f..abbe405e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-04-04 Ralf Wildenhues + + * notes.texi: Platform-specific configuration notes. + * doc/libtool.texi: Include as section. + * bootstrap, doc/Makefile.am: build also as notes.txt and distribute. + 2005-04-04 Gary V. Vaughan Under certain circumstances, not all of the macro files were diff --git a/bootstrap b/bootstrap index 09e0a95af..ae58fb292 100755 --- a/bootstrap +++ b/bootstrap @@ -32,6 +32,7 @@ : ${FGREP=fgrep} : ${SED=sed} : ${LN_S='ln -s'} +: ${MAKEINFO=makeinfo} test -f ./configure.ac || { echo "bootstrap: can't find ./configure.ac, please rerun from top_srcdir" @@ -63,7 +64,7 @@ shift # Whip up some dirty Makefiles: makefiles= -for dirty in ./Makefile ./tests/Makefile +for dirty in ./Makefile ./tests/Makefile ./doc/Makefile do test -f $dirty || { makefiles="$makefiles $dirty" @@ -90,6 +91,9 @@ $MAKE ./config/ltmain.sh ./m4/ltversion.m4 ./libtoolize.in ./tests/defs.in \ $MAKE ./testsuite AUTOTEST="$AUTOM4TE --language=autotest" \ srcdir=. top_srcdir=.. PACKAGE="$2" VERSION="$3" cd .. + cd doc + $MAKE notes.txt srcdir=. top_srcdir=.. MAKEINFO="${MAKEINFO}" + cd .. } test -f clcommit.m4sh && $MAKE -f Makefile.maint commit \ diff --git a/doc/.cvsignore b/doc/.cvsignore index e8ad0e8ea..22f2d4ceb 100644 --- a/doc/.cvsignore +++ b/doc/.cvsignore @@ -2,6 +2,7 @@ Makefile Makefile.in stamp-vti version.texi +notes.txt *.log *.dvi *.aux diff --git a/doc/Makefile.am b/doc/Makefile.am index 1d4b5ffad..1668a2096 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,10 @@ ## Process this file with automake to produce Makefile.in info_TEXINFOS = libtool.texi -libtool_TEXINFOS = PLATFORMS fdl.texi +libtool_TEXINFOS = PLATFORMS fdl.texi notes.texi +EXTRA_DIST = notes.txt + +all-local: notes.txt + +notes.txt: notes.texi + cd $(srcdir) && $(MAKEINFO) --plaintext $(MAKEINFOFLAGS) -o $@ notes.texi diff --git a/doc/libtool.texi b/doc/libtool.texi index 062bbfc93..2e04c1b84 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -140,6 +140,7 @@ Integrating libtool with your package Configuring libtool * LT_INIT:: Configuring @code{libtool} in @file{configure.ac}. +* Configure notes:: Platform-specific notes for configuration. Including libtool in your package @@ -1825,6 +1826,7 @@ generate a libtool script for the installer's host machine. @menu * LT_INIT:: Configuring @code{libtool} in @file{configure.ac}. +* Configure notes:: Platform-specific notes for configuration. @end menu @node LT_INIT @@ -2122,6 +2124,16 @@ ACLOCAL_AMFLAGS += -I $(prefix)/share/libtool-2.0/m4 @end example +@node Configure notes +@subsection Platform-specific configuration notes + +While Libtool tries to hide as many platform-specific features as possible, +some have to be taken into account when configuring either the Libtool package +or a libtoolized package. + +@include notes.texi + + @node Distributing @section Including libtool in your package diff --git a/doc/notes.texi b/doc/notes.texi new file mode 100644 index 000000000..2090b90d0 --- /dev/null +++ b/doc/notes.texi @@ -0,0 +1,48 @@ +@itemize + +@item +On AIX there are two different styles of shared linking, one in which symbols +are bound at link-time and one in which symbols are bound at runtime only, +similar to ELF@. In case of doubt use @code{LDFLAGS=-Wl,-brtl} for the latter style. + +@item +For C++ code with templates, it may be necessary to specify the way the compiler +will generate the instantiations. For Portland pgCC version5, use +@code{CXX='pgCC --one_instantiation_per_object'} and avoid parallel @command{make}. + +@item +FreeBSD @command{make} does not conform to @sc{posix} in its handling +of file modification times, which causes it to loop while building libtool. +Consider using a different @command{such} as GNU make instead. + +@item +The default shell on UNICOS 9, a ksh 88e variant, is too buggy to +correctly execute the libtool script. Users are advised to install a +modern shell such as GNU bash. + +@item +Some HP-UX @command{sed} programs are horribly broken, and cannot handle +libtool's requirements, so users may report unusual problems. There +is no workaround except to install a working @command{sed} (such as GNU sed) +on these systems. + +@item +The vendor-distributed NCR MP-RAS @command{cc} programs emits copyright +on standard error that confuse tests on size of @file{conftest.err}. The +workaround is to specify @env{CC} when run configure with +@code{CC='cc -Hnocopyr'}. + +@item +Any earlier DG/UX system with ELF executables, such as R3.10 or +R4.10, is also likely to work, but hasn't been explicitly tested. + +@item +On Reliant Unix libtool has only been tested with the Siemens C-compiler +and an old version of @command{gcc} provided by Marco Walther. + +@item +@file{libtool.m4}, @file{ltdl.m4} and the @file{configure.ac} files are marked +to use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself, +and all recent releases of XEmacs. + +@end itemize -- 2.47.3