diff options
author | Owen Taylor <owt1@cornell.edu> | 1998-03-14 06:42:39 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-03-14 06:42:39 +0000 |
commit | f9ad283402f5745720938427b9412bd323d1069d (patch) | |
tree | 2f5f3a588b390f1955c6d86e9477ba47d58defe6 /ltconfig | |
parent | 8cde2c5c213003fc92daa67fe34301c114512407 (diff) | |
download | gtk+-f9ad283402f5745720938427b9412bd323d1069d.tar.gz |
Moved glibconfig.h to $pkglibdir/include. Update to libtool-1.1.
Sat Mar 14 01:36:51 1998 Owen Taylor <owt1@cornell.edu>
Moved glibconfig.h to $pkglibdir/include. Update to libtool-1.1.
Diffstat (limited to 'ltconfig')
-rwxr-xr-x | ltconfig | 433 |
1 files changed, 263 insertions, 170 deletions
@@ -1,8 +1,7 @@ #! /bin/sh # ltconfig - Create a system-specific libtool. -# Generated automatically from ltconfig.in by configure. -# Copyright (C) 1996, 1997, Free Software Foundation, Inc. +# Copyright (C) 1996-1998 Free Software Foundation, Inc. # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This file is free software; you can redistribute it and/or modify it @@ -26,26 +25,54 @@ # A lot of this script is taken from autoconf-2.10. +# 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 + +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 + # 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 + 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 + echo="$dir/echo" + break + fi + done + IFS="$save_ifs" + fi +fi + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + # The name of this program. -progname=`echo "$0" | sed 's%^.*/%%'` +progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` # Constants: PROGRAM=ltconfig PACKAGE=libtool -VERSION=1.0f +VERSION=1.1 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" help="Try \`$progname --help' for more information." -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g' - -# Same as above, but don't quote variable references. -double_quote_subst='s/\([\\"\\\\]\)/\\\1/g' - # Global variables: can_build_shared=yes enable_shared=yes @@ -99,7 +126,7 @@ Generate a system-specific libtool script. --help display this help and exit --no-verify do not verify that HOST is a valid host type --quiet same as \`--silent' - --silent don't print informational messages + --silent do not print informational messages --srcdir=DIR find \`config.guess' in DIR --version output version information and exit --with-gcc assume that the GNU C compiler will be used @@ -139,7 +166,7 @@ EOM if test -z "$ltmain"; then ltmain="$option" elif test -z "$host"; then -# FIXME This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 +# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 # if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then # echo "$progname: warning \`$option' is not a valid host type" 1>&2 # fi @@ -160,7 +187,9 @@ fi if test -f "$ltmain"; then : else - echo "$progname: warning: \`$ltmain' does not exist" 1>&2 + echo "$progname: \`$ltmain' does not exist" 1>&2 + echo "$help" 1>&2 + exit 1 fi # Quote any args containing shell metacharacters. @@ -212,7 +241,7 @@ fi if test -z "$srcdir"; then # Assume the source directory is the same one as the path to ltmain.sh. - srcdir=`echo "$ltmain" | sed 's%/[^/]*$%%'` + srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'` test "$srcdir" = "$ltmain" && srcdir=. fi @@ -268,10 +297,10 @@ else host_alias=$host fi -# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. -case "$host" in -*-*-linux-gnu*) ;; -*-*-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` +# Transform linux* to *-*-linux-gnu*, to support old configure scripts. +case "$host_os" in +linux-gnu*) ;; +linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` esac host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` @@ -279,7 +308,7 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` case "$host_os" in -aix*) +aix3*) # 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. @@ -293,6 +322,7 @@ esac # Determine commands to create old-style static archives. old_archive_cmds='$AR cru $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= # Set a sane default for `AR'. test -z "$AR" && AR=ar @@ -318,7 +348,7 @@ fi if test -n "$RANLIB"; then old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib" - old_postinstall_cmds="$old_postinstall_cmds;\$RANLIB \$oldlib" + old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds" fi # Check to see if we are using GCC. @@ -391,7 +421,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:394: checking whether we are using GNU C" >&5 + echo "$progname:424: checking whether we are using GNU C" >&5 $rm conftest.c cat > conftest.c <<EOF @@ -399,7 +429,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then yes; #endif EOF - if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:402: \"$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:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then with_gcc=yes fi $rm conftest.c @@ -412,14 +442,12 @@ compiler="$2" echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 pic_flag= -profile_flag_pattern= special_shlib_compile_flags= wl= link_static_flag= no_builtin_flag= if test "$with_gcc" = yes; then - profile_flag_pattern='-pg?' wl='-Wl,' link_static_flag='-static' no_builtin_flag=' -fno-builtin' @@ -431,6 +459,12 @@ if test "$with_gcc" = yes; then os2*) # We can build DLLs from non-PIC. ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + pic_flag='-m68020 -resident32 -malways-restore-a4' + ;; *) pic_flag='-fPIC' ;; @@ -446,7 +480,7 @@ else hpux9* | hpux10*) # Is there a better link_static_flag that works with the bundled CC? wl='-Wl,' - link_static_flag='${wl}-a ${wl}archive' + link_static_flag="${wl}-a ${wl}archive" pic_flag='+Z' ;; @@ -484,6 +518,12 @@ else wl='-Qoption ld ' ;; + sysv4.2uw2*) + pic_flag='-KPIC' + link_static_flag='-Bstatic' + wl='-Wl,' + ;; + uts4*) pic_flag='-pic' link_static_flag='-Bstatic' @@ -504,12 +544,12 @@ if test -n "$pic_flag"; then echo > conftest.c save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $pic_flag -DPIC" - echo "$progname:507: checking if $compiler PIC flag $pic_flag works" >&5 - if { (eval echo $progname:508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then + 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 # Append any errors to the config.log. cat conftest.err 1>&5 - # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also + # On HP-UX, the stripped-down bundled CC does not accept +Z, but also # reports no error. So, we need to grep stderr for (Bundled). if grep '(Bundled)' conftest.err >/dev/null; then echo "$ac_t"no 1>&6 @@ -547,8 +587,8 @@ $rm conftest* echo 'main(){return(0);}' > conftest.c save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $link_static_flag" -echo "$progname:550: checking if $compiler static flag $link_static_flag works" >&5 -if { (eval echo $progname:551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +echo "$progname:590: checking if $compiler static flag $link_static_flag works" >&5 +if { (eval echo $progname:591: \"$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 @@ -580,15 +620,15 @@ 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:583: checking for ld used by GCC" >&5 + echo "$progname:623: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. - /*) + /* | [A-Za-z]:\\*) test -z "$LD" && LD="$ac_prog" ;; "") - # If it fails, then pretend we aren't using GCC. + # If it fails, then pretend we are not using GCC. ac_prog=ld ;; *) @@ -598,10 +638,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:601: checking for GNU ld" >&5 + echo "$progname:641: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 - echo "$progname:604: checking for non-GNU ld" >&5 + echo "$progname:644: checking for non-GNU ld" >&5 fi if test -z "$LD"; then @@ -635,7 +675,7 @@ if test -z "$LD"; then fi fi -# Check to see if it really is or isn't GNU ld. +# Check to see if it really is or is not GNU ld. echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6 # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then @@ -649,6 +689,7 @@ echo "$ac_t$with_gnu_ld" 1>&6 echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 allow_undefined_flag= +no_undefined_flag= archive_cmds= old_archive_from_new_cmds= export_dynamic_flag_spec= @@ -656,43 +697,41 @@ hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no -hardcode_runpath_var=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 + ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # See if GNU ld supports shared libraries. +if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then - case "$host_os" in - sunos4*) + # See if GNU ld supports shared libraries. + 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 - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - else - ld_shlibs=no - fi - ;; - esac + else + ld_shlibs=no + fi if test "$ld_shlibs" = yes; then - archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs$deplibs' - hardcode_libdir_flag_spec='${wl}-rpath $wl$libdir' - export_dynamic_flag_spec='${wl}-export-dynamic' + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' fi else # PORTME fill in a description of your system's linker (not GNU ld) case "$host_os" in aix3*) allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE$deplibs;$AR cru $lib $objdir/$soname' + archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes @@ -705,25 +744,32 @@ else aix4*) allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '"'s/.* //'"' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname' + archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname' hardcode_direct=yes hardcode_minus_L=yes ;; + 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 + ;; + # 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 - # doesn't break anything, and helps significantly (at the cost of a little + # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o' + archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; - # Unfortunately, older versions of FreeBSD 2 don't have this feature. + # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' + archive_cmds='$LD -Bshareable -o $lib$libobjs' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no @@ -731,7 +777,7 @@ else # FreeBSD 3, at last, uses gcc -shared to do shared libraries. freebsd3*) - archive_cmds='$CC -shared -o $lib$libobjs$deplibs' + archive_cmds='$CC -shared -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_minus_L=yes @@ -739,21 +785,23 @@ else ;; hpux9*) - archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs$deplibs;mv $objdir/$soname $lib' + archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_direct=yes hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' ;; hpux10*) - archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs' + archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_direct=yes hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' ;; irix5* | irix6*) - archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' + archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ;; @@ -766,7 +814,7 @@ else ;; openbsd*) - archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' + archive_cmds='$LD -Bshareable -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no @@ -776,7 +824,7 @@ else hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported - archive_cmds='echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;echo DATA >> $objdir/$libname.def;echo " SINGLE NONSHARED" >> $objdir/$libname.def;echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def' + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def' old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' ;; @@ -788,34 +836,47 @@ else ;; sco3.2v5*) - archive_cmds='$LD -G -o $lib$libobjs$deplibs' + archive_cmds='$LD -G -o $lib$libobjs' hardcode_direct=yes ;; solaris2*) - case "$host_cpu" in - i386) archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' ;; - *) archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' ;; - esac + no_undefined_flag=' -z text' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no + + # Solaris 2 before 2.5 hardcodes -L paths. + case "$host_os" in + solaris2.[0-4]*) + hardcode_minus_L=yes + ;; + esac ;; sunos4*) - archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs' + 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 hardcode_shlibpath_var=no ;; - uts4*) - archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=no - ;; + uts4*) + archive_cmds='$LD -G -h $soname -o $lib$libobjs' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=no + ;; *) ld_shlibs=no @@ -828,16 +889,18 @@ echo "$ac_t$ld_shlibs" 1>&6 if test -z "$NM"; then echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 case "$NM" in - /*) ;; # Let the user override the test with a path. + /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path. *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb $PATH /bin; do - test -z "$ac_dir" && dir=. + for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do + test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/nm; then # Check to see if the nm accepts a BSD-compat flag. - if ($ac_dir/nm -B /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then NM="$ac_dir/nm -B" - elif ($ac_dir/nm -p /dev/null 2>&1; exit 0) | grep /dev/null >/dev/null; then + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then NM="$ac_dir/nm -p" else NM="$ac_dir/nm" @@ -872,6 +935,10 @@ case "$host_os" in aix*) symcode='[BCDTU]' ;; +irix*) + # Cannot use undefined symbols on IRIX because inlined functions mess us up. + symcode='[BCDEGRST]' + ;; solaris2*) symcode='[BDTU]' ;; @@ -900,17 +967,17 @@ void nm_test_func(){} main(){nm_test_var='a';nm_test_func();return(0);} EOF -echo "$progname:900: checking if global_symbol_pipe works" >&5 -if { (eval echo $progname:901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then +echo "$progname:970: checking if global_symbol_pipe works" >&5 +if { (eval echo $progname:971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then # Now try to grab the symbols. nlist=conftest.nm - if { echo "$progname:904: 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:974: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" wcout=`wc "$nlist" 2>/dev/null` - count=`echo "$wcout" | sed 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` + count=`$echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` (test "$count" -ge 0) 2>/dev/null || count=-1 else rm -f "$nlist"T @@ -947,9 +1014,9 @@ struct { dld_preloaded_symbols[] = { EOF - sed 's/^\(.*\) \(.*\)$/ {"\1", \&\2},/' < "$nlist" >> conftest.c + sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c cat <<\EOF >> conftest.c - {0}, + {0, (__ptr_t) 0} }; #ifdef __cplusplus @@ -962,7 +1029,7 @@ EOF save_CFLAGS="$CFLAGS" LIBS='conftestm.o' CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + if { (eval echo $progname:1032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then pipe_works=yes else echo "$progname: failed program was:" >&5 @@ -984,7 +1051,7 @@ else fi $rm conftest* -# Don't use the global_symbol_pipe unless it works. +# Do not use the global_symbol_pipe unless it works. echo "$ac_t$pipe_works" 1>&6 test "$pipe_works" = yes || global_symbol_pipe= @@ -992,7 +1059,7 @@ test "$pipe_works" = yes || global_symbol_pipe= echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ - test "$hardcode_runpath_var" = yes; then + test -n "$runpath_var"; then # We can hardcode non-existant directories. if test "$hardcode_direct" != no && \ @@ -1008,7 +1075,7 @@ if test -n "$hardcode_libdir_flag_spec" || \ elif test "$hardcode_direct" != yes && \ test "$hardcode_minus_L" != yes && \ test "$hardcode_shlibpath_var" != yes; then - # We can't hardcode anything. + # We cannot hardcode anything. hardcode_action=unsupported else # We can only hardcode existing directories. @@ -1031,7 +1098,9 @@ library_names_spec= libname_spec='lib$name' soname_spec= postinstall_cmds= +postuninstall_cmds= finish_cmds= +finish_eval= shlibpath_var= version_type=none dynamic_linker="$host_os ld.so" @@ -1040,23 +1109,29 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 case "$host_os" in aix3* | aix4*) version_type=linux - library_names_spec='$libname.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.so.$major' + soname_spec='${libname}${release}.so.$major' + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' ;; freebsd2* | freebsd3*) version_type=sunos - library_names_spec='$libname.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.so.$versuffix' + library_names_spec='${libname}${release}.so.$versuffix' shlibpath_var=LD_LIBRARY_PATH ;; @@ -1066,16 +1141,16 @@ hpux9* | hpux10*) dynamic_linker="$host_os dld.sl" version_type=sunos shlibpath_var=SHLIB_PATH - library_names_spec='$libname.sl.$versuffix $libname.sl.$major $libname.sl' - soname_spec='$libname.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' ;; irix5* | irix6*) version_type=osf - soname_spec='$libname.so' - library_names_spec='$libname.so.$versuffix $libname.so' + soname_spec='${libname}${release}.so' + library_names_spec='${libname}${release}.so.$versuffix $libname.so' shlibpath_var=LD_LIBRARY_PATH ;; @@ -1087,9 +1162,9 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) # This must be Linux ELF. linux-gnu*) version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.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 @@ -1105,13 +1180,12 @@ linux-gnu*) netbsd* | openbsd*) version_type=sunos - library_names_spec='$libname.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 ;; os2*) - version_type=none libname_spec='$name' library_names_spec='$libname.dll $libname.a' dynamic_linker='OS/2 ld.exe' @@ -1120,36 +1194,43 @@ os2*) osf3* | osf4*) version_type=osf - soname_spec='$libname.so' - library_names_spec='$libname.so.$versuffix $libname.so' + soname_spec='${libname}${release}.so' + library_names_spec='${libname}${release}.so.$versuffix $libname.so' shlibpath_var=LD_LIBRARY_PATH ;; sco3.2v5*) version_type=osf - soname_spec='$libname.so.$major' - library_names_spec='$libname.so.$versuffix $libname.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.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.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.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' shlibpath_var=LD_LIBRARY_PATH ;; uts4*) version_type=linux - library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' - soname_spec='$libname.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 ;; @@ -1160,12 +1241,6 @@ esac echo "$ac_t$dynamic_linker" test "$dynamic_linker" = no && can_build_shared=no -# FIXME add checks for striplib and old_striplib here. -# strip -x works for most platforms, though not for static libraries on NetBSD -# HP-UX requires "-r" for library stripping -striplib= -old_striplib= - # Report the final consequences. echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 @@ -1203,25 +1278,30 @@ fi rmdir .libs 2>/dev/null echo "$ac_t$objdir" 1>&6 +# Copy echo and quote the copy, instead of the original, because it is +# used later. +ltecho="$echo" + # Now quote all the things that may contain metacharacters. -for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ +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 \ - profile_flag_pattern libname_spec library_names_spec soname_spec RANLIB \ + libname_spec library_names_spec soname_spec RANLIB \ old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - archive_cmds postinstall_cmds \ - allow_undefined_flag finish_cmds global_symbol_pipe \ - striplib old_striplib \ + old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \ + allow_undefined_flag no_undefined_flag \ + finish_cmds finish_eval global_symbol_pipe \ hardcode_libdir_flag_spec hardcode_libdir_separator; do case "$var" in reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | archive_cmds | postinstall_cmds | finish_cmds) + old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \ + postinstall_cmds | postuninstall_cmds | finish_cmds) # Double-quote double-evaled strings. - eval "$var=\`echo \"\$$var\" | sed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" + eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" ;; *) - eval "$var=\`echo \"\$$var\" | sed \"\$sed_quote_subst\"\`" + eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`" ;; esac done @@ -1234,8 +1314,31 @@ cat <<EOF > $ofile #! /bin/sh # libtool - 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. +# +# Copyright (C) 1996-1998 Free Software Foundation, Inc. +# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# 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`: # @@ -1246,6 +1349,16 @@ cat <<EOF > $ofile # 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//" + +# 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 + +# An echo program that does not interpret backslashes. +echo="$ltecho" + # The version of $progname that generated this script. LTCONFIG_VERSION="$VERSION" @@ -1299,9 +1412,6 @@ no_builtin_flag="$no_builtin_flag" # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec="$export_dynamic_flag_spec" -# Pattern to match compiler flags for creating libNAME_p libraries: -profile_flag_pattern="$profile_flag_pattern" - # Library versioning type. version_type=$version_type @@ -1319,6 +1429,7 @@ soname_spec="$soname_spec" RANLIB="$RANLIB" old_archive_cmds="$old_archive_cmds" old_postinstall_cmds="$old_postinstall_cmds" +old_postuninstall_cmds="$old_postuninstall_cmds" # Create an old-style archive from a shared archive. old_archive_from_new_cmds="$old_archive_from_new_cmds" @@ -1326,20 +1437,23 @@ old_archive_from_new_cmds="$old_archive_from_new_cmds" # Commands used to build and install a shared archive. archive_cmds="$archive_cmds" postinstall_cmds="$postinstall_cmds" +postuninstall_cmds="$postuninstall_cmds" # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag="$allow_undefined_flag" +# Flag that forces no undefined symbols. +no_undefined_flag="$no_undefined_flag" + # Commands used to finish a libtool library installation in a directory. finish_cmds="$finish_cmds" +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="$finish_eval" + # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe="$global_symbol_pipe" -# How to strip a library file. -striplib="$striplib" -old_striplib="$old_striplib" - # This is the shared library runtime path variable. runpath_var=$runpath_var @@ -1364,10 +1478,6 @@ hardcode_direct=$hardcode_direct # resulting binary. hardcode_minus_L=$hardcode_minus_L -# Set to yes if using RUNPATH_VAR=DIR during linking hardcodes DIR into the -# resulting binary. -hardcode_runpath_var=$hardcode_runpath_var - # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var @@ -1375,7 +1485,7 @@ hardcode_shlibpath_var=$hardcode_shlibpath_var EOF case "$host_os" in -aix*) +aix3*) 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 @@ -1389,25 +1499,8 @@ EOF ;; esac -# Detect if we are using a relative or absolute path to ltmain.sh. -case "$ltmain" in -/*) cat <<EOF >> $ofile -# Execute the libtool backend. -. $ltmain -EOF - ;; -*) cat <<EOF >> $ofile -# Find the path to this script. -thisdir=\`echo "\$0" | sed -e 's%/[^/]*\$%%'\` -test "X\$0" = "X\$thisdir" && thisdir=. - -# Execute the libtool backend. -. \$thisdir/$ltmain -EOF - ;; -esac - -echo 'exit 1' >> $ofile +# Append the ltmain.sh script. +cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1) chmod +x $ofile exit 0 |