1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-23 13:00:34 +02:00

Upgrade to the version of libtool available at Cygnus. See note

above.
* config.guess, config.sub, ltconfig, ltmain.sh: Upgraded.
This commit is contained in:
Jim Blandy 1998-07-27 00:54:16 +00:00
parent 1706110852
commit c789ad32a7
4 changed files with 569 additions and 303 deletions

13
config.guess vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -478,10 +478,10 @@ EOF
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*)
echo i386-pc-cygwin32
echo ${UNAME_MACHINE}-pc-cygwin32
exit 0 ;;
i*:MINGW*:*)
echo i386-pc-mingw32
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
@ -493,6 +493,12 @@ EOF
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# uname on the ARM produces all sorts of strangeness, and we need to
# filter it out.
case "$UNAME_MACHINE" in
arm* | sa110*) UNAME_MACHINE="arm" ;;
esac
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
@ -506,6 +512,7 @@ EOF
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
esac

38
config.sub vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
@ -162,7 +162,7 @@ case $basic_machine in
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i[3456]86)
i[34567]86)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
@ -171,7 +171,7 @@ case $basic_machine in
exit 1
;;
# Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
@ -350,19 +350,19 @@ case $basic_machine in
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[3456]86v32)
i[34567]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i[3456]86v4*)
i[34567]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i[3456]86v)
i[34567]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i[3456]86sol2)
i[34567]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
@ -469,25 +469,23 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5)
basic_machine=i586-intel
pentium | p5 | k5 | nexen)
basic_machine=i586-pc
;;
pentiumpro | p6)
basic_machine=i686-intel
pentiumpro | p6 | k6 | 6x86)
basic_machine=i686-pc
;;
pentium-* | p5-*)
pentiumii | pentium2)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-*)
pentiumpro-* | p6-* | k6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
k5)
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
basic_machine=i586-amd
;;
nexen)
# We don't have specific support for Nexgen yet, so just call it a Pentium
basic_machine=i586-nexgen
pentiumii-* | pentium2-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould

426
ltconfig
View file

@ -25,6 +25,16 @@
# A lot of this script is taken from autoconf-2.10.
# Check that we are running under the correct shell.
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
# Restart under the correct shell.
exec "$SHELL" "$0" --no-reexec ${1+"$@"}
fi
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
@ -32,23 +42,39 @@ if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
echo=echo
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
else
# The Solaris and AIX default echo program unquotes backslashes.
# This makes it impossible to quote backslashes using
# The Solaris, AIX, and Digital Unix default echo programs unquote
# backslashes. This makes it impossible to quote backslashes using
# echo "$something" | sed 's/\\/\\\\/g'
# So, we emulate echo with printf '%s\n'
echo="printf %s\\n"
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
else
# Oops. We have no working printf. Try to find a not-so-buggy echo.
echo=echo
#
# So, first we look for a working echo in the user's PATH.
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
for dir in $PATH /usr/ucb; do
if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
if test -f $dir/echo && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t'; then
echo="$dir/echo"
break
fi
done
IFS="$save_ifs"
if test "X$echo" = Xecho; then
# We didn't find a better echo, so look for alternatives.
if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then
# This shell has a builtin print -r that does the trick.
echo='print -r'
# elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then
# # If we have ksh, try running ltconfig again with it.
# CONFIG_SHELL=/bin/ksh
# export CONFIG_SHELL
# exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
else
# Try using printf.
echo='printf %s\n'
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
else
# Oops. We lost completely, so just stick with echo.
echo=echo
fi
fi
fi
fi
@ -66,7 +92,7 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
# Constants:
PROGRAM=ltconfig
PACKAGE=libtool
VERSION=1.2
VERSION=1.2a
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
rm="rm -f"
@ -74,6 +100,7 @@ rm="rm -f"
help="Try \`$progname --help' for more information."
# Global variables:
default_ofile=libtool
can_build_shared=yes
enable_shared=yes
# All known linkers require a `.a' archive for static linking.
@ -85,9 +112,12 @@ ac_config_guess=
ac_config_sub=
host=
nonopt=
ofile="$default_ofile"
verify_host=yes
with_gcc=no
with_gnu_ld=no
objext=o
libext=a
old_AR="$AR"
old_CC="$CC"
@ -97,6 +127,8 @@ old_LD="$LD"
old_LN_S="$LN_S"
old_NM="$NM"
old_RANLIB="$RANLIB"
old_DLLTOOL="$DLLTOOL"
old_AS="$AS"
# Parse the command line options.
args=
@ -121,10 +153,12 @@ Usage: $progname [OPTION]... LTMAIN [HOST]
Generate a system-specific libtool script.
--debug enable verbose shell tracing
--disable-shared do not build shared libraries
--disable-static do not build static libraries
--help display this help and exit
--no-verify do not verify that HOST is a valid host type
-o, --output=FILE specify the output file [default=$default_ofile]
--quiet same as \`--silent'
--silent do not print informational messages
--srcdir=DIR find \`config.guess' in DIR
@ -140,6 +174,11 @@ EOM
exit 0
;;
--debug)
echo "$progname: enabling shell trace mode"
set -x
;;
--disable-shared) enable_shared=no ;;
--disable-static) enable_static=no ;;
@ -151,6 +190,9 @@ EOM
--no-verify) verify_host=no ;;
--output | -o) prev=ofile ;;
--output=*) ofile="$optarg" ;;
--version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;;
--with-gcc) with_gcc=yes ;;
@ -264,7 +306,7 @@ if test "$verify_host" = yes; then
ac_config_sub=$ac_aux_dir/config.sub
# Make sure we can run config.sub.
if $ac_config_sub sun4 >/dev/null 2>&1; then :
if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
else
echo "$progname: cannot run $ac_config_sub" 1>&2
echo "$help" 1>&2
@ -276,14 +318,14 @@ if test "$verify_host" = yes; then
host_alias=$host
case "$host_alias" in
"")
if host_alias=`$ac_config_guess`; then :
if host_alias=`$SHELL $ac_config_guess`; then :
else
echo "$progname: cannot guess host type; you must specify one" 1>&2
echo "$help" 1>&2
exit 1
fi ;;
esac
host=`$ac_config_sub $host_alias`
host=`$SHELL $ac_config_sub $host_alias`
echo "$ac_t$host" 1>&6
# Make sure the host verified.
@ -351,6 +393,10 @@ if test -n "$RANLIB"; then
old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
fi
# Set sane defaults for `DLLTOOL' and `AS', used on cygwin32.
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$AS" && AS=as
# Check to see if we are using GCC.
if test "$with_gcc" != yes || test -z "$CC"; then
# If CC is not set, then try to find GCC or a usable CC.
@ -421,7 +467,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# Now see if the compiler is really GCC.
with_gcc=no
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
echo "$progname:424: checking whether we are using GNU C" >&5
echo "$progname:470: checking whether we are using GNU C" >&5
$rm conftest.c
cat > conftest.c <<EOF
@ -429,7 +475,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
yes;
#endif
EOF
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:478: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
with_gcc=yes
fi
$rm conftest.c
@ -440,6 +486,28 @@ fi
set dummy $CC
compiler="$2"
echo $ac_n "checking for object suffix... $ac_c" 1>&6
$rm conftest*
echo 'int i = 1;' > conftest.c
echo "$progname:492: checking for object suffix" >& 5
if { (eval echo $progname:493: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
*) objext=`echo $ac_file | sed -e s/conftest.//` ;;
esac
done
else
cat conftest.err 1>&5
echo "$progname: failed program was:" >&5
cat conftest.c >&5
fi
$rm conftest*
echo "$ac_t$objext" 1>&6
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
pic_flag=
special_shlib_compile_flags=
@ -456,7 +524,7 @@ if test "$with_gcc" = yes; then
aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
# PIC is the default for these OSes.
;;
os2*)
cygwin32* | mingw32* | os2*)
# We can build DLLs from non-PIC.
;;
amigaos*)
@ -477,7 +545,7 @@ else
link_static_flag='-bnso -bI:/lib/syscalls.exp'
;;
hpux9* | hpux10*)
hpux9* | hpux10* | hpux11*)
# Is there a better link_static_flag that works with the bundled CC?
wl='-Wl,'
link_static_flag="${wl}-a ${wl}archive"
@ -490,7 +558,7 @@ else
# PIC (with -KPIC) is the default.
;;
os2*)
cygwin32* | mingw32* | os2*)
# We can build DLLs from non-PIC.
;;
@ -541,11 +609,11 @@ if test -n "$pic_flag"; then
# Check to make sure the pic_flag actually works.
echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
$rm conftest*
echo > conftest.c
echo "int some_variable = 0;" > conftest.c
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $pic_flag -DPIC"
echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
echo "$progname:615: checking if $compiler PIC flag $pic_flag works" >&5
if { (eval echo $progname:616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
@ -588,8 +656,8 @@ $rm conftest*
echo 'main(){return(0);}' > conftest.c
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $link_static_flag"
echo "$progname:591: checking if $compiler static flag $link_static_flag works" >&5
if { (eval echo $progname:592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
echo "$progname:659: checking if $compiler static flag $link_static_flag works" >&5
if { (eval echo $progname:660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
echo "$ac_t$link_static_flag" 1>&6
else
echo "$ac_t"none 1>&6
@ -621,7 +689,7 @@ if test -z "$LD"; then
if test "$with_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
echo "$progname:624: checking for ld used by GCC" >&5
echo "$progname:692: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
@ -639,10 +707,10 @@ if test -z "$LD"; then
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld... $ac_c" 1>&6
echo "$progname:642: checking for GNU ld" >&5
echo "$progname:710: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
echo "$progname:645: checking for non-GNU ld" >&5
echo "$progname:713: checking for non-GNU ld" >&5
fi
if test -z "$LD"; then
@ -700,30 +768,74 @@ hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
runpath_var=
case "$host_os" in
amigaos* | sunos4*)
# On these operating systems, we should treat GNU ld like the system ld.
gnu_ld_acts_native=yes
;;
*)
gnu_ld_acts_native=no
;;
esac
fix_srcfile_path=
ld_shlibs=yes
if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
if test "$with_gnu_ld" = yes; then
# See if GNU ld supports shared libraries.
case "$host_os" in
amigaos*)
archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
sunos4*)
archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
;;
cygwin32* | mingw32*)
if test "$with_gcc" = yes; then
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
allow_undefined_flag=unsupported
# Very, very bogus.
echo '
#include <windows.h>
struct _reent *_impure_ptr;
extern struct _reent *__imp_reent_data;
BOOL APIENTRY
__dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
{
_impure_ptr = __imp_reent_data;
}
' > libtool.c
archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
else
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
with_gnu_ld=no
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
# The linker will automatically build a .lib file if we build a DLL.
old_archive_from_new_cmds='true'
# FIXME: Should let the user specify the lib program.
old_archive_cmds='lib /OUT:$oldlib$oldobjs'
fix_srcfile_path='`cygpath -w $srcfile`'
fi
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
runpath_var=LD_RUN_PATH
ld_shlibs=yes
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = yes; then
if test "$ld_shlibs" = yes && test "$with_gnu_ld" = yes; then
runpath_var=LD_RUN_PATH
hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
export_dynamic_flag_spec='${wl}--export-dynamic'
fi
@ -756,6 +868,45 @@ else
hardcode_minus_L=yes
;;
cygwin32* | mingw32*)
if test "$with_gcc" = yes; then
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
allow_undefined_flag=unsupported
# Very, very bogus.
echo '
#include <windows.h>
struct _reent *_impure_ptr;
extern struct _reent *__imp_reent_data;
BOOL APIENTRY
__dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
{
_impure_ptr = __imp_reent_data;
}
' > libtool.c
archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
else
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
# The linker will automatically build a .lib file if we build a DLL.
old_archive_from_new_cmds='true'
# FIXME: Should let the user specify the lib program.
old_archive_cmds='lib /OUT:$oldlib$oldobjs'
fix_srcfile_path='`cygpath -w $srcfile`'
fi
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
@ -793,7 +944,7 @@ else
export_dynamic_flag_spec='${wl}-E'
;;
hpux10*)
hpux10* | hpux11*)
archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes
@ -802,7 +953,11 @@ else
;;
irix5* | irix6*)
if test "$with_gcc" = yes; then
archive_cmds='$CC -shared -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring$libobjs'
else
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
fi
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
;;
@ -856,15 +1011,7 @@ else
;;
sunos4*)
if test "$with_gcc" = yes; then
archive_cmds='$CC -shared -o $lib$libobjs'
else
archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
fi
if test "$with_gnu_ld" = yes; then
export_dynamic_flag_spec='${wl}-export-dynamic'
fi
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
@ -936,6 +1083,10 @@ case "$host_os" in
aix*)
symcode='[BCDTU]'
;;
cygwin32* | mingw32*)
sympat='_\([_A-Za-z][_A-Za-z0-9]*\)'
symxfrm='_\1 \1'
;;
irix*)
# Cannot use undefined symbols on IRIX because inlined functions mess us up.
symcode='[BCDEGRST]'
@ -950,6 +1101,14 @@ if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
symcode='[ABCDGISTUW]'
fi
case "$host_os" in
cygwin32* | mingw32*)
# We do not want undefined symbols on cygwin32. The user must
# arrange to define them via -l arguments.
symcode='[ABCDGISTW]'
;;
esac
# Write the raw and C identifiers.
global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'"
@ -968,11 +1127,11 @@ void nm_test_func(){}
main(){nm_test_var='a';nm_test_func();return(0);}
EOF
echo "$progname:971: checking if global_symbol_pipe works" >&5
if { (eval echo $progname:972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
echo "$progname:1130: checking if global_symbol_pipe works" >&5
if { (eval echo $progname:1131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
# Now try to grab the symbols.
nlist=conftest.nm
if { echo "$progname:975: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
if { echo "$progname:1134: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
@ -1025,12 +1184,12 @@ EOF
#endif
EOF
# Now try linking the two files.
mv conftest.o conftestm.o
mv conftest.$objext conftestm.$objext
save_LIBS="$LIBS"
save_CFLAGS="$CFLAGS"
LIBS='conftestm.o'
LIBS="conftestm.$objext"
CFLAGS="$CFLAGS$no_builtin_flag"
if { (eval echo $progname:1033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo $progname:1192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
pipe_works=yes
else
echo "$progname: failed program was:" >&5
@ -1073,25 +1232,20 @@ if test -n "$hardcode_libdir_flag_spec" || \
# We can link without hardcoding, and we can hardcode nonexisting dirs.
hardcode_action=immediate
fi
elif test "$hardcode_direct" != yes && \
test "$hardcode_minus_L" != yes && \
test "$hardcode_shlibpath_var" != yes; then
# We cannot hardcode anything.
hardcode_action=unsupported
else
# We can only hardcode existing directories.
hardcode_action=relink
# We cannot hardcode anything, or else we can only hardcode existing
# directories.
hardcode_action=unsupported
fi
echo "$ac_t$hardcode_action" 1>&6
test "$hardcode_action" = unsupported && can_build_shared=no
reload_flag=
reload_cmds='$LD$reload_flag -o $output$reload_objs'
echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
# PORTME Some linker may need a different reload flag.
# PORTME Some linkers may need a different reload flag.
reload_flag='-r'
echo "$ac_t$reload_flag"
echo "$ac_t$reload_flag" 1>&6
test -n "$reload_flag" && reload_flag=" $reload_flag"
# PORTME Fill in your ld.so characteristics
@ -1110,11 +1264,11 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
case "$host_os" in
aix3* | aix4*)
version_type=linux
library_names_spec='${libname}${release}.so.$versuffix $libname.a'
library_names_spec='${libname}${release}.so$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX has no versioning support, so we append a major version to the name.
soname_spec='${libname}${release}.so.$major'
soname_spec='${libname}${release}.so$major'
;;
amigaos*)
@ -1123,27 +1277,38 @@ amigaos*)
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
;;
cygwin32* | mingw32*)
version_type=windows
if test "$with_gcc" = yes; then
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
else
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
fi
dynamic_linker='Win32 ld.exe'
shlibpath_var=PATH
;;
freebsd2* | freebsd3*)
version_type=sunos
library_names_spec='${libname}${release}.so.$versuffix $libname.so'
finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
library_names_spec='${libname}${release}.so$versuffix $libname.so'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
gnu*)
version_type=sunos
library_names_spec='${libname}${release}.so.$versuffix'
library_names_spec='${libname}${release}.so$versuffix'
shlibpath_var=LD_LIBRARY_PATH
;;
hpux9* | hpux10*)
hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
dynamic_linker="$host_os dld.sl"
version_type=sunos
shlibpath_var=SHLIB_PATH
library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
soname_spec='${libname}${release}.sl.$major'
library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
soname_spec='${libname}${release}.sl$major'
# HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib'
;;
@ -1151,7 +1316,7 @@ hpux9* | hpux10*)
irix5* | irix6*)
version_type=osf
soname_spec='${libname}${release}.so'
library_names_spec='${libname}${release}.so.$versuffix $libname.so'
library_names_spec='${libname}${release}.so$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH
;;
@ -1163,9 +1328,9 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
# This must be Linux ELF.
linux-gnu*)
version_type=linux
library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='${libname}${release}.so.$major'
finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
if test -f /lib/ld.so.1; then
@ -1181,8 +1346,8 @@ linux-gnu*)
netbsd* | openbsd*)
version_type=sunos
library_names_spec='${libname}${release}.so.$versuffix'
finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
library_names_spec='${libname}${release}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
@ -1196,42 +1361,42 @@ os2*)
osf3* | osf4*)
version_type=osf
soname_spec='${libname}${release}.so'
library_names_spec='${libname}${release}.so.$versuffix $libname.so'
library_names_spec='${libname}${release}.so$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH
;;
sco3.2v5*)
version_type=osf
soname_spec='${libname}${release}.so.$major'
library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='${libname}${release}.so$major'
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
shlibpath_var=LD_LIBRARY_PATH
;;
solaris2*)
version_type=linux
library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='${libname}${release}.so.$major'
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
;;
sunos4*)
version_type=sunos
library_names_spec='${libname}${release}.so.$versuffix'
finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
library_names_spec='${libname}${release}.so$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
sysv4.2uw2*)
version_type=linux
library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='${libname}${release}.so.$major'
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
;;
uts4*)
version_type=linux
library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
soname_spec='${libname}${release}.so.$major'
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@ -1285,13 +1450,13 @@ ltecho="$echo"
# Now quote all the things that may contain metacharacters.
for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
link_static_flag no_builtin_flag export_dynamic_flag_spec \
libname_spec library_names_spec soname_spec RANLIB \
old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM DLLTOOL AS reload_flag \
reload_cmds wl pic_flag link_static_flag no_builtin_flag \
export_dynamic_flag_spec libname_spec library_names_spec soname_spec RANLIB \
old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
allow_undefined_flag no_undefined_flag \
finish_cmds finish_eval global_symbol_pipe \
allow_undefined_flag no_undefined_flag objext libext \
finish_cmds finish_eval global_symbol_pipe fix_srcfile_path \
hardcode_libdir_flag_spec hardcode_libdir_separator; do
case "$var" in
@ -1307,14 +1472,13 @@ for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
esac
done
ofile=libtool
trap "$rm $ofile; exit 1" 1 2 15
echo creating $ofile
$rm $ofile
cat <<EOF > $ofile
#! /bin/sh
trap "$rm \"$ofile\"; exit 1" 1 2 15
echo "creating $ofile"
$rm "$ofile"
cat <<EOF > "$ofile"
#! $SHELL
# libtool - Provide generalized library-building support services.
# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
#
@ -1340,16 +1504,6 @@ cat <<EOF > $ofile
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This program was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
# $0$ltconfig_args
#
# Compiler and other test output produced by $progname, useful for
# debugging $progname, is in ./config.log if it exists.
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="sed -e s/^X//"
@ -1357,25 +1511,36 @@ Xsed="sed -e s/^X//"
# if CDPATH is set.
if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
# An echo program that does not interpret backslashes.
echo="$ltecho"
### BEGIN LIBTOOL CONFIG
# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
# DLLTOOL="$old_DLLTOOL" AS="$old_AS" \\
# $0$ltconfig_args
#
# Compiler and other test output produced by $progname, useful for
# debugging $progname, is in ./config.log if it exists.
# The version of $progname that generated this script.
LTCONFIG_VERSION="$VERSION"
# Shell to use when invoking shell scripts.
SHELL=${CONFIG_SHELL-/bin/sh}
SHELL="$SHELL"
# Whether or not to build libtool libraries.
# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared
# Whether or not to build old-style libraries.
# Whether or not to build static libraries.
build_old_libs=$enable_static
# The host system.
host_alias="$host_alias"
host="$host"
# An echo program that does not interpret backslashes.
echo="$ltecho"
# The archiver.
AR="$AR"
@ -1391,6 +1556,12 @@ LN_S="$LN_S"
# A BSD-compatible nm program.
NM="$NM"
# Used on cygwin32: DLL creation program.
DLLTOOL="$DLLTOOL"
# Used on cygwin32: assembler.
AS="$AS"
# The name of the directory that contains temporary libtool files.
objdir="$objdir"
@ -1401,6 +1572,12 @@ reload_cmds="$reload_cmds"
# How to pass a linker flag through the compiler.
wl="$wl"
# Object file suffix (normally "o").
objext="$objext"
# Old archive suffix (normally "a").
libext="$libext"
# Additional compiler flags for building library objects.
pic_flag="$pic_flag"
@ -1483,11 +1660,14 @@ hardcode_minus_L=$hardcode_minus_L
# the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var
# Fix the shell variable \$srcfile for the compiler.
fix_srcfile_path="$fix_srcfile_path"
EOF
case "$host_os" in
aix3*)
cat <<\EOF >> $ofile
cat <<\EOF >> "$ofile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
@ -1495,15 +1675,17 @@ if test "${COLLECT_NAMES+set}" != set; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
EOF
;;
esac
# Append the ltmain.sh script.
cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1)
echo '### END LIBTOOL CONFIG' >> "$ofile"
echo >> "$ofile"
chmod +x $ofile
# Append the ltmain.sh script.
cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
chmod +x "$ofile"
exit 0
# Local Variables:

203
ltmain.sh
View file

@ -30,7 +30,7 @@ modename="$progname"
# Constants.
PROGRAM=ltmain.sh
PACKAGE=libtool
VERSION=1.2
VERSION=1.2a
default_mode=
help="Try \`$progname --help' for more information."
@ -72,6 +72,8 @@ run=
show="$echo"
show_help=
execute_dlfiles=
lo2o="s/\\.lo\$/.${objext}/"
los2o="s/\\.lo /.${objext} /g"
# Parse our command line options once, thoroughly.
while test $# -gt 0
@ -111,6 +113,16 @@ do
exit 0
;;
--config)
sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
exit 0
;;
--debug)
echo "$progname: enabling shell trace mode"
set -x
;;
--dry-run | -n)
run=:
;;
@ -293,7 +305,7 @@ if test -z "$show_help"; then
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
case "$libobj" in
*.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
*.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
*)
$echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
exit 1
@ -315,6 +327,10 @@ if test -z "$show_help"; then
trap "$run $rm $libobj; exit 1" 1 2 15
fi
if test -n "$fix_srcfile_path"; then
eval srcfile=\"$fix_srcfile_path\"
fi
# Only build a PIC object if we are building libtool libraries.
if test "$build_libtool_libs" = yes; then
# Without this assignment, base_compile gets emptied.
@ -551,7 +567,7 @@ if test -z "$show_help"; then
esac
;;
*.o | *.a)
*.o | *.obj | *.a | *.lib)
# A standard object.
objs="$objs $arg"
;;
@ -571,7 +587,7 @@ if test -z "$show_help"; then
if test "$prev" = dlprefiles; then
# Preload the old-style object.
dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
prev=
fi
libobjs="$libobjs $arg"
@ -586,7 +602,7 @@ if test -z "$show_help"; then
old_library=
# Check to see that this really is a libtool archive.
if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
else
$echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
exit 1
@ -731,11 +747,6 @@ if test -z "$show_help"; then
compile_command="$compile_command -l$name"
fi
;;
*)
$echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
exit 1
;;
esac
# Finalize command for both is simple: just hardcode it.
@ -822,7 +833,7 @@ if test -z "$show_help"; then
exit 1
;;
*.a)
*.a | *.lib)
# Now set the variables for building old libraries.
build_libtool_libs=no
build_old_libs=yes
@ -883,6 +894,8 @@ if test -z "$show_help"; then
fi
install_libdir="$2"
if test -n "$vinfo"; then
# Parse the version information argument.
IFS="${IFS= }"; save_ifs="$IFS"; IFS=':'
set dummy $vinfo
@ -939,15 +952,15 @@ if test -z "$show_help"; then
linux)
version_vars="$version_vars major versuffix"
major=`expr $current - $age`
versuffix="$major.$age.$revision"
major=.`expr $current - $age`
versuffix=".$major.$age.$revision"
;;
osf)
version_vars="$version_vars versuffix verstring"
major=`expr $current - $age`
versuffix="$current.$age.$revision"
verstring="$versuffix"
major=.`expr $current - $age`
versuffix=."$current.$age.$revision"
verstring="$current.$age.$revision"
# Add in all the interfaces that we are compatible with.
loop=$age
@ -963,8 +976,16 @@ if test -z "$show_help"; then
sunos)
version_vars="$version_vars major versuffix"
major="$current"
versuffix="$current.$revision"
major=."$current"
versuffix=."$current.$revision"
;;
windows)
# Like Linux, but with '-' rather than '.', since we only
# want one extension on Windows 95.
version_vars="$version_vars major versuffix"
major=`expr $current - $age`
versuffix="-$major-$age-$revision"
;;
*)
@ -973,6 +994,48 @@ if test -z "$show_help"; then
exit 1
;;
esac
else
# No version information.
version_vars=
case "$version_type" in
none) ;;
linux)
version_vars="$version_vars versuffix major"
major=
versuffix=
;;
osf)
version_vars="$version_vars versuffix verstring"
major=
versuffix=
verstring=":0.0"
;;
sunos)
version_vars="$version_vars major versuffix"
major=
versuffix=
;;
windows)
# Like Linux, but with '-' rather than '.', and with a leading
# '-', since we only want one extension on Windows 95.
version_vars="$version_vars major versuffix"
major=
versuffix=
;;
*)
$echo "$modename: unknown library version type \`$version_type'" 1>&2
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
exit 1
;;
esac
fi
# Create the output directory, or remove our outputs if we need to.
if test -d $objdir; then
@ -1024,7 +1087,7 @@ if test -z "$show_help"; then
done
# Use standard objects if they are PIC.
test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'`
# Do each of the archive commands.
eval cmds=\"$archive_cmds\"
@ -1038,8 +1101,10 @@ if test -z "$show_help"; then
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then
$show "(cd $objdir && $LN_S $realname $linkname)"
$run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
fi
done
# If -export-dynamic was specified, set the dlname.
@ -1050,10 +1115,10 @@ if test -z "$show_help"; then
fi
# Now set the variables for building old libraries.
oldlib="$objdir/$libname.a"
oldlib="$objdir/$libname.$libext"
;;
*.lo | *.o)
*.lo | *.o | *.obj)
if test -n "$link_against_libtool_libs"; then
$echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
exit 1
@ -1089,7 +1154,7 @@ if test -z "$show_help"; then
exit 1
fi
libobj="$output"
obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
obj=`$echo "X$output" | $Xsed -e "$lo2o"`
;;
*)
libobj=
@ -1101,7 +1166,7 @@ if test -z "$show_help"; then
$run $rm $obj $libobj
# Create the old-style object.
reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
output="$obj"
eval cmds=\"$reload_cmds\"
@ -1199,8 +1264,8 @@ if test -z "$show_help"; then
if test -n "$libobjs" && test "$build_old_libs" = yes; then
# Transform all the library objects into standard objects.
compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
compile_command=`$echo "X$compile_command " | $Xsed -e "$los2o" -e 's/ $//'`
finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'`
fi
if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
@ -1211,7 +1276,7 @@ if test -z "$show_help"; then
if test -n "$dlsyms"; then
# Add our own program objects to the preloaded list.
dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e "$los2o" -e 's/ $//'`
# Discover the nlist of each of the dlfiles.
nlist="$objdir/${output}.nm"
@ -1324,8 +1389,8 @@ dld_preloaded_symbols[] =
$run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
# Transform the symbol file into the correct name.
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
elif test "$export_dynamic" != yes; then
test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
else
@ -1404,13 +1469,11 @@ dld_preloaded_symbols[] =
finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
fi
case "$hardcode_action" in
relink)
if test "$hardcode_action" = relink; then
# AGH! Flame the AIX and HP-UX people for me, will ya?
$echo "$modename: warning: using a buggy system linker" 1>&2
$echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
;;
esac
fi
$show "$compile_command"
$run eval "$compile_command" || exit $?
@ -1430,10 +1493,10 @@ dld_preloaded_symbols[] =
trap "$rm $output; exit 1" 1 2 15
$echo > $output "\
#! /bin/sh
#! $SHELL
# $output - temporary wrapper script for $objdir/$output
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
# Generated by $PROGRAM - GNU $PACKAGE $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
@ -1539,7 +1602,7 @@ fi\
# See if we need to build an old-fashioned archive.
if test "$build_old_libs" = "yes"; then
# Transform .lo files to .o files.
oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
# Do each command in the archive commands.
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
@ -1560,7 +1623,7 @@ fi\
case "$output" in
*.la)
old_library=
test "$build_old_libs" = yes && old_library="$libname.a"
test "$build_old_libs" = yes && old_library="$libname.$libext"
$show "creating $output"
@ -1568,7 +1631,7 @@ fi\
if test -z "$run"; then
$echo > $output "\
# $output - a libtool library file
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
# Generated by $PROGRAM - GNU $PACKAGE $VERSION
# The name that we can dlopen(3).
dlname='$dlname'
@ -1605,7 +1668,7 @@ libdir='$install_libdir'\
install)
modename="$modename: install"
# There may be an optional /bin/sh argument at the beginning of
# There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
if test "$nonopt" = "$SHELL"; then
# Aesthetically quote it.
@ -1639,7 +1702,7 @@ libdir='$install_libdir'\
opts=
prev=
install_type=
isdir=
isdir=no
stripme=
for arg
do
@ -1709,7 +1772,7 @@ libdir='$install_libdir'\
# Check to see that the destination is a directory.
test -d "$dest" && isdir=yes
if test -n "$isdir"; then
if test "$isdir" = yes; then
destdir="$dest"
destname=
else
@ -1752,14 +1815,14 @@ libdir='$install_libdir'\
# Do each installation.
case "$file" in
*.a)
*.a | *.lib)
# Do the static libraries later.
staticlibs="$staticlibs $file"
;;
*.la)
# Check to see that this really is a libtool archive.
if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
else
$echo "$modename: \`$file' is not a valid libtool archive" 1>&2
$echo "$help" 1>&2
@ -1864,9 +1927,9 @@ libdir='$install_libdir'\
# Deduce the name of the destination old-style object file.
case "$destfile" in
*.lo)
staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
;;
*.o)
*.o | *.obj)
staticdest="$destfile"
destfile=
;;
@ -1886,7 +1949,7 @@ libdir='$install_libdir'\
# Install the old object if enabled.
if test "$build_old_libs" = yes; then
# Deduce the name of the old-style object file.
staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
$show "$install_prog $staticobj $staticdest"
$run eval "$install_prog \$staticobj \$staticdest" || exit $?
@ -1895,8 +1958,16 @@ libdir='$install_libdir'\
;;
*)
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
destfile="$destdir/$destname"
else
destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
destfile="$destdir/$destfile"
fi
# Do a test to see if this is really a libtool program.
if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
link_against_libtool_libs=
finalize_command=
@ -1952,8 +2023,8 @@ libdir='$install_libdir'\
fi
fi
$show "$install_prog$stripme $file $dest"
$run eval "$install_prog\$stripme \$file \$dest" || exit $?
$show "$install_prog$stripme $file $destfile"
$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
;;
esac
done
@ -1996,6 +2067,7 @@ libdir='$install_libdir'\
finish)
modename="$modename: finish"
libdirs="$nonopt"
admincmds=
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
for dir
@ -2011,19 +2083,21 @@ libdir='$install_libdir'\
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
$run eval "$cmd"
$run eval "$cmd" || admincmds="$admincmds
$cmd"
done
IFS="$save_ifs"
fi
if test -n "$finish_eval"; then
# Do the single finish_eval.
eval cmds=\"$finish_eval\"
$run eval "$cmds"
$run eval "$cmds" || admincmds="$admincmds
$cmds"
fi
done
fi
echo "------------------------------------------------------------------------------"
echo "----------------------------------------------------------------------"
echo "Libraries have been installed in:"
for libdir in $libdirs; do
echo " $libdir"
@ -2032,7 +2106,7 @@ libdir='$install_libdir'\
echo "To link against installed libraries in a given directory, LIBDIR,"
echo "you must use the \`-LLIBDIR' flag during linking."
echo
echo " You will also need to do one of the following:"
echo " You will also need to do at least one of the following:"
if test -n "$shlibpath_var"; then
echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
echo " during execution"
@ -2047,13 +2121,16 @@ libdir='$install_libdir'\
echo " - use the \`$flag' linker flag"
fi
if test -n "$admincmds"; then
echo " - have your system administrator run these commands:$admincmds"
fi
if test -f /etc/ld.so.conf; then
echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
fi
echo
echo "See any operating system documentation about shared libraries for"
echo "more information, such as the ld(1) and ld.so(8) manual pages."
echo "------------------------------------------------------------------------------"
echo "----------------------------------------------------------------------"
exit 0
;;
@ -2082,7 +2159,7 @@ libdir='$install_libdir'\
case "$file" in
*.la)
# Check to see that this really is a libtool archive.
if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
else
$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
$echo "$help" 1>&2
@ -2153,7 +2230,7 @@ libdir='$install_libdir'\
-*) ;;
*)
# Do a test to see if this is really a libtool program.
if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
# If there is no directory component, then add one.
case "$file" in
*/* | *\\*) . $file ;;
@ -2218,7 +2295,7 @@ libdir='$install_libdir'\
case "$name" in
*.la)
# Possibly a libtool archive, so verify it.
if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
. $dir/$name
# Delete the libtool libraries and symlinks.
@ -2262,7 +2339,7 @@ libdir='$install_libdir'\
*.lo)
if test "$build_old_libs" = yes; then
oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
rmfiles="$rmfiles $dir/$oldobj"
fi
$show "$rm $rmfiles"
@ -2297,8 +2374,10 @@ case "$mode" in
Provide generalized library-building support services.
--config show all configuration variables
--debug enable verbose shell tracing
-n, --dry-run display commands without modifying any files
--features display configuration information and exit
--features display basic configuration information and exit
--finish same as \`--mode=finish'
--help display this help message and exit
--mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
@ -2414,11 +2493,11 @@ object files.
If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
library objects (\`.lo' files) may be specified, and \`-rpath' is required.
If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
and \`ranlib'.
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
using \`ar' and \`ranlib', or on WIndows using \`lib'.
If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
created, otherwise an executable program is created."
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
is created, otherwise an executable program is created."
;;
uninstall)