Index: jpeg-6b/config.guess diff -c jpeg-6b/config.guess:1.1.1.1 jpeg-6b/config.guess:1.2 *** jpeg-6b/config.guess:1.1.1.1 Mon Jun 12 16:56:19 2000 --- jpeg-6b/config.guess Tue Oct 10 16:30:16 2000 *************** *** 333,338 **** --- 333,351 ---- fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; + *:AIX:*:5) + case "`lsattr -El proc0 -a type -F value`" in + PowerPC*) IBM_ARCH=powerpc + IBM_CPU=ibm ;; + Itanium) IBM_ARCH=ia64 + IBM_CPU=intel ;; + POWER*) IBM_ARCH=power + IBM_CPU=ibm ;; + *) IBM_ARCH=powerpc + IBM_CPU=ibm ;; + esac + echo ${IBM_ARCH}-${IBM_CPU}-aix${UNAME_VERSION}.${UNAME_RELEASE} + exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; Index: jpeg-6b/config.sub diff -c jpeg-6b/config.sub:1.1.1.1 jpeg-6b/config.sub:1.2 *** jpeg-6b/config.sub:1.1.1.1 Mon Jun 12 16:56:19 2000 --- jpeg-6b/config.sub Tue Oct 10 16:30:16 2000 *************** *** 345,350 **** --- 345,353 ---- hppa-next) os=-nextstep3 ;; + ia64*) + basic_machine=ia64-intel + ;; i370-ibm* | ibm*) basic_machine=i370-ibm os=-mvs Index: jpeg-6b/ltconfig diff -c jpeg-6b/ltconfig:1.1.1.1 jpeg-6b/ltconfig:1.7 *** jpeg-6b/ltconfig:1.1.1.1 Mon Jun 12 16:56:19 2000 --- jpeg-6b/ltconfig Sun Mar 18 18:35:52 2001 *************** *** 1,8 **** #! /bin/sh # ltconfig - Create a system-specific libtool. ! # Copyright (C) 1996-1998 Free Software Foundation, Inc. ! # Gordon Matzigkeit , 1996 # # 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 --- 1,8 ---- #! /bin/sh # ltconfig - Create a system-specific libtool. ! # Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. ! # Originally by Gordon Matzigkeit , 1996 # # 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 *************** *** 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 --- 25,153 ---- # 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} + echo=echo + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : + elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : + else + # Restart under the correct shell. + exec "$SHELL" "$0" --no-reexec ${1+"$@"} + fi + + if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null`} + case X$UNAME in + *-DOS) PATH_SEPARATOR=';' ;; + *) PATH_SEPARATOR=':' ;; + esac + fi + # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. ! if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi ! if test "X${echo_test_string+set}" != Xset; then ! # find a string as large as possible, as long as the shell can cope with it ! for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do ! # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... ! if (echo_test_string="`eval $cmd`") 2>/dev/null && ! echo_test_string="`eval $cmd`" && ! (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then ! break ! fi ! done ! fi ! ! if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || ! test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then ! # 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, first we look for a working echo in the user's PATH. ! ! IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" ! for dir in $PATH /usr/ucb; do ! if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && ! test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && ! test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; 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' && ! test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then ! # This shell has a builtin print -r that does the trick. ! echo='print -r' ! elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && ! test "X$CONFIG_SHELL" != X/bin/ksh; then ! # If we have ksh, try running ltconfig again with it. ! ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}" ! export ORIGINAL_CONFIG_SHELL ! 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' && ! test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then ! # Cool, printf works ! : ! elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && ! test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then ! CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL" ! export CONFIG_SHELL ! SHELL="$CONFIG_SHELL" ! export SHELL ! echo="$CONFIG_SHELL $0 --fallback-echo" ! elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && ! test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then ! echo="$CONFIG_SHELL $0 --fallback-echo" ! else ! # maybe with a smaller string... ! prev=: ! ! for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do ! if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then ! break ! fi ! prev="$cmd" ! done ! ! if test "$prev" != 'sed 50q "$0"'; then ! echo_test_string=`eval $prev` ! export echo_test_string ! exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"} ! else ! # Oops. We lost completely, so just stick with echo. ! echo=echo ! fi fi ! fi fi fi *************** *** 60,83 **** # Same as above, but do not quote variable references. double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' # The name of this program. progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` # Constants: PROGRAM=ltconfig PACKAGE=libtool ! VERSION=1.2 ! 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." # Global variables: can_build_shared=yes enable_shared=yes ! # All known linkers require a `.a' archive for static linking. enable_static=yes ltmain= silent= srcdir= --- 159,192 ---- # Same as above, but do not quote variable references. double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + # Sed substitution to delay expansion of an escaped shell variable in a + # double_quote_subst'ed string. + delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + # The name of this program. progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` # Constants: PROGRAM=ltconfig PACKAGE=libtool ! VERSION=1.3.5a ! TIMESTAMP=" (1.385.2.236 2000/10/30 23:25:09)" ! ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ! ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' 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 (except M$VC, ! # which needs '.lib'). enable_static=yes + enable_fast_install=yes + enable_dlopen=unknown + enable_win32_dll=no ltmain= silent= srcdir= *************** *** 85,102 **** --- 194,223 ---- ac_config_sub= host= nonopt= + ofile="$default_ofile" verify_host=yes with_gcc=no with_gnu_ld=no + need_locks=yes + ac_ext=c + objext=o + libext=a + exeext= + cache_file= old_AR="$AR" old_CC="$CC" old_CFLAGS="$CFLAGS" old_CPPFLAGS="$CPPFLAGS" + old_LDFLAGS="$LDFLAGS" old_LD="$LD" old_LN_S="$LN_S" + old_LIBS="$LIBS" old_NM="$NM" old_RANLIB="$RANLIB" + old_DLLTOOL="$DLLTOOL" + old_OBJDUMP="$OBJDUMP" + old_AS="$AS" # Parse the command line options. args= *************** *** 117,161 **** case "$option" in --help) cat <&2 echo "$help" 1>&2 --- 238,307 ---- case "$option" in --help) cat <&2 echo "$help" 1>&2 *************** *** 185,192 **** exit 1 fi ! if test -f "$ltmain"; then : ! else echo "$progname: \`$ltmain' does not exist" 1>&2 echo "$help" 1>&2 exit 1 --- 331,337 ---- exit 1 fi ! if test ! -f "$ltmain"; then echo "$progname: \`$ltmain' does not exist" 1>&2 echo "$help" 1>&2 exit 1 *************** *** 224,231 **** # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). ! if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi ! if test "${LANG+set}" = set; then LANG=C; export LANG; fi if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. --- 369,381 ---- # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). ! if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi ! if test "X${LANG+set}" = Xset; then LANG=C; export LANG; fi ! ! if test -n "$cache_file" && test -r "$cache_file" && test -f "$cache_file"; then ! echo "loading cache $cache_file within ltconfig" ! . $cache_file ! fi if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. *************** *** 240,247 **** fi if test -z "$srcdir"; then ! # Assume the source directory is the same one as the path to ltmain.sh. ! srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'` test "$srcdir" = "$ltmain" && srcdir=. fi --- 390,397 ---- fi if test -z "$srcdir"; then ! # Assume the source directory is the same one as the path to LTMAIN. ! srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'` test "$srcdir" = "$ltmain" && srcdir=. fi *************** *** 264,270 **** 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 : else echo "$progname: cannot run $ac_config_sub" 1>&2 echo "$help" 1>&2 --- 414,420 ---- ac_config_sub=$ac_aux_dir/config.sub # Make sure we can run config.sub. ! 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,289 **** host_alias=$host case "$host_alias" in "") ! if host_alias=`$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` echo "$ac_t$host" 1>&6 # Make sure the host verified. --- 426,439 ---- host_alias=$host case "$host_alias" in "") ! 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=`$SHELL $ac_config_sub $host_alias` echo "$ac_t$host" 1>&6 # Make sure the host verified. *************** *** 312,318 **** # 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. ! if test "${COLLECT_NAMES+set}" != set; then COLLECT_NAMES= export COLLECT_NAMES fi --- 462,468 ---- # 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. ! if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi *************** *** 327,341 **** # Set a sane default for `AR'. test -z "$AR" && AR=ar # If RANLIB is not set, then run the test. if test "${RANLIB+set}" != "set"; then result=no echo $ac_n "checking for ranlib... $ac_c" 1>&6 ! IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. ! if test -f $dir/ranlib; then RANLIB="ranlib" result="ranlib" break --- 477,494 ---- # Set a sane default for `AR'. test -z "$AR" && AR=ar + # Set a sane default for `OBJDUMP'. + test -z "$OBJDUMP" && OBJDUMP=objdump + # If RANLIB is not set, then run the test. if test "${RANLIB+set}" != "set"; then result=no echo $ac_n "checking for ranlib... $ac_c" 1>&6 ! IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH; do test -z "$dir" && dir=. ! if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then RANLIB="ranlib" result="ranlib" break *************** *** 347,366 **** fi if test -n "$RANLIB"; then ! old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib" ! old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds" fi # 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. if test -z "$CC"; then echo $ac_n "checking for gcc... $ac_c" 1>&6 ! IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do - IFS="$save_ifs" test -z "$dir" && dir=. ! if test -f $dir/gcc; then CC="gcc" break fi --- 500,523 ---- fi if test -n "$RANLIB"; then ! old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" ! old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" fi + # Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin. + test -z "$DLLTOOL" && DLLTOOL=dlltool + test -z "$OBJDUMP" && OBJDUMP=objdump + 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. if test -z "$CC"; then echo $ac_n "checking for gcc... $ac_c" 1>&6 ! IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH; do test -z "$dir" && dir=. ! if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then CC="gcc" break fi *************** *** 377,387 **** # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". if test -z "$CC"; then echo $ac_n "checking for cc... $ac_c" 1>&6 ! IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" cc_rejected=no for dir in $PATH; do test -z "$dir" && dir=. ! if test -f $dir/cc; then if test "$dir/cc" = "/usr/ucb/cc"; then cc_rejected=yes continue --- 534,544 ---- # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". if test -z "$CC"; then echo $ac_n "checking for cc... $ac_c" 1>&6 ! IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" cc_rejected=no for dir in $PATH; do test -z "$dir" && dir=. ! if test -f $dir/cc || test -f $dir/cc$ac_exeext; then if test "$dir/cc" = "/usr/ucb/cc"; then cc_rejected=yes continue *************** *** 421,427 **** # 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 $rm conftest.c cat > conftest.c <&6 ! echo "$progname:581: checking whether we are using GNU C" >&5 $rm conftest.c cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then with_gcc=yes fi $rm conftest.c --- 586,592 ---- yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then with_gcc=yes fi $rm conftest.c *************** *** 440,445 **** --- 597,663 ---- 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:603: checking for object suffix" >& 5 + if { (eval echo $progname:604: \"$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 executable suffix... $ac_c" 1>&6 + if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + case "$host_os" in + cygwin* | mingw* | os2*) + ac_cv_exeext=.exe + ;; + *) + ac_cv_exeext="no" + $rm conftest* + echo 'main () { return 0; }' > conftest.c + echo "$progname:634: checking for executable suffix" >& 5 + if { (eval echo $progname:635: \"$ac_link\") 1>&5; (eval $ac_link) 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 | *.err | *.$objext ) ;; + *) ac_cv_exeext=.`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* + ;; + esac + fi + if test "X$ac_cv_exeext" = Xno; then + exeext="" + else + exeext="$ac_cv_exeext" + fi + echo "$ac_t$ac_cv_exeext" 1>&6 + echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 pic_flag= special_shlib_compile_flags= *************** *** 450,462 **** if test "$with_gcc" = yes; then wl='-Wl,' link_static_flag='-static' - no_builtin_flag=' -fno-builtin' case "$host_os" in ! aix3* | aix4* | irix5* | irix6* | osf3* | osf4*) # PIC is the default for these OSes. ;; ! os2*) # We can build DLLs from non-PIC. ;; amigaos*) --- 668,688 ---- if test "$with_gcc" = yes; then wl='-Wl,' link_static_flag='-static' case "$host_os" in ! beos* | irix5* | irix6* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; ! aix*) ! # Below there is a dirty hack to force normal static linking with -ldl ! # The problem is because libdl dynamically linked with both libc and ! # libC (AIX C++ library), which obviously doesn't included in libraries ! # list by gcc. This cause undefined symbols with -static flags. ! # This hack allows C programs to be linked with "-static -ldl", but ! # we not sure about C++ programs. ! link_static_flag="$link_static_flag ${wl}-lC" ! ;; ! cygwin* | mingw* | os2*) # We can build DLLs from non-PIC. ;; amigaos*) *************** *** 465,470 **** --- 691,701 ---- # like `-m68040'. pic_flag='-m68020 -resident32 -malways-restore-a4' ;; + sysv4*MP*) + if test -d /usr/nec; then + pic_flag=-Kconform_pic + fi + ;; *) pic_flag='-fPIC' ;; *************** *** 472,483 **** else # PORTME Check for PIC flags for the system compiler. case "$host_os" in ! aix3* | aix4*) # All AIX code is PIC. ! link_static_flag='-bnso -bI:/lib/syscalls.exp' ;; ! hpux9* | hpux10*) # Is there a better link_static_flag that works with the bundled CC? wl='-Wl,' link_static_flag="${wl}-a ${wl}archive" --- 703,720 ---- else # PORTME Check for PIC flags for the system compiler. case "$host_os" in ! aix3* | aix4* | aix5*) # All AIX code is PIC. ! if test "$host_cpu" = ia64; then ! # AIX 5 now supports IA64 processor ! wl='-Wl,' ! link_static_flag='-Bstatic' ! else ! link_static_flag='-bnso -bI:/lib/syscalls.exp' ! fi ;; ! 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,500 **** # PIC (with -KPIC) is the default. ;; ! os2*) # We can build DLLs from non-PIC. ;; ! osf3* | osf4*) # All OSF/1 code is PIC. wl='-Wl,' link_static_flag='-non_shared' --- 727,737 ---- # PIC (with -KPIC) is the default. ;; ! cygwin* | mingw* | os2*) # We can build DLLs from non-PIC. ;; ! osf3* | osf4* | osf5*) # All OSF/1 code is PIC. wl='-Wl,' link_static_flag='-non_shared' *************** *** 506,512 **** special_shlib_compile_flags='-belf' ;; ! solaris2*) pic_flag='-KPIC' link_static_flag='-Bstatic' wl='-Wl,' --- 743,749 ---- special_shlib_compile_flags='-belf' ;; ! solaris*) pic_flag='-KPIC' link_static_flag='-Bstatic' wl='-Wl,' *************** *** 518,524 **** wl='-Qoption ld ' ;; ! sysv4.2uw2*) pic_flag='-KPIC' link_static_flag='-Bstatic' wl='-Wl,' --- 755,761 ---- wl='-Qoption ld ' ;; ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) pic_flag='-KPIC' link_static_flag='-Bstatic' wl='-Wl,' *************** *** 528,534 **** pic_flag='-pic' link_static_flag='-Bstatic' ;; ! *) can_build_shared=no ;; --- 765,776 ---- pic_flag='-pic' link_static_flag='-Bstatic' ;; ! sysv4*MP*) ! if test -d /usr/nec ;then ! pic_flag='-Kconform_pic' ! link_static_flag='-Bstatic' ! fi ! ;; *) can_build_shared=no ;; *************** *** 541,565 **** # 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 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 # Append any warnings to the config.log. cat conftest.err 1>&5 ! ! # On HP-UX, both CC and GCC only warn that PIC is supported... then they ! # create non-PIC objects. So, if there were any warnings, we assume that ! # PIC is not supported. ! if test -s conftest.err; then ! echo "$ac_t"no 1>&6 ! can_build_shared=no ! pic_flag= ! else echo "$ac_t"yes 1>&6 pic_flag=" $pic_flag" ! fi else # Append any errors to the config.log. cat conftest.err 1>&5 --- 783,815 ---- # 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 "int some_variable = 0;" > conftest.c save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $pic_flag -DPIC" ! echo "$progname:788: checking if $compiler PIC flag $pic_flag works" >&5 ! if { (eval echo $progname:789: \"$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 ! ! case "$host_os" in ! hpux9* | hpux10* | hpux11*) ! # On HP-UX, both CC and GCC only warn that PIC is supported... then they ! # create non-PIC objects. So, if there were any warnings, we assume that ! # PIC is not supported. ! if test -s conftest.err; then ! echo "$ac_t"no 1>&6 ! can_build_shared=no ! pic_flag= ! else ! echo "$ac_t"yes 1>&6 ! pic_flag=" $pic_flag" ! fi ! ;; ! *) echo "$ac_t"yes 1>&6 pic_flag=" $pic_flag" ! ;; ! esac else # Append any errors to the config.log. cat conftest.err 1>&5 *************** *** 573,578 **** --- 823,958 ---- echo "$ac_t"none 1>&6 fi + # Check to see if options -o and -c are simultaneously supported by compiler + echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6 + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + $rm conftest* + echo "int some_variable = 0;" > conftest.c + mkdir out + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -o out/conftest2.o" + echo "$progname:841: checking if $compiler supports -c -o file.o" >&5 + if { (eval echo $progname:842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then + + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s out/conftest.err; then + echo "$ac_t"no 1>&6 + compiler_c_o=no + else + echo "$ac_t"yes 1>&6 + compiler_c_o=yes + fi + else + # Append any errors to the config.log. + cat out/conftest.err 1>&5 + compiler_c_o=no + echo "$ac_t"no 1>&6 + fi + CFLAGS="$save_CFLAGS" + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm -r conftest 2>/dev/null + + if test x"$compiler_c_o" = x"yes"; then + # Check to see if we can write to a .lo + echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6 + $rm conftest* + echo "int some_variable = 0;" > conftest.c + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -c -o conftest.lo" + echo "$progname:874: checking if $compiler supports -c -o file.lo" >&5 + if { (eval echo $progname:875: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then + + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + echo "$ac_t"no 1>&6 + compiler_o_lo=no + else + echo "$ac_t"yes 1>&6 + compiler_o_lo=yes + fi + else + # Append any errors to the config.log. + cat conftest.err 1>&5 + compiler_o_lo=no + echo "$ac_t"no 1>&6 + fi + CFLAGS="$save_CFLAGS" + $rm conftest* + else + compiler_o_lo=no + fi + + # Check to see if we can do hard links to lock some files if needed + hard_links="nottested" + if test "$compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$ac_t$hard_links" 1>&6 + $rm conftest* + if test "$hard_links" = no; then + echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2 + need_locks=warn + fi + else + need_locks=no + fi + + if test "$with_gcc" = yes; then + # Check to see if options -fno-rtti -fno-exceptions are supported by compiler + echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6 + $rm conftest* + echo "int some_variable = 0;" > conftest.c + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c" + echo "$progname:926: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 + if { (eval echo $progname:927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then + + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + echo "$ac_t"no 1>&6 + compiler_rtti_exceptions=no + else + echo "$ac_t"yes 1>&6 + compiler_rtti_exceptions=yes + fi + else + # Append any errors to the config.log. + cat conftest.err 1>&5 + compiler_rtti_exceptions=no + echo "$ac_t"no 1>&6 + fi + CFLAGS="$save_CFLAGS" + $rm conftest* + + if test "$compiler_rtti_exceptions" = "yes"; then + no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' + else + no_builtin_flag=' -fno-builtin' + fi + + fi + # Check for any special shared library compilation flags. if test -n "$special_shlib_compile_flags"; then echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2 *************** *** 588,595 **** 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 "$ac_t$link_static_flag" 1>&6 else echo "$ac_t"none 1>&6 --- 968,975 ---- echo 'main(){return(0);}' > conftest.c save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $link_static_flag" ! echo "$progname:970: checking if $compiler static flag $link_static_flag works" >&5 ! if { (eval echo $progname:971: \"$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 *************** *** 601,609 **** if test -z "$LN_S"; then # Check to see if we can use ln -s, or we need hard links. echo $ac_n "checking whether ln -s works... $ac_c" 1>&6 ! $rm conftestdata ! if ln -s X conftestdata 2>/dev/null; then ! $rm conftestdata LN_S="ln -s" else LN_S=ln --- 981,989 ---- if test -z "$LN_S"; then # Check to see if we can use ln -s, or we need hard links. echo $ac_n "checking whether ln -s works... $ac_c" 1>&6 ! $rm conftest.dat ! if ln -s X conftest.dat 2>/dev/null; then ! $rm conftest.dat LN_S="ln -s" else LN_S=ln *************** *** 621,631 **** 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 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" ;; "") --- 1001,1017 ---- 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:1003: 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]:[\\/]*) ! re_direlt='/[^/][^/]*/\.\./' ! # Canonicalize the path of ld ! ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` ! while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ! ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` ! done test -z "$LD" && LD="$ac_prog" ;; "") *************** *** 639,655 **** 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 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "$progname:645: checking for non-GNU ld" >&5 fi if test -z "$LD"; then ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. ! if test -f "$ac_dir/$ac_prog"; then LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. --- 1025,1041 ---- esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld... $ac_c" 1>&6 ! echo "$progname:1027: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 ! echo "$progname:1030: checking for non-GNU ld" >&5 fi if test -z "$LD"; then ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. ! if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. *************** *** 691,738 **** allow_undefined_flag= no_undefined_flag= archive_cmds= old_archive_from_new_cmds= export_dynamic_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_separator= 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 ld_shlibs=yes ! if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then # 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 ! else ld_shlibs=no ! fi if test "$ld_shlibs" = yes; then 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;$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 --- 1077,1285 ---- allow_undefined_flag= no_undefined_flag= + need_lib_prefix=unknown + need_version=unknown + # when you set need_version to no, make sure it does not cause -set_version + # flags to be left without arguments archive_cmds= + archive_expsym_cmds= old_archive_from_new_cmds= export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported runpath_var= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an egrep regular expression of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. case "$host_os" in ! cygwin* | mingw*) ! # FIXME: the MSVC++ port hasn't been tested in a loooong time ! # When not using gcc, we currently assume that we are using ! # Microsoft Visual C++. ! if test "$with_gcc" != yes; then ! with_gnu_ld=no ! fi ;; + esac ld_shlibs=yes ! if test "$with_gnu_ld" = yes; then ! # If archive_cmds runs LD, not CC, wlarc should be empty ! wlarc='${wl}' # See if GNU ld supports shared libraries. ! case "$host_os" in ! aix3* | aix4* | aix5*) ! # On AIX, the GNU linker is very broken ! # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. ld_shlibs=no ! cat <&2 ! ! *** Warning: the GNU linker, at least up to release 2.9.1, is reported ! *** to be unable to reliably create shared libraries on AIX. ! *** Therefore, libtool is disabling shared libraries support. If you ! *** really care for shared libraries, you may want to modify your PATH ! *** so that a non-GNU linker is found, and then restart. ! ! EOF ! ;; ! ! 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 ! ! # Samuel A. Falvo II reports ! # that the semantics of dynamic libraries on AmigaOS, at least up ! # to version 4, is to share data among multiple programs linked ! # with the same dynamic library. Since this doesn't match the ! # behavior of shared libraries on other platforms, we can use ! # them. ! ld_shlibs=no ! ;; ! ! beos*) ! if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then ! allow_undefined_flag=unsupported ! # Joseph Beckenbach says some releases of gcc ! # support --undefined. This deserves some investigation. FIXME ! archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' ! else ! ld_shlibs=no ! fi ! ;; ! ! cygwin* | mingw*) ! # 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 ! always_export_symbols=yes ! ! # Extract the symbol export list from an `--export-all' def file, ! # then regenerate the def file from the symbol export list, so that ! # the compiled dll only exports the symbol export list. ! # Be careful not to strip the DATA tag left by newer dlltools. ! export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ ! test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ ! $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~ ! sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols' ! ! # If DATA tags from a recent dlltool are present, honour them! ! archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~ ! _lt_hint=1; ! cat $export_symbols | while read symbol; do ! set dummy \$symbol; ! case \$# in ! 2) echo " \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;; ! *) echo " \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;; ! esac; ! _lt_hint=`expr 1 + \$_lt_hint`; ! done~ ! test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ ! test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ ! $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ ! $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ ! $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ ! $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ ! $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' + old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + + *** Warning: The releases 2.8.* of the GNU linker cannot reliably + *** create shared libraries on Solaris systems. Therefore, libtool + *** is disabling shared libraries support. We urge you to upgrade GNU + *** binutils to release 2.9.1 or newer. Another option is to modify + *** your PATH or compiler configuration so that the native linker is + *** used, and then restart. + + EOF + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = yes; then + runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' + case $host_os in + cygwin* | mingw*) + # dlltool doesn't understand --whole-archive et. al. + whole_archive_flag_spec= + ;; + *) + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + ;; + esac fi else # PORTME fill in a description of your system's linker (not GNU ld) case "$host_os" in aix3*) allow_undefined_flag=unsupported ! always_export_symbols=yes ! archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -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 *************** *** 743,759 **** fi ;; ! 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;$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 --- 1290,1396 ---- fi ;; ! aix4* | aix5*) ! hardcode_libdir_separator=':' ! if test "$with_gcc" = yes; then ! collect2name=`${CC} -print-prog-name=collect2` ! if test -f "$collect2name" && \ ! strings "$collect2name" | grep resolve_lib_name >/dev/null ! then ! # We have reworked collect2 ! hardcode_direct=yes ! else ! # We have old collect2 ! hardcode_direct=unsupported ! # It fails to find uninstalled libraries when the uninstalled ! # path is not listed in the libpath. Setting hardcode_minus_L ! # to unsupported forces relinking ! hardcode_minus_L=yes ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_libdir_separator= ! fi ! shared_flag='-shared' ! else ! if test "$host_cpu" = ia64; then ! shared_flag='-G' ! else ! shared_flag='${wl}-bM:SRE' ! fi ! hardcode_direct=yes ! fi ! ! if test "$host_cpu" = ia64; then ! # On IA64, the linker does run time linking by default, so we don't ! # have to do anything special. ! aix_use_runtimelinking=no ! exp_sym_flag='-Bexport' ! no_entry_flag="" ! else ! # Test if we are trying to use run time linking, or normal AIX style linking. ! # If -brtl is somewhere in LDFLAGS, we need to do run time linking. ! aix_use_runtimelinking=no ! for ld_flag in $LDFLAGS; do ! if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then ! aix_use_runtimelinking=yes ! break ! fi ! done ! exp_sym_flag='-bexport' ! no_entry_flag='-bnoentry' ! fi ! # It seems that -bexpall can do strange things, so it is better to ! # generate a list of symbols to export. ! always_export_symbols=yes ! hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' ! if test "$aix_use_runtimelinking" = yes; then ! hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' ! allow_undefined_flag=' -Wl,-G' ! archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" ! else ! if test "$host_cpu" = ia64; then ! hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' ! allow_undefined_flag="-znodefs" ! archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname ${wl}-h$soname $libobjs $deplibs $linkopts ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" ! else ! hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' ! # Warning - without using the other run time loading flags, -berok will ! # link without error, but may produce a broken library. ! allow_undefined_flag="-berok" ! # This is a bit strange, but is similar to how AIX traditionally builds ! # it's shared libraries. ! archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' ! fi ! fi ! ;; 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 + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + cygwin* | mingw*) + # 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 $linkopts `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`' + ;; + + freebsd1*) + ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor *************** *** 761,821 **** # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) ! 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 do not have this feature. freebsd2*) ! archive_cmds='$LD -Bshareable -o $lib$libobjs' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; ! # FreeBSD 3, at last, uses gcc -shared to do shared libraries. ! freebsd3*) ! archive_cmds='$CC -shared -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes - hardcode_minus_L=yes hardcode_shlibpath_var=no ;; - - hpux9*) - 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' 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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ;; netbsd*) ! # Tested with NetBSD 1.2 ld ! archive_cmds='$LD -Bshareable -o $lib$libobjs' ! hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; openbsd*) ! archive_cmds='$LD -Bshareable -o $lib$libobjs' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no --- 1398,1461 ---- # 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 $linkopts /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) ! archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; ! # FreeBSD 3 and greater uses gcc -shared to do shared libraries. ! freebsd*) ! archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; ! hpux9* | hpux10* | hpux11*) ! case "$host_os" in ! hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;; ! *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;; ! esac hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: hardcode_direct=yes ! hardcode_minus_L=yes # Not in the search PATH, but as the default ! # location of the library. export_dynamic_flag_spec='${wl}-E' ;; irix5* | irix6*) ! if test "$with_gcc" = yes; then ! archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' ! else ! archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' ! fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: ;; netbsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out ! else ! archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF ! fi ! hardcode_libdir_flag_spec='${wl}-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; openbsd*) ! archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no *************** *** 825,912 **** 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' old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' ;; ! osf3* | osf4*) ! allow_undefined_flag=' -expect_unresolved \*' ! archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; ! sco3.2v5*) ! archive_cmds='$LD -G -o $lib$libobjs' hardcode_direct=yes ;; ! solaris2*) 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*) ! 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' hardcode_libdir_flag_spec='-L$libdir' ! hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=no ;; *) ld_shlibs=no - can_build_shared=no ;; esac fi 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 ! /* | [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 /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. ! # 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 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then ! NM="$ac_dir/nm -p" else ! NM="$ac_dir/nm" fi - break fi done IFS="$ac_save_ifs" --- 1465,1637 ---- 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 $deplibs $linkopts $objdir/$libname.def' old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' ;; ! osf3*) ! if test "$with_gcc" = yes; then ! allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' ! archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' ! else ! allow_undefined_flag=' -expect_unresolved \*' ! archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' ! fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; ! osf4* | osf5*) # As osf3* with the addition of the -msym flag ! if test "$with_gcc" = yes; then ! allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' ! archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' ! else ! allow_undefined_flag=' -expect_unresolved \*' ! archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' ! archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ ! $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' ! fi ! #Both c and cxx compiler support -rpath directly ! hardcode_libdir_flag_spec='-rpath $libdir' ! hardcode_libdir_separator=: ! ;; ! rhapsody*) ! archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts' ! hardcode_libdir_flags_spec='-L$libdir' hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + sco3.2v5*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes ;; ! solaris*) no_undefined_flag=' -z text' ! # $CC -shared without GNU ld will not create a library from C++ ! # object files and a static libstdc++, better avoid it by now ! archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts' ! archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ ! $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp' hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case "$host_os" in ! solaris2.[0-5] | solaris2.[0-5].*) ;; ! *) # Supported since Solaris 2.6 (maybe 2.5.1?) ! whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; esac ;; sunos4*) ! archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; + sysv4) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts' + else + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + fi + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv5*) + no_undefined_flag=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp' + hardcode_libdir_flag_spec= + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + ;; + uts4*) ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-L$libdir' ! hardcode_shlibpath_var=no ! ;; ! ! dgux*) ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_shlibpath_var=no ! ;; ! ! sysv4*MP*) ! if test -d /usr/nec; then ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' ! hardcode_shlibpath_var=no ! runpath_var=LD_RUN_PATH ! hardcode_runpath_var=yes ! ld_shlibs=yes ! fi ! ;; ! ! sysv4.2uw2*) ! archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts' ! hardcode_direct=yes hardcode_minus_L=no hardcode_shlibpath_var=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH ;; + unixware7*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + *) ld_shlibs=no ;; esac fi echo "$ac_t$ld_shlibs" 1>&6 + test "$ld_shlibs" = no && can_build_shared=no if test -z "$NM"; then echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 case "$NM" in ! [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path. *) ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" ! for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do test -z "$ac_dir" && ac_dir=. ! if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then ! # Check to see if the nm accepts a BSD-compat flag. ! # Adding the `sed 1q' prevents false positives on HP-UX, which says: ! # nm: unknown option "B" ignored ! # Tru64's nm complains that /dev/null is an invalid object file ! if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then ! NM="$ac_dir/nm -B" ! break ! elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then ! NM="$ac_dir/nm -p" ! break else ! NM=${NM="$ac_dir/nm"} # keep the first match, but ! continue # so that we can try to find one that supports BSD flags fi fi done IFS="$ac_save_ifs" *************** *** 923,962 **** # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. ! symcode='[BCDEGRSTU]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Transform the above into a raw symbol and a C symbol. ! symxfrm='\1 \1' # Define system-specific variables. 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]' ;; esac # If we're using GNU nm, then use its standard symbol codes. if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then ! symcode='[ABCDGISTUW]' fi ! # Write the raw and C identifiers. ! global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'" ! # Check to see that the pipe works correctly. ! pipe_works=no ! $rm conftest* ! cat > conftest.c <&1 | egrep '(GNU|with BFD)' > /dev/null; then ! symcode='[ABCDGISTW]' fi ! # Try without a prefix undercore, then with it. ! for ac_symprfx in "" "_"; do ! # Write the raw and C identifiers. ! global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$/$symxfrm/p'" ! ! # Check to see that the pipe works correctly. ! pipe_works=no ! $rm conftest* ! cat > conftest.c <&5 ! if { (eval echo $progname:972: \"$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:975: 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 "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` ! (test "$count" -ge 0) 2>/dev/null || count=-1 ! else ! rm -f "$nlist"T ! count=-1 ! fi ! ! # Make sure that we snagged all the symbols we need. ! if egrep ' nm_test_var$' "$nlist" >/dev/null; then ! if egrep ' nm_test_func$' "$nlist" >/dev/null; then ! cat < conftest.c #ifdef __cplusplus extern "C" { #endif EOF ! # Now generate the symbol file. ! sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c ! cat <> conftest.c #if defined (__STDC__) && __STDC__ ! # define __ptr_t void * #else ! # define __ptr_t char * #endif - /* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ - int dld_preloaded_symbol_count = $count; - /* The mapping between symbol names and symbols. */ ! struct { ! char *name; ! __ptr_t address; } ! dld_preloaded_symbols[] = { EOF ! sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c ! cat <<\EOF >> conftest.c ! {0, (__ptr_t) 0} }; #ifdef __cplusplus } #endif EOF ! # Now try linking the two files. ! mv conftest.o conftestm.o ! save_LIBS="$LIBS" ! save_CFLAGS="$CFLAGS" ! LIBS='conftestm.o' ! CFLAGS="$CFLAGS$no_builtin_flag" ! if { (eval echo $progname:1033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ! pipe_works=yes ! else ! echo "$progname: failed program was:" >&5 ! cat conftest.c >&5 ! fi ! LIBS="$save_LIBS" else ! echo "cannot find nm_test_func in $nlist" >&5 fi else ! echo "cannot find nm_test_var in $nlist" >&5 fi else ! echo "cannot run $global_symbol_pipe" >&5 fi else ! echo "$progname: failed program was:" >&5 ! cat conftest.c >&5 fi - $rm conftest* ! # Do not use the global_symbol_pipe unless it works. ! echo "$ac_t$pipe_works" 1>&6 ! test "$pipe_works" = yes || global_symbol_pipe= # Check hardcoding attributes. echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 --- 1706,1806 ---- #endif main(){nm_test_var='a';nm_test_func();return(0);} EOF + + echo "$progname:1709: checking if global_symbol_pipe works" >&5 + if { (eval echo $progname:1710: \"$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:1713: 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 + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi ! # Make sure that we snagged all the symbols we need. ! if egrep ' nm_test_var$' "$nlist" >/dev/null; then ! if egrep ' nm_test_func$' "$nlist" >/dev/null; then ! cat < conftest.c #ifdef __cplusplus extern "C" { #endif EOF ! # Now generate the symbol file. ! eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c' ! cat <> conftest.c #if defined (__STDC__) && __STDC__ ! # define lt_ptr_t void * #else ! # define lt_ptr_t char * ! # define const #endif /* The mapping between symbol names and symbols. */ ! const struct { ! const char *name; ! lt_ptr_t address; } ! lt_preloaded_symbols[] = { EOF ! sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c ! cat <<\EOF >> conftest.c ! {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF ! # Now try linking the two files. ! mv conftest.$objext conftstm.$objext ! save_LIBS="$LIBS" ! save_CFLAGS="$CFLAGS" ! LIBS="conftstm.$objext" ! CFLAGS="$CFLAGS$no_builtin_flag" ! if { (eval echo $progname:1765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ! pipe_works=yes ! else ! echo "$progname: failed program was:" >&5 ! cat conftest.c >&5 ! fi ! LIBS="$save_LIBS" ! else ! echo "cannot find nm_test_func in $nlist" >&5 ! fi else ! echo "cannot find nm_test_var in $nlist" >&5 fi else ! echo "cannot run $global_symbol_pipe" >&5 fi else ! echo "$progname: failed program was:" >&5 ! cat conftest.c >&5 fi + $rm conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + global_symbol_pipe= + fi + done + if test "$pipe_works" = yes; then + echo "${ac_t}ok" 1>&6 else ! echo "${ac_t}failed" 1>&6 fi ! if test -z "$global_symbol_pipe"; then ! global_symbol_to_cdecl= ! fi # Check hardcoding attributes. echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 *************** *** 1063,1097 **** test -n "$runpath_var"; then # We can hardcode non-existant directories. ! if test "$hardcode_direct" != no && \ ! test "$hardcode_minus_L" != no && \ ! test "$hardcode_shlibpath_var" != no; then ! # Linking always hardcodes the temporary library directory. hardcode_action=relink else # 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 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. reload_flag='-r' ! echo "$ac_t$reload_flag" test -n "$reload_flag" && reload_flag=" $reload_flag" # PORTME Fill in your ld.so characteristics --- 1809,1840 ---- test -n "$runpath_var"; then # We can hardcode non-existant directories. ! if test "$hardcode_direct" != no && ! # If the only mechanism to avoid hardcoding is shlibpath_var, we ! # have to relink, otherwise we might link with an installed library ! # when we should be linking with a yet-to-be-installed one ! ## test "$hardcode_shlibpath_var" != no && ! test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else ! # We cannot hardcode anything, or else we can only hardcode existing ! # directories. ! hardcode_action=unsupported fi echo "$ac_t$hardcode_action" 1>&6 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 linkers may need a different reload flag. reload_flag='-r' ! echo "$ac_t$reload_flag" 1>&6 test -n "$reload_flag" && reload_flag=" $reload_flag" # PORTME Fill in your ld.so characteristics *************** *** 1103,1120 **** finish_cmds= finish_eval= shlibpath_var= version_type=none dynamic_linker="$host_os ld.so" ! 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' shlibpath_var=LIBPATH # AIX has no versioning support, so we append a major version to the name. ! soname_spec='${libname}${release}.so.$major' ;; amigaos*) --- 1846,1906 ---- finish_cmds= finish_eval= shlibpath_var= + shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" ! sys_lib_dlsearch_path_spec="/lib /usr/lib" ! sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" ! file_magic_cmd= ! file_magic_test_file= ! deplibs_check_method='unknown' ! # Need to set the preceding variable on all platforms that support ! # interlibrary dependencies. ! # 'none' -- dependencies not supported. ! # `unknown' -- same as none, but documents that we really don't know. ! # 'pass_all' -- all dependencies passed with no checks. ! # 'test_compile' -- check by making test program. ! # 'file_magic [regex]' -- check by looking for files in library path ! # which responds to the $file_magic_cmd with a given egrep regex. ! # If you have `file' or equivalent on your system and you're not sure ! # whether `pass_all' will *always* work, you probably want this one. echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 case "$host_os" in ! aix3*) version_type=linux ! 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' ! ;; ! ! aix4* | aix5*) ! version_type=linux ! if test "$host_cpu" = ia64; then ! # AIX 5 supports IA64 ! library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix ${libname}.so' ! shlibpath_var=LD_LIBRARY_PATH ! soname_spec='${libname}${release}.so$major' ! else ! # AIX (on Power*) has no versioning support, so currently we can not hardcode correct ! # soname into executable. Probably we can add versioning support to ! # collect2, so additional links can be useful in future. ! # We preserve .a as extension for shared libraries though AIX4.2 ! # and later linker supports .so ! if test "$aix_use_runtimelinking" = yes; then ! # If using run time linking (on AIX 4.2 or later) use lib.so instead of ! # lib.a to let people know that these are not typical AIX shared libraries. ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! else ! # We preserve .a as extension for shared libraries though AIX4.2 ! # and later when we are not doing run time linking. ! library_names_spec='${libname}${release}.a $libname.a' ! soname_spec='${libname}${release}.so$major' ! fi ! shlibpath_var=LIBPATH ! deplibs_check_method=pass_all ! fi ;; amigaos*) *************** *** 1123,1158 **** 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}${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' shlibpath_var=LD_LIBRARY_PATH ;; ! hpux9* | hpux10*) # 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' # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; irix5* | irix6*) ! version_type=osf ! soname_spec='${libname}${release}.so' ! library_names_spec='${libname}${release}.so.$versuffix $libname.so' ! shlibpath_var=LD_LIBRARY_PATH ;; # No shared lib support for Linux oldld, aout, or coff. --- 1909,2053 ---- 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' ;; ! beos*) ! library_names_spec='${libname}.so' ! dynamic_linker="$host_os ld.so" ! shlibpath_var=LIBRARY_PATH ! deplibs_check_method=pass_all ! lt_cv_dlopen="load_add_on" ! lt_cv_dlopen_libs= ! lt_cv_dlopen_self=yes ! ;; ! ! bsdi4*) ! version_type=linux ! need_version=no ! 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 $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' ! file_magic_cmd=/usr/bin/file ! file_magic_test_file=/shlib/libc.so ! sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" ! sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" ! export_dynamic_flag_spec=-rdynamic ! # the default ld.so.conf also contains /usr/contrib/lib and ! # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow ! # libtool to hard-code these into programs ! ;; ! ! cygwin* | mingw*) ! version_type=windows ! need_version=no ! need_lib_prefix=no ! 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' ! deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' ! file_magic_cmd='${OBJDUMP} -f' ! # FIXME: first we should search . and the directory the executable is in ! shlibpath_var=PATH ! lt_cv_dlopen="LoadLibrary" ! lt_cv_dlopen_libs= ! ;; ! ! freebsd1*) ! dynamic_linker=no ! ;; ! ! freebsd*) ! objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` ! version_type=freebsd-$objformat ! case "$version_type" in ! freebsd-elf*) ! deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' ! file_magic_cmd=/usr/bin/file ! file_magic_test_file=`echo /usr/lib/libc.so*` ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' ! need_version=no ! need_lib_prefix=no ! ;; ! freebsd-*) ! deplibs_check_method=unknown ! library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' ! need_version=yes ! ;; ! esac shlibpath_var=LD_LIBRARY_PATH + case "$host_os" in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + *) + shlibpath_overrides_runpath=no + ;; + esac ;; gnu*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' ! soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH ;; ! 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 + need_lib_prefix=no + need_version=no shlibpath_var=SHLIB_PATH ! shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH ! 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' + case "$host_os" in + hpux10.20*) + # TODO: Does this work for hpux-11 too? + deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + file_magic_cmd=/usr/bin/file + file_magic_test_file=/usr/lib/libc.sl + ;; + esac ;; irix5* | irix6*) ! version_type=irix ! need_lib_prefix=no ! need_version=no ! soname_spec='${libname}${release}.so$major' ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' ! case "$host_os" in ! irix5*) ! libsuff= shlibsuff= ! # this will be overridden with pass_all, but let us keep it just in case ! deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" ! ;; ! *) ! case "$LD" in # libtool.m4 will add one of these switches to LD ! *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; ! *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; ! *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; ! *) libsuff= shlibsuff= libmagic=never-match;; ! esac ! ;; ! esac ! shlibpath_var=LD_LIBRARY${shlibsuff}_PATH ! shlibpath_overrides_runpath=no ! sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" ! sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" ! file_magic_cmd=/usr/bin/file ! file_magic_test_file=`echo /lib${libsuff}/libc.so*` ! deplibs_check_method='pass_all' ;; # No shared lib support for Linux oldld, aout, or coff. *************** *** 1163,1263 **** # 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' shlibpath_var=LD_LIBRARY_PATH ! if test -f /lib/ld.so.1; then ! dynamic_linker='GNU ld.so' else ! # Only the GNU ld.so supports shared libraries on MkLinux. ! case "$host_cpu" in ! powerpc*) dynamic_linker=no ;; ! *) dynamic_linker='Linux ld.so' ;; ! esac fi ;; ! netbsd* | openbsd*) version_type=sunos ! library_names_spec='${libname}${release}.so.$versuffix' ! finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH ;; os2*) libname_spec='$name' library_names_spec='$libname.dll $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; ! osf3* | osf4*) version_type=osf 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}${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' shlibpath_var=LD_LIBRARY_PATH ;; sunos4*) version_type=sunos ! 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}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' ! soname_spec='${libname}${release}.so.$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac ! echo "$ac_t$dynamic_linker" test "$dynamic_linker" = no && can_build_shared=no # Report the final consequences. echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in ! aix*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then ! archive_cmds="$archive_cmds;\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; esac echo "$ac_t$enable_shared" 1>&6 --- 2058,2286 ---- # This must be Linux ELF. linux-gnu*) version_type=linux ! need_lib_prefix=no ! need_version=no ! 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 + shlibpath_overrides_runpath=no + deplibs_check_method=pass_all ! # We used to test for /lib/ld.so.1 and disable shared libraries on ! # powerpc, because MkLinux only supported shared libraries with the ! # GNU dynamic linker. Since this was broken with cross compilers, ! # most powerpc-linux boxes support dynamic linking these days and ! # people can always --disable-shared, the test was removed, and we ! # assume the GNU/Linux dynamic linker is in use. ! dynamic_linker='GNU/Linux ld.so' ! ;; ! ! netbsd*) ! version_type=sunos ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ! dynamic_linker='NetBSD (a.out) ld.so' else ! deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' ! file_magic_cmd=/usr/bin/file ! file_magic_test_file=`echo /usr/lib/libc.so*` ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' ! soname_spec='${libname}${release}.so$major' ! dynamic_linker='NetBSD ld.elf_so' fi + shlibpath_var=LD_LIBRARY_PATH ;; ! openbsd*) version_type=sunos ! if test "$with_gnu_ld" = yes; then ! need_lib_prefix=no ! need_version=no ! fi ! library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH ;; os2*) libname_spec='$name' + need_lib_prefix=no library_names_spec='$libname.dll $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; ! osf3* | osf4* | osf5*) version_type=osf + need_version=no soname_spec='${libname}${release}.so' ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' shlibpath_var=LD_LIBRARY_PATH + # this will be overridden with pass_all, but let us keep it just in case + deplibs_check_method='file_magic COFF format alpha shared library' + file_magic_cmd=/usr/bin/file + file_magic_test_file=/shlib/libc.so + deplibs_check_method='pass_all' + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + + rhapsody*) + version_type=sunos + library_names_spec='${libname}.so' + soname_spec='${libname}.so' + shlibpath_var=DYLD_LIBRARY_PATH + deplibs_check_method=pass_all ;; sco3.2v5*) version_type=osf ! soname_spec='${libname}${release}.so$major' ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' shlibpath_var=LD_LIBRARY_PATH ;; ! solaris*) version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib" + file_magic_cmd=/usr/bin/file + file_magic_test_file=/lib/libc.so ;; sunos4*) version_type=sunos ! library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' ! finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes ;; ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 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 + case "$host_vendor" in + sequent) + file_magic_cmd='/bin/file' + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + ncr) + deplibs_check_method='pass_all' + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + file_magic_cmd=/usr/bin/file + file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + esac ;; uts4*) + 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 + ;; + + dgux*) version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH ;; + sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' + soname_spec='$libname.so.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + *) dynamic_linker=no ;; esac ! echo "$ac_t$dynamic_linker" 1>&6 test "$dynamic_linker" = no && can_build_shared=no # Report the final consequences. echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 + # Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in + # configure.in, otherwise build static only libraries. + case "$host_os" in + cygwin* | mingw* | os2*) + if test x$can_build_shared = xyes; then + test x$enable_win32_dll = xno && can_build_shared=no + echo "checking if package supports dlls... $can_build_shared" 1>&6 + fi + ;; + esac + + if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then + case "$deplibs_check_method" in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + + *** Warning: the command libtool uses to detect shared libraries, + *** $file_magic_cmd, produces output that libtool cannot recognize. + *** The result is that libtool may fail to recognize shared libraries + *** as such. This will affect the creation of libtool libraries that + *** depend on shared libraries, but programs linked with such libtool + *** libraries will work regardless of this problem. Nevertheless, you + *** may want to report the problem to your system manager and/or to + *** bug-libtool@gnu.org + + EOF + fi ;; + esac + fi + echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in ! aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then ! archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; + + aix4* | aix5*) + test "$enable_shared" = yes && enable_static=no + ;; esac echo "$ac_t$enable_shared" 1>&6 *************** *** 1267,1272 **** --- 2290,2309 ---- echo "checking whether to build static libraries... $enable_static" 1>&6 + if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no + elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless + fi + + variables_saved_for_relink="PATH $shlibpath_var $runpath_var" + if test "$with_gcc" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + fi + echo $ac_n "checking for objdir... $ac_c" 1>&6 rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null *************** *** 1279,1325 **** 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 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_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 \ ! hardcode_libdir_flag_spec hardcode_libdir_separator; do ! ! case "$var" in ! reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ ! old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \ ! postinstall_cmds | postuninstall_cmds | finish_cmds) ! # Double-quote double-evaled strings. ! eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" ! ;; ! *) ! eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`" ;; esac - done ! ofile=libtool ! trap "$rm $ofile; exit 1" 1 2 15 ! echo creating $ofile ! $rm $ofile ! cat < $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 , 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 --- 2316,2870 ---- rmdir .libs 2>/dev/null echo "$ac_t$objdir" 1>&6 + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown + else + if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then + lt_cv_dlopen=no lt_cv_dlopen_libs= + echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 + echo "$progname:2325: checking for dlopen in -ldl" >&5 + ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_save_LIBS="$LIBS" + LIBS="-ldl $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" + fi + rm -f conftest* + LIBS="$ac_save_LIBS" + + fi + if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" + else + echo "$ac_t""no" 1>&6 + echo $ac_n "checking for dlopen""... $ac_c" 1>&6 + echo "$progname:2365: checking for dlopen" >&5 + if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + #ifdef __cplusplus + extern "C" + #endif + char dlopen(); + + int main() { + + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ + #if defined (__stub_dlopen) || defined (__stub___dlopen) + choke me + #else + dlopen(); + #endif + + ; return 0; } + EOF + if { (eval echo $progname:2395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_dlopen=yes" + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_dlopen=no" + fi + rm -f conftest* + fi + if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="dlopen" + else + echo "$ac_t""no" 1>&6 + echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6 + echo "$progname:2412: checking for dlopen in -lsvld" >&5 + if test "X${ac_cv_lib_svld_dlopen+set}" = Xset; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_save_LIBS="$LIBS" + LIBS="-lsvld $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_lib_svld_dlopen=yes + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_lib_svld_dlopen=no + fi + rm -f conftest* + LIBS="$ac_save_LIBS" + + fi + if test "X$ac_cv_lib_svld_dlopen" = Xyes; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" + else + echo "$ac_t""no" 1>&6 + echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 + echo "$progname:2451: checking for dld_link in -ldld" >&5 + ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_save_LIBS="$LIBS" + LIBS="-ldld $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" + fi + rm -f conftest* + LIBS="$ac_save_LIBS" + + fi + if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" + else + echo "$ac_t""no" 1>&6 + echo $ac_n "checking for shl_load""... $ac_c" 1>&6 + echo "$progname:2491: checking for shl_load" >&5 + if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + /* Override any gcc2 internal prototype to avoid an error. */ + /* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + #ifdef __cplusplus + extern "C" + #endif + char shl_load(); + + int main() { + + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ + #if defined (__stub_shl_load) || defined (__stub___shl_load) + choke me + #else + shl_load(); + #endif + + ; return 0; } + EOF + if { (eval echo $progname:2521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_shl_load=yes" + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_shl_load=no" + fi + rm -f conftest* + fi + + if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="shl_load" + else + echo "$ac_t""no" 1>&6 + echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 + echo "$progname:2539: checking for shl_load in -ldld" >&5 + ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` + if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + ac_save_LIBS="$LIBS" + LIBS="-ldld $LIBS" + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" + fi + rm -f conftest* + LIBS="$ac_save_LIBS" + + fi + if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" + else + echo "$ac_t""no" 1>&6 + fi + + + fi + + + fi + + + fi + + + fi + + fi + + fi + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case "$lt_cv_dlopen" in + dlopen) + for ac_hdr in dlfcn.h; do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 + echo "$progname:2608: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext < + int fnord = 0; + EOF + ac_try="$ac_compile >/dev/null 2>conftest.out" + { (eval echo $progname:2618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } + ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` + if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" + else + echo "$ac_err" >&5 + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" + fi + rm -f conftest* + fi + if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + else + echo "$ac_t""no" 1>&6 + fi + done + + if test "x$ac_cv_header_dlfcn_h" = xyes; then + CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + fi + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + LIBS="$lt_cv_dlopen_libs $LIBS" + + echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 + echo "$progname:2646: checking whether a program can dlopen itself" >&5 + if test "${lt_cv_dlopen_self+set}" = set; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + if test "$cross_compiling" = yes; then + lt_cv_dlopen_self=cross + else + cat > conftest.c < + #endif + + #include + + #ifdef RTLD_GLOBAL + # define LTDL_GLOBAL RTLD_GLOBAL + #else + # ifdef DL_GLOBAL + # define LTDL_GLOBAL DL_GLOBAL + # else + # define LTDL_GLOBAL 0 + # endif + #endif + + /* We may have to define LTDL_LAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ + #ifndef LTDL_LAZY_OR_NOW + # ifdef RTLD_LAZY + # define LTDL_LAZY_OR_NOW RTLD_LAZY + # else + # ifdef DL_LAZY + # define LTDL_LAZY_OR_NOW DL_LAZY + # else + # ifdef RTLD_NOW + # define LTDL_LAZY_OR_NOW RTLD_NOW + # else + # ifdef DL_NOW + # define LTDL_LAZY_OR_NOW DL_NOW + # else + # define LTDL_LAZY_OR_NOW 0 + # endif + # endif + # endif + # endif + #endif + + fnord() { int i=42;} + main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); + if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); + if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } + + EOF + if { (eval echo $progname:2700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null + then + lt_cv_dlopen_self=yes + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + lt_cv_dlopen_self=no + fi + rm -fr conftest* + fi + + fi + + echo "$ac_t""$lt_cv_dlopen_self" 1>&6 + + if test "$lt_cv_dlopen_self" = yes; then + LDFLAGS="$LDFLAGS $link_static_flag" + echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 + echo "$progname:2719: checking whether a statically linked program can dlopen itself" >&5 + if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ac_n "(cached) $ac_c" 1>&6 + else + if test "$cross_compiling" = yes; then + lt_cv_dlopen_self_static=cross + else + cat > conftest.c < + #endif + + #include + + #ifdef RTLD_GLOBAL + # define LTDL_GLOBAL RTLD_GLOBAL + #else + # ifdef DL_GLOBAL + # define LTDL_GLOBAL DL_GLOBAL + # else + # define LTDL_GLOBAL 0 + # endif + #endif + + /* We may have to define LTDL_LAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ + #ifndef LTDL_LAZY_OR_NOW + # ifdef RTLD_LAZY + # define LTDL_LAZY_OR_NOW RTLD_LAZY + # else + # ifdef DL_LAZY + # define LTDL_LAZY_OR_NOW DL_LAZY + # else + # ifdef RTLD_NOW + # define LTDL_LAZY_OR_NOW RTLD_NOW + # else + # ifdef DL_NOW + # define LTDL_LAZY_OR_NOW DL_NOW + # else + # define LTDL_LAZY_OR_NOW 0 + # endif + # endif + # endif + # endif + #endif + + fnord() { int i=42;} + main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); + if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); + if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } + + EOF + if { (eval echo $progname:2773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null + then + lt_cv_dlopen_self_static=yes + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + lt_cv_dlopen_self_static=no + fi + rm -fr conftest* + fi + + fi + + echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6 + fi + ;; + esac + + case "$lt_cv_dlopen_self" in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case "$lt_cv_dlopen_self_static" in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac + fi + # Copy echo and quote the copy, instead of the original, because it is # used later. ltecho="$echo" + if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ltecho="$CONFIG_SHELL \$0 --fallback-echo" + fi + LTSHELL="$SHELL" ! LTCONFIG_VERSION="$VERSION" ! ! # Only quote variables if we're using ltmain.sh. ! case "$ltmain" in ! *.sh) ! # Now quote all the things that may contain metacharacters. ! for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \ ! old_LD old_LDFLAGS old_LIBS \ ! old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \ ! AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \ ! reload_flag reload_cmds wl \ ! pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ ! thread_safe_flag_spec whole_archive_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 archive_expsym_cmds postinstall_cmds postuninstall_cmds \ ! file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \ ! finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ ! hardcode_libdir_flag_spec hardcode_libdir_separator \ ! sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ ! compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do ! ! case "$var" in ! reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ ! old_postinstall_cmds | old_postuninstall_cmds | \ ! export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ ! postinstall_cmds | postuninstall_cmds | \ ! finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) ! # Double-quote double-evaled strings. ! eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ! ;; ! *) ! eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ! ;; ! esac ! done ! ! case "$ltecho" in ! *'\$0 --fallback-echo"') ! ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac ! trap "$rm \"$ofile\"; exit 1" 1 2 15 ! echo "creating $ofile" ! $rm "$ofile" ! cat < "$ofile" ! #! $SHELL ! # `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. ! # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. # ! # Copyright (C) 1996-1999 Free Software Foundation, Inc. ! # Originally by Gordon Matzigkeit , 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 *************** *** 1340,1459 **** # 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//" # 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" # Shell to use when invoking shell scripts. ! SHELL=${CONFIG_SHELL-/bin/sh} ! # Whether or not to build libtool libraries. build_libtool_libs=$enable_shared ! # Whether or not to build old-style libraries. build_old_libs=$enable_static # The host system. ! host_alias="$host_alias" ! host="$host" # The archiver. ! AR="$AR" # The default C compiler. ! CC="$CC" # The linker used to build libraries. ! LD="$LD" # Whether we need hard or soft links. ! LN_S="$LN_S" # A BSD-compatible nm program. ! NM="$NM" # The name of the directory that contains temporary libtool files. ! objdir="$objdir" # How to create reloadable object files. ! reload_flag="$reload_flag" ! reload_cmds="$reload_cmds" # How to pass a linker flag through the compiler. ! wl="$wl" # Additional compiler flags for building library objects. ! pic_flag="$pic_flag" # Compiler flag to prevent dynamic linking. ! link_static_flag="$link_static_flag" # Compiler flag to turn off builtin functions. ! no_builtin_flag="$no_builtin_flag" # Compiler flag to allow reflexive dlopens. ! export_dynamic_flag_spec="$export_dynamic_flag_spec" # Library versioning type. version_type=$version_type # Format of library name prefix. ! libname_spec="$libname_spec" # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. ! library_names_spec="$library_names_spec" # The coded name of the library, if different from the real name. ! soname_spec="$soname_spec" # Commands used to build and install an old-style archive. ! 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" # 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" # This is the shared library runtime path variable. runpath_var=$runpath_var --- 2885,3092 ---- # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # 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 "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi ! ### BEGIN LIBTOOL CONFIG ! EOF ! cfgfile="$ofile" ! ;; ! ! *) ! # Double-quote the variables that need it (for aesthetics). ! for var in old_CC old_CFLAGS old_CPPFLAGS \ ! old_LD old_LDFLAGS old_LIBS \ ! old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do ! eval "$var=\\\"\$var\\\"" ! done ! ! # Just create a config file. ! cfgfile="$ofile.cfg" ! trap "$rm \"$cfgfile\"; exit 1" 1 2 15 ! echo "creating $cfgfile" ! $rm "$cfgfile" ! cat < "$cfgfile" ! # `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file. ! # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) ! EOF ! ;; ! esac ! ! cat <> "$cfgfile" ! # 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 LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\ ! # NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\ ! # DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP 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=$LTCONFIG_VERSION # Shell to use when invoking shell scripts. ! SHELL=$LTSHELL ! # Whether or not to build shared libraries. build_libtool_libs=$enable_shared ! # Whether or not to build static libraries. build_old_libs=$enable_static + # Whether or not to optimize for fast installation. + fast_install=$enable_fast_install + # The host system. ! host_alias=$host_alias ! host=$host + # An echo program that does not interpret backslashes. + echo=$ltecho + # The archiver. ! AR=$AR # The default C compiler. ! CC=$CC # The linker used to build libraries. ! LD=$LD # Whether we need hard or soft links. ! LN_S=$LN_S # A BSD-compatible nm program. ! NM=$NM ! ! # Used on cygwin: DLL creation program. ! DLLTOOL="$DLLTOOL" + # Used on cygwin: object dumper. + OBJDUMP="$OBJDUMP" + + # Used on cygwin: assembler. + AS="$AS" + # The name of the directory that contains temporary libtool files. ! objdir=$objdir # How to create reloadable object files. ! reload_flag=$reload_flag ! 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" + + # Executable file suffix (normally ""). + exeext="$exeext" + # Additional compiler flags for building library objects. ! pic_flag=$pic_flag ! ! # Does compiler simultaneously support -c and -o options? ! compiler_c_o=$compiler_c_o ! ! # Can we write directly to a .lo ? ! compiler_o_lo=$compiler_o_lo ! ! # Must we lock files when doing compilation ? ! need_locks=$need_locks ! ! # Do we need the lib prefix for modules? ! need_lib_prefix=$need_lib_prefix + # Do we need a version for libraries? + need_version=$need_version + + # Whether dlopen is supported. + dlopen=$enable_dlopen + + # Whether dlopen of programs is supported. + dlopen_self=$enable_dlopen_self + + # Whether dlopen of statically linked programs is supported. + dlopen_self_static=$enable_dlopen_self_static + # Compiler flag to prevent dynamic linking. ! link_static_flag=$link_static_flag # Compiler flag to turn off builtin functions. ! no_builtin_flag=$no_builtin_flag # Compiler flag to allow reflexive dlopens. ! export_dynamic_flag_spec=$export_dynamic_flag_spec ! ! # Compiler flag to generate shared objects directly from archives. ! whole_archive_flag_spec=$whole_archive_flag_spec ! ! # Compiler flag to generate thread-safe objects. ! thread_safe_flag_spec=$thread_safe_flag_spec # Library versioning type. version_type=$version_type # Format of library name prefix. ! libname_spec=$libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. ! library_names_spec=$library_names_spec # The coded name of the library, if different from the real name. ! soname_spec=$soname_spec # Commands used to build and install an old-style archive. ! 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 # Commands used to build and install a shared archive. ! archive_cmds=$archive_cmds ! archive_expsym_cmds=$archive_expsym_cmds ! postinstall_cmds=$postinstall_cmds ! postuninstall_cmds=$postuninstall_cmds + # Method to check whether dependent libraries are shared objects. + deplibs_check_method=$deplibs_check_method + + # Command to use when deplibs_check_method == file_magic. + file_magic_cmd=$file_magic_cmd + # 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 ! ! # Transform the output of nm in a proper C declaration ! global_symbol_to_cdecl=$global_symbol_to_cdecl # This is the shared library runtime path variable. runpath_var=$runpath_var *************** *** 1461,1475 **** # This is the shared library path variable. shlibpath_var=$shlibpath_var # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. ! hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec" # Whether we need a single -rpath flag with a separated argument. ! hardcode_libdir_separator="$hardcode_libdir_separator" # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the # resulting binary. --- 3094,3111 ---- # This is the shared library path variable. shlibpath_var=$shlibpath_var + # Is shlibpath searched before the hard-coded library search path? + shlibpath_overrides_runpath=$shlibpath_overrides_runpath + # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. ! hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec # Whether we need a single -rpath flag with a separated argument. ! hardcode_libdir_separator=$hardcode_libdir_separator # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the # resulting binary. *************** *** 1483,1509 **** # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var EOF ! case "$host_os" in ! 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 # vanish in a puff of smoke. ! 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) - chmod +x $ofile exit 0 # Local Variables: --- 3119,3237 ---- # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var + # Variables whose values should be saved in libtool wrapper scripts and + # restored at relink time. + variables_saved_for_relink="$variables_saved_for_relink" + + # Compile-time system search path for libraries + sys_lib_search_path_spec=$sys_lib_search_path_spec + + # Run-time system search path for libraries + sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec + + # Fix the shell variable \$srcfile for the compiler. + fix_srcfile_path="$fix_srcfile_path" + + # Set to yes if exported symbols are required. + always_export_symbols=$always_export_symbols + + # The commands to list exported symbols. + export_symbols_cmds=$export_symbols_cmds + + # Symbols that should not be listed in the preloaded symbols. + exclude_expsyms=$exclude_expsyms + + # Symbols that must always be exported. + include_expsyms=$include_expsyms + EOF ! case "$ltmain" in ! *.sh) ! echo '### END LIBTOOL CONFIG' >> "$ofile" ! echo >> "$ofile" ! case "$host_os" in ! 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 # vanish in a puff of smoke. ! if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi EOF + ;; + esac + + # Append the ltmain.sh script. + sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + + chmod +x "$ofile" + ;; + + *) + # Compile the libtool program. + echo "FIXME: would compile $ltmain" ;; esac + + test -n "$cache_file" || exit 0 ! # AC_CACHE_SAVE ! trap '' 1 2 15 ! cat > confcache <<\EOF ! # This file is a shell script that caches the results of configure ! # tests run on this system so they can be shared between configure ! # scripts and configure runs. It is not useful on other systems. ! # If it contains results you don't want to keep, you may remove or edit it. ! # ! # By default, configure uses ./config.cache as the cache file, ! # creating it if it does not exist already. You can give configure ! # the --cache-file=FILE option to use a different cache file; that is ! # what configure does when it calls configure scripts in ! # subdirectories, so they share the cache. ! # Giving --cache-file=/dev/null disables caching, for debugging configure. ! # config.status only pays attention to the cache file if you give it the ! # --recheck option to rerun configure. ! # ! EOF ! # The following way of writing the cache mishandles newlines in values, ! # but we know of no workaround that is simple, portable, and efficient. ! # So, don't put newlines in cache variables' values. ! # Ultrix sh set writes to stderr and can't be redirected directly, ! # and sets the high bit in the cache file unless we assign to the vars. ! (set) 2>&1 | ! case `(ac_space=' '; set | grep ac_space) 2>&1` in ! *ac_space=\ *) ! # `set' does not quote correctly, so add quotes (double-quote substitution ! # turns \\\\ into \\, and sed turns \\ into \). ! sed -n \ ! -e "s/'/'\\\\''/g" \ ! -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ! ;; ! *) ! # `set' quotes correctly as required by POSIX, so do not add quotes. ! sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ! ;; ! esac >> confcache ! if cmp -s $cache_file confcache; then ! : ! else ! if test -w $cache_file; then ! echo "updating cache $cache_file" ! cat confcache > $cache_file ! else ! echo "not updating unwritable cache $cache_file" ! fi ! fi ! rm -f confcache exit 0 # Local Variables: Index: jpeg-6b/ltmain.sh diff -c jpeg-6b/ltmain.sh:1.1.1.1 jpeg-6b/ltmain.sh:1.2 *** jpeg-6b/ltmain.sh:1.1.1.1 Mon Jun 12 16:56:19 2000 --- jpeg-6b/ltmain.sh Wed Mar 7 21:58:15 2001 *************** *** 1,8 **** # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun ltconfig. # ! # Copyright (C) 1996-1998 Free Software Foundation, Inc. ! # Gordon Matzigkeit , 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 --- 1,8 ---- # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun ltconfig. # ! # Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. ! # Originally by Gordon Matzigkeit , 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 *************** *** 23,28 **** --- 23,52 ---- # 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$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : + 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 + + if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 --- 66,87 ---- # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. ! Xsed='sed -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' + SP2NL='tr \040 \012' + NL2SP='tr \015\012 \040\040' # NLS nuisances. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). ! # We save the old values to restore during execute mode. ! if test "${LC_ALL+set}" = set; then ! save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL ! fi ! if test "${LANG+set}" = set; then ! save_LANG="$LANG"; LANG=C; export LANG ! fi if test "$LTCONFIG_VERSION" != "$VERSION"; then echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2 *************** *** 72,77 **** --- 104,111 ---- show="$echo" show_help= execute_dlfiles= + lo2o="s/\\.lo\$/.${objext}/" + o2lo="s/\\.${objext}\$/.lo/" # Parse our command line options once, thoroughly. while test $# -gt 0 *************** *** 107,116 **** ;; --version) ! echo "$PROGRAM (GNU $PACKAGE) $VERSION" exit 0 ;; --dry-run | -n) run=: ;; --- 141,160 ---- ;; --version) ! echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" ! 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=: ;; *************** *** 172,186 **** mode=link for arg do ! case "$arg" in ! -c) ! mode=compile ! break ! ;; ! esac done ;; ! *db | *dbx) mode=execute ;; *install*|cp|mv) --- 216,230 ---- mode=link for arg do ! case "$arg" in ! -c) ! mode=compile ! break ! ;; ! esac done ;; ! *db | *dbx | *strace | *truss) mode=execute ;; *install*|cp|mv) *************** *** 195,205 **** # Just use the default operation mode. if test -z "$mode"; then ! if test -n "$nonopt"; then ! $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 ! else ! $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 ! fi fi ;; esac --- 239,249 ---- # Just use the default operation mode. if test -z "$mode"; then ! if test -n "$nonopt"; then ! $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 ! else ! $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 ! fi fi ;; esac *************** *** 227,249 **** srcfile="$nonopt" suppress_output= for arg do # Accept any command-line options. case "$arg" in -o) ! $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ;; -static) - build_libtool_libs=no build_old_libs=yes continue ;; esac # Accept the current argument as the source file. lastarg="$srcfile" srcfile="$arg" --- 271,309 ---- srcfile="$nonopt" suppress_output= + user_target=no for arg do # Accept any command-line options. case "$arg" in -o) ! if test "$user_target" != "no"; then ! $echo "$modename: you cannot specify \`-o' more than once" 1>&2 ! exit 1 ! fi ! user_target=next ;; -static) build_old_libs=yes continue ;; esac + case "$user_target" in + next) + # The next one is the -o target name + user_target=yes + continue + ;; + yes) + # We got the output file + user_target=set + libobj="$arg" + continue + ;; + esac + # Accept the current argument as the source file. lastarg="$srcfile" srcfile="$arg" *************** *** 272,282 **** fi done ! # Get the name of the library object. ! libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` # Recognize several different file suffixes. ! xform='[cCFSfms]' case "$libobj" in *.ada) xform=ada ;; *.adb) xform=adb ;; --- 332,353 ---- fi done ! case "$user_target" in ! set) ! ;; ! no) ! # Get the name of the library object. ! libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ! ;; ! *) ! $echo "$modename: you must specify a target with \`-o'" 1>&2 ! exit 1 ! ;; ! esac # Recognize several different file suffixes. ! # If the user specifies -o file.o, it is replaced with file.lo ! xform='[cCFSfmso]' case "$libobj" in *.ada) xform=ada ;; *.adb) xform=adb ;; *************** *** 293,301 **** libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case "$libobj" in ! *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;; *) ! $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2 exit 1 ;; esac --- 364,372 ---- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case "$libobj" in ! *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) ! $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 exit 1 ;; esac *************** *** 308,318 **** # Delete any leftover library objects. if test "$build_old_libs" = yes; then ! $run $rm $obj $libobj ! trap "$run $rm $obj $libobj; exit 1" 1 2 15 else ! $run $rm $libobj ! trap "$run $rm $libobj; exit 1" 1 2 15 fi # Only build a PIC object if we are building libtool libraries. --- 379,432 ---- # Delete any leftover library objects. if test "$build_old_libs" = yes; then ! removelist="$obj $libobj" ! else ! removelist="$libobj" ! fi ! ! $run $rm $removelist ! trap "$run $rm $removelist; exit 1" 1 2 15 ! ! # Calculate the filename of the output object if compiler does ! # not support -o with -c ! if test "$compiler_c_o" = no; then ! output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} ! lockfile="$output_obj.lock" ! removelist="$removelist $output_obj $lockfile" ! trap "$run $rm $removelist; exit 1" 1 2 15 else ! need_locks=no ! lockfile= ! fi ! ! # Lock this critical section if it is needed ! # We use this script file to make the link, it avoids creating a new file ! if test "$need_locks" = yes; then ! until $run ln "$0" "$lockfile" 2>/dev/null; do ! $show "Waiting for $lockfile to be removed" ! sleep 2 ! done ! elif test "$need_locks" = warn; then ! if test -f "$lockfile"; then ! echo "\ ! *** ERROR, $lockfile exists and contains: ! `cat $lockfile 2>/dev/null` ! ! This indicates that another process is trying to use the same ! temporary object file, and libtool could not work around it because ! your compiler does not support \`-c' and \`-o' together. If you ! repeat this compilation, it may succeed, by chance, but you had better ! avoid parallel builds (make -j) in this platform, or get a better ! compiler." ! ! $run $rm $removelist ! exit 1 ! fi ! echo $srcfile > "$lockfile" ! 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. *************** *** 321,343 **** fbsd_hideous_sh_bug=$base_compile # All platforms use -DPIC, to notify preprocessed assembler code. ! $show "$base_compile$pic_flag -DPIC $srcfile" ! if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then : else ! test -n "$obj" && $run $rm $obj ! exit 1 fi ! # If we have no pic_flag, then copy the object into place and finish. ! if test -z "$pic_flag"; then ! $show "$LN_S $obj $libobj" ! $run $LN_S $obj $libobj ! exit $? fi ! # Just move the object, then go on to compile the next one ! $show "$mv $obj $libobj" ! $run $mv $obj $libobj || exit 1 # Allow error messages only from the first compilation. suppress_output=' >/dev/null 2>&1' --- 435,544 ---- fbsd_hideous_sh_bug=$base_compile # All platforms use -DPIC, to notify preprocessed assembler code. ! command="$base_compile $srcfile $pic_flag -DPIC" ! if test "$build_old_libs" = yes; then ! lo_libobj="$libobj" ! dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$dir" = "X$libobj"; then ! dir="$objdir" ! else ! dir="$dir/$objdir" ! fi ! libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` ! ! if test -d "$dir"; then ! $show "$rm $libobj" ! $run $rm $libobj ! else ! $show "$mkdir $dir" ! $run $mkdir $dir ! status=$? ! if test $status -ne 0 && test ! -d $dir; then ! exit $status ! fi ! fi ! fi ! if test "$compiler_o_lo" = yes; then ! output_obj="$libobj" ! command="$command -o $output_obj" ! elif test "$compiler_c_o" = yes; then ! output_obj="$obj" ! command="$command -o $output_obj" ! fi ! ! $run $rm "$output_obj" ! $show "$command" ! if $run eval "$command"; then : else ! test -n "$output_obj" && $run $rm $removelist ! exit 1 fi ! if test "$need_locks" = warn && ! test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then ! echo "\ ! *** ERROR, $lockfile contains: ! `cat $lockfile 2>/dev/null` ! ! but it should contain: ! $srcfile ! ! This indicates that another process is trying to use the same ! temporary object file, and libtool could not work around it because ! your compiler does not support \`-c' and \`-o' together. If you ! repeat this compilation, it may succeed, by chance, but you had better ! avoid parallel builds (make -j) in this platform, or get a better ! compiler." ! ! $run $rm $removelist ! exit 1 ! fi ! ! # Just move the object if needed, then go on to compile the next one ! if test x"$output_obj" != x"$libobj"; then ! $show "$mv $output_obj $libobj" ! if $run $mv $output_obj $libobj; then : ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi fi + + # If we have no pic_flag, then copy the object into place and finish. + if test -z "$pic_flag" && test "$build_old_libs" = yes; then + # Rename the .lo from within objdir to obj + if test -f $obj; then + $show $rm $obj + $run $rm $obj + fi ! $show "$mv $libobj $obj" ! if $run $mv $libobj $obj; then : ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi ! ! xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$xdir" = "X$obj"; then ! xdir="." ! else ! xdir="$xdir" ! fi ! baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"` ! libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` ! # Now arrange that obj and lo_libobj become the same file ! $show "(cd $xdir && $LN_S $baseobj $libobj)" ! if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then ! exit 0 ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi ! fi # Allow error messages only from the first compilation. suppress_output=' >/dev/null 2>&1' *************** *** 345,364 **** # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then # Suppress compiler output if we already did a PIC compilation. ! $show "$base_compile $srcfile$suppress_output" ! if $run eval "$base_compile \$srcfile$suppress_output"; then : else ! $run $rm $obj $libobj ! exit 1 fi fi ! # Create an invalid libtool object if no PIC, so that we do not ! # accidentally link it into a program. ! if test "$build_libtool_libs" != yes; then ! $show "echo timestamp > $libobj" ! $run eval "echo timestamp > \$libobj" || exit $? fi exit 0 --- 546,618 ---- # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then + command="$base_compile $srcfile" + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + output_obj="$obj" + fi + # Suppress compiler output if we already did a PIC compilation. ! command="$command$suppress_output" ! $run $rm "$output_obj" ! $show "$command" ! if $run eval "$command"; then : ! else ! $run $rm $removelist ! exit 1 ! fi ! ! if test "$need_locks" = warn && ! test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then ! echo "\ ! *** ERROR, $lockfile contains: ! `cat $lockfile 2>/dev/null` ! ! but it should contain: ! $srcfile ! ! This indicates that another process is trying to use the same ! temporary object file, and libtool could not work around it because ! your compiler does not support \`-c' and \`-o' together. If you ! repeat this compilation, it may succeed, by chance, but you had better ! avoid parallel builds (make -j) in this platform, or get a better ! compiler." ! ! $run $rm $removelist ! exit 1 ! fi ! ! # Just move the object if needed ! if test x"$output_obj" != x"$obj"; then ! $show "$mv $output_obj $obj" ! if $run $mv $output_obj $obj; then : ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi ! fi ! ! # Create an invalid libtool object if no PIC, so that we do not ! # accidentally link it into a program. ! if test "$build_libtool_libs" != yes; then ! $show "echo timestamp > $libobj" ! $run eval "echo timestamp > \$libobj" || exit $? else ! # Move the .lo from within objdir ! $show "$mv $libobj $lo_libobj" ! if $run $mv $libobj $lo_libobj; then : ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi fi fi ! # Unlock the critical section if it was locked ! if test "$need_locks" != no; then ! $run $rm "$lockfile" fi exit 0 *************** *** 367,394 **** # libtool link mode link) modename="$modename: link" ! CC="$nonopt" ! allow_undefined=yes ! compile_command="$CC" ! finalize_command="$CC" compile_shlibpath= finalize_shlibpath= deplibs= dlfiles= dlprefiles= export_dynamic=no ! hardcode_libdirs= libobjs= link_against_libtool_libs= ltlibs= objs= prev= prevarg= release= rpath= perm_rpath= temp_rpath= vinfo= # We need to know -static, to get the right output filenames. --- 621,858 ---- # libtool link mode link) modename="$modename: link" ! case "$host" in ! *-*-cygwin* | *-*-mingw* | *-*-os2*) ! # It is impossible to link a dll without this setting, and ! # we shouldn't force the makefile maintainer to figure out ! # which system we are compiling for in order to pass an extra ! # flag for every libtool invokation. ! # allow_undefined=no ! ! # FIXME: Unfortunately, there are problems with the above when trying ! # to make a dll which has undefined symbols, in which case not ! # even a static library is built. For now, we need to specify ! # -no-undefined on the libtool link line when we can be certain ! # that all symbols are satisfied, otherwise we get a static library. ! allow_undefined=yes ! ! # This is a source program that is used to create dlls on Windows ! # Don't remove nor modify the starting and closing comments ! # /* ltdll.c starts here */ ! # #define WIN32_LEAN_AND_MEAN ! # #include ! # #undef WIN32_LEAN_AND_MEAN ! # #include ! # ! # #ifndef __CYGWIN__ ! # # ifdef __CYGWIN32__ ! # # define __CYGWIN__ __CYGWIN32__ ! # # endif ! # #endif ! # ! # #ifdef __cplusplus ! # extern "C" { ! # #endif ! # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); ! # #ifdef __cplusplus ! # } ! # #endif ! # ! # #ifdef __CYGWIN__ ! # #include ! # DECLARE_CYGWIN_DLL( DllMain ); ! # #endif ! # HINSTANCE __hDllInstance_base; ! # ! # BOOL APIENTRY ! # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) ! # { ! # __hDllInstance_base = hInst; ! # return TRUE; ! # } ! # /* ltdll.c ends here */ ! # This is a source program that is used to create import libraries ! # on Windows for dlls which lack them. Don't remove nor modify the ! # starting and closing comments ! # /* impgen.c starts here */ ! # /* Copyright (C) 1999 Free Software Foundation, Inc. ! # ! # This file is part of GNU libtool. ! # ! # 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. ! # */ ! # ! # #include /* for printf() */ ! # #include /* for open(), lseek(), read() */ ! # #include /* for O_RDONLY, O_BINARY */ ! # #include /* for strdup() */ ! # ! # static unsigned int ! # pe_get16 (fd, offset) ! # int fd; ! # int offset; ! # { ! # unsigned char b[2]; ! # lseek (fd, offset, SEEK_SET); ! # read (fd, b, 2); ! # return b[0] + (b[1]<<8); ! # } ! # ! # static unsigned int ! # pe_get32 (fd, offset) ! # int fd; ! # int offset; ! # { ! # unsigned char b[4]; ! # lseek (fd, offset, SEEK_SET); ! # read (fd, b, 4); ! # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); ! # } ! # ! # static unsigned int ! # pe_as32 (ptr) ! # void *ptr; ! # { ! # unsigned char *b = ptr; ! # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); ! # } ! # ! # int ! # main (argc, argv) ! # int argc; ! # char *argv[]; ! # { ! # int dll; ! # unsigned long pe_header_offset, opthdr_ofs, num_entries, i; ! # unsigned long export_rva, export_size, nsections, secptr, expptr; ! # unsigned long name_rvas, nexp; ! # unsigned char *expdata, *erva; ! # char *filename, *dll_name; ! # ! # filename = argv[1]; ! # ! # dll = open(filename, O_RDONLY|O_BINARY); ! # if (!dll) ! # return 1; ! # ! # dll_name = filename; ! # ! # for (i=0; filename[i]; i++) ! # if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') ! # dll_name = filename + i +1; ! # ! # pe_header_offset = pe_get32 (dll, 0x3c); ! # opthdr_ofs = pe_header_offset + 4 + 20; ! # num_entries = pe_get32 (dll, opthdr_ofs + 92); ! # ! # if (num_entries < 1) /* no exports */ ! # return 1; ! # ! # export_rva = pe_get32 (dll, opthdr_ofs + 96); ! # export_size = pe_get32 (dll, opthdr_ofs + 100); ! # nsections = pe_get16 (dll, pe_header_offset + 4 +2); ! # secptr = (pe_header_offset + 4 + 20 + ! # pe_get16 (dll, pe_header_offset + 4 + 16)); ! # ! # expptr = 0; ! # for (i = 0; i < nsections; i++) ! # { ! # char sname[8]; ! # unsigned long secptr1 = secptr + 40 * i; ! # unsigned long vaddr = pe_get32 (dll, secptr1 + 12); ! # unsigned long vsize = pe_get32 (dll, secptr1 + 16); ! # unsigned long fptr = pe_get32 (dll, secptr1 + 20); ! # lseek(dll, secptr1, SEEK_SET); ! # read(dll, sname, 8); ! # if (vaddr <= export_rva && vaddr+vsize > export_rva) ! # { ! # expptr = fptr + (export_rva - vaddr); ! # if (export_rva + export_size > vaddr + vsize) ! # export_size = vsize - (export_rva - vaddr); ! # break; ! # } ! # } ! # ! # expdata = (unsigned char*)malloc(export_size); ! # lseek (dll, expptr, SEEK_SET); ! # read (dll, expdata, export_size); ! # erva = expdata - export_rva; ! # ! # nexp = pe_as32 (expdata+24); ! # name_rvas = pe_as32 (expdata+32); ! # ! # printf ("EXPORTS\n"); ! # for (i = 0; i&2 ! fi ! build_libtool_libs=no build_old_libs=yes ! break ! ;; esac done --- 860,882 ---- do case "$arg" in -all-static | -static) ! if test "X$arg" = "X-all-static"; then ! if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 ! fi ! if test -n "$link_static_flag"; then ! dlopen_self=$dlopen_self_static ! fi ! else ! if test -z "$pic_flag" && test -n "$link_static_flag"; then ! dlopen_self=$dlopen_self_static ! fi ! fi ! build_libtool_libs=no build_old_libs=yes ! prefer_static_libs=yes ! break ! ;; esac done *************** *** 410,453 **** test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. ! for arg ! do # If the previous option needs an argument, assign it. if test -n "$prev"; then ! case "$prev" in ! output) ! compile_command="$compile_command @OUTPUT@" ! finalize_command="$finalize_command @OUTPUT@" ! ;; ! esac ! ! case "$prev" in ! dlfiles|dlprefiles) ! case "$arg" in ! *.la | *.lo) ;; # We handle these cases below. ! *) ! dlprefiles="$dlprefiles $arg" ! test "$prev" = dlfiles && dlfiles="$dlfiles $arg" ! prev= ! ;; ! esac ! ;; release) release="-$arg" prev= continue ;; ! rpath) ! rpath="$rpath $arg" prev= continue ;; ! *) ! eval "$prev=\"\$arg\"" ! prev= ! continue ! ;; ! esac fi prevarg="$arg" --- 884,990 ---- test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. ! while test $# -gt 0; do ! arg="$1" ! shift ! # If the previous option needs an argument, assign it. if test -n "$prev"; then ! case "$prev" in ! output) ! compile_command="$compile_command @OUTPUT@" ! finalize_command="$finalize_command @OUTPUT@" ! ;; ! esac ! ! case "$prev" in ! dlfiles|dlprefiles) ! if test "$preload" = no; then ! # Add the symbol object into the linking commands. ! compile_command="$compile_command @SYMFILE@" ! finalize_command="$finalize_command @SYMFILE@" ! preload=yes ! fi ! case "$arg" in ! *.la | *.lo) ;; # We handle these cases below. ! force) ! if test "$dlself" = no; then ! dlself=needless ! export_dynamic=yes ! fi ! prev= ! continue ! ;; ! self) ! if test "$prev" = dlprefiles; then ! dlself=yes ! elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then ! dlself=yes ! else ! dlself=needless ! export_dynamic=yes ! fi ! prev= ! continue ! ;; ! *) ! if test "$prev" = dlfiles; then ! dlfiles="$dlfiles $arg" ! else ! dlprefiles="$dlprefiles $arg" ! fi ! prev= ! ;; ! esac ! ;; ! expsyms) ! export_symbols="$arg" ! if test ! -f "$arg"; then ! $echo "$modename: symbol file \`$arg' does not exist" ! exit 1 ! fi ! prev= ! continue ! ;; ! expsyms_regex) ! export_symbols_regex="$arg" ! prev= ! continue ! ;; release) release="-$arg" prev= continue + ;; + rpath | xrpath) + # We need an absolute path. + case "$arg" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue ;; ! *) ! eval "$prev=\"\$arg\"" prev= continue ;; ! esac fi prevarg="$arg" *************** *** 455,464 **** case "$arg" in -all-static) if test -n "$link_static_flag"; then ! compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" ! fi ! continue ;; -allow-undefined) --- 992,1001 ---- case "$arg" in -all-static) if test -n "$link_static_flag"; then ! compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" ! fi ! continue ;; -allow-undefined) *************** *** 467,512 **** continue ;; -dlopen) ! prev=dlfiles ! continue ! ;; -dlpreopen) ! prev=dlprefiles ! continue ! ;; -export-dynamic) ! if test "$export_dynamic" != yes; then ! export_dynamic=yes ! if test -n "$export_dynamic_flag_spec"; then ! eval arg=\"$export_dynamic_flag_spec\" ! else ! arg= ! fi ! # Add the symbol object into the linking commands. ! compile_command="$compile_command @SYMFILE@" ! finalize_command="$finalize_command @SYMFILE@" ! fi ! ;; -L*) ! dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` ! case "$dir" in ! /* | [A-Za-z]:\\*) ! # Add the corresponding hardcode_libdir_flag, if it is not identical. ! ;; ! *) ! $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2 ! exit 1 ! ;; ! esac ! deplibs="$deplibs $arg" ! ;; ! -l*) deplibs="$deplibs $arg" ;; -no-undefined) allow_undefined=no --- 1004,1100 ---- continue ;; + -avoid-version) + avoid_version=yes + continue + ;; + -dlopen) ! prev=dlfiles ! continue ! ;; -dlpreopen) ! prev=dlprefiles ! continue ! ;; -export-dynamic) ! export_dynamic=yes ! continue ! ;; ! -export-symbols | -export-symbols-regex) ! if test -n "$export_symbols" || test -n "$export_symbols_regex"; then ! $echo "$modename: not more than one -exported-symbols argument allowed" ! exit 1 ! fi ! if test "X$arg" = "X-export-symbols"; then ! prev=expsyms ! else ! prev=expsyms_regex ! fi ! continue ! ;; -L*) ! dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` ! # We need an absolute path. ! case "$dir" in ! [\\/]* | [A-Za-z]:[\\/]*) ;; ! *) ! absdir=`cd "$dir" && pwd` ! if test -z "$absdir"; then ! $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 ! $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 ! absdir="$dir" ! fi ! dir="$absdir" ! ;; ! esac ! case " $deplibs " in ! *" $arg "*) ;; ! *) deplibs="$deplibs $arg";; ! esac ! case " $lib_search_path " in ! *" $dir "*) ;; ! *) lib_search_path="$lib_search_path $dir";; ! esac ! case "$host" in ! *-*-cygwin* | *-*-mingw* | *-*-os2*) ! dllsearchdir=`cd "$dir" && pwd || echo "$dir"` ! case ":$dllsearchpath:" in ! ::) dllsearchpath="$dllsearchdir";; ! *":$dllsearchdir:"*) ;; ! *) dllsearchpath="$dllsearchpath:$dllsearchdir";; ! esac ! ;; ! esac ! ;; ! ! -l*) ! if test "$arg" = "-lc"; then ! case "$host" in ! *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) ! # These systems don't actually have c library (as such) ! continue ! ;; ! esac ! elif test "$arg" = "-lm"; then ! case "$host" in ! *-*-cygwin* | *-*-beos*) ! # These systems don't actually have math library (as such) ! continue ! ;; ! esac ! fi ! deplibs="$deplibs $arg" ! ;; ! -module) ! module=yes ! continue ! ;; -no-undefined) allow_undefined=no *************** *** 521,543 **** ;; -rpath) ! prev=rpath ! continue ! ;; -static) ! # If we have no pic_flag, then this is the same as -all-static. ! if test -z "$pic_flag" && test -n "$link_static_flag"; then ! compile_command="$compile_command $link_static_flag" ! finalize_command="$finalize_command $link_static_flag" ! fi continue ;; -version-info) ! prev=vinfo ! continue ! ;; # Some other compiler flag. -* | +*) --- 1109,1158 ---- ;; -rpath) ! prev=rpath ! continue ! ;; ! ! -R) ! prev=xrpath ! continue ! ;; ! ! -R*) ! dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` ! # We need an absolute path. ! case "$dir" in ! [\\/]* | [A-Za-z]:[\\/]*) ;; ! *) ! $echo "$modename: only absolute run-paths are allowed" 1>&2 ! exit 1 ! ;; ! esac ! case "$xrpath " in ! *" $dir "*) ;; ! *) xrpath="$xrpath $dir" ;; ! esac ! continue ! ;; -static) ! # The effects of -static are defined in a previous loop. ! # We used to do the same as -all-static on platforms that ! # didn't have a PIC flag, but the assumption that the effects ! # would be equivalent was wrong. It would break on at least ! # Digital Unix and AIX. ! continue ! ;; ! ! -thread-safe) ! thread_safe=yes continue ;; -version-info) ! prev=vinfo ! continue ! ;; # Some other compiler flag. -* | +*) *************** *** 549,566 **** arg="\"$arg\"" ;; esac ! ;; ! *.o | *.a) ! # A standard object. ! objs="$objs $arg" ! ;; *.lo) ! # A library object. if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" ! if test "$build_libtool_libs" = yes; then prev= continue else --- 1164,1181 ---- arg="\"$arg\"" ;; esac ! ;; ! *.o | *.obj | *.a | *.lib) ! # A standard object. ! objs="$objs $arg" ! ;; *.lo) ! # A library object. if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" ! if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then prev= continue else *************** *** 571,799 **** if test "$prev" = dlprefiles; then # Preload the old-style object. ! dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'` prev= fi libobjs="$libobjs $arg" ! ;; *.la) ! # A libtool-controlled library. ! ! dlname= ! libdir= ! library_names= ! 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 : ! else ! $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 ! exit 1 ! fi ! ! # If there is no directory component, then add one. ! case "$arg" in ! */* | *\\*) . $arg ;; ! *) . ./$arg ;; ! esac ! ! if test -z "$libdir"; then ! $echo "$modename: \`$arg' contains no -rpath information" 1>&2 ! exit 1 ! fi ! ! # Get the name of the library we link against. ! linklib= ! for l in $old_library $library_names; do ! linklib="$l" ! done ! ! if test -z "$linklib"; then ! $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 ! exit 1 ! fi ! ! # Find the relevant object directory and library name. ! name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` ! dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$dir" = "X$arg"; then ! dir="$objdir" ! else ! dir="$dir/$objdir" ! fi ! ! # This library was specified with -dlopen. ! if test "$prev" = dlfiles; then ! dlfiles="$dlfiles $arg" ! if test -z "$dlname"; then ! # If there is no dlname, we need to preload. ! prev=dlprefiles ! else ! # We should not create a dependency on this library, but we ! # may need any libraries it requires. ! compile_command="$compile_command$dependency_libs" ! finalize_command="$finalize_command$dependency_libs" ! prev= ! continue ! fi ! fi ! ! # The library was specified with -dlpreopen. ! if test "$prev" = dlprefiles; then ! # Prefer using a static library (so that no silly _DYNAMIC symbols ! # are required to link). ! if test -n "$old_library"; then ! dlprefiles="$dlprefiles $dir/$old_library" ! else ! dlprefiles="$dlprefiles $dir/$linklib" ! fi ! prev= ! fi ! ! if test "$build_libtool_libs" = yes && test -n "$library_names"; then ! link_against_libtool_libs="$link_against_libtool_libs $arg" ! if test -n "$shlibpath_var"; then ! # Make sure the rpath contains only unique directories. ! case "$temp_rpath " in ! *" $dir "*) ;; ! *) temp_rpath="$temp_rpath $dir" ;; ! esac ! fi ! # This is the magic to use -rpath. ! if test -n "$hardcode_libdir_flag_spec"; then ! if test -n "$hardcode_libdir_separator"; then ! if test -z "$hardcode_libdirs"; then ! # Put the magic libdir with the hardcode flag. ! hardcode_libdirs="$libdir" ! libdir="@HARDCODE_LIBDIRS@" ! else ! # Just accumulate the unique libdirs. ! case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in ! *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ! ;; ! *) ! hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ! ;; ! esac ! libdir= ! fi ! fi ! ! if test -n "$libdir"; then ! eval flag=\"$hardcode_libdir_flag_spec\" ! ! compile_command="$compile_command $flag" ! finalize_command="$finalize_command $flag" ! fi ! elif test -n "$runpath_var"; then ! # Do the same for the permanent run path. ! case "$perm_rpath " in ! *" $libdir "*) ;; ! *) perm_rpath="$perm_rpath $libdir" ;; ! esac ! fi ! ! ! case "$hardcode_action" in ! immediate) ! if test "$hardcode_direct" = no; then ! compile_command="$compile_command $dir/$linklib" ! elif test "$hardcode_minus_L" = no; then ! compile_command="$compile_command -L$dir -l$name" ! elif test "$hardcode_shlibpath_var" = no; then ! compile_shlibpath="$compile_shlibpath$dir:" ! compile_command="$compile_command -l$name" ! fi ! ;; ! ! relink) ! # We need an absolute path. ! case "$dir" in ! /* | [A-Za-z]:\\*) ;; ! *) ! absdir=`cd "$dir" && pwd` ! if test -z "$absdir"; then ! $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 ! exit 1 ! fi ! dir="$absdir" ! ;; ! esac ! ! if test "$hardcode_direct" = yes; then ! compile_command="$compile_command $dir/$linklib" ! elif test "$hardcode_minus_L" = yes; then ! compile_command="$compile_command -L$dir -l$name" ! elif test "$hardcode_shlibpath_var" = yes; then ! compile_shlibpath="$compile_shlibpath$dir:" ! 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. ! if test "$hardcode_direct" = yes; then ! finalize_command="$finalize_command $libdir/$linklib" ! elif test "$hardcode_minus_L" = yes; then ! finalize_command="$finalize_command -L$libdir -l$name" ! elif test "$hardcode_shlibpath_var" = yes; then ! finalize_shlibpath="$finalize_shlibpath$libdir:" ! finalize_command="$finalize_command -l$name" ! else ! # We cannot seem to hardcode it, guess we'll fake it. ! finalize_command="$finalize_command -L$libdir -l$name" ! fi ! else ! # Transform directly to old archives if we don't build new libraries. ! if test -n "$pic_flag" && test -z "$old_library"; then ! $echo "$modename: cannot find static library for \`$arg'" 1>&2 ! exit 1 ! fi ! # Here we assume that one of hardcode_direct or hardcode_minus_L ! # is not unsupported. This is valid on all known static and ! # shared platforms. ! if test "$hardcode_direct" != unsupported; then ! test -n "$old_library" && linklib="$old_library" ! compile_command="$compile_command $dir/$linklib" ! finalize_command="$finalize_command $dir/$linklib" ! else ! compile_command="$compile_command -L$dir -l$name" ! finalize_command="$finalize_command -L$dir -l$name" ! fi ! fi ! # Add in any libraries that this one depends upon. ! compile_command="$compile_command$dependency_libs" ! finalize_command="$finalize_command$dependency_libs" ! continue ! ;; ! # Some other compiler argument. ! *) ! # Unknown arguments in both finalize_command and compile_command need ! # to be aesthetically quoted because they are evaled later. ! arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case "$arg" in ! *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) ! arg="\"$arg\"" ! ;; esac - ;; - esac ! # Now actually substitute the argument into the commands. ! if test -n "$arg"; then ! compile_command="$compile_command $arg" ! finalize_command="$finalize_command $arg" ! fi done if test -n "$prev"; then --- 1186,1511 ---- if test "$prev" = dlprefiles; then # Preload the old-style object. ! dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` prev= fi libobjs="$libobjs $arg" ! ;; *.la) ! # A libtool-controlled library. ! dlname= ! libdir= ! library_names= ! old_library= ! # Check to see that this really is a libtool archive. ! 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 ! fi ! # If the library was installed with an old release of libtool, ! # it will not redefine variable installed. ! installed=yes ! # Read the .la file ! # If there is no directory component, then add one. case "$arg" in ! */* | *\\*) . $arg ;; ! *) . ./$arg ;; esac ! # Get the name of the library we link against. ! linklib= ! for l in $old_library $library_names; do ! linklib="$l" ! done ! ! if test -z "$linklib"; then ! $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 ! exit 1 ! fi ! ! # Find the relevant object directory and library name. ! name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` ! ! if test "X$installed" = Xyes; then ! dir="$libdir" ! else ! dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$dir" = "X$arg"; then ! dir="$objdir" ! else ! dir="$dir/$objdir" ! fi ! fi ! ! if test -n "$dependency_libs"; then ! # Extract -R and -L from dependency_libs ! temp_deplibs= ! for deplib in $dependency_libs; do ! case "$deplib" in ! -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'` ! case " $rpath $xrpath " in ! *" $temp_xrpath "*) ;; ! *) xrpath="$xrpath $temp_xrpath";; ! esac;; ! -L*) case "$compile_command $temp_deplibs " in ! *" $deplib "*) ;; ! *) temp_deplibs="$temp_deplibs $deplib";; ! esac ! temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'` ! case " $lib_search_path " in ! *" $temp_dir "*) ;; ! *) lib_search_path="$lib_search_path $temp_dir";; ! esac ! ;; ! *) temp_deplibs="$temp_deplibs $deplib";; ! esac ! done ! dependency_libs="$temp_deplibs" ! fi ! ! if test -z "$libdir"; then ! # It is a libtool convenience library, so add in its objects. ! convenience="$convenience $dir/$old_library" ! old_convenience="$old_convenience $dir/$old_library" ! deplibs="$deplibs$dependency_libs" ! compile_command="$compile_command $dir/$old_library$dependency_libs" ! finalize_command="$finalize_command $dir/$old_library$dependency_libs" ! continue ! fi ! ! # This library was specified with -dlopen. ! if test "$prev" = dlfiles; then ! dlfiles="$dlfiles $arg" ! if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then ! # If there is no dlname, no dlopen support or we're linking statically, ! # we need to preload. ! prev=dlprefiles ! else ! # We should not create a dependency on this library, but we ! # may need any libraries it requires. ! compile_command="$compile_command$dependency_libs" ! finalize_command="$finalize_command$dependency_libs" ! prev= ! continue ! fi ! fi ! ! # The library was specified with -dlpreopen. ! if test "$prev" = dlprefiles; then ! # Prefer using a static library (so that no silly _DYNAMIC symbols ! # are required to link). ! if test -n "$old_library"; then ! dlprefiles="$dlprefiles $dir/$old_library" ! # Otherwise, use the dlname, so that lt_dlopen finds it. ! elif test -n "$dlname"; then ! dlprefiles="$dlprefiles $dir/$dlname" ! else ! dlprefiles="$dlprefiles $dir/$linklib" ! fi ! prev= ! fi ! ! if test -n "$library_names" && ! { test "$prefer_static_libs" = no || test -z "$old_library"; }; then ! link_against_libtool_libs="$link_against_libtool_libs $arg" ! if test -n "$shlibpath_var"; then ! # Make sure the rpath contains only unique directories. ! case "$temp_rpath " in ! *" $dir "*) ;; ! *) temp_rpath="$temp_rpath $dir" ;; ! esac ! fi ! ! # We need an absolute path. ! case "$dir" in ! [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;; ! *) ! absdir=`cd "$dir" && pwd` ! if test -z "$absdir"; then ! $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 ! $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 ! absdir="$dir" ! fi ! ;; ! esac ! ! # This is the magic to use -rpath. ! # Skip directories that are in the system default run-time ! # search path, unless they have been requested with -R. ! case " $sys_lib_dlsearch_path " in ! *" $absdir "*) ;; ! *) ! case "$compile_rpath " in ! *" $absdir "*) ;; ! *) compile_rpath="$compile_rpath $absdir" ! esac ! ;; ! esac ! ! case " $sys_lib_dlsearch_path " in ! *" $libdir "*) ;; ! *) ! case "$finalize_rpath " in ! *" $libdir "*) ;; ! *) finalize_rpath="$finalize_rpath $libdir" ! esac ! ;; ! esac ! ! lib_linked=yes ! case "$hardcode_action" in ! immediate | unsupported) ! if test "$hardcode_direct" = no; then ! compile_command="$compile_command $dir/$linklib" ! deplibs="$deplibs $dir/$linklib" ! case "$host" in ! *-*-cygwin* | *-*-mingw* | *-*-os2*) ! dllsearchdir=`cd "$dir" && pwd || echo "$dir"` ! if test -n "$dllsearchpath"; then ! dllsearchpath="$dllsearchpath:$dllsearchdir" ! else ! dllsearchpath="$dllsearchdir" ! fi ! ;; ! esac ! elif test "$hardcode_minus_L" = no; then ! case "$host" in ! *-*-sunos*) ! compile_shlibpath="$compile_shlibpath$dir:" ! ;; ! esac ! case "$compile_command " in ! *" -L$dir "*) ;; ! *) compile_command="$compile_command -L$dir";; ! esac ! compile_command="$compile_command -l$name" ! deplibs="$deplibs -L$dir -l$name" ! elif test "$hardcode_shlibpath_var" = no; then ! case ":$compile_shlibpath:" in ! *":$dir:"*) ;; ! *) compile_shlibpath="$compile_shlibpath$dir:";; ! esac ! compile_command="$compile_command -l$name" ! deplibs="$deplibs -l$name" ! else ! lib_linked=no ! fi ! ;; ! ! relink) ! if test "$hardcode_direct" = yes; then ! compile_command="$compile_command $absdir/$linklib" ! deplibs="$deplibs $absdir/$linklib" ! elif test "$hardcode_minus_L" = yes; then ! case "$compile_command " in ! *" -L$absdir "*) ;; ! *) compile_command="$compile_command -L$absdir";; ! esac ! compile_command="$compile_command -l$name" ! deplibs="$deplibs -L$absdir -l$name" ! elif test "$hardcode_shlibpath_var" = yes; then ! case ":$compile_shlibpath:" in ! *":$absdir:"*) ;; ! *) compile_shlibpath="$compile_shlibpath$absdir:";; ! esac ! compile_command="$compile_command -l$name" ! deplibs="$deplibs -l$name" ! else ! lib_linked=no ! fi ! ;; ! ! *) ! lib_linked=no ! ;; ! esac ! ! if test "$lib_linked" != yes; then ! $echo "$modename: configuration error: unsupported hardcode properties" ! exit 1 ! fi ! ! # Finalize command for both is simple: just hardcode it. ! if test "$hardcode_direct" = yes; then ! finalize_command="$finalize_command $libdir/$linklib" ! elif test "$hardcode_minus_L" = yes; then ! case "$finalize_command " in ! *" -L$libdir "*) ;; ! *) finalize_command="$finalize_command -L$libdir";; ! esac ! finalize_command="$finalize_command -l$name" ! elif test "$hardcode_shlibpath_var" = yes; then ! case ":$finalize_shlibpath:" in ! *":$libdir:"*) ;; ! *) finalize_shlibpath="$finalize_shlibpath$libdir:";; ! esac ! finalize_command="$finalize_command -l$name" ! else ! # We cannot seem to hardcode it, guess we'll fake it. ! case "$finalize_command " in ! *" -L$dir "*) ;; ! *) finalize_command="$finalize_command -L$libdir";; ! esac ! finalize_command="$finalize_command -l$name" ! fi ! else ! # Transform directly to old archives if we don't build new libraries. ! if test -n "$pic_flag" && test -z "$old_library"; then ! $echo "$modename: cannot find static library for \`$arg'" 1>&2 ! exit 1 ! fi ! ! # Here we assume that one of hardcode_direct or hardcode_minus_L ! # is not unsupported. This is valid on all known static and ! # shared platforms. ! if test "$hardcode_direct" != unsupported; then ! test -n "$old_library" && linklib="$old_library" ! compile_command="$compile_command $dir/$linklib" ! finalize_command="$finalize_command $dir/$linklib" ! else ! case "$compile_command " in ! *" -L$dir "*) ;; ! *) compile_command="$compile_command -L$dir";; ! esac ! compile_command="$compile_command -l$name" ! case "$finalize_command " in ! *" -L$dir "*) ;; ! *) finalize_command="$finalize_command -L$dir";; ! esac ! finalize_command="$finalize_command -l$name" ! fi ! fi ! ! # Add in any libraries that this one depends upon. ! compile_command="$compile_command$dependency_libs" ! finalize_command="$finalize_command$dependency_libs" ! continue ! ;; ! ! # Some other compiler argument. ! *) ! # Unknown arguments in both finalize_command and compile_command need ! # to be aesthetically quoted because they are evaled later. ! arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` ! case "$arg" in ! *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) ! arg="\"$arg\"" ! ;; ! esac ! ;; ! esac ! ! # Now actually substitute the argument into the commands. ! if test -n "$arg"; then ! compile_command="$compile_command $arg" ! finalize_command="$finalize_command $arg" ! fi done if test -n "$prev"; then *************** *** 802,815 **** exit 1 fi ! if test -n "$vinfo" && test -n "$release"; then ! $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 fi ! oldlib= ! oldobjs= case "$output" in "") $echo "$modename: you must specify an output file" 1>&2 --- 1514,1530 ---- exit 1 fi ! if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then ! eval arg=\"$export_dynamic_flag_spec\" ! compile_command="$compile_command $arg" ! finalize_command="$finalize_command $arg" fi ! oldlibs= ! # calculate the name of the file, without its directory ! outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` ! libobjs_save="$libobjs" ! case "$output" in "") $echo "$modename: you must specify an output file" 1>&2 *************** *** 817,880 **** exit 1 ;; ! */* | *\\*) ! $echo "$modename: output file \`$output' must have no directory components" 1>&2 ! exit 1 ! ;; ! *.a) # Now set the variables for building old libraries. build_libtool_libs=no ! build_old_libs=yes ! oldlib="$output" ! $show "$rm $oldlib" ! $run $rm $oldlib ;; *.la) # Make sure we only generate libraries of the form `libNAME.la'. ! case "$output" in ! lib*) ;; *) ! $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ;; esac ! name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'` ! eval libname=\"$libname_spec\" ! ! # All the library-specific variables (install_libdir is set above). ! library_names= ! old_library= ! dlname= ! current=0 ! revision=0 ! age=0 if test -n "$objs"; then ! $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 ! exit 1 fi # How the heck are we supposed to write a wrapper for a shared library? if test -n "$link_against_libtool_libs"; then ! $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2 ! exit 1 ! fi ! ! if test -n "$dlfiles$dlprefiles"; then ! $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2 ! # Nullify the symbol file. ! compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi ! if test -z "$rpath"; then ! $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 fi set dummy $rpath --- 1532,1619 ---- exit 1 ;; ! *.a | *.lib) ! if test -n "$link_against_libtool_libs"; then ! $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 ! exit 1 ! fi ! if test -n "$deplibs"; then ! $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ! fi ! ! if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then ! $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 ! fi ! ! if test -n "$rpath"; then ! $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 ! fi ! ! if test -n "$xrpath"; then ! $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 ! fi ! ! if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 ! fi ! ! if test -n "$release"; then ! $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 ! fi ! ! if test -n "$export_symbols" || test -n "$export_symbols_regex"; then ! $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 ! fi ! # Now set the variables for building old libraries. build_libtool_libs=no ! oldlibs="$output" ;; *.la) # Make sure we only generate libraries of the form `libNAME.la'. ! case "$outputname" in ! lib*) ! name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` ! eval libname=\"$libname_spec\" ! ;; *) ! if test "$module" = no; then ! $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! fi ! if test "$need_lib_prefix" != no; then ! # Add the "lib" prefix for modules if required ! name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` ! eval libname=\"$libname_spec\" ! else ! libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` ! fi ;; esac ! output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$output_objdir" = "X$output"; then ! output_objdir="$objdir" ! else ! output_objdir="$output_objdir/$objdir" ! fi if test -n "$objs"; then ! $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 ! exit 1 fi # How the heck are we supposed to write a wrapper for a shared library? if test -n "$link_against_libtool_libs"; then ! $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 ! exit 1 fi ! if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then ! $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 fi set dummy $rpath *************** *** 883,1469 **** fi install_libdir="$2" ! # Parse the version information argument. ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' ! set dummy $vinfo ! IFS="$save_ifs" ! if test -n "$5"; then ! $echo "$modename: too many parameters to \`-version-info'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! fi ! test -n "$2" && current="$2" ! test -n "$3" && revision="$3" ! test -n "$4" && age="$4" ! ! # Check that each of the things are valid numbers. ! case "$current" in ! 0 | [1-9] | [1-9][0-9]*) ;; ! *) ! $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! ;; ! esac ! case "$revision" in ! 0 | [1-9] | [1-9][0-9]*) ;; ! *) ! $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! ;; ! esac ! case "$age" in ! 0 | [1-9] | [1-9][0-9]*) ;; ! *) ! $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! ;; ! esac ! if test $age -gt $current; then ! $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! fi ! ! # Calculate the version variables. ! version_vars="version_type current age revision" ! case "$version_type" in ! none) ;; ! ! linux) ! version_vars="$version_vars major versuffix" ! 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" ! ! # Add in all the interfaces that we are compatible with. ! loop=$age ! while test $loop != 0; do ! iface=`expr $current - $loop` ! loop=`expr $loop - 1` ! verstring="$verstring:${iface}.0" ! done ! ! # Make executables depend on our current version. ! verstring="$verstring:${current}.0" ! ;; ! ! sunos) ! version_vars="$version_vars major versuffix" ! major="$current" ! versuffix="$current.$revision" ! ;; ! *) ! $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 # Create the output directory, or remove our outputs if we need to. ! if test -d $objdir; then ! $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*" ! $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.* else ! $show "$mkdir $objdir" ! $run $mkdir $objdir status=$? ! if test $status -eq 0 || test -d $objdir; then : ! else exit $status fi fi ! # Check to see if the archive will have undefined symbols. ! if test "$allow_undefined" = yes; then ! if test "$allow_undefined_flag" = unsupported; then ! $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 ! build_libtool_libs=no ! build_old_libs=yes ! fi ! else ! # Don't allow undefined symbols. ! allow_undefined_flag="$no_undefined_flag" fi ! # Add libc to deplibs on all systems. ! dependency_libs="$deplibs" ! deplibs="$deplibs -lc" if test "$build_libtool_libs" = yes; then ! # Get the real and link names of the library. ! eval library_names=\"$library_names_spec\" ! set dummy $library_names ! realname="$2" ! shift; shift ! ! if test -n "$soname_spec"; then ! eval soname=\"$soname_spec\" ! else ! soname="$realname" ! fi ! lib="$objdir/$realname" for link do linknames="$linknames $link" 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'` ! # Do each of the archive commands. ! eval cmds=\"$archive_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" ! ! # Create links to the real library. ! for linkname in $linknames; do ! $show "(cd $objdir && $LN_S $realname $linkname)" ! $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $? ! done ! ! # If -export-dynamic was specified, set the dlname. ! if test "$export_dynamic" = yes; then ! # On all known operating systems, these are identical. ! dlname="$soname" ! fi ! fi ! # Now set the variables for building old libraries. ! oldlib="$objdir/$libname.a" ;; ! *.lo | *.o) if test -n "$link_against_libtool_libs"; then ! $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2 ! exit 1 fi if test -n "$deplibs"; then ! $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2 fi ! if test -n "$dlfiles$dlprefiles"; then ! $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2 ! # Nullify the symbol file. ! compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test -n "$rpath"; then ! $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2 fi if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2 fi if test -n "$release"; then ! $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 fi case "$output" in *.lo) ! if test -n "$objs"; then ! $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 ! exit 1 ! fi ! libobj="$output" ! obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'` ! ;; *) ! libobj= ! obj="$output" ! ;; esac # Delete the old objects. $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'` output="$obj" eval cmds=\"$reload_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? done IFS="$save_ifs" # Exit if we aren't doing a library object file. ! test -z "$libobj" && exit 0 if test "$build_libtool_libs" != yes; then ! # Create an invalid libtool object if no PIC, so that we don't ! # accidentally link it into a program. ! $show "echo timestamp > $libobj" ! $run eval "echo timestamp > $libobj" || exit $? ! exit 0 fi if test -n "$pic_flag"; then ! # Only do commands if we really have different PIC objects. ! reload_objs="$libobjs" ! output="$libobj" ! eval cmds=\"$reload_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" else ! # Just create a symlink. ! $show "$LN_S $obj $libobj" ! $run $LN_S $obj $libobj || exit 1 fi exit 0 ;; *) if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2 fi if test -n "$release"; then ! $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 fi ! if test -n "$rpath"; then # If the user specified any rpath flags, then add them. ! for libdir in $rpath; do ! if test -n "$hardcode_libdir_flag_spec"; then ! if test -n "$hardcode_libdir_separator"; then ! if test -z "$hardcode_libdirs"; then ! # Put the magic libdir with the hardcode flag. ! hardcode_libdirs="$libdir" ! libdir="@HARDCODE_LIBDIRS@" ! else ! # Just accumulate the unique libdirs. ! case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in ! *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ! ;; ! *) ! hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ! ;; ! esac ! libdir= ! fi ! fi ! ! if test -n "$libdir"; then ! eval flag=\"$hardcode_libdir_flag_spec\" ! ! compile_command="$compile_command $flag" ! finalize_command="$finalize_command $flag" ! fi ! elif test -n "$runpath_var"; then ! case "$perm_rpath " in ! *" $libdir "*) ;; ! *) perm_rpath="$perm_rpath $libdir" ;; ! esac ! fi done fi ! # Substitute the hardcoded libdirs into the compile commands. ! if test -n "$hardcode_libdir_separator"; then ! compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` fi 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/ $//'` ! fi ! ! if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then ! dlsyms="${output}S.c" ! else ! dlsyms= fi - - 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/ $//'` ! # Discover the nlist of each of the dlfiles. ! nlist="$objdir/${output}.nm" ! ! if test -d $objdir; then ! $show "$rm $nlist ${nlist}T" ! $run $rm "$nlist" "${nlist}T" else ! $show "$mkdir $objdir" ! $run $mkdir $objdir ! status=$? ! if test $status -eq 0 || test -d $objdir; then : ! else ! exit $status ! fi fi ! ! for arg in $dlprefiles; do ! $show "extracting global C symbols from \`$arg'" ! $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" ! done ! ! # Parse the name list into a source file. ! $show "creating $objdir/$dlsyms" ! if test -z "$run"; then ! # Make sure we at least have an empty file. ! test -f "$nlist" || : > "$nlist" ! ! # 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 "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` ! (test "$count" -ge 0) 2>/dev/null || count=-1 ! else ! $rm "$nlist"T ! count=-1 ! fi ! case "$dlsyms" in ! "") ;; ! *.c) ! $echo > "$objdir/$dlsyms" "\ ! /* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */ ! /* Generated by $PROGRAM - GNU $PACKAGE $VERSION */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ ! #define dld_preloaded_symbol_count some_other_symbol ! #define dld_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " ! if test -f "$nlist"; then ! sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms" else ! echo '/* NONE */' >> "$objdir/$dlsyms" fi ! $echo >> "$objdir/$dlsyms" "\ ! #undef dld_preloaded_symbol_count ! #undef dld_preloaded_symbols #if defined (__STDC__) && __STDC__ ! # define __ptr_t void * #else ! # define __ptr_t char * #endif - /* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ - int dld_preloaded_symbol_count = $count; - /* The mapping between symbol names and symbols. */ ! struct { ! char *name; ! __ptr_t address; } ! dld_preloaded_symbols[] = {\ " ! if test -f "$nlist"; then ! sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms" ! fi ! $echo >> "$objdir/$dlsyms" "\ ! {0, (__ptr_t) 0} }; #ifdef __cplusplus } #endif\ " ! ;; ! *) ! $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 ! exit 1 ! ;; esac - fi ! # Now compile the dynamic symbol file. ! $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")" ! $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%"` ! elif test "$export_dynamic" != yes; then ! test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2 else ! # We keep going just in case the user didn't refer to ! # dld_preloaded_symbols. The linker will fail if global_symbol_pipe ! # really was required. ! $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 ! ! # Nullify the symbol file. ! compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then ! # Replace the output file specification. ! compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` ! ! # We have no uninstalled library dependencies, so finalize right now. ! $show "$compile_command" ! $run eval "$compile_command" ! exit $? ! fi ! ! # Replace the output file specification. ! compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'` ! ! # Create the binary in the object directory, then wrap it. ! if test -d $objdir; then : ! else ! $show "$mkdir $objdir" ! $run $mkdir $objdir status=$? ! if test $status -eq 0 || test -d $objdir; then : ! else ! exit $status fi fi if test -n "$shlibpath_var"; then ! # We should set the shlibpath_var ! rpath= ! for dir in $temp_rpath; do ! case "$dir" in ! /* | [A-Za-z]:\\*) ! # Absolute path. ! rpath="$rpath$dir:" ! ;; ! *) ! # Relative path: add a thisdir entry. ! rpath="$rpath\$thisdir/$dir:" ! ;; ! esac ! done ! temp_rpath="$rpath" fi ! # Delete the old output file. ! $run $rm $output ! ! if test -n "$compile_shlibpath"; then ! compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then ! finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi ! if test -n "$runpath_var" && test -n "$perm_rpath"; then ! # We should set the runpath_var. ! rpath= ! for dir in $perm_rpath; do ! rpath="$rpath$dir:" ! done ! compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command" ! finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command" ! fi ! ! case "$hardcode_action" in ! relink) ! # 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 ! $show "$compile_command" ! $run eval "$compile_command" || exit $? # Now create the wrapper script. $show "creating $output" ! # Quote the finalize command for shipping. ! finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"` # Quote $echo for shipping. ! qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` # Only actually do things if our run command is non-null. if test -z "$run"; then ! $rm $output ! trap "$rm $output; exit 1" 1 2 15 ! $echo > $output "\ ! #! /bin/sh ! # $output - temporary wrapper script for $objdir/$output ! # Generated by ltmain.sh - GNU $PACKAGE $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # ! # This wrapper script should never be moved out of \``pwd`'. # If it is, it will not operate correctly. # 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='$sed_quote_subst' # 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 # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then ! # install mode needs the following variables: link_against_libtool_libs='$link_against_libtool_libs' - finalize_command=\"$finalize_command\" else # When we are sourced in execute mode, \$file and \$echo are already set. ! if test \"\$libtool_execute_magic\" = \"$magic\"; then : ! else echo=\"$qecho\" file=\"\$0\" fi\ " ! $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` --- 1622,2856 ---- fi install_libdir="$2" ! oldlibs= ! if test -z "$rpath"; then ! if test "$build_libtool_libs" = yes; then ! # Building a libtool convenience library. ! libext=al ! oldlibs="$output_objdir/$libname.$libext $oldlibs" ! build_libtool_libs=convenience ! build_old_libs=yes ! fi ! dependency_libs="$deplibs" ! if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 ! fi ! if test -n "$release"; then ! $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 ! fi ! else ! # Parse the version information argument. ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' ! set dummy $vinfo 0 0 0 ! IFS="$save_ifs" ! ! if test -n "$8"; then ! $echo "$modename: too many parameters to \`-version-info'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! fi ! current="$2" ! revision="$3" ! age="$4" ! ! # Check that each of the things are valid numbers. ! case "$current" in ! 0 | [1-9] | [1-9][0-9]*) ;; ! *) ! $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! ;; ! esac ! case "$revision" in ! 0 | [1-9] | [1-9][0-9]*) ;; ! *) ! $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! ;; ! esac ! case "$age" in ! 0 | [1-9] | [1-9][0-9]*) ;; ! *) ! $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! ;; ! esac ! ! if test $age -gt $current; then ! $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 ! $echo "$modename: \`$vinfo' is not valid version information" 1>&2 ! exit 1 ! fi ! ! # Calculate the version variables. ! major= ! versuffix= ! verstring= ! case "$version_type" in ! none) ;; ! ! irix) ! major=`expr $current - $age + 1` ! verstring="sgi$major.$revision" ! ! # Add in all the interfaces that we are compatible with. ! loop=$revision ! while test $loop != 0; do ! iface=`expr $revision - $loop` ! loop=`expr $loop - 1` ! verstring="sgi$major.$iface:$verstring" ! done ! ! # Before this point, $major must not contain `.'. ! major=.$major ! versuffix="$major.$revision" ! ;; ! ! linux) ! major=.`expr $current - $age` ! versuffix="$major.$age.$revision" ! ;; ! ! osf) ! major=`expr $current - $age` ! versuffix=".$current.$age.$revision" ! verstring="$current.$age.$revision" ! ! # Add in all the interfaces that we are compatible with. ! loop=$age ! while test $loop != 0; do ! iface=`expr $current - $loop` ! loop=`expr $loop - 1` ! verstring="$verstring:${iface}.0" ! done ! ! # Make executables depend on our current version. ! verstring="$verstring:${current}.0" ! ;; ! ! sunos) ! major=".$current" ! versuffix=".$current.$revision" ! ;; + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + windows) + # Like Linux, but with '-' rather than '.', since we only + # want one extension on Windows 95. + major=`expr $current - $age` + versuffix="-$major-$age-$revision" + ;; + + *) + $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 + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + verstring="0.0" + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + + dependency_libs="$deplibs" + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody*) + # rhapsody is a little odd... + deplibs="$deplibs -framework System" + ;; + *) + # Add libc to deplibs on all other systems. + deplibs="$deplibs -lc" + ;; + esac + fi + # Create the output directory, or remove our outputs if we need to. ! if test -d $output_objdir; then ! $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" ! $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* else ! $show "$mkdir $output_objdir" ! $run $mkdir $output_objdir status=$? ! if test $status -ne 0 && test ! -d $output_objdir; then exit $status fi fi ! # Now set the variables for building old libraries. ! if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then ! oldlibs="$oldlibs $output_objdir/$libname.$libext" ! ! # Transform .lo files to .o files. ! oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi ! if test "$build_libtool_libs" = yes; then ! # Transform deplibs into only deplibs that can be linked in shared. ! name_save=$name ! libname_save=$libname ! release_save=$release ! versuffix_save=$versuffix ! major_save=$major ! # I'm not sure if I'm treating the release correctly. I think ! # release should show up in the -l (ie -lgmp5) so we don't want to ! # add it in twice. Is that correct? ! release="" ! versuffix="" ! major="" ! newdeplibs= ! droppeddeps=no ! case "$deplibs_check_method" in ! pass_all) ! # Don't check for shared/static. Everything works. ! # This might be a little naive. We might want to check ! # whether the library exists or not. But this is on ! # osf3 & osf4 and I'm not really sure... Just ! # implementing what was already the behaviour. ! newdeplibs=$deplibs ! ;; ! test_compile) ! # This code stresses the "libraries are programs" paradigm to its ! # limits. Maybe even breaks it. We compile a program, linking it ! # against the deplibs as a proxy for the library. Then we can check ! # whether they linked in statically or dynamically with ldd. ! $rm conftest.c ! cat > conftest.c </dev/null` ! for potent_lib in $potential_libs; do ! # Follow soft links. ! if ls -lLd "$potent_lib" 2>/dev/null \ ! | grep " -> " >/dev/null; then ! continue ! fi ! # The statement above tries to avoid entering an ! # endless loop below, in case of cyclic links. ! # We might still enter an endless loop, since a link ! # loop can be closed while we follow links, ! # but so what? ! potlib="$potent_lib" ! while test -h "$potlib" 2>/dev/null; do ! potliblink=`ls -ld $potlib | sed 's/.* -> //'` ! case "$potliblink" in ! [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; ! *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; ! esac ! done ! if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ ! | sed 10q \ ! | egrep "$file_magic_regex" > /dev/null; then ! newdeplibs="$newdeplibs $a_deplib" ! a_deplib="" ! break 2 ! fi ! done ! done ! if test -n "$a_deplib" ; then ! droppeddeps=yes ! echo ! echo "*** Warning: This library needs some functionality provided by $a_deplib." ! echo "*** I have the capability to make that library automatically link in when" ! echo "*** you link to this library. But I can only do this if you have a" ! echo "*** shared version of the library, which you do not appear to have." ! fi ! else ! # Add a -L argument. ! newdeplibs="$newdeplibs $a_deplib" ! fi ! done # Gone through all deplibs. ! ;; ! none | unknown | *) ! newdeplibs="" ! if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ ! -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | ! grep . >/dev/null; then ! echo ! if test "X$deplibs_check_method" = "Xnone"; then ! echo "*** Warning: inter-library dependencies are not supported in this platform." ! else ! echo "*** Warning: inter-library dependencies are not known to be supported." ! fi ! echo "*** All declared inter-library dependencies are being dropped." ! droppeddeps=yes ! fi ! ;; ! esac ! versuffix=$versuffix_save ! major=$major_save ! release=$release_save ! libname=$libname_save ! name=$name_save ! ! if test "$droppeddeps" = yes; then ! if test "$module" = yes; then ! echo ! echo "*** Warning: libtool could not satisfy all declared inter-library" ! echo "*** dependencies of module $libname. Therefore, libtool will create" ! echo "*** a static module, that should work as long as the dlopening" ! echo "*** application is linked with the -dlopen flag." ! if test -z "$global_symbol_pipe"; then ! echo ! echo "*** However, this would only work if libtool was able to extract symbol" ! echo "*** lists from a program, using \`nm' or equivalent, but libtool could" ! echo "*** not find such a program. So, this module is probably useless." ! echo "*** \`nm' from GNU binutils and a full rebuild may help." ! fi ! if test "$build_old_libs" = no; then ! oldlibs="$output_objdir/$libname.$libext" ! build_libtool_libs=module ! build_old_libs=yes ! else ! build_libtool_libs=no ! fi ! else ! echo "*** The inter-library dependencies that have been dropped here will be" ! echo "*** automatically added whenever a program is linked with this library" ! echo "*** or is declared to -dlopen it." ! fi ! fi ! # Done checking deplibs! ! deplibs=$newdeplibs ! fi + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then ! # Get the real and link names of the library. ! eval library_names=\"$library_names_spec\" ! set dummy $library_names ! realname="$2" ! shift; shift ! ! if test -n "$soname_spec"; then ! eval soname=\"$soname_spec\" ! else ! soname="$realname" ! fi ! lib="$output_objdir/$realname" for link do linknames="$linknames $link" done ! # Ensure that we have .o objects for linkers which dislike .lo ! # (e.g. aix) in case we are running --disable-static ! for obj in $libobjs; do ! xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$xdir" = "X$obj"; then ! xdir="." ! else ! xdir="$xdir" ! fi ! baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` ! oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` ! if test ! -f $xdir/$oldobj; then ! $show "(cd $xdir && ${LN_S} $baseobj $oldobj)" ! $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $? ! fi ! done ! # Use standard objects if they are pic ! test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` ! # Prepare the list of exported symbols ! if test -z "$export_symbols"; then ! if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then ! $show "generating symbol list for \`$libname.la'" ! export_symbols="$output_objdir/$libname.exp" ! $run $rm $export_symbols ! eval cmds=\"$export_symbols_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" ! if test -n "$export_symbols_regex"; then ! $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" ! $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' ! $show "$mv \"${export_symbols}T\" \"$export_symbols\"" ! $run eval '$mv "${export_symbols}T" "$export_symbols"' ! fi ! fi ! fi ! ! if test -n "$export_symbols" && test -n "$include_expsyms"; then ! $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' ! fi ! ! if test -n "$convenience"; then ! if test -n "$whole_archive_flag_spec"; then ! eval libobjs=\"\$libobjs $whole_archive_flag_spec\" ! else ! gentop="$output_objdir/${outputname}x" ! $show "${rm}r $gentop" ! $run ${rm}r "$gentop" ! $show "mkdir $gentop" ! $run mkdir "$gentop" ! status=$? ! if test $status -ne 0 && test ! -d "$gentop"; then ! exit $status ! fi ! generated="$generated $gentop" ! ! for xlib in $convenience; do ! # Extract the objects. ! case "$xlib" in ! [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; ! *) xabs=`pwd`"/$xlib" ;; ! esac ! xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` ! xdir="$gentop/$xlib" ! ! $show "${rm}r $xdir" ! $run ${rm}r "$xdir" ! $show "mkdir $xdir" ! $run mkdir "$xdir" ! status=$? ! if test $status -ne 0 && test ! -d "$xdir"; then ! exit $status ! fi ! $show "(cd $xdir && $AR x $xabs)" ! $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? ! ! libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` ! done ! fi ! fi ! ! if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then ! eval flag=\"$thread_safe_flag_spec\" ! linkopts="$linkopts $flag" ! fi ! ! # Do each of the archive commands. ! if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then ! eval cmds=\"$archive_expsym_cmds\" ! else ! eval cmds=\"$archive_cmds\" ! fi ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" ! ! # Create links to the real library. ! for linkname in $linknames; do ! if test "$realname" != "$linkname"; then ! $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" ! $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? ! fi ! done ! ! # If -module or -export-dynamic was specified, set the dlname. ! if test "$module" = yes || test "$export_dynamic" = yes; then ! # On all known operating systems, these are identical. ! dlname="$soname" ! fi ! fi ;; ! *.lo | *.o | *.obj) if test -n "$link_against_libtool_libs"; then ! $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 ! exit 1 fi if test -n "$deplibs"; then ! $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 fi ! if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then ! $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then ! $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 ! fi ! ! if test -n "$xrpath"; then ! $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then ! $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case "$output" in *.lo) ! if test -n "$objs"; then ! $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 ! exit 1 ! fi ! libobj="$output" ! obj=`$echo "X$output" | $Xsed -e "$lo2o"` ! ;; *) ! libobj= ! obj="$output" ! ;; esac # Delete the old objects. $run $rm $obj $libobj + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case "$xlib" in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + # Create the old-style object. ! reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" output="$obj" eval cmds=\"$reload_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? done IFS="$save_ifs" # Exit if we aren't doing a library object file. ! if test -z "$libobj"; then ! if test -n "$gentop"; then ! $show "${rm}r $gentop" ! $run ${rm}r $gentop ! fi + exit 0 + fi + if test "$build_libtool_libs" != yes; then ! if test -n "$gentop"; then ! $show "${rm}r $gentop" ! $run ${rm}r $gentop ! fi ! ! # Create an invalid libtool object if no PIC, so that we don't ! # accidentally link it into a program. ! $show "echo timestamp > $libobj" ! $run eval "echo timestamp > $libobj" || exit $? ! exit 0 fi if test -n "$pic_flag"; then ! # Only do commands if we really have different PIC objects. ! reload_objs="$libobjs $reload_conv_objs" ! output="$libobj" ! eval cmds=\"$reload_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" else ! # Just create a symlink. ! $show $rm $libobj ! $run $rm $libobj ! xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$xdir" = "X$libobj"; then ! xdir="." ! else ! xdir="$xdir" ! fi ! baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` ! oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` ! $show "(cd $xdir && $LN_S $oldobj $baseobj)" ! $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $? fi + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + exit 0 ;; + # Anything else should be a program. *) if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then ! $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi ! if test "$preload" = yes; then ! if test "$dlopen" = unknown && test "$dlopen_self" = unknown && ! test "$dlopen_self_static" = unknown; then ! $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." ! fi ! fi ! ! if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. ! for libdir in $rpath $xrpath; do ! # This is the magic to use -rpath. ! case "$compile_rpath " in ! *" $libdir "*) ;; ! *) compile_rpath="$compile_rpath $libdir" ;; ! esac ! case "$finalize_rpath " in ! *" $libdir "*) ;; ! *) finalize_rpath="$finalize_rpath $libdir" ;; ! esac done fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi ! # Create the binary in the object directory, then wrap it. ! if test ! -d $output_objdir; then ! $show "$mkdir $output_objdir" ! $run $mkdir $output_objdir ! status=$? ! if test $status -ne 0 && test ! -d $output_objdir; then ! exit $status ! fi fi if test -n "$libobjs" && test "$build_old_libs" = yes; then ! # Transform all the library objects into standard objects. ! compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` ! finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi ! dlsyms= ! if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then ! if test -n "$NM" && test -n "$global_symbol_pipe"; then ! dlsyms="${outputname}S.c" else ! $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 fi ! fi ! if test -n "$dlsyms"; then ! case "$dlsyms" in ! "") ;; ! *.c) ! # Discover the nlist of each of the dlfiles. ! nlist="$output_objdir/${outputname}.nm" ! ! $show "$rm $nlist ${nlist}S ${nlist}T" ! $run $rm "$nlist" "${nlist}S" "${nlist}T" ! ! # Parse the name list into a source file. ! $show "creating $output_objdir/$dlsyms" ! ! test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ ! /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ ! /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ ! #define lt_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$output.exp" + $run $rm $export_symbols + $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + else + $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`echo "$arg" | sed -e 's%^.*/%%'` + $run eval 'echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi ! if test -f "$nlist"S; then ! eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else ! echo '/* NONE */' >> "$output_objdir/$dlsyms" fi ! $echo >> "$output_objdir/$dlsyms" "\ ! #undef lt_preloaded_symbols #if defined (__STDC__) && __STDC__ ! # define lt_ptr_t void * #else ! # define lt_ptr_t char * ! # define const #endif /* The mapping between symbol names and symbols. */ ! const struct { ! const char *name; ! lt_ptr_t address; } ! lt_preloaded_symbols[] = {\ " ! sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \ ! -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \ ! < "$nlist" >> "$output_objdir/$dlsyms" ! $echo >> "$output_objdir/$dlsyms" "\ ! {0, (lt_ptr_t) 0} }; + /* This works around a problem in FreeBSD linker */ + #ifdef FREEBSD_WORKAROUND + static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; + } + #endif + #ifdef __cplusplus } #endif\ " ! fi ! pic_flag_for_symtable= ! case "$host" in ! # compiling the symbol table file with pic_flag works around ! # a FreeBSD bug that causes programs to crash when -lm is ! # linked before any other PIC object. But we must not use ! # pic_flag when linking with -static. The problem exists in ! # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. ! *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) ! case "$compile_command " in ! *" -static "*) ;; ! *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; ! esac;; ! *-*-hpux*) ! case "$compile_command " in ! *" -static "*) ;; ! *) pic_flag_for_symtable=" $pic_flag -DPIC";; ! esac esac ! # Now compile the dynamic symbol file. ! $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" ! $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? ! ! # Clean up the generated files. ! $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" ! $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" ! ! # Transform the symbol file into the correct name. ! compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` ! ;; ! *) ! $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 ! exit 1 ! ;; ! esac else ! # We keep going just in case the user didn't refer to ! # lt_preloaded_symbols. The linker will fail if global_symbol_pipe ! # really was required. ! ! # Nullify the symbol file. ! compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` ! finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then ! # Replace the output file specification. ! compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` ! link_command="$compile_command$compile_rpath" ! ! # We have no uninstalled library dependencies, so finalize right now. ! $show "$link_command" ! $run eval "$link_command" status=$? ! ! # Delete the generated files. ! if test -n "$dlsyms"; then ! $show "$rm $output_objdir/${outputname}S.${objext}" ! $run $rm "$output_objdir/${outputname}S.${objext}" fi + + exit $status fi if test -n "$shlibpath_var"; then ! # We should set the shlibpath_var ! rpath= ! for dir in $temp_rpath; do ! case "$dir" in ! [\\/]* | [A-Za-z]:[\\/]*) ! # Absolute path. ! rpath="$rpath$dir:" ! ;; ! *) ! # Relative path: add a thisdir entry. ! rpath="$rpath\$thisdir/$dir:" ! ;; ! esac ! done ! temp_rpath="$rpath" fi ! if test -n "$compile_shlibpath$finalize_shlibpath"; then ! compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then ! finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi ! compile_var= ! finalize_var= ! if test -n "$runpath_var"; then ! if test -n "$perm_rpath"; then ! # We should set the runpath_var. ! rpath= ! for dir in $perm_rpath; do ! rpath="$rpath$dir:" ! done ! compile_var="$runpath_var=\"$rpath\$$runpath_var\" " ! fi ! if test -n "$finalize_perm_rpath"; then ! # We should set the runpath_var. ! rpath= ! for dir in $finalize_perm_rpath; do ! rpath="$rpath$dir:" ! done ! finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " ! fi ! fi ! ! if test "$hardcode_action" = relink; then ! # Fast installation is not supported ! link_command="$compile_var$compile_command$compile_rpath" ! relink_command="$finalize_var$finalize_command$finalize_rpath" ! ! $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 ! $echo "$modename: \`$output' will be relinked during installation" 1>&2 ! else ! if test "$fast_install" != no; then ! link_command="$finalize_var$compile_command$finalize_rpath" ! if test "$fast_install" = yes; then ! relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` ! else ! # fast_install is set to needless ! relink_command= ! fi ! else ! link_command="$compile_var$compile_command$compile_rpath" ! relink_command="$finalize_var$finalize_command$finalize_rpath" ! fi ! fi ! ! # Replace the output file specification. ! link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` ! ! # Delete the old output files. ! $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname ! $show "$link_command" ! $run eval "$link_command" || exit $? # Now create the wrapper script. $show "creating $output" ! # Quote the relink command for shipping. ! if test -n "$relink_command"; then ! # Preserve any variables that may affect compiler behavior ! for var in $variables_saved_for_relink; do ! if eval test -z \"\${$var+set}\"; then ! relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" ! elif eval var_value=\$$var; test -z "$var_value"; then ! relink_command="$var=; export $var; $relink_command" ! else ! var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` ! relink_command="$var=\"$var_value\"; export $var; $relink_command" ! fi ! done ! relink_command="cd `pwd`; $relink_command" ! relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` ! fi # Quote $echo for shipping. ! if test "X$echo" = "X$SHELL $0 --fallback-echo"; then ! case "$0" in ! [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; ! *) qecho="$SHELL `pwd`/$0 --fallback-echo";; ! esac ! qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` ! else ! qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` ! fi # Only actually do things if our run command is non-null. if test -z "$run"; then ! # win32 will think the script is a binary if it has ! # a .exe suffix, so we strip it off here. ! case $output in ! *.exe) output=`echo $output|sed 's,.exe$,,'` ;; ! esac ! $rm $output ! trap "$rm $output; exit 1" 1 2 15 ! $echo > $output "\ ! #! $SHELL ! # $output - temporary wrapper script for $objdir/$outputname ! # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # ! # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. ! Xsed='sed -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # 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 + relink_command=\"$relink_command\" + # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then ! # install mode needs the following variable: link_against_libtool_libs='$link_against_libtool_libs' else # When we are sourced in execute mode, \$file and \$echo are already set. ! if test \"\$libtool_execute_magic\" != \"$magic\"; then echo=\"$qecho\" file=\"\$0\" + # Make sure echo works. + 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 fi\ " ! $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` *************** *** 1477,1483 **** # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in ! /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi --- 2864,2870 ---- # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in ! [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi *************** *** 1489,1523 **** # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" progdir=\"\$thisdir/$objdir\" ! program='$output' if test -f \"\$progdir/\$program\"; then" ! # Export our shlibpath_var if we have one. ! if test -n "$shlibpath_var" && test -n "$temp_rpath"; then ! $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var ! $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\` export $shlibpath_var " ! fi ! $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. # Export the path to the program. PATH=\"\$progdir:\$PATH\" export PATH exec \$program \${1+\"\$@\"} ! \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit 1 fi --- 2876,2980 ---- # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" + " + + if test "$fast_install" = yes; then + echo >> $output "\ + program=lt-'$outputname' + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if (cd \"\$thisdir\" && eval \$relink_command); then : + else + $rm \"\$progdir/\$file\" + exit 1 + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + echo >> $output "\ + program='$outputname' progdir=\"\$thisdir/$objdir\" ! " ! fi + echo >> $output "\ + if test -f \"\$progdir/\$program\"; then" ! # Export our shlibpath_var if we have one. ! if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then ! $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var ! # The second colon is a workaround for a bug in BeOS R4 sed ! $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var + " + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH " ! fi ! $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. + " + case $host in + # win32 systems need to use the prog path for dll + # lookup to work + *-*-cygwin*) + $echo >> $output "\ + exec \$progdir/\$program \${1+\"\$@\"} + " + ;; + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \$progdir\\\\\$program \${1+\"\$@\"} + " + ;; + + *) + $echo >> $output "\ # Export the path to the program. PATH=\"\$progdir:\$PATH\" export PATH exec \$program \${1+\"\$@\"} ! " ! ;; ! esac ! $echo >> $output "\ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit 1 fi *************** *** 1530,1574 **** fi fi\ " ! chmod +x $output fi exit 0 ;; esac # 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'` # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then eval cmds=\"$old_archive_from_new_cmds\" else eval cmds=\"$old_archive_cmds\" fi ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # Now create the libtool archive. case "$output" in *.la) old_library= ! test "$build_old_libs" = yes && old_library="$libname.a" ! $show "creating $output" # Only create the output if not a dry run. if test -z "$run"; then ! $echo > $output "\ ! # $output - a libtool library file ! # Generated by ltmain.sh - GNU $PACKAGE $VERSION # The name that we can dlopen(3). dlname='$dlname' --- 2987,3121 ---- fi fi\ " ! chmod +x $output fi exit 0 ;; esac # See if we need to build an old-fashioned archive. ! for oldlib in $oldlibs; do ! ! if test "$build_libtool_libs" = convenience; then ! oldobjs="$libobjs_save" ! addlibs="$convenience" ! build_libtool_libs=no ! else ! if test "$build_libtool_libs" = module; then ! oldobjs="$libobjs_save" ! build_libtool_libs=no ! else ! oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` ! fi ! addlibs="$old_convenience" ! fi ! ! if test -n "$addlibs"; then ! gentop="$output_objdir/${outputname}x" ! $show "${rm}r $gentop" ! $run ${rm}r "$gentop" ! $show "mkdir $gentop" ! $run mkdir "$gentop" ! status=$? ! if test $status -ne 0 && test ! -d "$gentop"; then ! exit $status ! fi ! generated="$generated $gentop" ! ! # Add in members from convenience archives. ! for xlib in $addlibs; do ! # Extract the objects. ! case "$xlib" in ! [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; ! *) xabs=`pwd`"/$xlib" ;; ! esac ! xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` ! xdir="$gentop/$xlib" ! ! $show "${rm}r $xdir" ! $run ${rm}r "$xdir" ! $show "mkdir $xdir" ! $run mkdir "$xdir" ! status=$? ! if test $status -ne 0 && test ! -d "$xdir"; then ! exit $status ! fi ! $show "(cd $xdir && $AR x $xabs)" ! $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? ! ! oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` ! done ! fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then eval cmds=\"$old_archive_from_new_cmds\" else + # Ensure that we have .o objects in place in case we decided + # not to build a shared library, and have fallen back to building + # static libs even though --disable-static was passed! + for oldobj in $oldobjs; do + if test ! -f $oldobj; then + xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$oldobj"; then + xdir="." + else + xdir="$xdir" + fi + baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'` + obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` + $show "(cd $xdir && ${LN_S} $obj $baseobj)" + $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $? + fi + done + eval cmds=\"$old_archive_cmds\" fi ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? done IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated fi # Now create the libtool archive. case "$output" in *.la) old_library= ! test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" + if test -n "$xrpath"; then + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + done + dependency_libs="$temp_xrpath $dependency_libs" + fi + # Only create the output if not a dry run. if test -z "$run"; then ! for installed in no yes; do ! if test "$installed" = yes; then ! if test -z "$install_libdir"; then ! break ! fi ! output="$output_objdir/$outputname"i ! fi ! $rm $output ! $echo > $output "\ ! # $outputname - a libtool library file ! # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP ! # ! # Please DO NOT delete this file! ! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$dlname' *************** *** 1587,1601 **** age=$age revision=$revision # Directory that this library needs to be installed in: libdir='$install_libdir'\ " fi # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. ! $show "(cd $objdir && $LN_S ../$output $output)" ! $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1 ;; esac exit 0 --- 3134,3152 ---- age=$age revision=$revision + # Is this an already installed library? + installed=$installed + # Directory that this library needs to be installed in: libdir='$install_libdir'\ " + done fi # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. ! $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" ! $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $? ;; esac exit 0 *************** *** 1605,1613 **** install) modename="$modename: install" ! # There may be an optional /bin/sh argument at the beginning of # install_prog (especially on Windows NT). ! if test "$nonopt" = "$SHELL"; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case "$arg" in --- 3156,3166 ---- install) modename="$modename: install" ! # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). ! if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || ! # Allow the use of GNU shtool's install command. ! $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case "$arg" in *************** *** 1639,1652 **** opts= prev= install_type= ! isdir= stripme= for arg do if test -n "$dest"; then ! files="$files $dest" ! dest="$arg" ! continue fi case "$arg" in --- 3192,3205 ---- opts= prev= install_type= ! isdir=no stripme= for arg do if test -n "$dest"; then ! files="$files $dest" ! dest="$arg" ! continue fi case "$arg" in *************** *** 1656,1675 **** -m) prev="-m" ;; -o) prev="-o" ;; -s) ! stripme=" -s" ! continue ! ;; -*) ;; *) ! # If the previous option needed an argument, then skip it. ! if test -n "$prev"; then ! prev= ! else ! dest="$arg" ! continue ! fi ! ;; esac # Aesthetically quote the argument. --- 3209,3228 ---- -m) prev="-m" ;; -o) prev="-o" ;; -s) ! stripme=" -s" ! continue ! ;; -*) ;; *) ! # If the previous option needed an argument, then skip it. ! if test -n "$prev"; then ! prev= ! else ! dest="$arg" ! continue ! fi ! ;; esac # Aesthetically quote the argument. *************** *** 1696,1704 **** if test -z "$files"; then if test -z "$dest"; then ! $echo "$modename: no file or destination specified" 1>&2 else ! $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit 1 --- 3249,3257 ---- if test -z "$files"; then if test -z "$dest"; then ! $echo "$modename: no file or destination specified" 1>&2 else ! $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit 1 *************** *** 1709,1715 **** # Check to see that the destination is a directory. test -d "$dest" && isdir=yes ! if test -n "$isdir"; then destdir="$dest" destname= else --- 3262,3268 ---- # Check to see that the destination is a directory. test -d "$dest" && isdir=yes ! if test "$isdir" = yes; then destdir="$dest" destname= else *************** *** 1720,1742 **** # Not a directory, so check to see that there is only one file specified. set dummy $files if test $# -gt 2; then ! $echo "$modename: \`$dest' is not a directory" 1>&2 ! $echo "$help" 1>&2 ! exit 1 fi fi case "$destdir" in ! /* | [A-Za-z]:\\*) ;; *) for file in $files; do ! case "$file" in ! *.lo) ;; ! *) ! $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! ;; ! esac done ;; esac --- 3273,3295 ---- # Not a directory, so check to see that there is only one file specified. set dummy $files if test $# -gt 2; then ! $echo "$modename: \`$dest' is not a directory" 1>&2 ! $echo "$help" 1>&2 ! exit 1 fi fi case "$destdir" in ! [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do ! case "$file" in ! *.lo) ;; ! *) ! $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! ;; ! esac done ;; esac *************** *** 1752,1960 **** # Do each installation. case "$file" in ! *.a) ! # 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 : ! else ! $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! fi ! ! library_names= ! old_library= ! # If there is no directory component, then add one. ! case "$file" in ! */* | *\\*) . $file ;; ! *) . ./$file ;; ! esac ! ! # Add the libdir to current_libdirs if it is the destination. ! if test "X$destdir" = "X$libdir"; then ! case "$current_libdirs " in ! *" $libdir "*) ;; ! *) current_libdirs="$current_libdirs $libdir" ;; ! esac ! else ! # Note the libdir as a future libdir. ! case "$future_libdirs " in ! *" $libdir "*) ;; ! *) future_libdirs="$future_libdirs $libdir" ;; ! esac ! fi ! ! dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" ! test "X$dir" = "X$file/" && dir= ! dir="$dir$objdir" ! ! # See the names of the shared library. ! set dummy $library_names ! if test -n "$2"; then ! realname="$2" ! shift ! shift ! ! # Install the shared library and build the symlinks. ! $show "$install_prog $dir/$realname $destdir/$realname" ! $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? ! test "X$dlname" = "X$realname" && dlname= ! ! if test $# -gt 0; then ! # Delete the old symlinks. ! rmcmd="$rm" ! for linkname ! do ! rmcmd="$rmcmd $destdir/$linkname" ! done ! $show "$rmcmd" ! $run $rmcmd ! ! # ... and create new ones. ! for linkname ! do ! test "X$dlname" = "X$linkname" && dlname= ! $show "(cd $destdir && $LN_S $realname $linkname)" ! $run eval "(cd $destdir && $LN_S $realname $linkname)" ! done ! fi ! ! if test -n "$dlname"; then ! # Install the dynamically-loadable library. ! $show "$install_prog $dir/$dlname $destdir/$dlname" ! $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $? ! fi ! ! # Do each command in the postinstall commands. ! lib="$destdir/$realname" ! eval cmds=\"$postinstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" ! fi ! ! # Install the pseudo-library for information purposes. ! name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` ! $show "$install_prog $file $destdir/$name" ! $run eval "$install_prog $file $destdir/$name" || exit $? ! ! # Maybe install the static library, too. ! test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ! ;; *.lo) ! # Install (i.e. copy) a libtool object. ! # 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 ! ! # Deduce the name of the destination old-style object file. ! case "$destfile" in ! *.lo) ! staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'` ! ;; ! *.o) ! staticdest="$destfile" ! destfile= ! ;; ! *) ! $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! ;; ! esac ! ! # Install the libtool object if requested. ! if test -n "$destfile"; then ! $show "$install_prog $file $destfile" ! $run eval "$install_prog $file $destfile" || exit $? ! fi ! ! # 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/'` ! ! $show "$install_prog $staticobj $staticdest" ! $run eval "$install_prog \$staticobj \$staticdest" || exit $? ! fi ! exit 0 ! ;; *) ! # 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 ! link_against_libtool_libs= ! finalize_command= ! ! # If there is no directory component, then add one. ! case "$file" in ! */* | *\\*) . $file ;; ! *) . ./$file ;; ! esac ! ! # Check the variables that should have been set. ! if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then ! $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 ! exit 1 ! fi ! ! finalize=yes ! for lib in $link_against_libtool_libs; do ! # Check to see that each library is installed. ! libdir= ! if test -f "$lib"; then ! # If there is no directory component, then add one. ! case "$lib" in ! */* | *\\*) . $lib ;; ! *) . ./$lib ;; ! esac ! fi ! libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" ! if test -z "$libdir"; then ! $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2 ! elif test -f "$libfile"; then : ! else ! $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 ! finalize=no ! fi ! done ! ! if test "$hardcode_action" = relink; then ! if test "$finalize" = yes; then ! $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2 ! $show "$finalize_command" ! if $run eval "$finalize_command"; then : ! else ! $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ! continue ! fi ! file="$objdir/$file"T ! else ! $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2 ! fi ! else ! # Install the binary that we compiled earlier. file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` ! fi ! fi ! $show "$install_prog$stripme $file $dest" ! $run eval "$install_prog\$stripme \$file \$dest" || exit $? ! ;; esac done --- 3305,3518 ---- # Do each installation. case "$file" in ! *.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 .*$PACKAGE") >/dev/null 2>&1; then : ! else ! $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! fi ! ! library_names= ! old_library= ! # If there is no directory component, then add one. ! case "$file" in ! */* | *\\*) . $file ;; ! *) . ./$file ;; ! esac ! ! # Add the libdir to current_libdirs if it is the destination. ! if test "X$destdir" = "X$libdir"; then ! case "$current_libdirs " in ! *" $libdir "*) ;; ! *) current_libdirs="$current_libdirs $libdir" ;; ! esac ! else ! # Note the libdir as a future libdir. ! case "$future_libdirs " in ! *" $libdir "*) ;; ! *) future_libdirs="$future_libdirs $libdir" ;; ! esac ! fi ! ! dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" ! test "X$dir" = "X$file/" && dir= ! dir="$dir$objdir" ! ! # See the names of the shared library. ! set dummy $library_names ! if test -n "$2"; then ! realname="$2" ! shift ! shift ! ! # Install the shared library and build the symlinks. ! $show "$install_prog $dir/$realname $destdir/$realname" ! $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? ! ! if test $# -gt 0; then ! # Delete the old symlinks, and create new ones. ! for linkname ! do ! if test "$linkname" != "$realname"; then ! $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" ! $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" ! fi ! done ! fi ! ! # Do each command in the postinstall commands. ! lib="$destdir/$realname" ! eval cmds=\"$postinstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" ! fi ! ! # Install the pseudo-library for information purposes. ! name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` ! instname="$dir/$name"i ! $show "$install_prog $instname $destdir/$name" ! $run eval "$install_prog $instname $destdir/$name" || exit $? + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + *.lo) ! # Install (i.e. copy) a libtool object. ! ! # 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 ! ! # Deduce the name of the destination old-style object file. ! case "$destfile" in ! *.lo) ! staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` ! ;; ! *.o | *.obj) ! staticdest="$destfile" ! destfile= ! ;; ! *) ! $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! ;; ! esac ! ! # Install the libtool object if requested. ! if test -n "$destfile"; then ! $show "$install_prog $file $destfile" ! $run eval "$install_prog $file $destfile" || exit $? ! fi ! ! # 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 "$lo2o"` ! $show "$install_prog $staticobj $staticdest" ! $run eval "$install_prog \$staticobj \$staticdest" || exit $? ! fi ! exit 0 ! ;; *) ! # 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 .*$PACKAGE") >/dev/null 2>&1; then ! link_against_libtool_libs= ! relink_command= ! ! # If there is no directory component, then add one. ! case "$file" in ! */* | *\\*) . $file ;; ! *) . ./$file ;; ! esac ! ! # Check the variables that should have been set. ! if test -z "$link_against_libtool_libs"; then ! $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 ! exit 1 ! fi ! ! finalize=yes ! for lib in $link_against_libtool_libs; do ! # Check to see that each library is installed. ! libdir= ! if test -f "$lib"; then ! # If there is no directory component, then add one. ! case "$lib" in ! */* | *\\*) . $lib ;; ! *) . ./$lib ;; ! esac ! fi ! libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" ! if test -n "$libdir" && test ! -f "$libfile"; then ! $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 ! finalize=no ! fi ! done ! ! outputname= ! if test "$fast_install" = no && test -n "$relink_command"; then ! if test "$finalize" = yes && test -z "$run"; then ! tmpdir="/tmp" ! test -n "$TMPDIR" && tmpdir="$TMPDIR" ! tmpdir="$tmpdir/libtool-$$" ! if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : ! else ! $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 ! continue ! fi ! outputname="$tmpdir/$file" ! # Replace the output file specification. ! relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` ! ! $show "$relink_command" ! if $run eval "$relink_command"; then : ! else ! $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ! ${rm}r "$tmpdir" ! continue ! fi ! file="$outputname" ! else ! $echo "$modename: warning: cannot relink \`$file'" 1>&2 ! fi ! else ! # Install the binary that we compiled earlier. file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` ! fi ! fi ! $show "$install_prog$stripme $file $destfile" ! $run eval "$install_prog\$stripme \$file \$destfile" || exit $? ! test -n "$outputname" && ${rm}r "$tmpdir" ! ;; esac done *************** *** 1969,1979 **** # Do each command in the postinstall commands. eval cmds=\"$old_postinstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? done IFS="$save_ifs" done --- 3527,3537 ---- # Do each command in the postinstall commands. eval cmds=\"$old_postinstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? done IFS="$save_ifs" done *************** *** 1996,2038 **** finish) modename="$modename: finish" libdirs="$nonopt" if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do ! libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. eval cmds=\"$finish_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" ! done ! IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" ! $run eval "$cmds" fi done fi ! echo "------------------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do echo " $libdir" done echo ! 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:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" --- 3554,3602 ---- finish) modename="$modename: finish" libdirs="$nonopt" + admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do ! libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. eval cmds=\"$finish_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' ! for cmd in $cmds; do ! IFS="$save_ifs" ! $show "$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" || admincmds="$admincmds ! $cmds" fi done fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit 0 ! echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do echo " $libdir" done echo ! echo "If you ever happen to want to link against installed libraries" ! echo "in a given directory, LIBDIR, you must either use libtool, and" ! echo "specify the full pathname of the library, or use \`-LLIBDIR'" ! echo "flag during linking and 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,2059 **** echo " - use the \`$flag' linker flag" 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 "------------------------------------------------------------------------------" exit 0 ;; --- 3611,3626 ---- 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 "----------------------------------------------------------------------" exit 0 ;; *************** *** 2071,2078 **** # Handle -dlopen flags immediately. for file in $execute_dlfiles; do ! if test -f "$file"; then : ! else $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit 1 --- 3638,3644 ---- # Handle -dlopen flags immediately. for file in $execute_dlfiles; do ! if test ! -f "$file"; then $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit 1 *************** *** 2081,2102 **** dir= 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 : ! else ! $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 ! $echo "$help" 1>&2 ! exit 1 ! fi # Read the libtool library. dlname= library_names= ! # If there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; ! *) . ./$file ;; esac # Skip this library if it cannot be dlopened. --- 3647,3668 ---- dir= case "$file" in *.la) ! # Check to see that this really is a libtool archive. ! 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 ! exit 1 ! fi # Read the libtool library. dlname= library_names= ! # If there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; ! *) . ./$file ;; esac # Skip this library if it cannot be dlopened. *************** *** 2125,2131 **** *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 ! continue ;; esac --- 3691,3697 ---- *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 ! continue ;; esac *************** *** 2152,2159 **** case "$file" in -*) ;; *) ! # 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 there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; --- 3718,3725 ---- case "$file" in -*) ;; *) ! # Do a test to see if this is really a libtool program. ! 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 ;; *************** *** 2163,2169 **** # Transform arg to wrapped name. file="$progdir/$program" fi ! ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` --- 3729,3735 ---- # Transform arg to wrapped name. file="$progdir/$program" fi ! ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` *************** *** 2171,2178 **** done if test -z "$run"; then ! # Export the shlibpath_var. ! eval "export $shlibpath_var" # Now actually exec the command. eval "exec \$cmd$args" --- 3737,3754 ---- done if test -z "$run"; then ! if test -n "$shlibpath_var"; then ! # Export the shlibpath_var. ! eval "export $shlibpath_var" ! fi ! ! # Restore saved enviroment variables ! if test "${save_LC_ALL+set}" = set; then ! LC_ALL="$save_LC_ALL"; export LC_ALL ! fi ! if test "${save_LANG+set}" = set; then ! LANG="$save_LANG"; export LANG ! fi # Now actually exec the command. eval "exec \$cmd$args" *************** *** 2181,2188 **** exit 1 else # Display what would be done. ! eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" ! $echo "export $shlibpath_var" $echo "$cmd$args" exit 0 fi --- 3757,3766 ---- exit 1 else # Display what would be done. ! if test -n "$shlibpath_var"; then ! eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" ! $echo "export $shlibpath_var" ! fi $echo "$cmd$args" exit 0 fi *************** *** 2217,2233 **** 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 ! . $dir/$name ! ! # Delete the libtool libraries and symlinks. ! for n in $library_names; do ! rmfiles="$rmfiles $dir/$n" ! test "X$n" = "X$dlname" && dlname= ! done ! test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname" ! test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" $show "$rm $rmfiles" $run $rm $rmfiles --- 3795,3809 ---- case "$name" in *.la) ! # Possibly a libtool archive, so verify it. ! if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ! . $dir/$name ! ! # Delete the libtool libraries and symlinks. ! for n in $library_names; do ! rmfiles="$rmfiles $dir/$n" ! done ! test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" $show "$rm $rmfiles" $run $rm $rmfiles *************** *** 2235,2241 **** if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" --- 3811,3817 ---- if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" *************** *** 2244,2253 **** IFS="$save_ifs" fi ! if test -n "$old_library"; then # Do each command in the old_postuninstall commands. eval cmds=\"$old_postuninstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" --- 3820,3829 ---- IFS="$save_ifs" fi ! if test -n "$old_library"; then # Do each command in the old_postuninstall commands. eval cmds=\"$old_postuninstall_cmds\" ! IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" *************** *** 2256,2276 **** IFS="$save_ifs" fi ! # FIXME: should reinstall the best remaining shared library. ! fi ! ;; *.lo) ! if test "$build_old_libs" = yes; then ! oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'` ! rmfiles="$rmfiles $dir/$oldobj" ! fi $show "$rm $rmfiles" $run $rm $rmfiles ! ;; *) ! $show "$rm $rmfiles" $run $rm $rmfiles ;; esac --- 3832,3852 ---- IFS="$save_ifs" fi ! # FIXME: should reinstall the best remaining shared library. ! fi ! ;; *.lo) ! if test "$build_old_libs" = yes; then ! oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` ! rmfiles="$rmfiles $dir/$oldobj" ! fi $show "$rm $rmfiles" $run $rm $rmfiles ! ;; *) ! $show "$rm $rmfiles" $run $rm $rmfiles ;; esac *************** *** 2297,2304 **** Provide generalized library-building support services. -n, --dry-run display commands without modifying any files ! --features display 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] --- 3873,3882 ---- 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 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] *************** *** 2326,2331 **** --- 3904,3914 ---- Compile a source file into a libtool library object. + This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -static always build a \`.o' file suitable for static linking + COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. *************** *** 2392,2409 **** The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime ! -dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -static do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] ! specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. --- 3975,3999 ---- The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime ! -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -static do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] ! specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. *************** *** 2411,2428 **** treated as uninstalled libtool libraries, other files are standard or library 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 \`.lo' or \`.o', then a reloadable object file is ! created, otherwise an executable program is created." ;; uninstall) ! $echo "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. --- 4001,4019 ---- treated as uninstalled libtool libraries, other files are standard or library 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, except when creating a convenience library. ! 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 \`.${objext}', then a reloadable object file ! is created, otherwise an executable program is created." ;; uninstall) ! $echo \ "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory.