From c71779678a854e902df6912682f304cbb4e9c64b Mon Sep 17 00:00:00 2001 From: Gordon Matzigkeit Date: Mon, 27 Apr 1998 15:10:35 +0000 Subject: [PATCH] *** empty log message *** --- ChangeLog | 5 +++++ doc/PLATFORMS | 14 +++++++------- doc/libtool.texi | 40 ++++++++++++++++++++++++++++++++++++---- ltconfig.in | 2 +- ltmain.in | 12 ++++++++++++ 5 files changed, 61 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 07428bc66..bdd953fbc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1998-04-20 Gordon Matzigkeit + + * ltmain.in: Maybe reexec under $SHELL, if $echo doesn't work. + Reported by Lars Hecking. + 1998-04-19 Gordon Matzigkeit * Makefile.am (maintainer-rekey): New rule to force us to change diff --git a/doc/PLATFORMS b/doc/PLATFORMS index 42b0b6717..e633ad1ba 100644 --- a/doc/PLATFORMS +++ b/doc/PLATFORMS @@ -5,23 +5,23 @@ canonical host name compiler libtool results 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 @@ -31,11 +31,11 @@ rs6000-ibm-aix3.2.5 gcc 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 -------------------------------------------------------- diff --git a/doc/libtool.texi b/doc/libtool.texi index 49acbcd8a..cd7c01bd6 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -7,7 +7,7 @@ @c %**end of header @include version.texi -@set BUGADDR the libtool mailing list @email{} +@set BUGADDR the libtool mailing list @email{bug-libtool@@gnu.org} @set objdir .libs @dircategory GNU programming tools @@ -82,6 +82,7 @@ approved by the Free Software Foundation. @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 @@ -2596,10 +2597,19 @@ porting libtool to new systems, or writing your own libtool. @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 @@ -2622,6 +2632,28 @@ Some systems have special documentation on how to build and install 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 @@ -2990,7 +3022,7 @@ directly. 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} diff --git a/ltconfig.in b/ltconfig.in index 251819096..d704e2f84 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -30,7 +30,7 @@ SHELL=${CONFIG_SHELL-/bin/sh} 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 diff --git a/ltmain.in b/ltmain.in index 5478f6ddf..0257541ec 100644 --- a/ltmain.in +++ b/ltmain.in @@ -23,6 +23,18 @@ # 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" -- 2.47.2