diff options
author | unknown <monty@mashka.mysql.fi> | 2003-01-28 08:38:28 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-01-28 08:38:28 +0200 |
commit | 84f81dc593e8e21cbfb4596aef375d45e3a26ba8 (patch) | |
tree | b916d4acfbe4f32ab06b052fd06c072f858bdce1 /netware | |
parent | 49e0eea578eb119cafb2df1ba77b35fcf8391224 (diff) | |
download | mariadb-git-84f81dc593e8e21cbfb4596aef375d45e3a26ba8.tar.gz |
Fixes for Netware
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
BitKeeper/deleted/.del-ChangeLog~dfc92e15bee6fc75:
Delete: sql/ChangeLog
BUILD/compile-pentium-valgrind-max:
Don't use valgrind with safemalloc as this can hide some bugs
Makefile.am:
Added platform dirs
bdb/os/os_handle.c:
Portability fix
client/mysql.cc:
Fixes for Netware.
Fixed duplicate output when using 'tee'
Simple optimisations
client/mysqldump.c:
Portability fix
client/mysqltest.c:
Portability fix
configure.in:
Fixes for Netware
extra/resolveip.c:
Fixes for Netware
include/Makefile.am:
Fixes for Netware
include/config-win.h:
Portability fix
include/my_global.h:
Fixes for Netware
include/my_net.h:
Fixes for Netware
include/my_pthread.h:
Fixes for Netware
Added detection of mutexes that was not destroyed
include/my_sys.h:
Fixes for Netware
Added 'extern' before external functions
include/mysql.h:
Fixes for Netware
innobase/configure.in:
Fixes for Netware
innobase/include/os0thread.h:
Fixes for Netware
innobase/os/os0sync.c:
Fixes for Netware
innobase/os/os0thread.c:
Fixes for Netware
innobase/srv/srv0srv.c:
Fixes for Netware
innobase/srv/srv0start.c:
Fixes for Netware
innobase/sync/sync0sync.c:
Fixes for Netware
isam/test3.c:
Disable test on Netware
libmysql/Makefile.shared:
Added my_sleep
libmysql/get_password.c:
Fixes for Netware
libmysql/libmysql.c:
Fixes for Netware
Made mysql_once_init() global
libmysql/manager.c:
Fixes for Netware
myisam/mi_test3.c:
Disable test for netware
mysql-test/mysql-test-run.sh:
Give warning if output file contains errors
mysql-test/r/count_distinct.result:
More tests
mysql-test/r/group_by.result:
Test of ORDER BY NULL
mysql-test/t/backup.test:
Fixes for Netware
mysql-test/t/count_distinct.test:
More tests
mysql-test/t/func_crypt.test:
Fixes for Netware
mysql-test/t/grant_cache.test:
Fixes for Netware
mysql-test/t/group_by.test:
Tests of ORDER BY NULL
mysql-test/t/rpl000015.test:
Fixes for Netware
mysql-test/t/rpl000017.test:
Fixes for Netware
mysql-test/t/rpl_rotate_logs.test:
Fixes for Netware
mysys/Makefile.am:
Added my_sleep.c and my_netware.c
mysys/charset.c:
Fixes for Netware
mysys/default.c:
Fixes for Netware
mysys/mf_tempfile.c:
Fixes for Netware
mysys/my_clock.c:
Fixes for Netware
mysys/my_copy.c:
Fixes for Netware
mysys/my_getwd.c:
Changed function comment from // -> /* */
mysys/my_init.c:
Fixes for Netware
mysys/my_lock.c:
Fixes for Netware
mysys/my_messnc.c:
Fixes for Netware
mysys/my_os2cond.c:
Removed comment
mysys/my_os2dirsrch.c:
Changed function comment from // -> /* */
Fixed indentation
mysys/my_os2dirsrch.h:
Changed function comment from // -> /* */
Fixed indentation
mysys/my_os2file64.c:
Changed function comment from // -> /* */
Fixed indentation
mysys/my_os2mutex.c:
Changed function comment from // -> /* */
Fixed indentation
mysys/my_os2thread.c:
Changed function comment from // -> /* */
Fixed indentation
mysys/my_os2tls.c:
Changed function comment from // -> /* */
Fixed indentation
mysys/my_pthread.c:
Fixes for Netware
mysys/my_redel.c:
Fixes for Netware
mysys/my_tempnam.c:
Fixes for Netware
mysys/my_thr_init.c:
Remove created mutexes when program ends.
mysys/mysys_priv.h:
Cleanup
mysys/safemalloc.c:
Prefix error messages with "Error:"
mysys/thr_alarm.c:
Destroy internal mutex on end_thr_alarm.
mysys/thr_mutex.c:
Added detection of mutex on which one didn't call pthread_mutex_destroy()
scripts/make_binary_distribution.sh:
Fixes for Netware
sql/des_key_file.cc:
Free mutex at end
sql/ha_innodb.cc:
Free mutex at end
sql/ha_myisam.cc:
Changed warnings from REPAIR Note:
(For mysql-test-run)
sql/hostname.cc:
Fixes for Netware
sql/item.h:
Fixed bug in create_tmp_field() which causes a memory overrun
sql/item_func.cc:
Free used mutexes
sql/item_sum.cc:
Fixed bug in create_tmp_field() which causes a memory overrun
sql/log.cc:
Free used mutexes
sql/my_lock.c:
Fixes for Netware
sql/mysql_priv.h:
Fixes for Netware
sql/mysqld.cc:
Fixes for Netware
Added Have_crypt
Properly free mutexes from MYSQL_LOG by calling cleanup
Free mutex before exit
sql/repl_failsafe.cc:
Fixes for Netware
sql/set_var.cc:
Added have_crypt
sql/share/english/errmsg.txt:
Added version socket and port to stderr log
sql/slave.cc:
Remove global MASTER_INFO variable and use instead an allocated variable.
This allows us to correctly free used mutex.
sql/slave.h:
Move constructors and destuctors to slave.cc
(To make it easier to clear all needed variables)
sql/sql_base.cc:
Safety fix
sql/sql_class.h:
Portability fixes.
Added 'cleanup' to log handling to be able to free mutexes.
sql/sql_insert.cc:
Fixes for Netware
mysys/my_sleep.c:
E
sql/sql_parse.cc:
Fixes for Netware
sql/sql_select.cc:
Added optimisation for ORDER BY NULL
sql/sql_select.h:
Fixed bug in create_tmp_field() which causes a memory overrun
sql/sql_table.cc:
Fixed bug in create_tmp_field() which causes a memory overrun
sql/sql_udf.cc:
Free mutex on end
vio/test-ssl.c:
Simple code cleanup
vio/test-sslclient.c:
Simple code cleanup
vio/test-sslserver.c:
Simple code cleanup
vio/viotest-ssl.c:
Simple code cleanup
Diffstat (limited to 'netware')
-rw-r--r-- | netware/Makefile.am | 0 | ||||
-rw-r--r-- | netware/netware.patch | 4162 |
2 files changed, 4162 insertions, 0 deletions
diff --git a/netware/Makefile.am b/netware/Makefile.am new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/netware/Makefile.am diff --git a/netware/netware.patch b/netware/netware.patch new file mode 100644 index 00000000000..2dcf36a2d9c --- /dev/null +++ b/netware/netware.patch @@ -0,0 +1,4162 @@ +*** mysql-4.0.7-gamma/ltmain.sh Fri Dec 20 07:25:10 2002 +--- mysql40/ltmain.sh Mon Jan 6 09:26:55 2003 +*************** +*** 49,62 **** + fi + + # The name of this program. +! progname=`$echo "$0" | sed 's%^.*/%%'` + modename="$progname" + + # Constants. + PROGRAM=ltmain.sh + PACKAGE=libtool +! VERSION=1.4.2 +! TIMESTAMP=" (1.922.2.53 2001/09/11 03:18:52)" + + default_mode= + help="Try \`$progname --help' for more information." +--- 49,62 ---- + fi + + # The name of this program. +! progname=`$echo "$0" | ${SED} 's%^.*/%%'` + modename="$progname" + + # Constants. + PROGRAM=ltmain.sh + PACKAGE=libtool +! VERSION=1.4e +! TIMESTAMP=" (1.1125 2002/06/26 07:15:36)" + + default_mode= + help="Try \`$progname --help' for more information." +*************** +*** 67,76 **** + + # 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. +--- 67,85 ---- + + # 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' +! # test EBCDIC or ASCII +! case `echo A|od -x` in +! *[Cc]1*) # EBCDIC based system +! SP2NL="tr '\100' '\n'" +! NL2SP="tr '\r\n' '\100\100'" +! ;; +! *) # Assume ASCII based system +! SP2NL="tr '\040' '\012'" +! NL2SP="tr '\015\012' '\040\040'" +! ;; +! esac + + # NLS nuisances. + # Only set LANG and LC_ALL to C if already set. +*************** +*** 106,112 **** + o2lo="s/\\.${objext}\$/.lo/" + + # Parse our command line options once, thoroughly. +! while test $# -gt 0 + do + arg="$1" + shift +--- 115,121 ---- + o2lo="s/\\.${objext}\$/.lo/" + + # Parse our command line options once, thoroughly. +! while test "$#" -gt 0 + do + arg="$1" + shift +*************** +*** 122,127 **** +--- 131,163 ---- + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; ++ tag) ++ tagname="$arg" ++ ++ # Check whether tagname contains only valid characters ++ case $tagname in ++ *[!-_A-Za-z0-9,/]*) ++ echo "$progname: invalid tag name: $tagname" 1>&2 ++ exit 1 ++ ;; ++ esac ++ ++ case $tagname in ++ CC) ++ # Don't test for the "default" C tag, as we know, it's there, but ++ # not specially marked. ++ ;; ++ *) ++ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then ++ taglist="$taglist $tagname" ++ # Evaluate the configuration. ++ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" ++ else ++ echo "$progname: ignoring unknown tag $tagname" 1>&2 ++ fi ++ ;; ++ esac ++ ;; + *) + eval "$prev=\$arg" + ;; +*************** +*** 140,150 **** + + --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 + ;; + +--- 176,195 ---- + + --version) + echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" ++ echo ++ echo "Copyright 1996, 1997, 1998, 1999, 2000, 2001" ++ echo "Free Software Foundation, Inc." ++ echo "This is free software; see the source for copying conditions. There is NO" ++ echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit 0 + ;; + + --config) +! ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 +! # Now print the configurations for the tags. +! for tagname in $taglist; do +! ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" +! done + exit 0 + ;; + +*************** +*** 177,186 **** +--- 222,240 ---- + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + ++ --preserve-dup-deps) duplicate_deps="yes" ;; ++ + --quiet | --silent) + show=: + ;; + ++ --tag) prevopt="--tag" prev=tag ;; ++ --tag=*) ++ set tag "$optarg" ${1+"$@"} ++ shift ++ prev=tag ++ ;; ++ + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles +*************** +*** 270,317 **** + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= +! prev= +! lastarg= +! srcfile="$nonopt" + suppress_output= + +- user_target=no + for arg + do +! case $prev in +! "") ;; +! xcompiler) +! # Aesthetically quote the previous argument. +! prev= +! lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` +! +! case $arg in +! # Double-quote args containing other shell metacharacters. +! # Many Bourne shells cannot handle close brackets correctly +! # in scan sets, so we specify it separately. +! *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") +! arg="\"$arg\"" + ;; +- esac + +! # Add the previous argument to base_compile. +! if test -z "$base_compile"; then +! base_compile="$lastarg" +! else +! base_compile="$base_compile $lastarg" +! fi + continue + ;; +- esac + + # 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) +--- 324,359 ---- + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= +! srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_output= ++ arg_mode=normal ++ libobj= + + for arg + do +! case "$arg_mode" in +! arg ) +! # do not "continue". Instead, add this to base_compile +! lastarg="$arg" +! arg_mode=normal + ;; + +! target ) +! libobj="$arg" +! arg_mode=normal + continue + ;; + ++ normal ) + # Accept any command-line options. + case $arg in + -o) +! if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi +! arg_mode=target +! continue + ;; + + -static) +*************** +*** 330,338 **** + ;; + + -Xcompiler) +! prev=xcompiler +! continue +! ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` +--- 372,380 ---- + ;; + + -Xcompiler) +! arg_mode=arg # the next one goes into the "base_compile" arg list +! continue # The current "srcfile" will either be retained or +! ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` +*************** +*** 355,427 **** + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. +- if test -z "$base_compile"; then +- base_compile="$lastarg" +- else + base_compile="$base_compile $lastarg" +- fi + 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" + + # Aesthetically quote the previous argument. +- +- # Backslashify any backslashes, double quotes, and dollar signs. +- # These are the only characters that are still specially +- # interpreted inside of double-quoted scrings. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. +- case $lastarg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + +- # Add the previous argument to base_compile. +- if test -z "$base_compile"; then +- base_compile="$lastarg" +- else + base_compile="$base_compile $lastarg" +! 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 ;; +--- 397,450 ---- + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + ++ * ) + # Accept the current argument as the source file. ++ # The previous "srcfile" becomes the current argument. ++ # + lastarg="$srcfile" + srcfile="$arg" ++ ;; ++ esac # case $arg ++ ;; ++ esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + ++ case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" +! done # for arg + +! case $arg_mode in +! arg) +! $echo "$modename: you must specify an argument for -Xcompile" +! exit 1 + ;; +! target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; ++ *) ++ # Get the name of the library object. ++ [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ++ ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo +! xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; +*************** +*** 429,438 **** +--- 452,464 ---- + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; ++ *.ii) xform=ii ;; ++ *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; ++ *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` +*************** +*** 445,450 **** +--- 471,526 ---- + ;; + esac + ++ # Infer tagged configuration to use if any are available and ++ # if one wasn't chosen via the "--tag" command line option. ++ # Only attempt this if the compiler in the base compile ++ # command doesn't match the default compiler. ++ if test -n "$available_tags" && test -z "$tagname"; then ++ case $base_compile in ++ # Blanks in the command may have been stripped by the calling shell, ++ # but not from the CC environment variable when ltconfig was run. ++ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; ++ # Blanks at the start of $base_compile will cause this to fail ++ # if we don't check for them as well. ++ *) ++ for z in $available_tags; do ++ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then ++ # Evaluate the configuration. ++ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" ++ case "$base_compile " in ++ "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ++ # The compiler in the base compile command matches ++ # the one in the tagged configuration. ++ # Assume this is the tagged configuration we want. ++ tagname=$z ++ break ++ ;; ++ esac ++ fi ++ done ++ # If $tagname still isn't set, then no tagged configuration ++ # was found and let the user know that the "--tag" command ++ # line option must be used. ++ if test -z "$tagname"; then ++ echo "$modename: unable to infer tagged configuration" ++ echo "$modename: specify a tag with \`--tag'" 1>&2 ++ exit 1 ++ # else ++ # echo "$modename: using $tagname tagged configuration" ++ fi ++ ;; ++ esac ++ fi ++ ++ objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` ++ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$obj"; then ++ xdir= ++ else ++ xdir=$xdir/ ++ fi ++ lobj=${xdir}$objdir/$objname ++ + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 +*************** +*** 453,461 **** + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then +! removelist="$obj $libobj" + else +! removelist="$libobj" + fi + + $run $rm $removelist +--- 529,537 ---- + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then +! removelist="$obj $lobj $libobj ${libobj}T" + else +! removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist +*************** +*** 467,473 **** + pic_mode=default + ;; + esac +! if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi +--- 543,549 ---- + pic_mode=default + ;; + esac +! if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi +*************** +*** 480,485 **** +--- 556,562 ---- + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else ++ output_obj= + need_locks=no + lockfile= + fi +*************** +*** 514,562 **** + eval srcfile=\"$fix_srcfile_path\" + fi + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then +! # All platforms use -DPIC, to notify preprocessed assembler code. +! command="$base_compile $srcfile $pic_flag -DPIC" + else + # Don't build PIC code + command="$base_compile $srcfile" + fi +- 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 +--- 591,638 ---- + eval srcfile=\"$fix_srcfile_path\" + fi + ++ $run $rm "$libobj" "${libobj}T" ++ ++ # Create a libtool object file (analogous to a ".la" file), ++ # but don't create it if we're doing a dry run. ++ test -z "$run" && cat > ${libobj}T <<EOF ++ # $libobj - a libtool object file ++ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP ++ # ++ # Please DO NOT delete this file! ++ # It is necessary for linking the library. ++ ++ # Name of the PIC object. ++ EOF ++ + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then +! command="$base_compile $srcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $srcfile" + fi + +! if test ! -d "${xdir}$objdir"; then +! $show "$mkdir ${xdir}$objdir" +! $run $mkdir ${xdir}$objdir + status=$? +! if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then + exit $status + fi + fi +! +! if test -z "$output_obj"; then +! # Place PIC objects in $objdir +! command="$command -o $lobj" + fi + +! $run $rm "$lobj" "$output_obj" +! + $show "$command" + if $run eval "$command"; then : + else +*************** +*** 565,571 **** + 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` +--- 641,647 ---- + 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` +*************** +*** 585,593 **** + 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 +--- 661,669 ---- + fi + + # Just move the object if needed, then go on to compile the next one +! if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then +! $show "$mv $output_obj $lobj" +! if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist +*************** +*** 595,642 **** + fi + fi + +! # If we have no pic_flag, then copy the object into place and finish. +! if (test -z "$pic_flag" || test "$pic_mode" != default) && +! 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 +! # Unlock the critical section if it was locked +! if test "$need_locks" != no; then +! $run $rm "$lockfile" +! fi +! 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' + fi + + # Only build a position-dependent object if we build old libraries. +--- 671,691 ---- + fi + fi + +! # Append the name of the PIC object to the libtool object file. +! test -z "$run" && cat >> ${libobj}T <<EOF +! pic_object='$objdir/$objname' + +! EOF + + # Allow error messages only from the first compilation. + suppress_output=' >/dev/null 2>&1' ++ else ++ # No PIC object so indicate it doesn't exist in the libtool ++ # object file. ++ test -z "$run" && cat >> ${libobj}T <<EOF ++ pic_object=none ++ ++ EOF + fi + + # Only build a position-dependent object if we build old libraries. +*************** +*** 645,661 **** + # Don't build PIC code + command="$base_compile $srcfile" + else +! # All platforms use -DPIC, to notify preprocessed assembler code. +! command="$base_compile $srcfile $pic_flag -DPIC" + fi + 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 +--- 694,708 ---- + # Don't build PIC code + command="$base_compile $srcfile" + else +! command="$base_compile $srcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" +! $run $rm "$obj" "$output_obj" + $show "$command" + if $run eval "$command"; then : + else +*************** +*** 664,670 **** + 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` +--- 711,717 ---- + 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` +*************** +*** 684,690 **** + 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 +--- 731,737 ---- + fi + + # Just move the object if needed +! if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else +*************** +*** 694,716 **** + 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" +--- 741,765 ---- + fi + fi + +! # Append the name of the non-PIC object the libtool object file. +! # Only append if the libtool object file exists. +! test -z "$run" && cat >> ${libobj}T <<EOF +! # Name of the non-PIC object. +! non_pic_object='$objname' +! +! EOF + else +! # Append the name of the non-PIC object the libtool object file. +! # Only append if the libtool object file exists. +! test -z "$run" && cat >> ${libobj}T <<EOF +! # Name of the non-PIC object. +! non_pic_object=none +! +! EOF + fi + ++ $run $mv "${libobj}T" "${libobj}" ++ + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" +*************** +*** 742,747 **** +--- 791,797 ---- + ;; + esac + libtool_args="$nonopt" ++ base_compile="$nonopt" + compile_command="$nonopt" + finalize_command="$nonopt" + +*************** +*** 771,776 **** +--- 821,827 ---- + module=no + no_install=no + objs= ++ non_pic_objects= + prefer_static_libs=no + preload=no + prev= +*************** +*** 812,819 **** + 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 + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") +--- 863,871 ---- + 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" ++ base_compile="$base_compile $arg" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") +*************** +*** 892,897 **** +--- 944,1056 ---- + prev= + continue + ;; ++ objectlist) ++ if test -f "$arg"; then ++ save_arg=$arg ++ moreargs= ++ for fil in `cat $save_arg` ++ do ++ # moreargs="$moreargs $fil" ++ arg=$fil ++ # A libtool-controlled object. ++ ++ # Check to see that this really is a libtool object. ++ if (${SED} -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ++ pic_object= ++ non_pic_object= ++ ++ # Read the .lo file ++ # If there is no directory component, then add one. ++ case $arg in ++ */* | *\\*) . $arg ;; ++ *) . ./$arg ;; ++ esac ++ ++ if test -z "$pic_object" || \ ++ test -z "$non_pic_object" || ++ test "$pic_object" = none && \ ++ test "$non_pic_object" = none; then ++ $echo "$modename: cannot find name of object for \`$arg'" 1>&2 ++ exit 1 ++ fi ++ ++ # Extract subdirectory from the argument. ++ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$arg"; then ++ xdir= ++ else ++ xdir="$xdir/" ++ fi ++ ++ if test "$pic_object" != none; then ++ # Prepend the subdirectory the object is found in. ++ pic_object="$xdir$pic_object" ++ ++ if test "$prev" = dlfiles; then ++ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then ++ dlfiles="$dlfiles $pic_object" ++ prev= ++ continue ++ else ++ # If libtool objects are unsupported, then we need to preload. ++ prev=dlprefiles ++ fi ++ fi ++ ++ # CHECK ME: I think I busted this. -Ossama ++ if test "$prev" = dlprefiles; then ++ # Preload the old-style object. ++ dlprefiles="$dlprefiles $pic_object" ++ prev= ++ fi ++ ++ # A PIC object. ++ libobjs="$libobjs $pic_object" ++ arg="$pic_object" ++ fi ++ ++ # Non-PIC object. ++ if test "$non_pic_object" != none; then ++ # Prepend the subdirectory the object is found in. ++ non_pic_object="$xdir$non_pic_object" ++ ++ # A standard non-PIC object ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ if test -z "$pic_object" || test "$pic_object" = none ; then ++ arg="$non_pic_object" ++ fi ++ fi ++ else ++ # Only an error if not doing a dry-run. ++ if test -z "$run"; then ++ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 ++ exit 1 ++ else ++ # Dry-run case. ++ ++ # Extract subdirectory from the argument. ++ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` ++ if test "X$xdir" = "X$arg"; then ++ xdir= ++ else ++ xdir="$xdir/" ++ fi ++ ++ pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` ++ non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` ++ libobjs="$libobjs $pic_object" ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ fi ++ fi ++ done ++ else ++ $echo "$modename: link input file \`$save_arg' does not exist" ++ exit 1 ++ fi ++ arg=$save_arg ++ prev= ++ continue ++ ;; + rpath | xrpath) + # We need an absolute path. + case $arg in +*************** +*** 936,945 **** + continue + ;; + esac +! fi # test -n $prev + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then +--- 1095,1122 ---- + continue + ;; + esac +! fi # test -n "$prev" + + prevarg="$arg" + ++ # Pass Metrowerks x86 NLM linker flags to linker. ++ case "$LD" in ++ mwldnlm) ++ case "$arg" in ++ -check | -commandfile | -entry | -exit | -flags | -map) ++ linker_flags="$linker_flags $qarg" ++ prev=xlinker ++ ;; ++ -nocheck | -zerobss | -nozerobss) ++ linker_flags="$linker_flags $qarg" ++ ;; ++ -g) ++ # If -g then include symbols for NetWare internal debugger ++ linker_flags="$linker_flags -sym internal" ++ ;; ++ esac ++ ;; ++ esac + case $arg in + -all-static) + if test -n "$link_static_flag"; then +*************** +*** 992,998 **** + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in +! no/*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; +--- 1169,1175 ---- + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in +! no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; +*************** +*** 1043,1056 **** + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; +! *-*-openbsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in +! *-*-openbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; +--- 1220,1237 ---- + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; +! *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; ++ *-*-rhapsody* | *-*-darwin1.[012]) ++ # Rhapsody C and math libraries are in the System framework ++ deplibs="$deplibs -framework System" ++ continue + esac + elif test "X$arg" = "X-lc_r"; then + case $host in +! *-*-openbsd* | *-*-freebsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; +*************** +*** 1089,1094 **** +--- 1270,1280 ---- + continue + ;; + ++ -objectlist) ++ prev=objectlist ++ continue ++ ;; ++ + -o) prev=output ;; + + -release) +*************** +*** 1201,1212 **** + esac + ;; + +! *.lo | *.$objext) +! # A library or standard object. + if test "$prev" = dlfiles; then +- # This file was specified with -dlopen. + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then +! dlfiles="$dlfiles $arg" + prev= + continue + else +--- 1387,1435 ---- + esac + ;; + +! *.$objext) +! # A standard object. +! objs="$objs $arg" +! ;; +! +! *.lo) +! # A libtool-controlled object. +! +! # Check to see that this really is a libtool object. +! if (${SED} -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then +! pic_object= +! non_pic_object= +! +! # Read the .lo file +! # If there is no directory component, then add one. +! case $arg in +! */* | *\\*) . $arg ;; +! *) . ./$arg ;; +! esac +! +! if test -z "$pic_object" || \ +! test -z "$non_pic_object" || +! test "$pic_object" = none && \ +! test "$non_pic_object" = none; then +! $echo "$modename: cannot find name of object for \`$arg'" 1>&2 +! exit 1 +! fi +! +! # Extract subdirectory from the argument. +! xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` +! if test "X$xdir" = "X$arg"; then +! xdir= +! else +! xdir="$xdir/" +! fi +! +! if test "$pic_object" != none; then +! # Prepend the subdirectory the object is found in. +! pic_object="$xdir$pic_object" +! + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then +! dlfiles="$dlfiles $pic_object" + prev= + continue + else +*************** +*** 1215,1229 **** + fi + fi + + if test "$prev" = dlprefiles; then + # Preload the old-style object. +! dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` + prev= + else +! case $arg in +! *.lo) libobjs="$libobjs $arg" ;; +! *) objs="$objs $arg" ;; +! esac + fi + ;; + +--- 1438,1487 ---- + fi + fi + ++ # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. +! dlprefiles="$dlprefiles $pic_object" + prev= ++ fi ++ ++ # A PIC object. ++ libobjs="$libobjs $pic_object" ++ arg="$pic_object" ++ fi ++ ++ # Non-PIC object. ++ if test "$non_pic_object" != none; then ++ # Prepend the subdirectory the object is found in. ++ non_pic_object="$xdir$non_pic_object" ++ ++ # A standard non-PIC object ++ non_pic_objects="$non_pic_objects $non_pic_object" ++ if test -z "$pic_object" || test "$pic_object" = none ; then ++ arg="$non_pic_object" ++ fi ++ fi + else +! # Only an error if not doing a dry-run. +! if test -z "$run"; then +! $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 +! exit 1 +! else +! # Dry-run case. +! +! # Extract subdirectory from the argument. +! xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` +! if test "X$xdir" = "X$arg"; then +! xdir= +! else +! xdir="$xdir/" +! fi +! +! pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` +! non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` +! libobjs="$libobjs $pic_object" +! non_pic_objects="$non_pic_objects $non_pic_object" +! fi + fi + ;; + +*************** +*** 1277,1288 **** +--- 1535,1617 ---- + exit 1 + fi + ++ # Special handling for Metrowerks compiler for NetWare ++ case "$LD" in ++ mwldnlm) ++ # If building debug (-g) add internal debug symbols. ++ compile_command=`echo $compile_command | ${SED} -e 's/ -g / -g -sym internal /'` ++ ++ # When using the Metrowerks linker for NetWare, if there is a ++ # .def or .exp file with the same filename as the $output file, ++ # add it as a -commandfile to $compile_command and $linker_flags ++ # (if no -commandfile yet) ++ base=`echo $output | ${SED} 's,\(.*\)\..*$,\1,'` ++ cmd_file= ++ for ext in def exp; do ++ if test -f "$base.$ext"; then ++ cmd_file="$base.$ext" ++ break ++ fi ++ done ++ if test -n "$cmd_file"; then ++ if ! ( expr "$compile_command" : ".*-commandfile.*" > /dev/null ); then ++ compile_command="$compile_command -commandfile $cmd_file" ++ fi ++ if ! ( expr "$linker_flags" : ".*-commandfile.*" > /dev/null ); then ++ linker_flags="$linker_flags -commandfile $cmd_file" ++ fi ++ fi ++ ;; ++ esac ++ ++ # Infer tagged configuration to use if any are available and ++ # if one wasn't chosen via the "--tag" command line option. ++ # Only attempt this if the compiler in the base link ++ # command doesn't match the default compiler. ++ if test -n "$available_tags" && test -z "$tagname"; then ++ case $base_compile in ++ # Blanks in the command may have been stripped by the calling shell, ++ # but not from the CC environment variable when ltconfig was run. ++ "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; ++ # Blanks at the start of $base_compile will cause this to fail ++ # if we don't check for them as well. ++ *) ++ for z in $available_tags; do ++ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then ++ # Evaluate the configuration. ++ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" ++ case $base_compile in ++ "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ++ # The compiler in $compile_command matches ++ # the one in the tagged configuration. ++ # Assume this is the tagged configuration we want. ++ tagname=$z ++ break ++ ;; ++ esac ++ fi ++ done ++ # If $tagname still isn't set, then no tagged configuration ++ # was found and let the user know that the "--tag" command ++ # line option must be used. ++ if test -z "$tagname"; then ++ echo "$modename: unable to infer tagged configuration" ++ echo "$modename: specify a tag with \`--tag'" 1>&2 ++ exit 1 ++ # else ++ # echo "$modename: using $tagname tagged configuration" ++ fi ++ ;; ++ esac ++ 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" +*************** +*** 1303,1313 **** + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. +! 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 +--- 1632,1642 ---- + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. +! 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 +*************** +*** 1325,1340 **** +--- 1654,1713 ---- + *) linkmode=prog ;; # Anything else should be a program. + esac + ++ case $host in ++ *cygwin*) ++ # This is a hack, but we run into problems on cygwin. ++ # libgcc.a depends on libcygwin, but gcc puts -lgcc onto ++ # the link line twice: once before the "normal" libs ++ # (-lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32) and ++ # once AFTER those. However, the "eliminate dup deps" ++ # proceedure keeps only the LAST duplicate -- thus ++ # messing up the order, since after dup elimination ++ # -lgcc comes AFTER -lcygwin. In normal C operation, ++ # you don't notice the problem, because -lgcc isn't ++ # really used. However, now that C++ libraries are ++ # libtool-able, you DO see the problem. So, it must ++ # be fixed. We could always force "--preserve-dup-deps" ++ # but that could lead to other problems. So, on cygwin, ++ # always preserve dups of -lgcc...but only -lgcc. That ++ # way, the dependency order won't get corrupted. ++ specialdeplibs="-lgcc" ++ ;; ++ *) + specialdeplibs= ++ ;; ++ esac ++ + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do ++ if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac ++ fi + libs="$libs $deplib" + done ++ ++ if test "$linkmode" = lib; then ++ libs="$predeps $libs $compiler_lib_search_path $postdeps" ++ ++ # Compute libraries that are listed more than once in $predeps ++ # $postdeps and mark them as special (i.e., whose duplicates are ++ # not to be eliminated). ++ pre_post_deps= ++ if test "X$duplicate_deps" = "Xyes" ; then ++ for pre_post_dep in $predeps $postdeps; do ++ case "$pre_post_deps " in ++ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; ++ esac ++ pre_post_deps="$pre_post_deps $pre_post_dep" ++ done ++ fi ++ pre_post_deps= ++ fi ++ + deplibs= + newdependency_libs= + newlib_search_path= +*************** +*** 1366,1393 **** + ;; + esac + for pass in $passes; do +! if test $linkmode = prog; then +! # Determine which files to process +! case $pass in +! dlopen) +! libs="$dlfiles" +! save_deplibs="$deplibs" # Collect dlpreopened libraries + deplibs= +! ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -l*) +! if test $linkmode = oldlib && test $linkmode = obj; then +! $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 + continue + fi +! if test $pass = conv; then + deplibs="$deplib $deplibs" + continue + fi +--- 1739,1771 ---- + ;; + esac + for pass in $passes; do +! if test "$linkmode,$pass" = "lib,link" || +! test "$linkmode,$pass" = "prog,scan"; then +! libs="$deplibs" + deplibs= +! fi +! if test "$linkmode" = prog; then +! case $pass in +! dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi ++ if test "$pass" = dlopen; then ++ # Collect dlpreopened libraries ++ save_deplibs="$deplibs" ++ deplibs= ++ fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -l*) +! if test "$linkmode" != lib && test "$linkmode" != prog; then +! $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi +! if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi +*************** +*** 1407,1413 **** + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" +! test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi +--- 1785,1791 ---- + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" +! test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi +*************** +*** 1416,1431 **** + case $linkmode in + lib) + deplibs="$deplib $deplibs" +! test $pass = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) +! if test $pass = conv; then + deplibs="$deplib $deplibs" + continue + fi +! if test $pass = scan; then + deplibs="$deplib $deplibs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + else +--- 1794,1809 ---- + case $linkmode in + lib) + deplibs="$deplib $deplibs" +! test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) +! if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi +! if test "$pass" = scan; then + deplibs="$deplib $deplibs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + else +*************** +*** 1434,1446 **** + fi + ;; + *) +! $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) +! if test $pass = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in +--- 1812,1824 ---- + fi + ;; + *) +! $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) +! if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in +*************** +*** 1453,1459 **** + ;; + *.la) lib="$deplib" ;; + *.$libext) +! if test $pass = conv; then + deplibs="$deplib $deplibs" + continue + fi +--- 1831,1837 ---- + ;; + *.la) lib="$deplib" ;; + *.$libext) +! if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi +*************** +*** 1461,1470 **** + lib) + if test "$deplibs_check_method" != pass_all; then + echo +! echo "*** Warning: This library needs some functionality provided by $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." + else + echo + echo "*** Warning: Linking the shared library $output against the" +--- 1839,1850 ---- + lib) + if test "$deplibs_check_method" != pass_all; then + echo +! echo "*** Warning: Trying to link with static lib archive $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" +! echo "*** because the file extensions .$libext of this argument makes me believe" +! echo "*** that it is just a static archive that I should not used here." + else + echo + echo "*** Warning: Linking the shared library $output against the" +*************** +*** 1474,1480 **** + continue + ;; + prog) +! if test $pass != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" +--- 1854,1860 ---- + continue + ;; + prog) +! if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" +*************** +*** 1485,1491 **** + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) +! if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" +--- 1865,1874 ---- + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) +! if test "$pass" = conv; then +! deplibs="$deplib $deplibs" +! elif test "$linkmode" = prog; then +! if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" +*************** +*** 1494,1499 **** +--- 1877,1883 ---- + else + newdlfiles="$newdlfiles $deplib" + fi ++ fi + continue + ;; + %DEPLIBS%) +*************** +*** 1501,1514 **** + continue + ;; + esac # case $deplib +! if test $found = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + fi + + # Check to see that this really is a libtool archive. +! if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 +--- 1885,1898 ---- + continue + ;; + esac # case $deplib +! if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + fi + + # Check to see that this really is a libtool archive. +! if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 +*************** +*** 1535,1547 **** + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || +! { test $linkmode = oldlib && test $linkmode = obj; }; then +! # Add dl[pre]opened files of deplib + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + +! if test $pass = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then +--- 1919,1930 ---- + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || +! { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + +! if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then +*************** +*** 1555,1566 **** + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + tmp_libs="$tmp_libs $deplib" + done +! elif test $linkmode != prog && test $linkmode != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit 1 + fi +--- 1938,1951 ---- + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" ++ if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac ++ fi + tmp_libs="$tmp_libs $deplib" + done +! elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit 1 + fi +*************** +*** 1578,1592 **** + fi + + # This library was specified with -dlopen. +! if test $pass = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit 1 + fi + if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking +! # statically, we need to preload. +! dlprefiles="$dlprefiles $lib" + else + newdlfiles="$newdlfiles $lib" + fi +--- 1963,1979 ---- + fi + + # This library was specified with -dlopen. +! if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit 1 + fi + if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking +! # statically, we need to preload. We also need to preload any +! # dependent libraries so libltdl's deplib preloader doesn't +! # bomb out in the load deplibs phase. +! dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi +*************** +*** 1627,1633 **** + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. +! if test $pass = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit 1 +--- 2014,2020 ---- + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. +! if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit 1 +*************** +*** 1646,1663 **** + + if test -z "$libdir"; then + # Link the convenience library +! if test $linkmode = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else +! deplibs="$lib $deplibs" + fi + continue + fi + +! if test $linkmode = prog && test $pass != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + +--- 2033,2050 ---- + + if test -z "$libdir"; then + # Link the convenience library +! if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else +! deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + +! if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + +*************** +*** 1673,1700 **** + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? +! if test $linkalldeplibs = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + +! link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then +! # Link against this shared library + +- if test "$linkmode,$pass" = "prog,link" || +- { test $linkmode = lib && test $hardcode_into_libs = yes; }; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. +--- 2060,2095 ---- + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? +! if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi ++ if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac ++ fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + +! if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then +! # We need to hardcode the library path +! if test -n "$shlibpath_var"; then +! # Make sure the rpath contains only unique directories. +! case "$temp_rpath " in +! *" $dir "*) ;; +! *" $absdir "*) ;; +! *) temp_rpath="$temp_rpath $dir" ;; +! esac +! fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. +*************** +*** 1716,1732 **** + esac + ;; + esac +- if test $linkmode = prog; then +- # We need to hardcode the library path +- if test -n "$shlibpath_var"; then +- # Make sure the rpath contains only unique directories. +- case "$temp_rpath " in +- *" $dir "*) ;; +- *" $absdir "*) ;; +- *) temp_rpath="$temp_rpath $dir" ;; +- esac +- fi +- fi + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && +--- 2111,2116 ---- +*************** +*** 1736,1746 **** +--- 2120,2159 ---- + # We only need to search for static libraries + continue + fi ++ fi + ++ link_static=no # Whether the deplib will be linked statically ++ if test -n "$library_names" && ++ { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi ++ # This is a shared library ++ if test "$linkmode" = lib && ++ test "$hardcode_into_libs" = yes; then ++ # Hardcode the library path. ++ # Skip directories that are in the system default run-time ++ # search path. ++ 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 ++ fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname +*************** +*** 1766,1773 **** + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" +! soname=`echo $soroot | sed -e 's/^.*\///'` +! newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : +--- 2179,2186 ---- + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" +! soname=`echo $soroot | ${SED} -e 's/^.*\///'` +! newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : +*************** +*** 1798,1806 **** + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib +! fi # test -n $old_archive_from_expsyms_cmds + +! if test $linkmode = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= +--- 2211,2219 ---- + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib +! fi # test -n "$old_archive_from_expsyms_cmds" + +! if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= +*************** +*** 1808,1813 **** +--- 2221,2229 ---- + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then ++ case $host in ++ *-*-sco3.2v5* ) add_dir="-L$dir" ;; ++ esac + add="$dir/$linklib" + elif test "$hardcode_minus_L" = no; then + case $host in +*************** +*** 1849,1855 **** + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi +! if test $linkmode = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else +--- 2265,2271 ---- + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi +! if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else +*************** +*** 1866,1872 **** + fi + fi + +! if test $linkmode = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= +--- 2282,2288 ---- + fi + fi + +! if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= +*************** +*** 1884,1898 **** + add="-l$name" + else + # We cannot seem to hardcode it, guess we'll fake it. +- if test "X$installed" = Xyes; then + add_dir="-L$libdir" +- else +- add_dir="-L$DESTDIR$libdir" +- fi + add="-l$name" + fi + +! if test $linkmode = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else +--- 2300,2310 ---- + add="-l$name" + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + add="-l$name" + fi + +! if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else +*************** +*** 1900,1915 **** + test -n "$add" && deplibs="$add $deplibs" + fi + fi +! elif test $linkmode = prog; then +! if test "$alldeplibs" = yes && +! { test "$deplibs_check_method" = pass_all || +! { test "$build_libtool_libs" = yes && +! test -n "$library_names"; }; }; then +! # We only need to search for static libraries +! continue +! fi +! +! # Try to link the static library + # 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. +--- 2312,2318 ---- + test -n "$add" && deplibs="$add $deplibs" + fi + fi +! elif test "$linkmode" = prog; then + # 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. +*************** +*** 1930,1942 **** + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo +! echo "*** Warning: This library needs some functionality provided by $lib." + 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." + if test "$module" = yes; then +! echo "*** Therefore, libtool will create a static module, that should work " +! echo "*** as long as the dlopening 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" +--- 2333,2346 ---- + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo +! echo "*** Warning: This system can not link to static lib archive $lib." + 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." + if test "$module" = yes; then +! echo "*** But as you try to build a module library, libtool will still create " +! echo "*** a static module, that should work as long as the dlopening application" +! echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" +*************** +*** 1959,1968 **** + fi + fi # link shared/static library? + +! if test $linkmode = lib; then + if test -n "$dependency_libs" && +! { test $hardcode_into_libs != yes || test $build_old_libs = yes || +! test $link_static = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do +--- 2363,2372 ---- + fi + fi # link shared/static library? + +! if test "$linkmode" = lib; then + if test -n "$dependency_libs" && +! { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || +! test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do +*************** +*** 1985,1997 **** + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + tmp_libs="$tmp_libs $deplib" + done + +! if test $link_all_deplibs != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in +--- 2389,2403 ---- + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" ++ if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac ++ fi + tmp_libs="$tmp_libs $deplib" + done + +! if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in +*************** +*** 2013,2019 **** + if grep "^installed=no" $deplib > /dev/null; then + path="-L$absdir/$objdir" + else +! eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 +--- 2419,2425 ---- + if grep "^installed=no" $deplib > /dev/null; then + path="-L$absdir/$objdir" + else +! eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 +*************** +*** 2034,2048 **** + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs +! if test $pass = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi +! if test $pass != dlopen; then +! test $pass != scan && dependency_libs="$newdependency_libs" +! if test $pass != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do +--- 2440,2454 ---- + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs +! dependency_libs="$newdependency_libs" +! if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi +! if test "$pass" != dlopen; then +! if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do +*************** +*** 2064,2072 **** +--- 2470,2498 ---- + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do ++ # FIXME: Pedantically, this is the right thing to do, so ++ # that some nasty dependency loop isn't accidentally ++ # broken: ++ #new_libs="$deplib $new_libs" ++ # Pragmatically, this seems to cause very few problems in ++ # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + *) ++ # And here is the reason: when a library appears more ++ # than once as an explicit dependence of a library, or ++ # is implicitly linked in more than once by the ++ # compiler, it is considered special, and multiple ++ # occurrences thereof are not removed. Compare this ++ # with having the same library being listed as a ++ # dependency of multiple other libraries: in this case, ++ # we know (pedantically, we assume) the library does not ++ # need to be listed more than once, so we keep only the ++ # last copy. This is not always right, but it is rare ++ # enough that we require users that really mean to play ++ # such unportable linking tricks to link the library ++ # using -Wl,-lname, so that libtool does not consider it ++ # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) +*************** +*** 2094,2112 **** + eval $var=\"$tmp_libs\" + done # for var + fi +- if test "$pass" = "conv" && +- { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then +- libs="$deplibs" # reset libs +- deplibs= +- fi + done # for pass +! if test $linkmode = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi +--- 2520,2537 ---- + eval $var=\"$tmp_libs\" + done # for var + fi + done # for pass +! if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) ++ 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 +*************** +*** 2177,2183 **** + fi + + set dummy $rpath +! if test $# -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" +--- 2602,2608 ---- + fi + + set dummy $rpath +! if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" +*************** +*** 2186,2192 **** + 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 +--- 2611,2619 ---- + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. +! # Some compilers have problems with a `.al' extension so +! # convenience libraries should have the same extension an +! # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes +*************** +*** 2244,2250 **** + ;; + 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 +--- 2671,2677 ---- + ;; + 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 +*************** +*** 2277,2292 **** + versuffix=".$current"; + ;; + +! 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 `.'. +--- 2704,2724 ---- + versuffix=".$current"; + ;; + +! irix | nonstopux) + major=`expr $current - $age + 1` +! +! case $version_type in +! nonstopux) verstring_prefix=nonstopux ;; +! *) verstring_prefix=sgi ;; +! esac +! verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision +! while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` +! verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. +*************** +*** 2306,2312 **** + + # 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" +--- 2738,2744 ---- + + # Add in all the interfaces that we are compatible with. + loop=$age +! while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" +*************** +*** 2338,2349 **** + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= +- verstring="0.0" + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely +! verstring="" + ;; + *) + verstring="0.0" +--- 2770,2780 ---- + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely +! verstring= + ;; + *) + verstring="0.0" +*************** +*** 2377,2385 **** + fi + + if test "$mode" != relink; then +! # Remove our outputs. +! $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}.* + fi + + # Now set the variables for building old libraries. +--- 2808,2831 ---- + fi + + if test "$mode" != relink; then +! # Remove our outputs, but don't remove object files since they +! # may have been created when compiling PIC objects. +! removelist= +! tempremovelist=`echo "$output_objdir/*"` +! for p in $tempremovelist; do +! case $p in +! *.$objext) +! ;; +! $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) +! removelist="$removelist $p" +! ;; +! *) ;; +! esac +! done +! if test -n "$removelist"; then +! $show "${rm}r $removelist" +! $run ${rm}r $removelist +! fi + fi + + # Now set the variables for building old libraries. +*************** +*** 2392,2400 **** + + # Eliminate all temporary directories. + for path in $notinst_path; do +! lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'` +! deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'` +! dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'` + done + + if test -n "$xrpath"; then +--- 2838,2846 ---- + + # Eliminate all temporary directories. + for path in $notinst_path; do +! lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'` +! deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'` +! dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` + done + + if test -n "$xrpath"; then +*************** +*** 2407,2413 **** + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done +! if test $hardcode_into_libs != yes || test $build_old_libs = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi +--- 2853,2859 ---- + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done +! if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi +*************** +*** 2445,2456 **** + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; +! *-*-openbsd*) + # Do not include libc due to us having libc/libc_r. + ;; + *) + # Add libc to deplibs on all other systems if necessary. +! if test $build_libtool_need_lc = "yes"; then + deplibs="$deplibs -lc" + fi + ;; +--- 2891,2903 ---- + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; +! *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. ++ test "X$arg" = "X-lc" && continue + ;; + *) + # Add libc to deplibs on all other systems if necessary. +! if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; +*************** +*** 2490,2502 **** + int main() { return 0; } + EOF + $rm conftest +! $CC -o conftest conftest.c $deplibs +! if test $? -eq 0 ; then + ldd_output=`ldd conftest` + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. +! if test -n "$name" && test "$name" != "0"; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches +--- 2937,2949 ---- + int main() { return 0; } + EOF + $rm conftest +! $LTCC -o conftest conftest.c $deplibs +! if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. +! if test "$name" != "" && test "$name" -ne "0"; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches +*************** +*** 2506,2531 **** + else + droppeddeps=yes + echo +! echo "*** Warning: This library needs some functionality provided by $i." + 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 + newdeplibs="$newdeplibs $i" + fi + done + else +! # Error occured in the first compile. Let's try to salvage the situation: +! # Compile a seperate program for each library. + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. +! if test -n "$name" && test "$name" != "0"; then + $rm conftest +! $CC -o conftest conftest.c $i + # Did it work? +! if test $? -eq 0 ; then + ldd_output=`ldd conftest` + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` +--- 2953,2980 ---- + else + droppeddeps=yes + echo +! echo "*** Warning: dynamic linker does not accept needed library $i." + 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 I believe you do not have" +! echo "*** because a test_compile did reveal that the linker did not use it for" +! echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else +! # Error occured in the first compile. Let's try to salvage +! # the situation: Compile a separate program for each library. + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. +! if test "$name" != "" && test "$name" != "0"; then + $rm conftest +! $LTCC -o conftest conftest.c $i + # Did it work? +! if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` +*************** +*** 2536,2545 **** + else + droppeddeps=yes + echo +! echo "*** Warning: This library needs some functionality provided by $i." + 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 + droppeddeps=yes +--- 2985,2996 ---- + else + droppeddeps=yes + echo +! echo "*** Warning: dynamic linker does not accept needed library $i." + 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" +! echo "*** because a test_compile did reveal that the linker did not use this one" +! echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi + else + droppeddeps=yes +*************** +*** 2561,2567 **** + for a_deplib in $deplibs; do + name="`expr $a_deplib : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. +! if test -n "$name" && test "$name" != "0"; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` +--- 3012,3018 ---- + for a_deplib in $deplibs; do + name="`expr $a_deplib : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. +! if test "$name" != "" && test "$name" != "0"; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` +*************** +*** 2578,2591 **** + # 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="" +--- 3029,3042 ---- + # 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="" +*************** +*** 2596,2605 **** + 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. +--- 3047,3063 ---- + if test -n "$a_deplib" ; then + droppeddeps=yes + echo +! echo "*** Warning: linker path does not have real file for library $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" +! echo "*** because I did check the linker path looking for a file starting" +! if test -z "$potlib" ; then +! echo "*** with $libname but no candidates were found. (...for file magic test)" +! else +! echo "*** with $libname and none of the candidates passed a file format test" +! echo "*** using a file magic. Last file checked: $potlib" +! fi + fi + else + # Add a -L argument. +*************** +*** 2618,2625 **** + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + if eval echo \"$potent_lib\" 2>/dev/null \ +! | sed 10q \ + | egrep "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" +--- 3076,3084 ---- + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do ++ potlib="$potent_lib" # see symlink-check above in file_magic test + if eval echo \"$potent_lib\" 2>/dev/null \ +! | ${SED} 10q \ + | egrep "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" +*************** +*** 2630,2639 **** + 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. +--- 3089,3105 ---- + if test -n "$a_deplib" ; then + droppeddeps=yes + echo +! echo "*** Warning: linker path does not have real file for library $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" +! echo "*** because I did check the linker path looking for a file starting" +! if test -z "$potlib" ; then +! echo "*** with $libname but no candidates were found. (...for regex pattern test)" +! else +! echo "*** with $libname and none of the candidates passed a file format test" +! echo "*** using a regex pattern. Last file checked: $potlib" +! fi + fi + else + # Add a -L argument. +*************** +*** 2696,2702 **** + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + +! if test $allow_undefined = no; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" +--- 3162,3168 ---- + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + +! if test "$allow_undefined" = no; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" +*************** +*** 2723,2729 **** + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then +! if test $hardcode_into_libs = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= +--- 3189,3195 ---- + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then +! if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= +*************** +*** 2789,2795 **** + else + soname="$realname" + fi +! test -z "$dlname" && dlname=$soname + + lib="$output_objdir/$realname" + for link +--- 3255,3263 ---- + else + soname="$realname" + fi +! if test -z "$dlname"; then +! dlname=$soname +! fi + + lib="$output_objdir/$realname" + for link +*************** +*** 2797,2819 **** + 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` + +--- 3265,3270 ---- +*************** +*** 2827,2834 **** +--- 3278,3293 ---- + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" ++ if len=`expr "X$cmd" : ".*"` && ++ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? ++ skipped_export=false ++ else ++ # The command line is too long to execute in one step. ++ $show "using reloadable object file for export list..." ++ skipped_export=: ++ fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then +*************** +*** 2846,2860 **** + + 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" +--- 3305,3320 ---- + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then ++ save_libobjs=$libobjs + 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" +*************** +*** 2870,2885 **** + + $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 +--- 3330,3345 ---- + + $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 \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + fi + fi +*************** +*** 2898,2905 **** +--- 3358,3488 ---- + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else ++ save_deplibs="$deplibs" ++ for conv in $convenience; do ++ tmp_deplibs= ++ for test_deplib in $deplibs; do ++ if test "$test_deplib" != "$conv"; then ++ tmp_deplibs="$tmp_deplibs $test_deplib" ++ fi ++ done ++ deplibs="$tmp_deplibs" ++ done ++ eval cmds=\"$archive_cmds\" ++ deplibs="$save_deplibs" ++ fi ++ ++ if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && ++ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then ++ : ++ else ++ # The command line is too long to link in one step, link piecewise. ++ $echo "creating reloadable object files..." ++ ++ # Save the value of $output and $libobjs because we want to ++ # use them later. If we have whole_archive_flag_spec, we ++ # want to use save_libobjs as it was before ++ # whole_archive_flag_spec was expanded, because we can't ++ # assume the linker understands whole_archive_flag_spec. ++ # This may have to be revisited, in case too many ++ # convenience libraries get linked in and end up exceeding ++ # the spec. ++ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then ++ save_libobjs=$libobjs ++ fi ++ save_output=$output ++ ++ # Clear the reloadable object creation command queue and ++ # initialize k to one. ++ test_cmds= ++ concat_cmds= ++ objlist= ++ delfiles= ++ last_robj= ++ k=1 ++ output=$output_objdir/$save_output-${k}.$objext ++ # Loop over the list of objects to be linked. ++ for obj in $save_libobjs ++ do ++ eval test_cmds=\"$reload_cmds $objlist $last_robj\" ++ if test "X$objlist" = X || ++ { len=`expr "X$test_cmds" : ".*"` && ++ test "$len" -le "$max_cmd_len"; }; then ++ objlist="$objlist $obj" ++ else ++ # The command $test_cmds is almost too long, add a ++ # command to the queue. ++ if test "$k" -eq 1 ; then ++ # The first file doesn't have a previous command to add. ++ eval concat_cmds=\"$reload_cmds $objlist $last_robj\" ++ else ++ # All subsequent reloadable object files will link in ++ # the last one created. ++ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" ++ fi ++ last_robj=$output_objdir/$save_output-${k}.$objext ++ k=`expr $k + 1` ++ output=$output_objdir/$save_output-${k}.$objext ++ objlist=$obj ++ len=1 ++ fi ++ done ++ # Handle the remaining objects by creating one last ++ # reloadable object file. All subsequent reloadable object ++ # files will link in the last one created. ++ test -z "$concat_cmds" || concat_cmds=$concat_cmds~ ++ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" ++ ++ if ${skipped_export-false}; then ++ $show "generating symbol list for \`$libname.la'" ++ export_symbols="$output_objdir/$libname.exp" ++ $run $rm $export_symbols ++ libobjs=$output ++ # Append the command to create the export file. ++ eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" ++ fi ++ ++ # Set up a command to remove the reloadale object files ++ # after they are used. ++ i=0 ++ while test "$i" -lt "$k" ++ do ++ i=`expr $i + 1` ++ delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" ++ done ++ ++ $echo "creating a temporary reloadable object file: $output" ++ ++ # Loop through the commands generated above and execute them. ++ save_ifs="$IFS"; IFS='~' ++ for cmd in $concat_cmds; do ++ IFS="$save_ifs" ++ $show "$cmd" ++ $run eval "$cmd" || exit $? ++ done ++ IFS="$save_ifs" ++ ++ libobjs=$output ++ # Restore the value of output. ++ output=$save_output ++ ++ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then ++ eval libobjs=\"\$libobjs $whole_archive_flag_spec\" ++ fi ++ # Expand the library linking commands again to reset the ++ # value of $libobjs for piecewise linking. ++ ++ # 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 ++ ++ # Append the command to remove the reloadable object files ++ # to the just-reset $cmds. ++ eval cmds=\"\$cmds~$rm $delfiles\" ++ fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" +*************** +*** 2990,2999 **** + 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" +--- 3573,3582 ---- + 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" +*************** +*** 3009,3024 **** + + $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 +--- 3592,3607 ---- + + $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 \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + fi + fi +*************** +*** 3054,3061 **** + + # 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 + +--- 3637,3644 ---- + + # 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 + +*************** +*** 3071,3090 **** + $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 +--- 3654,3659 ---- +*************** +*** 3097,3103 **** + + prog) + case $host in +! *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 +--- 3666,3672 ---- + + prog) + case $host in +! *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 +*************** +*** 3285,3293 **** + 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 +--- 3854,3862 ---- + 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 +*************** +*** 3295,3301 **** + + 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 +--- 3864,3870 ---- + + 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 +*************** +*** 3310,3316 **** + fi + + # Try sorting and uniquifying the output. +! if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S +--- 3879,3891 ---- + fi + + # Try sorting and uniquifying the output. +! if grep -v "^: " < "$nlist" | +! if sort -k 3 </dev/null >/dev/null 2>&1; then +! sort -k 3 +! else +! sort +2 +! fi | +! uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S +*************** +*** 3371,3388 **** + *-*-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" +--- 3946,3963 ---- + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; +! *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; +! *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. +! $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" +! $run eval '(cd $output_objdir && $LTCC -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" +*************** +*** 3407,3413 **** + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + +! if test $need_relink = no || 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" +--- 3982,3988 ---- + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + +! if test "$need_relink" = no || 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" +*************** +*** 3532,3538 **** + 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 + +--- 4107,4113 ---- + 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 + +*************** +*** 3552,3562 **** + # 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 + # test for cygwin because mv fails w/o .exe extensions + case $host in +! *cygwin*) exeext=.exe ;; + *) exeext= ;; + esac + $rm $output +--- 4127,4139 ---- + # 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 + # test for cygwin because mv fails w/o .exe extensions + case $host in +! *cygwin*) +! exeext=.exe +! outputname=`echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + $rm $output +*************** +*** 3576,3582 **** + + # 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 +--- 4153,4159 ---- + + # 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 +*************** +*** 3614,3620 **** + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. +! file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + +--- 4191,4197 ---- + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. +! file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + +*************** +*** 3627,3633 **** + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` +! file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. +--- 4204,4210 ---- + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` +! file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. +*************** +*** 3641,3647 **** + 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\" +--- 4218,4224 ---- + 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\" +*************** +*** 3763,3769 **** + oldobjs="$libobjs_save" + build_libtool_libs=no + else +! oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` + fi + addlibs="$old_convenience" + fi +--- 4340,4346 ---- + oldobjs="$libobjs_save" + build_libtool_libs=no + else +! oldobjs="$oldobjs$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi +*************** +*** 3772,3781 **** + 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" +--- 4349,4358 ---- + 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" +*************** +*** 3792,3801 **** + + $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)" +--- 4369,4378 ---- + + $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)" +*************** +*** 3809,3833 **** + 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 + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do +--- 4386,4438 ---- + 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\" +! +! if len=`expr "X$cmds" : ".*"` && +! test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then +! : +! else +! # the command line is too long to link in one step, link in parts +! $echo "using piecewise archive linking..." +! save_RANLIB=$RANLIB +! RANLIB=: +! objlist= +! concat_cmds= +! save_oldobjs=$oldobjs +! # GNU ar 2.10+ was changed to match POSIX; thus no paths are +! # encoded into archives. This makes 'ar r' malfunction in +! # this piecewise linking case whenever conflicting object +! # names appear in distinct ar calls; check, warn and compensate. +! if (for obj in $save_oldobjs +! do +! $echo "X$obj" | $Xsed -e 's%^.*/%%' +! done | sort | sort -uc >/dev/null 2>&1); then +! : +! else +! $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 +! $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 +! AR_FLAGS=cq +! fi +! for obj in $save_oldobjs +! do +! oldobjs="$objlist $obj" +! objlist="$objlist $obj" +! eval test_cmds=\"$old_archive_cmds\" +! if len=`expr "X$test_cmds" : ".*"` && +! test "$len" -le "$max_cmd_len"; then +! : +! else +! # the above command should be used before it gets too long +! oldobjs=$objlist +! test -z "$concat_cmds" || concat_cmds=$concat_cmds~ +! eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" +! objlist= + fi + done +! RANLIB=$save_RANLIB +! oldobjs=$objlist +! eval cmds=\"\$concat_cmds~$old_archive_cmds\" +! fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do +*************** +*** 3862,3868 **** + fi + done + # Quote the link command for shipping. +! relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + + # Only create the output if not a dry run. +--- 4467,4473 ---- + fi + done + # Quote the link command for shipping. +! relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + + # Only create the output if not a dry run. +*************** +*** 3879,3885 **** + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` +! eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 +--- 4484,4490 ---- + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` +! eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 +*************** +*** 3893,3899 **** + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` +! eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 +--- 4498,4504 ---- + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` +! eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 +*************** +*** 3904,3910 **** + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` +! eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 +--- 4509,4515 ---- + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` +! eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 +*************** +*** 3952,3958 **** + + # Directory that this library needs to be installed in: + libdir='$install_libdir'" +! if test "$installed" = no && test $need_relink = yes; then + $echo >> $output "\ + relink_command=\"$relink_command\"" + fi +--- 4557,4563 ---- + + # Directory that this library needs to be installed in: + libdir='$install_libdir'" +! if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ + relink_command=\"$relink_command\"" + fi +*************** +*** 4088,4094 **** + + # 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 +--- 4693,4699 ---- + + # 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 +*************** +*** 4128,4134 **** + + *.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 +--- 4733,4739 ---- + + *.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 +*************** +*** 4145,4165 **** + esac + + # Add the libdir to current_libdirs if it is the destination. +- DESTDIR= + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else +- case "$destdir" in +- *"$libdir") +- DESTDIR=`$echo "$destdir" | sed -e 's!'"$libdir"'$!!'` +- if test "X$destdir" != "X$DESTDIR$libdir"; then +- DESTDIR= +- fi +- ;; +- esac + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; +--- 4750,4761 ---- +*************** +*** 4173,4179 **** + + if test -n "$relink_command"; then + $echo "$modename: warning: relinking \`$file'" 1>&2 +- export DESTDIR + $show "$relink_command" + if $run eval "$relink_command"; then : + else +--- 4769,4774 ---- +*************** +*** 4181,4187 **** + continue + fi + fi +- unset DESTDIR + + # See the names of the shared library. + set dummy $library_names +--- 4776,4781 ---- +*************** +*** 4201,4207 **** + $run eval "$striplib $destdir/$realname" || exit $? + fi + +! if test $# -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do +--- 4795,4801 ---- + $run eval "$striplib $destdir/$realname" || exit $? + fi + +! if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do +*************** +*** 4287,4306 **** + 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 + notinst_deplibs= + 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 "$notinst_deplibs"; then +! $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 + exit 1 + fi + +--- 4881,4921 ---- + destfile="$destdir/$destfile" + fi + ++ # If the file is missing, and there is a .exe on the end, strip it ++ # because it is most likely a libtool script we actually want to ++ # install ++ stripped_ext="" ++ case $file in ++ *.exe) ++ if test ! -f "$file"; then ++ file=`echo $file|${SED} 's,.exe$,,'` ++ stripped_ext=".exe" ++ fi ++ ;; ++ esac ++ + # Do a test to see if this is really a libtool program. +! case $host in +! *cygwin*|*mingw*) +! wrapper=`echo $file | ${SED} -e 's,.exe$,,'` +! ;; +! *) +! wrapper=$file +! ;; +! esac +! if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # If there is no directory component, then add one. + case $file in +! */* | *\\*) . $wrapper ;; +! *) . ./$wrapper ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then +! $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit 1 + fi + +*************** +*** 4340,4346 **** + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi +! file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` +--- 4955,4961 ---- + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi +! file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` +*************** +*** 4358,4371 **** + fi + else + # Install the binary that we compiled earlier. +! file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyways + case $install_prog,$host in +! /usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok +--- 4973,4986 ---- + fi + else + # Install the binary that we compiled earlier. +! file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyways + case $install_prog,$host in +! */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok +*************** +*** 4374,4380 **** + destfile=$destfile.exe + ;; + *:*.exe) +! destfile=`echo $destfile | sed -e 's,.exe$,,'` + ;; + esac + ;; +--- 4989,4995 ---- + destfile=$destfile.exe + ;; + *:*.exe) +! destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; +*************** +*** 4459,4465 **** + fi + + # Exit here if they wanted silent mode. +! test "$show" = ":" && exit 0 + + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" +--- 5074,5080 ---- + fi + + # Exit here if they wanted silent mode. +! test "$show" = : && exit 0 + + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" +*************** +*** 4522,4528 **** + 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 +--- 5137,5143 ---- + 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 +*************** +*** 4593,4599 **** + -*) ;; + *) + # 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 ;; +--- 5208,5214 ---- + -*) ;; + *) + # 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 ;; +*************** +*** 4625,4631 **** + fi + + # Now prepare to actually exec the command. +! exec_cmd='"$cmd"$args' + else + # Display what would be done. + if test -n "$shlibpath_var"; then +--- 5240,5246 ---- + fi + + # Now prepare to actually exec the command. +! exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then +*************** +*** 4675,4684 **** + objdir="$dir/$objdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +! test $mode = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates +! if test $mode = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; +--- 5290,5299 ---- + objdir="$dir/$objdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` +! test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates +! if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; +*************** +*** 4702,4708 **** + 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. +--- 5317,5323 ---- + 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. +*************** +*** 4710,4718 **** + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" +! test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + +! if test $mode = uninstall; then + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + eval cmds=\"$postuninstall_cmds\" +--- 5325,5333 ---- + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" +! test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + +! if test "$mode" = uninstall; then + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + eval cmds=\"$postuninstall_cmds\" +*************** +*** 4721,4727 **** + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" +! if test $? != 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done +--- 5336,5342 ---- + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" +! if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done +*************** +*** 4736,4742 **** + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" +! if test $? != 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done +--- 5351,5357 ---- + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" +! if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done +*************** +*** 4748,4763 **** + ;; + + *.lo) +! if test "$build_old_libs" = yes; then +! oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` +! rmfiles="$rmfiles $dir/$oldobj" + fi + ;; + + *) + # Do a test to see if this is a libtool program. +! if test $mode = clean && +! (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$file + +--- 5363,5392 ---- + ;; + + *.lo) +! # Possibly a libtool object, so verify it. +! if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then +! +! # Read the .lo file +! . $dir/$name +! +! # Add PIC object to the list of files to remove. +! if test -n "$pic_object" \ +! && test "$pic_object" != none; then +! rmfiles="$rmfiles $dir/$pic_object" +! fi +! +! # Add non-PIC object to the list of files to remove. +! if test -n "$non_pic_object" \ +! && test "$non_pic_object" != none; then +! rmfiles="$rmfiles $dir/$non_pic_object" +! fi + fi + ;; + + *) + # Do a test to see if this is a libtool program. +! if test "$mode" = clean && +! (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$file + +*************** +*** 4818,4823 **** +--- 5447,5453 ---- + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages ++ --tag=TAG use configuration variables from tag TAG + --version print version information + + MODE must be one of the following: +*************** +*** 4943,4948 **** +--- 5573,5579 ---- + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects ++ -objectlist FILE Use a list of object files found in FILE to specify 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 +*************** +*** 4993,4998 **** +--- 5624,5649 ---- + + exit 0 + ++ # The TAGs below are defined such that we never get into a situation ++ # in which we disable both kinds of libraries. Given conflicting ++ # choices, we go for a static library, that is the most portable, ++ # since we can't tell whether shared libraries were disabled because ++ # the user asked for that or because the platform doesn't support ++ # them. This is particularly important on AIX, because we don't ++ # support having both static and shared libraries enabled at the same ++ # time on that platform, so we default to a shared-only configuration. ++ # If a disable-shared tag is given, we'll fallback to a static-only ++ # configuration. But we'll never go from static-only to shared-only. ++ ++ # ### BEGIN LIBTOOL TAG CONFIG: disable-shared ++ build_libtool_libs=no ++ build_old_libs=yes ++ # ### END LIBTOOL TAG CONFIG: disable-shared ++ ++ # ### BEGIN LIBTOOL TAG CONFIG: disable-static ++ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ++ # ### END LIBTOOL TAG CONFIG: disable-static ++ + # Local Variables: + # mode:shell-script + # sh-indentation:2 |