+1998-04-20 Gordon Matzigkeit <gord@profitpress.com>
+
+ * ltmain.in: Maybe reexec under $SHELL, if $echo doesn't work.
+ Reported by Lars Hecking.
+
1998-04-19 Gordon Matzigkeit <gord@profitpress.com>
* Makefile.am (maintainer-rekey): New rule to force us to change
alpha-dec-osf3.2 cc 0.8 ok
alpha-dec-osf3.2 gcc 0.8 ok
alpha-dec-osf4.0 cc 1.0f ok
-alpha-dec-osf4.0 gcc 1.0f ok
+alpha-dec-osf4.0b gcc 1.2a ok
alpha-unknown-linux-gnu gcc 0.9h ok
hppa1.1-hp-hpux9.07 cc 1.0f ok
-hppa1.1-hp-hpux9.07 gcc 1.0f ok
+hppa1.1-hp-hpux9.07 gcc 1.2a ok
hppa1.1-hp-hpux10.10 cc 0.9h ok
hppa1.1-hp-hpux10.10 gcc 0.9h ok
i386-unknown-freebsd2.1.5 gcc 0.5 ok
i386-unknown-gnu0.0 gcc 0.5 ok
i386-unknown-netbsd1.2 gcc 0.9g ok
i586-pc-linux-gnulibc1 gcc 1.0i ok
-i586-pc-linux-gnu gcc 1.0i ok
+i586-pc-linux-gnu gcc 1.2a ok
mips-sgi-irix5.2 gcc 1.0i ok
mips-sgi-irix5.3 cc 0.8 ok
mips-sgi-irix5.3 gcc 0.8 ok
mips-sgi-irix6.2 cc 0.9 ok
mips-sgi-irix6.3 cc 1.0f ok
-mips-sgi-irix6.3 gcc 1.0i ok
+mips-sgi-irix6.3 gcc 1.2a ok
mips-sgi-irix6.3 irix5-gcc 1.0f ok
mipsel-unknown-openbsd2.1 gcc 1.0 ok
powerpc-ibm-aix4.1.4.0 xlc 1.0i ok
sparc-sun-linux-gnu2.1.23 gcc 0.9h ok
sparc-sun-sunos4.1.3 gcc 1.0i ok
sparc-sun-sunos4.1.4 cc 1.0f ok
-sparc-sun-sunos4.1.4 gcc 1.0f ok
+sparc-sun-sunos4.1.4 gcc 1.2a ok
sparc-sun-solaris2.4 cc 1.0a ok
sparc-sun-solaris2.4 gcc 1.0a ok
-sparc-sun-solaris2.5 cc 1.0f ok
-sparc-sun-solaris2.5 gcc 1.0i ok
+sparc-sun-solaris2.5 cc 1.0a ok
+sparc-sun-solaris2.5 gcc 1.2a ok
sparc-sun-solaris2.6 gcc 1.0i ok
--------------------------------------------------------
@c %**end of header
@include version.texi
-@set BUGADDR the libtool mailing list @email{<bug-libtool@@gnu.org>}
+@set BUGADDR the libtool mailing list @email{bug-libtool@@gnu.org}
@set objdir .libs
@dircategory GNU programming tools
@c Put everything in one index (arbitrarily chosen to be the concept index).
@syncodeindex vr cp
@syncodeindex fn cp
+@syncodeindex tp cp
@synindex pg cp
@ifinfo
@node New ports
@section Porting libtool to new systems
-To port libtool to a new system, you'll generally need the following
-information:
+Before you embark on porting libtool to an unsupported system, it is
+worthwhile to send e-mail to @value{BUGADDR}, to make sure that you are
+not duplicating existing work.
+
+Once it is clear that a new port is necessary, you'll generally need the
+following information:
@table @asis
+@item canonical system name
+You need the output of @code{config.guess} for this system, so that you
+can make changes to the libtool configuration process without affecting
+other systems.
+
@item man pages for @code{ld(1)} and @code{cc(1)}
These generally describe what flags are used to generate PIC, to create
shared libraries, and to link against only static libraries. You may
shared libraries.
@end table
+If you know how to program in shell script, then you can complete the
+port yourself; otherwise, you'll have to find somebody with the relevant
+skills who will do the work. People on the libtool mailing list are
+usually willing to volunteer to help you with new ports, so you can send
+the information to them.
+
+To do the port yourself, you'll definitely need to modify the
+@code{ltconfig} script in order to make platform-specific changes to the
+configuration process. You should search the script for the
+@code{PORTME} keyword, which will give you some hints on what you'll
+need to change. In general, all that is involved is modifying the
+appropriate configuration variables (@pxref{libtool script contents}).
+
+Your best bet is to find an already-supported system that is similar to
+yours, and make your changes based on that. In some cases, however,
+your system will differ significantly from every other supported system,
+and it may be necessary to add new configuration variables, and modify
+the @code{ltmain.sh} script accordingly. Be sure to write to the
+mailing list before you make changes to @code{ltmain.sh}, since they may
+have advice on the most effective way of accomplishing what you want.
+
+
@node Tested platforms
@section Tested platforms
The following steps describe how to create such a script, where
@code{/home/src/libtool} is the directory containing the libtool source
tree, and @code{/home/src/libtool/libtool} is a libtool script that has
-been configured for your platform, and :
+been configured for your platform:
@example
trick$ @kbd{sed '/^# ltmain\.sh/q' /usr/local/bin/libtool > ~/bin/libtool}
if test "X$1" = "X--no-reexec"; then
# Discard the --no-reexec flag, and continue.
shift
-elif test "X$SHELL" != X/bin/sh; then
+else
# Restart under the correct shell.
exec "$SHELL" "$0" --no-reexec ${1+"$@"}
fi
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+# Check that we have a working $echo.
+if test "X$1" = "X--no-reexec"; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell, and then maybe $echo will work.
+ exec "$SHELL" "$0" --no-reexec ${1+"$@"}
+fi
+
# The name of this program.
progname=`$echo "$0" | sed 's%^.*/%%'`
modename="$progname"