Home | History | Annotate | Download | only in autoconf
      1 # ltmain.sh - Provide generalized library-building support services.
      2 # NOTE: Changing this file will not affect anything until you rerun configure.
      3 #
      4 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
      5 # Free Software Foundation, Inc.
      6 # Originally by Gordon Matzigkeit <gord (at] gnu.ai.mit.edu>, 1996
      7 #
      8 # This program is free software; you can redistribute it and/or modify
      9 # it under the terms of the GNU General Public License as published by
     10 # the Free Software Foundation; either version 2 of the License, or
     11 # (at your option) any later version.
     12 #
     13 # This program is distributed in the hope that it will be useful, but
     14 # WITHOUT ANY WARRANTY; without even the implied warranty of
     15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     16 # General Public License for more details.
     17 #
     18 # You should have received a copy of the GNU General Public License
     19 # along with this program; if not, write to the Free Software
     20 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     21 #
     22 # As a special exception to the GNU General Public License, if you
     23 # distribute this file as part of a program that contains a
     24 # configuration script generated by Autoconf, you may include it under
     25 # the same distribution terms that you use for the rest of that program.
     26 
     27 basename="s,^.*/,,g"
     28 
     29 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
     30 # is ksh but when the shell is invoked as "sh" and the current value of
     31 # the _XPG environment variable is not equal to 1 (one), the special
     32 # positional parameter $0, within a function call, is the name of the
     33 # function.
     34 progpath="$0"
     35 
     36 # The name of this program:
     37 progname=`echo "$progpath" | $SED $basename`
     38 modename="$progname"
     39 
     40 # Global variables:
     41 EXIT_SUCCESS=0
     42 EXIT_FAILURE=1
     43 
     44 PROGRAM=ltmain.sh
     45 PACKAGE=libtool
     46 VERSION=1.5.22
     47 TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
     48 
     49 # See if we are running on zsh, and set the options which allow our
     50 # commands through without removal of \ escapes.
     51 if test -n "${ZSH_VERSION+set}" ; then
     52   setopt NO_GLOB_SUBST
     53 fi
     54 
     55 # Check that we have a working $echo.
     56 if test "X$1" = X--no-reexec; then
     57   # Discard the --no-reexec flag, and continue.
     58   shift
     59 elif test "X$1" = X--fallback-echo; then
     60   # Avoid inline document here, it may be left over
     61   :
     62 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
     63   # Yippee, $echo works!
     64   :
     65 else
     66   # Restart under the correct shell, and then maybe $echo will work.
     67   exec $SHELL "$progpath" --no-reexec ${1+"$@"}
     68 fi
     69 
     70 if test "X$1" = X--fallback-echo; then
     71   # used as fallback echo
     72   shift
     73   cat <<EOF
     74 $*
     75 EOF
     76   exit $EXIT_SUCCESS
     77 fi
     78 
     79 default_mode=
     80 help="Try \`$progname --help' for more information."
     81 magic="%%%MAGIC variable%%%"
     82 mkdir="mkdir"
     83 mv="mv -f"
     84 rm="rm -f"
     85 
     86 # Sed substitution that helps us do robust quoting.  It backslashifies
     87 # metacharacters that are still active within double-quoted strings.
     88 Xsed="${SED}"' -e 1s/^X//'
     89 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
     90 # test EBCDIC or ASCII
     91 case `echo X|tr X '\101'` in
     92  A) # ASCII based system
     93     # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
     94   SP2NL='tr \040 \012'
     95   NL2SP='tr \015\012 \040\040'
     96   ;;
     97  *) # EBCDIC based system
     98   SP2NL='tr \100 \n'
     99   NL2SP='tr \r\n \100\100'
    100   ;;
    101 esac
    102 
    103 # NLS nuisances.
    104 # Only set LANG and LC_ALL to C if already set.
    105 # These must not be set unconditionally because not all systems understand
    106 # e.g. LANG=C (notably SCO).
    107 # We save the old values to restore during execute mode.
    108 if test "${LC_ALL+set}" = set; then
    109   save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
    110 fi
    111 if test "${LANG+set}" = set; then
    112   save_LANG="$LANG"; LANG=C; export LANG
    113 fi
    114 
    115 # Make sure IFS has a sensible default
    116 lt_nl='
    117 '
    118 IFS=" 	$lt_nl"
    119 
    120 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
    121   $echo "$modename: not configured to build any kind of library" 1>&2
    122   $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
    123   exit $EXIT_FAILURE
    124 fi
    125 
    126 # Global variables.
    127 mode=$default_mode
    128 nonopt=
    129 prev=
    130 prevopt=
    131 run=
    132 show="$echo"
    133 show_help=
    134 execute_dlfiles=
    135 duplicate_deps=no
    136 preserve_args=
    137 lo2o="s/\\.lo\$/.${objext}/"
    138 o2lo="s/\\.${objext}\$/.lo/"
    139 
    140 #####################################
    141 # Shell function definitions:
    142 # This seems to be the best place for them
    143 
    144 # func_mktempdir [string]
    145 # Make a temporary directory that won't clash with other running
    146 # libtool processes, and avoids race conditions if possible.  If
    147 # given, STRING is the basename for that directory.
    148 func_mktempdir ()
    149 {
    150     my_template="${TMPDIR-/tmp}/${1-$progname}"
    151 
    152     if test "$run" = ":"; then
    153       # Return a directory name, but don't create it in dry-run mode
    154       my_tmpdir="${my_template}-$$"
    155     else
    156 
    157       # If mktemp works, use that first and foremost
    158       my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
    159 
    160       if test ! -d "$my_tmpdir"; then
    161 	# Failing that, at least try and use $RANDOM to avoid a race
    162 	my_tmpdir="${my_template}-${RANDOM-0}$$"
    163 
    164 	save_mktempdir_umask=`umask`
    165 	umask 0077
    166 	$mkdir "$my_tmpdir"
    167 	umask $save_mktempdir_umask
    168       fi
    169 
    170       # If we're not in dry-run mode, bomb out on failure
    171       test -d "$my_tmpdir" || {
    172         $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
    173 	exit $EXIT_FAILURE
    174       }
    175     fi
    176 
    177     $echo "X$my_tmpdir" | $Xsed
    178 }
    179 
    180 
    181 # func_win32_libid arg
    182 # return the library type of file 'arg'
    183 #
    184 # Need a lot of goo to handle *both* DLLs and import libs
    185 # Has to be a shell function in order to 'eat' the argument
    186 # that is supplied when $file_magic_command is called.
    187 func_win32_libid ()
    188 {
    189   win32_libid_type="unknown"
    190   win32_fileres=`file -L $1 2>/dev/null`
    191   case $win32_fileres in
    192   *ar\ archive\ import\ library*) # definitely import
    193     win32_libid_type="x86 archive import"
    194     ;;
    195   *ar\ archive*) # could be an import, or static
    196     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
    197       $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
    198       win32_nmres=`eval $NM -f posix -A $1 | \
    199 	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
    200       case $win32_nmres in
    201       import*)  win32_libid_type="x86 archive import";;
    202       *)        win32_libid_type="x86 archive static";;
    203       esac
    204     fi
    205     ;;
    206   *DLL*)
    207     win32_libid_type="x86 DLL"
    208     ;;
    209   *executable*) # but shell scripts are "executable" too...
    210     case $win32_fileres in
    211     *MS\ Windows\ PE\ Intel*)
    212       win32_libid_type="x86 DLL"
    213       ;;
    214     esac
    215     ;;
    216   esac
    217   $echo $win32_libid_type
    218 }
    219 
    220 
    221 # func_infer_tag arg
    222 # Infer tagged configuration to use if any are available and
    223 # if one wasn't chosen via the "--tag" command line option.
    224 # Only attempt this if the compiler in the base compile
    225 # command doesn't match the default compiler.
    226 # arg is usually of the form 'gcc ...'
    227 func_infer_tag ()
    228 {
    229     if test -n "$available_tags" && test -z "$tagname"; then
    230       CC_quoted=
    231       for arg in $CC; do
    232 	case $arg in
    233 	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
    234 	  arg="\"$arg\""
    235 	  ;;
    236 	esac
    237 	CC_quoted="$CC_quoted $arg"
    238       done
    239       case $@ in
    240       # Blanks in the command may have been stripped by the calling shell,
    241       # but not from the CC environment variable when configure was run.
    242       " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
    243       # Blanks at the start of $base_compile will cause this to fail
    244       # if we don't check for them as well.
    245       *)
    246 	for z in $available_tags; do
    247 	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
    248 	    # Evaluate the configuration.
    249 	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
    250 	    CC_quoted=
    251 	    for arg in $CC; do
    252 	    # Double-quote args containing other shell metacharacters.
    253 	    case $arg in
    254 	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
    255 	      arg="\"$arg\""
    256 	      ;;
    257 	    esac
    258 	    CC_quoted="$CC_quoted $arg"
    259 	  done
    260 	    case "$@ " in
    261 	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
    262 	      # The compiler in the base compile command matches
    263 	      # the one in the tagged configuration.
    264 	      # Assume this is the tagged configuration we want.
    265 	      tagname=$z
    266 	      break
    267 	      ;;
    268 	    esac
    269 	  fi
    270 	done
    271 	# If $tagname still isn't set, then no tagged configuration
    272 	# was found and let the user know that the "--tag" command
    273 	# line option must be used.
    274 	if test -z "$tagname"; then
    275 	  $echo "$modename: unable to infer tagged configuration"
    276 	  $echo "$modename: specify a tag with \`--tag'" 1>&2
    277 	  exit $EXIT_FAILURE
    278 #        else
    279 #          $echo "$modename: using $tagname tagged configuration"
    280 	fi
    281 	;;
    282       esac
    283     fi
    284 }
    285 
    286 
    287 # func_extract_an_archive dir oldlib
    288 func_extract_an_archive ()
    289 {
    290     f_ex_an_ar_dir="$1"; shift
    291     f_ex_an_ar_oldlib="$1"
    292 
    293     $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
    294     $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
    295     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
    296      :
    297     else
    298       $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
    299       exit $EXIT_FAILURE
    300     fi
    301 }
    302 
    303 # func_extract_archives gentop oldlib ...
    304 func_extract_archives ()
    305 {
    306     my_gentop="$1"; shift
    307     my_oldlibs=${1+"$@"}
    308     my_oldobjs=""
    309     my_xlib=""
    310     my_xabs=""
    311     my_xdir=""
    312     my_status=""
    313 
    314     $show "${rm}r $my_gentop"
    315     $run ${rm}r "$my_gentop"
    316     $show "$mkdir $my_gentop"
    317     $run $mkdir "$my_gentop"
    318     my_status=$?
    319     if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
    320       exit $my_status
    321     fi
    322 
    323     for my_xlib in $my_oldlibs; do
    324       # Extract the objects.
    325       case $my_xlib in
    326 	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
    327 	*) my_xabs=`pwd`"/$my_xlib" ;;
    328       esac
    329       my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
    330       my_xdir="$my_gentop/$my_xlib"
    331 
    332       $show "${rm}r $my_xdir"
    333       $run ${rm}r "$my_xdir"
    334       $show "$mkdir $my_xdir"
    335       $run $mkdir "$my_xdir"
    336       exit_status=$?
    337       if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
    338 	exit $exit_status
    339       fi
    340       case $host in
    341       *-darwin*)
    342 	$show "Extracting $my_xabs"
    343 	# Do not bother doing anything if just a dry run
    344 	if test -z "$run"; then
    345 	  darwin_orig_dir=`pwd`
    346 	  cd $my_xdir || exit $?
    347 	  darwin_archive=$my_xabs
    348 	  darwin_curdir=`pwd`
    349 	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
    350 	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
    351 	  if test -n "$darwin_arches"; then 
    352 	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
    353 	    darwin_arch=
    354 	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
    355 	    for darwin_arch in  $darwin_arches ; do
    356 	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
    357 	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
    358 	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
    359 	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
    360 	      cd "$darwin_curdir"
    361 	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
    362 	    done # $darwin_arches
    363       ## Okay now we have a bunch of thin objects, gotta fatten them up :)
    364 	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
    365 	    darwin_file=
    366 	    darwin_files=
    367 	    for darwin_file in $darwin_filelist; do
    368 	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
    369 	      lipo -create -output "$darwin_file" $darwin_files
    370 	    done # $darwin_filelist
    371 	    ${rm}r unfat-$$
    372 	    cd "$darwin_orig_dir"
    373 	  else
    374 	    cd "$darwin_orig_dir"
    375  	    func_extract_an_archive "$my_xdir" "$my_xabs"
    376 	  fi # $darwin_arches
    377 	fi # $run
    378 	;;
    379       *)
    380         func_extract_an_archive "$my_xdir" "$my_xabs"
    381         ;;
    382       esac
    383       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
    384     done
    385     func_extract_archives_result="$my_oldobjs"
    386 }
    387 # End of Shell function definitions
    388 #####################################
    389 
    390 # Darwin sucks
    391 eval std_shrext=\"$shrext_cmds\"
    392 
    393 disable_libs=no
    394 
    395 # Parse our command line options once, thoroughly.
    396 while test "$#" -gt 0
    397 do
    398   arg="$1"
    399   shift
    400 
    401   case $arg in
    402   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
    403   *) optarg= ;;
    404   esac
    405 
    406   # If the previous option needs an argument, assign it.
    407   if test -n "$prev"; then
    408     case $prev in
    409     execute_dlfiles)
    410       execute_dlfiles="$execute_dlfiles $arg"
    411       ;;
    412     tag)
    413       tagname="$arg"
    414       preserve_args="${preserve_args}=$arg"
    415 
    416       # Check whether tagname contains only valid characters
    417       case $tagname in
    418       *[!-_A-Za-z0-9,/]*)
    419 	$echo "$progname: invalid tag name: $tagname" 1>&2
    420 	exit $EXIT_FAILURE
    421 	;;
    422       esac
    423 
    424       case $tagname in
    425       CC)
    426 	# Don't test for the "default" C tag, as we know, it's there, but
    427 	# not specially marked.
    428 	;;
    429       *)
    430 	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
    431 	  taglist="$taglist $tagname"
    432 	  # Evaluate the configuration.
    433 	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
    434 	else
    435 	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
    436 	fi
    437 	;;
    438       esac
    439       ;;
    440     *)
    441       eval "$prev=\$arg"
    442       ;;
    443     esac
    444 
    445     prev=
    446     prevopt=
    447     continue
    448   fi
    449 
    450   # Have we seen a non-optional argument yet?
    451   case $arg in
    452   --help)
    453     show_help=yes
    454     ;;
    455 
    456   --version)
    457     $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
    458     $echo
    459     $echo "Copyright (C) 2005  Free Software Foundation, Inc."
    460     $echo "This is free software; see the source for copying conditions.  There is NO"
    461     $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
    462     exit $?
    463     ;;
    464 
    465   --config)
    466     ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
    467     # Now print the configurations for the tags.
    468     for tagname in $taglist; do
    469       ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
    470     done
    471     exit $?
    472     ;;
    473 
    474   --debug)
    475     $echo "$progname: enabling shell trace mode"
    476     set -x
    477     preserve_args="$preserve_args $arg"
    478     ;;
    479 
    480   --dry-run | -n)
    481     run=:
    482     ;;
    483 
    484   --features)
    485     $echo "host: $host"
    486     if test "$build_libtool_libs" = yes; then
    487       $echo "enable shared libraries"
    488     else
    489       $echo "disable shared libraries"
    490     fi
    491     if test "$build_old_libs" = yes; then
    492       $echo "enable static libraries"
    493     else
    494       $echo "disable static libraries"
    495     fi
    496     exit $?
    497     ;;
    498 
    499   --finish) mode="finish" ;;
    500 
    501   --mode) prevopt="--mode" prev=mode ;;
    502   --mode=*) mode="$optarg" ;;
    503 
    504   --preserve-dup-deps) duplicate_deps="yes" ;;
    505 
    506   --quiet | --silent)
    507     show=:
    508     preserve_args="$preserve_args $arg"
    509     ;;
    510 
    511   --tag)
    512     prevopt="--tag"
    513     prev=tag
    514     preserve_args="$preserve_args --tag"
    515     ;;
    516   --tag=*)
    517     set tag "$optarg" ${1+"$@"}
    518     shift
    519     prev=tag
    520     preserve_args="$preserve_args --tag"
    521     ;;
    522 
    523   -dlopen)
    524     prevopt="-dlopen"
    525     prev=execute_dlfiles
    526     ;;
    527 
    528   -*)
    529     $echo "$modename: unrecognized option \`$arg'" 1>&2
    530     $echo "$help" 1>&2
    531     exit $EXIT_FAILURE
    532     ;;
    533 
    534   *)
    535     nonopt="$arg"
    536     break
    537     ;;
    538   esac
    539 done
    540 
    541 if test -n "$prevopt"; then
    542   $echo "$modename: option \`$prevopt' requires an argument" 1>&2
    543   $echo "$help" 1>&2
    544   exit $EXIT_FAILURE
    545 fi
    546 
    547 case $disable_libs in
    548 no) 
    549   ;;
    550 shared)
    551   build_libtool_libs=no
    552   build_old_libs=yes
    553   ;;
    554 static)
    555   build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
    556   ;;
    557 esac
    558 
    559 # If this variable is set in any of the actions, the command in it
    560 # will be execed at the end.  This prevents here-documents from being
    561 # left over by shells.
    562 exec_cmd=
    563 
    564 if test -z "$show_help"; then
    565 
    566   # Infer the operation mode.
    567   if test -z "$mode"; then
    568     $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
    569     $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
    570     case $nonopt in
    571     *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
    572       mode=link
    573       for arg
    574       do
    575 	case $arg in
    576 	-c)
    577 	   mode=compile
    578 	   break
    579 	   ;;
    580 	esac
    581       done
    582       ;;
    583     *db | *dbx | *strace | *truss)
    584       mode=execute
    585       ;;
    586     *install*|cp|mv)
    587       mode=install
    588       ;;
    589     *rm)
    590       mode=uninstall
    591       ;;
    592     *)
    593       # If we have no mode, but dlfiles were specified, then do execute mode.
    594       test -n "$execute_dlfiles" && mode=execute
    595 
    596       # Just use the default operation mode.
    597       if test -z "$mode"; then
    598 	if test -n "$nonopt"; then
    599 	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
    600 	else
    601 	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
    602 	fi
    603       fi
    604       ;;
    605     esac
    606   fi
    607 
    608   # Only execute mode is allowed to have -dlopen flags.
    609   if test -n "$execute_dlfiles" && test "$mode" != execute; then
    610     $echo "$modename: unrecognized option \`-dlopen'" 1>&2
    611     $echo "$help" 1>&2
    612     exit $EXIT_FAILURE
    613   fi
    614 
    615   # Change the help message to a mode-specific one.
    616   generic_help="$help"
    617   help="Try \`$modename --help --mode=$mode' for more information."
    618 
    619   # These modes are in order of execution frequency so that they run quickly.
    620   case $mode in
    621   # libtool compile mode
    622   compile)
    623     modename="$modename: compile"
    624     # Get the compilation command and the source file.
    625     base_compile=
    626     srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
    627     suppress_opt=yes
    628     suppress_output=
    629     arg_mode=normal
    630     libobj=
    631     later=
    632 
    633     for arg
    634     do
    635       case $arg_mode in
    636       arg  )
    637 	# do not "continue".  Instead, add this to base_compile
    638 	lastarg="$arg"
    639 	arg_mode=normal
    640 	;;
    641 
    642       target )
    643 	libobj="$arg"
    644 	arg_mode=normal
    645 	continue
    646 	;;
    647 
    648       normal )
    649 	# Accept any command-line options.
    650 	case $arg in
    651 	-o)
    652 	  if test -n "$libobj" ; then
    653 	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
    654 	    exit $EXIT_FAILURE
    655 	  fi
    656 	  arg_mode=target
    657 	  continue
    658 	  ;;
    659 
    660 	-static | -prefer-pic | -prefer-non-pic)
    661 	  later="$later $arg"
    662 	  continue
    663 	  ;;
    664 
    665 	-no-suppress)
    666 	  suppress_opt=no
    667 	  continue
    668 	  ;;
    669 
    670 	-Xcompiler)
    671 	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
    672 	  continue      #  The current "srcfile" will either be retained or
    673 	  ;;            #  replaced later.  I would guess that would be a bug.
    674 
    675 	-Wc,*)
    676 	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
    677 	  lastarg=
    678 	  save_ifs="$IFS"; IFS=','
    679  	  for arg in $args; do
    680 	    IFS="$save_ifs"
    681 
    682 	    # Double-quote args containing other shell metacharacters.
    683 	    # Many Bourne shells cannot handle close brackets correctly
    684 	    # in scan sets, so we specify it separately.
    685 	    case $arg in
    686 	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
    687 	      arg="\"$arg\""
    688 	      ;;
    689 	    esac
    690 	    lastarg="$lastarg $arg"
    691 	  done
    692 	  IFS="$save_ifs"
    693 	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
    694 
    695 	  # Add the arguments to base_compile.
    696 	  base_compile="$base_compile $lastarg"
    697 	  continue
    698 	  ;;
    699 
    700 	* )
    701 	  # Accept the current argument as the source file.
    702 	  # The previous "srcfile" becomes the current argument.
    703 	  #
    704 	  lastarg="$srcfile"
    705 	  srcfile="$arg"
    706 	  ;;
    707 	esac  #  case $arg
    708 	;;
    709       esac    #  case $arg_mode
    710 
    711       # Aesthetically quote the previous argument.
    712       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
    713 
    714       case $lastarg in
    715       # Double-quote args containing other shell metacharacters.
    716       # Many Bourne shells cannot handle close brackets correctly
    717       # in scan sets, and some SunOS ksh mistreat backslash-escaping
    718       # in scan sets (worked around with variable expansion),
    719       # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
    720       # at all, so we specify them separately.
    721       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
    722 	lastarg="\"$lastarg\""
    723 	;;
    724       esac
    725 
    726       base_compile="$base_compile $lastarg"
    727     done # for arg
    728 
    729     case $arg_mode in
    730     arg)
    731       $echo "$modename: you must specify an argument for -Xcompile"
    732       exit $EXIT_FAILURE
    733       ;;
    734     target)
    735       $echo "$modename: you must specify a target with \`-o'" 1>&2
    736       exit $EXIT_FAILURE
    737       ;;
    738     *)
    739       # Get the name of the library object.
    740       [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
    741       ;;
    742     esac
    743 
    744     # Recognize several different file suffixes.
    745     # If the user specifies -o file.o, it is replaced with file.lo
    746     xform='[cCFSifmso]'
    747     case $libobj in
    748     *.ada) xform=ada ;;
    749     *.adb) xform=adb ;;
    750     *.ads) xform=ads ;;
    751     *.asm) xform=asm ;;
    752     *.c++) xform=c++ ;;
    753     *.cc) xform=cc ;;
    754     *.ii) xform=ii ;;
    755     *.class) xform=class ;;
    756     *.cpp) xform=cpp ;;
    757     *.cxx) xform=cxx ;;
    758     *.f90) xform=f90 ;;
    759     *.for) xform=for ;;
    760     *.java) xform=java ;;
    761     esac
    762 
    763     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
    764 
    765     case $libobj in
    766     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
    767     *)
    768       $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
    769       exit $EXIT_FAILURE
    770       ;;
    771     esac
    772 
    773     func_infer_tag $base_compile
    774 
    775     for arg in $later; do
    776       case $arg in
    777       -static)
    778 	build_old_libs=yes
    779 	continue
    780 	;;
    781 
    782       -prefer-pic)
    783 	pic_mode=yes
    784 	continue
    785 	;;
    786 
    787       -prefer-non-pic)
    788 	pic_mode=no
    789 	continue
    790 	;;
    791       esac
    792     done
    793 
    794     qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
    795     case $qlibobj in
    796       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
    797 	qlibobj="\"$qlibobj\"" ;;
    798     esac
    799     test "X$libobj" != "X$qlibobj" \
    800 	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
    801 	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
    802     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
    803     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
    804     if test "X$xdir" = "X$obj"; then
    805       xdir=
    806     else
    807       xdir=$xdir/
    808     fi
    809     lobj=${xdir}$objdir/$objname
    810 
    811     if test -z "$base_compile"; then
    812       $echo "$modename: you must specify a compilation command" 1>&2
    813       $echo "$help" 1>&2
    814       exit $EXIT_FAILURE
    815     fi
    816 
    817     # Delete any leftover library objects.
    818     if test "$build_old_libs" = yes; then
    819       removelist="$obj $lobj $libobj ${libobj}T"
    820     else
    821       removelist="$lobj $libobj ${libobj}T"
    822     fi
    823 
    824     $run $rm $removelist
    825     trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
    826 
    827     # On Cygwin there's no "real" PIC flag so we must build both object types
    828     case $host_os in
    829     cygwin* | mingw* | pw32* | os2*)
    830       pic_mode=default
    831       ;;
    832     esac
    833     if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
    834       # non-PIC code in shared libraries is not supported
    835       pic_mode=default
    836     fi
    837 
    838     # Calculate the filename of the output object if compiler does
    839     # not support -o with -c
    840     if test "$compiler_c_o" = no; then
    841       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
    842       lockfile="$output_obj.lock"
    843       removelist="$removelist $output_obj $lockfile"
    844       trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
    845     else
    846       output_obj=
    847       need_locks=no
    848       lockfile=
    849     fi
    850 
    851     # Lock this critical section if it is needed
    852     # We use this script file to make the link, it avoids creating a new file
    853     if test "$need_locks" = yes; then
    854       until $run ln "$progpath" "$lockfile" 2>/dev/null; do
    855 	$show "Waiting for $lockfile to be removed"
    856 	sleep 2
    857       done
    858     elif test "$need_locks" = warn; then
    859       if test -f "$lockfile"; then
    860 	$echo "\
    861 *** ERROR, $lockfile exists and contains:
    862 `cat $lockfile 2>/dev/null`
    863 
    864 This indicates that another process is trying to use the same
    865 temporary object file, and libtool could not work around it because
    866 your compiler does not support \`-c' and \`-o' together.  If you
    867 repeat this compilation, it may succeed, by chance, but you had better
    868 avoid parallel builds (make -j) in this platform, or get a better
    869 compiler."
    870 
    871 	$run $rm $removelist
    872 	exit $EXIT_FAILURE
    873       fi
    874       $echo "$srcfile" > "$lockfile"
    875     fi
    876 
    877     if test -n "$fix_srcfile_path"; then
    878       eval srcfile=\"$fix_srcfile_path\"
    879     fi
    880     qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
    881     case $qsrcfile in
    882       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
    883       qsrcfile="\"$qsrcfile\"" ;;
    884     esac
    885 
    886     $run $rm "$libobj" "${libobj}T"
    887 
    888     # Create a libtool object file (analogous to a ".la" file),
    889     # but don't create it if we're doing a dry run.
    890     test -z "$run" && cat > ${libobj}T <<EOF
    891 # $libobj - a libtool object file
    892 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
    893 #
    894 # Please DO NOT delete this file!
    895 # It is necessary for linking the library.
    896 
    897 # Name of the PIC object.
    898 EOF
    899 
    900     # Only build a PIC object if we are building libtool libraries.
    901     if test "$build_libtool_libs" = yes; then
    902       # Without this assignment, base_compile gets emptied.
    903       fbsd_hideous_sh_bug=$base_compile
    904 
    905       if test "$pic_mode" != no; then
    906 	command="$base_compile $qsrcfile $pic_flag"
    907       else
    908 	# Don't build PIC code
    909 	command="$base_compile $qsrcfile"
    910       fi
    911 
    912       if test ! -d "${xdir}$objdir"; then
    913 	$show "$mkdir ${xdir}$objdir"
    914 	$run $mkdir ${xdir}$objdir
    915 	exit_status=$?
    916 	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
    917 	  exit $exit_status
    918 	fi
    919       fi
    920 
    921       if test -z "$output_obj"; then
    922 	# Place PIC objects in $objdir
    923 	command="$command -o $lobj"
    924       fi
    925 
    926       $run $rm "$lobj" "$output_obj"
    927 
    928       $show "$command"
    929       if $run eval "$command"; then :
    930       else
    931 	test -n "$output_obj" && $run $rm $removelist
    932 	exit $EXIT_FAILURE
    933       fi
    934 
    935       if test "$need_locks" = warn &&
    936 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
    937 	$echo "\
    938 *** ERROR, $lockfile contains:
    939 `cat $lockfile 2>/dev/null`
    940 
    941 but it should contain:
    942 $srcfile
    943 
    944 This indicates that another process is trying to use the same
    945 temporary object file, and libtool could not work around it because
    946 your compiler does not support \`-c' and \`-o' together.  If you
    947 repeat this compilation, it may succeed, by chance, but you had better
    948 avoid parallel builds (make -j) in this platform, or get a better
    949 compiler."
    950 
    951 	$run $rm $removelist
    952 	exit $EXIT_FAILURE
    953       fi
    954 
    955       # Just move the object if needed, then go on to compile the next one
    956       if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
    957 	$show "$mv $output_obj $lobj"
    958 	if $run $mv $output_obj $lobj; then :
    959 	else
    960 	  error=$?
    961 	  $run $rm $removelist
    962 	  exit $error
    963 	fi
    964       fi
    965 
    966       # Append the name of the PIC object to the libtool object file.
    967       test -z "$run" && cat >> ${libobj}T <<EOF
    968 pic_object='$objdir/$objname'
    969 
    970 EOF
    971 
    972       # Allow error messages only from the first compilation.
    973       if test "$suppress_opt" = yes; then
    974         suppress_output=' >/dev/null 2>&1'
    975       fi
    976     else
    977       # No PIC object so indicate it doesn't exist in the libtool
    978       # object file.
    979       test -z "$run" && cat >> ${libobj}T <<EOF
    980 pic_object=none
    981 
    982 EOF
    983     fi
    984 
    985     # Only build a position-dependent object if we build old libraries.
    986     if test "$build_old_libs" = yes; then
    987       if test "$pic_mode" != yes; then
    988 	# Don't build PIC code
    989 	command="$base_compile $qsrcfile"
    990       else
    991 	command="$base_compile $qsrcfile $pic_flag"
    992       fi
    993       if test "$compiler_c_o" = yes; then
    994 	command="$command -o $obj"
    995       fi
    996 
    997       # Suppress compiler output if we already did a PIC compilation.
    998       command="$command$suppress_output"
    999       $run $rm "$obj" "$output_obj"
   1000       $show "$command"
   1001       if $run eval "$command"; then :
   1002       else
   1003 	$run $rm $removelist
   1004 	exit $EXIT_FAILURE
   1005       fi
   1006 
   1007       if test "$need_locks" = warn &&
   1008 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
   1009 	$echo "\
   1010 *** ERROR, $lockfile contains:
   1011 `cat $lockfile 2>/dev/null`
   1012 
   1013 but it should contain:
   1014 $srcfile
   1015 
   1016 This indicates that another process is trying to use the same
   1017 temporary object file, and libtool could not work around it because
   1018 your compiler does not support \`-c' and \`-o' together.  If you
   1019 repeat this compilation, it may succeed, by chance, but you had better
   1020 avoid parallel builds (make -j) in this platform, or get a better
   1021 compiler."
   1022 
   1023 	$run $rm $removelist
   1024 	exit $EXIT_FAILURE
   1025       fi
   1026 
   1027       # Just move the object if needed
   1028       if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
   1029 	$show "$mv $output_obj $obj"
   1030 	if $run $mv $output_obj $obj; then :
   1031 	else
   1032 	  error=$?
   1033 	  $run $rm $removelist
   1034 	  exit $error
   1035 	fi
   1036       fi
   1037 
   1038       # Append the name of the non-PIC object the libtool object file.
   1039       # Only append if the libtool object file exists.
   1040       test -z "$run" && cat >> ${libobj}T <<EOF
   1041 # Name of the non-PIC object.
   1042 non_pic_object='$objname'
   1043 
   1044 EOF
   1045     else
   1046       # Append the name of the non-PIC object the libtool object file.
   1047       # Only append if the libtool object file exists.
   1048       test -z "$run" && cat >> ${libobj}T <<EOF
   1049 # Name of the non-PIC object.
   1050 non_pic_object=none
   1051 
   1052 EOF
   1053     fi
   1054 
   1055     $run $mv "${libobj}T" "${libobj}"
   1056 
   1057     # Unlock the critical section if it was locked
   1058     if test "$need_locks" != no; then
   1059       $run $rm "$lockfile"
   1060     fi
   1061 
   1062     exit $EXIT_SUCCESS
   1063     ;;
   1064 
   1065   # libtool link mode
   1066   link | relink)
   1067     modename="$modename: link"
   1068     case $host in
   1069     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
   1070       # It is impossible to link a dll without this setting, and
   1071       # we shouldn't force the makefile maintainer to figure out
   1072       # which system we are compiling for in order to pass an extra
   1073       # flag for every libtool invocation.
   1074       # allow_undefined=no
   1075 
   1076       # FIXME: Unfortunately, there are problems with the above when trying
   1077       # to make a dll which has undefined symbols, in which case not
   1078       # even a static library is built.  For now, we need to specify
   1079       # -no-undefined on the libtool link line when we can be certain
   1080       # that all symbols are satisfied, otherwise we get a static library.
   1081       allow_undefined=yes
   1082       ;;
   1083     *)
   1084       allow_undefined=yes
   1085       ;;
   1086     esac
   1087     libtool_args="$nonopt"
   1088     base_compile="$nonopt $@"
   1089     compile_command="$nonopt"
   1090     finalize_command="$nonopt"
   1091 
   1092     compile_rpath=
   1093     finalize_rpath=
   1094     compile_shlibpath=
   1095     finalize_shlibpath=
   1096     convenience=
   1097     old_convenience=
   1098     deplibs=
   1099     old_deplibs=
   1100     compiler_flags=
   1101     linker_flags=
   1102     dllsearchpath=
   1103     lib_search_path=`pwd`
   1104     inst_prefix_dir=
   1105 
   1106     avoid_version=no
   1107     dlfiles=
   1108     dlprefiles=
   1109     dlself=no
   1110     export_dynamic=no
   1111     export_symbols=
   1112     export_symbols_regex=
   1113     generated=
   1114     libobjs=
   1115     ltlibs=
   1116     module=no
   1117     no_install=no
   1118     objs=
   1119     non_pic_objects=
   1120     notinst_path= # paths that contain not-installed libtool libraries
   1121     precious_files_regex=
   1122     prefer_static_libs=no
   1123     preload=no
   1124     prev=
   1125     prevarg=
   1126     release=
   1127     rpath=
   1128     xrpath=
   1129     perm_rpath=
   1130     temp_rpath=
   1131     thread_safe=no
   1132     vinfo=
   1133     vinfo_number=no
   1134 
   1135     func_infer_tag $base_compile
   1136 
   1137     # We need to know -static, to get the right output filenames.
   1138     for arg
   1139     do
   1140       case $arg in
   1141       -all-static | -static)
   1142 	if test "X$arg" = "X-all-static"; then
   1143 	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
   1144 	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
   1145 	  fi
   1146 	  if test -n "$link_static_flag"; then
   1147 	    dlopen_self=$dlopen_self_static
   1148 	  fi
   1149 	  prefer_static_libs=yes
   1150 	else
   1151 	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
   1152 	    dlopen_self=$dlopen_self_static
   1153 	  fi
   1154 	  prefer_static_libs=built
   1155 	fi
   1156 	build_libtool_libs=no
   1157 	build_old_libs=yes
   1158 	break
   1159 	;;
   1160       esac
   1161     done
   1162 
   1163     # See if our shared archives depend on static archives.
   1164     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
   1165 
   1166     # Go through the arguments, transforming them on the way.
   1167     while test "$#" -gt 0; do
   1168       arg="$1"
   1169       shift
   1170       case $arg in
   1171       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1172 	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
   1173 	;;
   1174       *) qarg=$arg ;;
   1175       esac
   1176       libtool_args="$libtool_args $qarg"
   1177 
   1178       # If the previous option needs an argument, assign it.
   1179       if test -n "$prev"; then
   1180 	case $prev in
   1181 	output)
   1182 	  compile_command="$compile_command @OUTPUT@"
   1183 	  finalize_command="$finalize_command @OUTPUT@"
   1184 	  ;;
   1185 	esac
   1186 
   1187 	case $prev in
   1188 	dlfiles|dlprefiles)
   1189 	  if test "$preload" = no; then
   1190 	    # Add the symbol object into the linking commands.
   1191 	    compile_command="$compile_command @SYMFILE@"
   1192 	    finalize_command="$finalize_command @SYMFILE@"
   1193 	    preload=yes
   1194 	  fi
   1195 	  case $arg in
   1196 	  *.la | *.lo) ;;  # We handle these cases below.
   1197 	  force)
   1198 	    if test "$dlself" = no; then
   1199 	      dlself=needless
   1200 	      export_dynamic=yes
   1201 	    fi
   1202 	    prev=
   1203 	    continue
   1204 	    ;;
   1205 	  self)
   1206 	    if test "$prev" = dlprefiles; then
   1207 	      dlself=yes
   1208 	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
   1209 	      dlself=yes
   1210 	    else
   1211 	      dlself=needless
   1212 	      export_dynamic=yes
   1213 	    fi
   1214 	    prev=
   1215 	    continue
   1216 	    ;;
   1217 	  *)
   1218 	    if test "$prev" = dlfiles; then
   1219 	      dlfiles="$dlfiles $arg"
   1220 	    else
   1221 	      dlprefiles="$dlprefiles $arg"
   1222 	    fi
   1223 	    prev=
   1224 	    continue
   1225 	    ;;
   1226 	  esac
   1227 	  ;;
   1228 	expsyms)
   1229 	  export_symbols="$arg"
   1230 	  if test ! -f "$arg"; then
   1231 	    $echo "$modename: symbol file \`$arg' does not exist"
   1232 	    exit $EXIT_FAILURE
   1233 	  fi
   1234 	  prev=
   1235 	  continue
   1236 	  ;;
   1237 	expsyms_regex)
   1238 	  export_symbols_regex="$arg"
   1239 	  prev=
   1240 	  continue
   1241 	  ;;
   1242 	inst_prefix)
   1243 	  inst_prefix_dir="$arg"
   1244 	  prev=
   1245 	  continue
   1246 	  ;;
   1247 	precious_regex)
   1248 	  precious_files_regex="$arg"
   1249 	  prev=
   1250 	  continue
   1251 	  ;;
   1252 	release)
   1253 	  release="-$arg"
   1254 	  prev=
   1255 	  continue
   1256 	  ;;
   1257 	objectlist)
   1258 	  if test -f "$arg"; then
   1259 	    save_arg=$arg
   1260 	    moreargs=
   1261 	    for fil in `cat $save_arg`
   1262 	    do
   1263 #	      moreargs="$moreargs $fil"
   1264 	      arg=$fil
   1265 	      # A libtool-controlled object.
   1266 
   1267 	      # Check to see that this really is a libtool object.
   1268 	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
   1269 		pic_object=
   1270 		non_pic_object=
   1271 
   1272 		# Read the .lo file
   1273 		# If there is no directory component, then add one.
   1274 		case $arg in
   1275 		*/* | *\\*) . $arg ;;
   1276 		*) . ./$arg ;;
   1277 		esac
   1278 
   1279 		if test -z "$pic_object" || \
   1280 		   test -z "$non_pic_object" ||
   1281 		   test "$pic_object" = none && \
   1282 		   test "$non_pic_object" = none; then
   1283 		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
   1284 		  exit $EXIT_FAILURE
   1285 		fi
   1286 
   1287 		# Extract subdirectory from the argument.
   1288 		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
   1289 		if test "X$xdir" = "X$arg"; then
   1290 		  xdir=
   1291 		else
   1292 		  xdir="$xdir/"
   1293 		fi
   1294 
   1295 		if test "$pic_object" != none; then
   1296 		  # Prepend the subdirectory the object is found in.
   1297 		  pic_object="$xdir$pic_object"
   1298 
   1299 		  if test "$prev" = dlfiles; then
   1300 		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
   1301 		      dlfiles="$dlfiles $pic_object"
   1302 		      prev=
   1303 		      continue
   1304 		    else
   1305 		      # If libtool objects are unsupported, then we need to preload.
   1306 		      prev=dlprefiles
   1307 		    fi
   1308 		  fi
   1309 
   1310 		  # CHECK ME:  I think I busted this.  -Ossama
   1311 		  if test "$prev" = dlprefiles; then
   1312 		    # Preload the old-style object.
   1313 		    dlprefiles="$dlprefiles $pic_object"
   1314 		    prev=
   1315 		  fi
   1316 
   1317 		  # A PIC object.
   1318 		  libobjs="$libobjs $pic_object"
   1319 		  arg="$pic_object"
   1320 		fi
   1321 
   1322 		# Non-PIC object.
   1323 		if test "$non_pic_object" != none; then
   1324 		  # Prepend the subdirectory the object is found in.
   1325 		  non_pic_object="$xdir$non_pic_object"
   1326 
   1327 		  # A standard non-PIC object
   1328 		  non_pic_objects="$non_pic_objects $non_pic_object"
   1329 		  if test -z "$pic_object" || test "$pic_object" = none ; then
   1330 		    arg="$non_pic_object"
   1331 		  fi
   1332 		else
   1333 		  # If the PIC object exists, use it instead.
   1334 		  # $xdir was prepended to $pic_object above.
   1335 		  non_pic_object="$pic_object"
   1336 		  non_pic_objects="$non_pic_objects $non_pic_object"
   1337 		fi
   1338 	      else
   1339 		# Only an error if not doing a dry-run.
   1340 		if test -z "$run"; then
   1341 		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
   1342 		  exit $EXIT_FAILURE
   1343 		else
   1344 		  # Dry-run case.
   1345 
   1346 		  # Extract subdirectory from the argument.
   1347 		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
   1348 		  if test "X$xdir" = "X$arg"; then
   1349 		    xdir=
   1350 		  else
   1351 		    xdir="$xdir/"
   1352 		  fi
   1353 
   1354 		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
   1355 		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
   1356 		  libobjs="$libobjs $pic_object"
   1357 		  non_pic_objects="$non_pic_objects $non_pic_object"
   1358 		fi
   1359 	      fi
   1360 	    done
   1361 	  else
   1362 	    $echo "$modename: link input file \`$save_arg' does not exist"
   1363 	    exit $EXIT_FAILURE
   1364 	  fi
   1365 	  arg=$save_arg
   1366 	  prev=
   1367 	  continue
   1368 	  ;;
   1369 	rpath | xrpath)
   1370 	  # We need an absolute path.
   1371 	  case $arg in
   1372 	  [\\/]* | [A-Za-z]:[\\/]*) ;;
   1373 	  *)
   1374 	    $echo "$modename: only absolute run-paths are allowed" 1>&2
   1375 	    exit $EXIT_FAILURE
   1376 	    ;;
   1377 	  esac
   1378 	  if test "$prev" = rpath; then
   1379 	    case "$rpath " in
   1380 	    *" $arg "*) ;;
   1381 	    *) rpath="$rpath $arg" ;;
   1382 	    esac
   1383 	  else
   1384 	    case "$xrpath " in
   1385 	    *" $arg "*) ;;
   1386 	    *) xrpath="$xrpath $arg" ;;
   1387 	    esac
   1388 	  fi
   1389 	  prev=
   1390 	  continue
   1391 	  ;;
   1392 	xcompiler)
   1393 	  compiler_flags="$compiler_flags $qarg"
   1394 	  prev=
   1395 	  compile_command="$compile_command $qarg"
   1396 	  finalize_command="$finalize_command $qarg"
   1397 	  continue
   1398 	  ;;
   1399 	xlinker)
   1400 	  linker_flags="$linker_flags $qarg"
   1401 	  compiler_flags="$compiler_flags $wl$qarg"
   1402 	  prev=
   1403 	  compile_command="$compile_command $wl$qarg"
   1404 	  finalize_command="$finalize_command $wl$qarg"
   1405 	  continue
   1406 	  ;;
   1407 	xcclinker)
   1408 	  linker_flags="$linker_flags $qarg"
   1409 	  compiler_flags="$compiler_flags $qarg"
   1410 	  prev=
   1411 	  compile_command="$compile_command $qarg"
   1412 	  finalize_command="$finalize_command $qarg"
   1413 	  continue
   1414 	  ;;
   1415 	shrext)
   1416   	  shrext_cmds="$arg"
   1417 	  prev=
   1418 	  continue
   1419 	  ;;
   1420 	darwin_framework|darwin_framework_skip)
   1421 	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
   1422 	  compile_command="$compile_command $arg"
   1423 	  finalize_command="$finalize_command $arg"
   1424 	  prev=
   1425 	  continue
   1426 	  ;;
   1427 	*)
   1428 	  eval "$prev=\"\$arg\""
   1429 	  prev=
   1430 	  continue
   1431 	  ;;
   1432 	esac
   1433       fi # test -n "$prev"
   1434 
   1435       prevarg="$arg"
   1436 
   1437       case $arg in
   1438       -all-static)
   1439 	if test -n "$link_static_flag"; then
   1440 	  compile_command="$compile_command $link_static_flag"
   1441 	  finalize_command="$finalize_command $link_static_flag"
   1442 	fi
   1443 	continue
   1444 	;;
   1445 
   1446       -allow-undefined)
   1447 	# FIXME: remove this flag sometime in the future.
   1448 	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
   1449 	continue
   1450 	;;
   1451 
   1452       -avoid-version)
   1453 	avoid_version=yes
   1454 	continue
   1455 	;;
   1456 
   1457       -dlopen)
   1458 	prev=dlfiles
   1459 	continue
   1460 	;;
   1461 
   1462       -dlpreopen)
   1463 	prev=dlprefiles
   1464 	continue
   1465 	;;
   1466 
   1467       -export-dynamic)
   1468 	export_dynamic=yes
   1469 	continue
   1470 	;;
   1471 
   1472       -export-symbols | -export-symbols-regex)
   1473 	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
   1474 	  $echo "$modename: more than one -exported-symbols argument is not allowed"
   1475 	  exit $EXIT_FAILURE
   1476 	fi
   1477 	if test "X$arg" = "X-export-symbols"; then
   1478 	  prev=expsyms
   1479 	else
   1480 	  prev=expsyms_regex
   1481 	fi
   1482 	continue
   1483 	;;
   1484 
   1485       -framework|-arch|-isysroot)
   1486 	case " $CC " in
   1487 	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
   1488 		prev=darwin_framework_skip ;;
   1489 	  *) compiler_flags="$compiler_flags $arg"
   1490 	     prev=darwin_framework ;;
   1491 	esac
   1492 	compile_command="$compile_command $arg"
   1493 	finalize_command="$finalize_command $arg"
   1494 	continue
   1495 	;;
   1496 
   1497       -inst-prefix-dir)
   1498 	prev=inst_prefix
   1499 	continue
   1500 	;;
   1501 
   1502       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
   1503       # so, if we see these flags be careful not to treat them like -L
   1504       -L[A-Z][A-Z]*:*)
   1505 	case $with_gcc/$host in
   1506 	no/*-*-irix* | /*-*-irix*)
   1507 	  compile_command="$compile_command $arg"
   1508 	  finalize_command="$finalize_command $arg"
   1509 	  ;;
   1510 	esac
   1511 	continue
   1512 	;;
   1513 
   1514       -L*)
   1515 	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
   1516 	# We need an absolute path.
   1517 	case $dir in
   1518 	[\\/]* | [A-Za-z]:[\\/]*) ;;
   1519 	*)
   1520 	  absdir=`cd "$dir" && pwd`
   1521 	  if test -z "$absdir"; then
   1522 	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
   1523 	    absdir="$dir"
   1524 	    notinst_path="$notinst_path $dir"
   1525 	  fi
   1526 	  dir="$absdir"
   1527 	  ;;
   1528 	esac
   1529 	case "$deplibs " in
   1530 	*" -L$dir "*) ;;
   1531 	*)
   1532 	  deplibs="$deplibs -L$dir"
   1533 	  lib_search_path="$lib_search_path $dir"
   1534 	  ;;
   1535 	esac
   1536 	case $host in
   1537 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
   1538 	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
   1539 	  case :$dllsearchpath: in
   1540 	  *":$dir:"*) ;;
   1541 	  *) dllsearchpath="$dllsearchpath:$dir";;
   1542 	  esac
   1543 	  case :$dllsearchpath: in
   1544 	  *":$testbindir:"*) ;;
   1545 	  *) dllsearchpath="$dllsearchpath:$testbindir";;
   1546 	  esac
   1547 	  ;;
   1548 	esac
   1549 	continue
   1550 	;;
   1551 
   1552       -l*)
   1553 	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
   1554 	  case $host in
   1555 	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
   1556 	    # These systems don't actually have a C or math library (as such)
   1557 	    continue
   1558 	    ;;
   1559 	  *-*-os2*)
   1560 	    # These systems don't actually have a C library (as such)
   1561 	    test "X$arg" = "X-lc" && continue
   1562 	    ;;
   1563 	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
   1564 	    # Do not include libc due to us having libc/libc_r.
   1565 	    test "X$arg" = "X-lc" && continue
   1566 	    ;;
   1567 	  *-*-rhapsody* | *-*-darwin1.[012])
   1568 	    # Rhapsody C and math libraries are in the System framework
   1569 	    deplibs="$deplibs -framework System"
   1570 	    continue
   1571 	    ;;
   1572 	  *-*-sco3.2v5* | *-*-sco5v6*)
   1573 	    # Causes problems with __ctype
   1574 	    test "X$arg" = "X-lc" && continue
   1575 	    ;;
   1576 	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
   1577 	    # Compiler inserts libc in the correct place for threads to work
   1578 	    test "X$arg" = "X-lc" && continue
   1579 	    ;;
   1580 	  esac
   1581 	elif test "X$arg" = "X-lc_r"; then
   1582 	 case $host in
   1583 	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | -*-*-bitrig*)
   1584 	   # Do not include libc_r directly, use -pthread flag.
   1585 	   continue
   1586 	   ;;
   1587 	 esac
   1588 	fi
   1589 	deplibs="$deplibs $arg"
   1590 	continue
   1591 	;;
   1592 
   1593       # Tru64 UNIX uses -model [arg] to determine the layout of C++
   1594       # classes, name mangling, and exception handling.
   1595       -model)
   1596 	compile_command="$compile_command $arg"
   1597 	compiler_flags="$compiler_flags $arg"
   1598 	finalize_command="$finalize_command $arg"
   1599 	prev=xcompiler
   1600 	continue
   1601 	;;
   1602 
   1603      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
   1604 	compiler_flags="$compiler_flags $arg"
   1605 	compile_command="$compile_command $arg"
   1606 	finalize_command="$finalize_command $arg"
   1607 	continue
   1608 	;;
   1609 
   1610       -module)
   1611 	module=yes
   1612 	continue
   1613 	;;
   1614 
   1615       # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
   1616       # -r[0-9][0-9]* specifies the processor on the SGI compiler
   1617       # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
   1618       # +DA*, +DD* enable 64-bit mode on the HP compiler
   1619       # -q* pass through compiler args for the IBM compiler
   1620       # -m* pass through architecture-specific compiler args for GCC
   1621       # -m*, -t[45]*, -txscale* pass through architecture-specific
   1622       # compiler args for GCC
   1623       # -pg pass through profiling flag for GCC
   1624       # @file GCC response files
   1625       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
   1626       -t[45]*|-txscale*|@*)
   1627 
   1628 	# Unknown arguments in both finalize_command and compile_command need
   1629 	# to be aesthetically quoted because they are evaled later.
   1630 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
   1631 	case $arg in
   1632 	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1633 	  arg="\"$arg\""
   1634 	  ;;
   1635 	esac
   1636         compile_command="$compile_command $arg"
   1637         finalize_command="$finalize_command $arg"
   1638         compiler_flags="$compiler_flags $arg"
   1639         continue
   1640         ;;
   1641 
   1642       -shrext)
   1643 	prev=shrext
   1644 	continue
   1645 	;;
   1646 
   1647       -no-fast-install)
   1648 	fast_install=no
   1649 	continue
   1650 	;;
   1651 
   1652       -no-install)
   1653 	case $host in
   1654 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
   1655 	  # The PATH hackery in wrapper scripts is required on Windows
   1656 	  # in order for the loader to find any dlls it needs.
   1657 	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
   1658 	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
   1659 	  fast_install=no
   1660 	  ;;
   1661 	*) no_install=yes ;;
   1662 	esac
   1663 	continue
   1664 	;;
   1665 
   1666       -no-undefined)
   1667 	allow_undefined=no
   1668 	continue
   1669 	;;
   1670 
   1671       -objectlist)
   1672 	prev=objectlist
   1673 	continue
   1674 	;;
   1675 
   1676       -o) prev=output ;;
   1677 
   1678       -precious-files-regex)
   1679 	prev=precious_regex
   1680 	continue
   1681 	;;
   1682 
   1683       -release)
   1684 	prev=release
   1685 	continue
   1686 	;;
   1687 
   1688       -rpath)
   1689 	prev=rpath
   1690 	continue
   1691 	;;
   1692 
   1693       -R)
   1694 	prev=xrpath
   1695 	continue
   1696 	;;
   1697 
   1698       -R*)
   1699 	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
   1700 	# We need an absolute path.
   1701 	case $dir in
   1702 	[\\/]* | [A-Za-z]:[\\/]*) ;;
   1703 	*)
   1704 	  $echo "$modename: only absolute run-paths are allowed" 1>&2
   1705 	  exit $EXIT_FAILURE
   1706 	  ;;
   1707 	esac
   1708 	case "$xrpath " in
   1709 	*" $dir "*) ;;
   1710 	*) xrpath="$xrpath $dir" ;;
   1711 	esac
   1712 	continue
   1713 	;;
   1714 
   1715       -static)
   1716 	# The effects of -static are defined in a previous loop.
   1717 	# We used to do the same as -all-static on platforms that
   1718 	# didn't have a PIC flag, but the assumption that the effects
   1719 	# would be equivalent was wrong.  It would break on at least
   1720 	# Digital Unix and AIX.
   1721 	continue
   1722 	;;
   1723 
   1724       -thread-safe)
   1725 	thread_safe=yes
   1726 	continue
   1727 	;;
   1728 
   1729       -version-info)
   1730 	prev=vinfo
   1731 	continue
   1732 	;;
   1733       -version-number)
   1734 	prev=vinfo
   1735 	vinfo_number=yes
   1736 	continue
   1737 	;;
   1738 
   1739       -Wc,*)
   1740 	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
   1741 	arg=
   1742 	save_ifs="$IFS"; IFS=','
   1743 	for flag in $args; do
   1744 	  IFS="$save_ifs"
   1745 	  case $flag in
   1746 	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1747 	    flag="\"$flag\""
   1748 	    ;;
   1749 	  esac
   1750 	  arg="$arg $wl$flag"
   1751 	  compiler_flags="$compiler_flags $flag"
   1752 	done
   1753 	IFS="$save_ifs"
   1754 	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
   1755 	;;
   1756 
   1757       -Wl,*)
   1758 	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
   1759 	arg=
   1760 	save_ifs="$IFS"; IFS=','
   1761 	for flag in $args; do
   1762 	  IFS="$save_ifs"
   1763 	  case $flag in
   1764 	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1765 	    flag="\"$flag\""
   1766 	    ;;
   1767 	  esac
   1768 	  arg="$arg $wl$flag"
   1769 	  compiler_flags="$compiler_flags $wl$flag"
   1770 	  linker_flags="$linker_flags $flag"
   1771 	done
   1772 	IFS="$save_ifs"
   1773 	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
   1774 	;;
   1775 
   1776       -Xcompiler)
   1777 	prev=xcompiler
   1778 	continue
   1779 	;;
   1780 
   1781       -Xlinker)
   1782 	prev=xlinker
   1783 	continue
   1784 	;;
   1785 
   1786       -XCClinker)
   1787 	prev=xcclinker
   1788 	continue
   1789 	;;
   1790 
   1791       # Some other compiler flag.
   1792       -* | +*)
   1793 	# Unknown arguments in both finalize_command and compile_command need
   1794 	# to be aesthetically quoted because they are evaled later.
   1795 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
   1796 	case $arg in
   1797 	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1798 	  arg="\"$arg\""
   1799 	  ;;
   1800 	esac
   1801 	;;
   1802 
   1803       *.$objext)
   1804 	# A standard object.
   1805 	objs="$objs $arg"
   1806 	;;
   1807 
   1808       *.lo)
   1809 	# A libtool-controlled object.
   1810 
   1811 	# Check to see that this really is a libtool object.
   1812 	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
   1813 	  pic_object=
   1814 	  non_pic_object=
   1815 
   1816 	  # Read the .lo file
   1817 	  # If there is no directory component, then add one.
   1818 	  case $arg in
   1819 	  */* | *\\*) . $arg ;;
   1820 	  *) . ./$arg ;;
   1821 	  esac
   1822 
   1823 	  if test -z "$pic_object" || \
   1824 	     test -z "$non_pic_object" ||
   1825 	     test "$pic_object" = none && \
   1826 	     test "$non_pic_object" = none; then
   1827 	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
   1828 	    exit $EXIT_FAILURE
   1829 	  fi
   1830 
   1831 	  # Extract subdirectory from the argument.
   1832 	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
   1833 	  if test "X$xdir" = "X$arg"; then
   1834 	    xdir=
   1835  	  else
   1836 	    xdir="$xdir/"
   1837 	  fi
   1838 
   1839 	  if test "$pic_object" != none; then
   1840 	    # Prepend the subdirectory the object is found in.
   1841 	    pic_object="$xdir$pic_object"
   1842 
   1843 	    if test "$prev" = dlfiles; then
   1844 	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
   1845 		dlfiles="$dlfiles $pic_object"
   1846 		prev=
   1847 		continue
   1848 	      else
   1849 		# If libtool objects are unsupported, then we need to preload.
   1850 		prev=dlprefiles
   1851 	      fi
   1852 	    fi
   1853 
   1854 	    # CHECK ME:  I think I busted this.  -Ossama
   1855 	    if test "$prev" = dlprefiles; then
   1856 	      # Preload the old-style object.
   1857 	      dlprefiles="$dlprefiles $pic_object"
   1858 	      prev=
   1859 	    fi
   1860 
   1861 	    # A PIC object.
   1862 	    libobjs="$libobjs $pic_object"
   1863 	    arg="$pic_object"
   1864 	  fi
   1865 
   1866 	  # Non-PIC object.
   1867 	  if test "$non_pic_object" != none; then
   1868 	    # Prepend the subdirectory the object is found in.
   1869 	    non_pic_object="$xdir$non_pic_object"
   1870 
   1871 	    # A standard non-PIC object
   1872 	    non_pic_objects="$non_pic_objects $non_pic_object"
   1873 	    if test -z "$pic_object" || test "$pic_object" = none ; then
   1874 	      arg="$non_pic_object"
   1875 	    fi
   1876 	  else
   1877 	    # If the PIC object exists, use it instead.
   1878 	    # $xdir was prepended to $pic_object above.
   1879 	    non_pic_object="$pic_object"
   1880 	    non_pic_objects="$non_pic_objects $non_pic_object"
   1881 	  fi
   1882 	else
   1883 	  # Only an error if not doing a dry-run.
   1884 	  if test -z "$run"; then
   1885 	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
   1886 	    exit $EXIT_FAILURE
   1887 	  else
   1888 	    # Dry-run case.
   1889 
   1890 	    # Extract subdirectory from the argument.
   1891 	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
   1892 	    if test "X$xdir" = "X$arg"; then
   1893 	      xdir=
   1894 	    else
   1895 	      xdir="$xdir/"
   1896 	    fi
   1897 
   1898 	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
   1899 	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
   1900 	    libobjs="$libobjs $pic_object"
   1901 	    non_pic_objects="$non_pic_objects $non_pic_object"
   1902 	  fi
   1903 	fi
   1904 	;;
   1905 
   1906       *.$libext)
   1907 	# An archive.
   1908 	deplibs="$deplibs $arg"
   1909 	old_deplibs="$old_deplibs $arg"
   1910 	continue
   1911 	;;
   1912 
   1913       *.la)
   1914 	# A libtool-controlled library.
   1915 
   1916 	if test "$prev" = dlfiles; then
   1917 	  # This library was specified with -dlopen.
   1918 	  dlfiles="$dlfiles $arg"
   1919 	  prev=
   1920 	elif test "$prev" = dlprefiles; then
   1921 	  # The library was specified with -dlpreopen.
   1922 	  dlprefiles="$dlprefiles $arg"
   1923 	  prev=
   1924 	else
   1925 	  deplibs="$deplibs $arg"
   1926 	fi
   1927 	continue
   1928 	;;
   1929 
   1930       # Some other compiler argument.
   1931       *)
   1932 	# Unknown arguments in both finalize_command and compile_command need
   1933 	# to be aesthetically quoted because they are evaled later.
   1934 	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
   1935 	case $arg in
   1936 	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   1937 	  arg="\"$arg\""
   1938 	  ;;
   1939 	esac
   1940 	;;
   1941       esac # arg
   1942 
   1943       # Now actually substitute the argument into the commands.
   1944       if test -n "$arg"; then
   1945 	compile_command="$compile_command $arg"
   1946 	finalize_command="$finalize_command $arg"
   1947       fi
   1948     done # argument parsing loop
   1949 
   1950     if test -n "$prev"; then
   1951       $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
   1952       $echo "$help" 1>&2
   1953       exit $EXIT_FAILURE
   1954     fi
   1955 
   1956     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
   1957       eval arg=\"$export_dynamic_flag_spec\"
   1958       compile_command="$compile_command $arg"
   1959       finalize_command="$finalize_command $arg"
   1960     fi
   1961 
   1962     oldlibs=
   1963     # calculate the name of the file, without its directory
   1964     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
   1965     libobjs_save="$libobjs"
   1966 
   1967     if test -n "$shlibpath_var"; then
   1968       # get the directories listed in $shlibpath_var
   1969       eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
   1970     else
   1971       shlib_search_path=
   1972     fi
   1973     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
   1974     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
   1975 
   1976     output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
   1977     if test "X$output_objdir" = "X$output"; then
   1978       output_objdir="$objdir"
   1979     else
   1980       output_objdir="$output_objdir/$objdir"
   1981     fi
   1982     # Create the object directory.
   1983     if test ! -d "$output_objdir"; then
   1984       $show "$mkdir $output_objdir"
   1985       $run $mkdir $output_objdir
   1986       exit_status=$?
   1987       if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
   1988 	exit $exit_status
   1989       fi
   1990     fi
   1991 
   1992     # Determine the type of output
   1993     case $output in
   1994     "")
   1995       $echo "$modename: you must specify an output file" 1>&2
   1996       $echo "$help" 1>&2
   1997       exit $EXIT_FAILURE
   1998       ;;
   1999     *.$libext) linkmode=oldlib ;;
   2000     *.lo | *.$objext) linkmode=obj ;;
   2001     *.la) linkmode=lib ;;
   2002     *) linkmode=prog ;; # Anything else should be a program.
   2003     esac
   2004 
   2005     case $host in
   2006     *cygwin* | *mingw* | *pw32*)
   2007       # don't eliminate duplications in $postdeps and $predeps
   2008       duplicate_compiler_generated_deps=yes
   2009       ;;
   2010     *)
   2011       duplicate_compiler_generated_deps=$duplicate_deps
   2012       ;;
   2013     esac
   2014     specialdeplibs=
   2015 
   2016     libs=
   2017     # Find all interdependent deplibs by searching for libraries
   2018     # that are linked more than once (e.g. -la -lb -la)
   2019     for deplib in $deplibs; do
   2020       if test "X$duplicate_deps" = "Xyes" ; then
   2021 	case "$libs " in
   2022 	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
   2023 	esac
   2024       fi
   2025       libs="$libs $deplib"
   2026     done
   2027 
   2028     if test "$linkmode" = lib; then
   2029       libs="$predeps $libs $compiler_lib_search_path $postdeps"
   2030 
   2031       # Compute libraries that are listed more than once in $predeps
   2032       # $postdeps and mark them as special (i.e., whose duplicates are
   2033       # not to be eliminated).
   2034       pre_post_deps=
   2035       if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
   2036 	for pre_post_dep in $predeps $postdeps; do
   2037 	  case "$pre_post_deps " in
   2038 	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
   2039 	  esac
   2040 	  pre_post_deps="$pre_post_deps $pre_post_dep"
   2041 	done
   2042       fi
   2043       pre_post_deps=
   2044     fi
   2045 
   2046     deplibs=
   2047     newdependency_libs=
   2048     newlib_search_path=
   2049     need_relink=no # whether we're linking any uninstalled libtool libraries
   2050     notinst_deplibs= # not-installed libtool libraries
   2051     case $linkmode in
   2052     lib)
   2053 	passes="conv link"
   2054 	for file in $dlfiles $dlprefiles; do
   2055 	  case $file in
   2056 	  *.la) ;;
   2057 	  *)
   2058 	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
   2059 	    exit $EXIT_FAILURE
   2060 	    ;;
   2061 	  esac
   2062 	done
   2063 	;;
   2064     prog)
   2065 	compile_deplibs=
   2066 	finalize_deplibs=
   2067 	alldeplibs=no
   2068 	newdlfiles=
   2069 	newdlprefiles=
   2070 	passes="conv scan dlopen dlpreopen link"
   2071 	;;
   2072     *)  passes="conv"
   2073 	;;
   2074     esac
   2075     for pass in $passes; do
   2076       if test "$linkmode,$pass" = "lib,link" ||
   2077 	 test "$linkmode,$pass" = "prog,scan"; then
   2078 	libs="$deplibs"
   2079 	deplibs=
   2080       fi
   2081       if test "$linkmode" = prog; then
   2082 	case $pass in
   2083 	dlopen) libs="$dlfiles" ;;
   2084 	dlpreopen) libs="$dlprefiles" ;;
   2085 	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
   2086 	esac
   2087       fi
   2088       if test "$pass" = dlopen; then
   2089 	# Collect dlpreopened libraries
   2090 	save_deplibs="$deplibs"
   2091 	deplibs=
   2092       fi
   2093       for deplib in $libs; do
   2094 	lib=
   2095 	found=no
   2096 	case $deplib in
   2097 	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
   2098 	  if test "$linkmode,$pass" = "prog,link"; then
   2099 	    compile_deplibs="$deplib $compile_deplibs"
   2100 	    finalize_deplibs="$deplib $finalize_deplibs"
   2101 	  else
   2102 	    compiler_flags="$compiler_flags $deplib"
   2103 	  fi
   2104 	  continue
   2105 	  ;;
   2106 	-l*)
   2107 	  if test "$linkmode" != lib && test "$linkmode" != prog; then
   2108 	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
   2109 	    continue
   2110 	  fi
   2111 	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
   2112 	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
   2113 	    for search_ext in .la $std_shrext .so .a; do
   2114 	      # Search the libtool library
   2115 	      lib="$searchdir/lib${name}${search_ext}"
   2116 	      if test -f "$lib"; then
   2117 		if test "$search_ext" = ".la"; then
   2118 		  found=yes
   2119 		else
   2120 		  found=no
   2121 		fi
   2122 		break 2
   2123 	      fi
   2124 	    done
   2125 	  done
   2126 	  if test "$found" != yes; then
   2127 	    # deplib doesn't seem to be a libtool library
   2128 	    if test "$linkmode,$pass" = "prog,link"; then
   2129 	      compile_deplibs="$deplib $compile_deplibs"
   2130 	      finalize_deplibs="$deplib $finalize_deplibs"
   2131 	    else
   2132 	      deplibs="$deplib $deplibs"
   2133 	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
   2134 	    fi
   2135 	    continue
   2136 	  else # deplib is a libtool library
   2137 	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
   2138 	    # We need to do some special things here, and not later.
   2139 	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   2140 	      case " $predeps $postdeps " in
   2141 	      *" $deplib "*)
   2142 		if (${SED} -e '2q' $lib |
   2143                     grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
   2144 		  library_names=
   2145 		  old_library=
   2146 		  case $lib in
   2147 		  */* | *\\*) . $lib ;;
   2148 		  *) . ./$lib ;;
   2149 		  esac
   2150 		  for l in $old_library $library_names; do
   2151 		    ll="$l"
   2152 		  done
   2153 		  if test "X$ll" = "X$old_library" ; then # only static version available
   2154 		    found=no
   2155 		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
   2156 		    test "X$ladir" = "X$lib" && ladir="."
   2157 		    lib=$ladir/$old_library
   2158 		    if test "$linkmode,$pass" = "prog,link"; then
   2159 		      compile_deplibs="$deplib $compile_deplibs"
   2160 		      finalize_deplibs="$deplib $finalize_deplibs"
   2161 		    else
   2162 		      deplibs="$deplib $deplibs"
   2163 		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
   2164 		    fi
   2165 		    continue
   2166 		  fi
   2167 		fi
   2168 	        ;;
   2169 	      *) ;;
   2170 	      esac
   2171 	    fi
   2172 	  fi
   2173 	  ;; # -l
   2174 	-L*)
   2175 	  case $linkmode in
   2176 	  lib)
   2177 	    deplibs="$deplib $deplibs"
   2178 	    test "$pass" = conv && continue
   2179 	    newdependency_libs="$deplib $newdependency_libs"
   2180 	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
   2181 	    ;;
   2182 	  prog)
   2183 	    if test "$pass" = conv; then
   2184 	      deplibs="$deplib $deplibs"
   2185 	      continue
   2186 	    fi
   2187 	    if test "$pass" = scan; then
   2188 	      deplibs="$deplib $deplibs"
   2189 	    else
   2190 	      compile_deplibs="$deplib $compile_deplibs"
   2191 	      finalize_deplibs="$deplib $finalize_deplibs"
   2192 	    fi
   2193 	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
   2194 	    ;;
   2195 	  *)
   2196 	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
   2197 	    ;;
   2198 	  esac # linkmode
   2199 	  continue
   2200 	  ;; # -L
   2201 	-R*)
   2202 	  if test "$pass" = link; then
   2203 	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
   2204 	    # Make sure the xrpath contains only unique directories.
   2205 	    case "$xrpath " in
   2206 	    *" $dir "*) ;;
   2207 	    *) xrpath="$xrpath $dir" ;;
   2208 	    esac
   2209 	  fi
   2210 	  deplibs="$deplib $deplibs"
   2211 	  continue
   2212 	  ;;
   2213 	*.la) lib="$deplib" ;;
   2214 	*.$libext)
   2215 	  if test "$pass" = conv; then
   2216 	    deplibs="$deplib $deplibs"
   2217 	    continue
   2218 	  fi
   2219 	  case $linkmode in
   2220 	  lib)
   2221 	    valid_a_lib=no
   2222 	    case $deplibs_check_method in
   2223 	      match_pattern*)
   2224 		set dummy $deplibs_check_method
   2225 	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
   2226 		if eval $echo \"$deplib\" 2>/dev/null \
   2227 		    | $SED 10q \
   2228 		    | $EGREP "$match_pattern_regex" > /dev/null; then
   2229 		  valid_a_lib=yes
   2230 		fi
   2231 		;;
   2232 	      pass_all)
   2233 		valid_a_lib=yes
   2234 		;;
   2235             esac
   2236 	    if test "$valid_a_lib" != yes; then
   2237 	      $echo
   2238 	      $echo "*** Warning: Trying to link with static lib archive $deplib."
   2239 	      $echo "*** I have the capability to make that library automatically link in when"
   2240 	      $echo "*** you link to this library.  But I can only do this if you have a"
   2241 	      $echo "*** shared version of the library, which you do not appear to have"
   2242 	      $echo "*** because the file extensions .$libext of this argument makes me believe"
   2243 	      $echo "*** that it is just a static archive that I should not used here."
   2244 	    else
   2245 	      $echo
   2246 	      $echo "*** Warning: Linking the shared library $output against the"
   2247 	      $echo "*** static library $deplib is not portable!"
   2248 	      deplibs="$deplib $deplibs"
   2249 	    fi
   2250 	    continue
   2251 	    ;;
   2252 	  prog)
   2253 	    if test "$pass" != link; then
   2254 	      deplibs="$deplib $deplibs"
   2255 	    else
   2256 	      compile_deplibs="$deplib $compile_deplibs"
   2257 	      finalize_deplibs="$deplib $finalize_deplibs"
   2258 	    fi
   2259 	    continue
   2260 	    ;;
   2261 	  esac # linkmode
   2262 	  ;; # *.$libext
   2263 	*.lo | *.$objext)
   2264 	  if test "$pass" = conv; then
   2265 	    deplibs="$deplib $deplibs"
   2266 	  elif test "$linkmode" = prog; then
   2267 	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
   2268 	      # If there is no dlopen support or we're linking statically,
   2269 	      # we need to preload.
   2270 	      newdlprefiles="$newdlprefiles $deplib"
   2271 	      compile_deplibs="$deplib $compile_deplibs"
   2272 	      finalize_deplibs="$deplib $finalize_deplibs"
   2273 	    else
   2274 	      newdlfiles="$newdlfiles $deplib"
   2275 	    fi
   2276 	  fi
   2277 	  continue
   2278 	  ;;
   2279 	%DEPLIBS%)
   2280 	  alldeplibs=yes
   2281 	  continue
   2282 	  ;;
   2283 	esac # case $deplib
   2284 	if test "$found" = yes || test -f "$lib"; then :
   2285 	else
   2286 	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
   2287 	  exit $EXIT_FAILURE
   2288 	fi
   2289 
   2290 	# Check to see that this really is a libtool archive.
   2291 	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
   2292 	else
   2293 	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
   2294 	  exit $EXIT_FAILURE
   2295 	fi
   2296 
   2297 	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
   2298 	test "X$ladir" = "X$lib" && ladir="."
   2299 
   2300 	dlname=
   2301 	dlopen=
   2302 	dlpreopen=
   2303 	libdir=
   2304 	library_names=
   2305 	old_library=
   2306 	# If the library was installed with an old release of libtool,
   2307 	# it will not redefine variables installed, or shouldnotlink
   2308 	installed=yes
   2309 	shouldnotlink=no
   2310 	avoidtemprpath=
   2311 
   2312 
   2313 	# Read the .la file
   2314 	case $lib in
   2315 	*/* | *\\*) . $lib ;;
   2316 	*) . ./$lib ;;
   2317 	esac
   2318 
   2319 	if test "$linkmode,$pass" = "lib,link" ||
   2320 	   test "$linkmode,$pass" = "prog,scan" ||
   2321 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
   2322 	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
   2323 	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
   2324 	fi
   2325 
   2326 	if test "$pass" = conv; then
   2327 	  # Only check for convenience libraries
   2328 	  deplibs="$lib $deplibs"
   2329 	  if test -z "$libdir"; then
   2330 	    if test -z "$old_library"; then
   2331 	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
   2332 	      exit $EXIT_FAILURE
   2333 	    fi
   2334 	    # It is a libtool convenience library, so add in its objects.
   2335 	    convenience="$convenience $ladir/$objdir/$old_library"
   2336 	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
   2337 	    tmp_libs=
   2338 	    for deplib in $dependency_libs; do
   2339 	      deplibs="$deplib $deplibs"
   2340               if test "X$duplicate_deps" = "Xyes" ; then
   2341 	        case "$tmp_libs " in
   2342 	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
   2343 	        esac
   2344               fi
   2345 	      tmp_libs="$tmp_libs $deplib"
   2346 	    done
   2347 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
   2348 	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
   2349 	    exit $EXIT_FAILURE
   2350 	  fi
   2351 	  continue
   2352 	fi # $pass = conv
   2353 
   2354 
   2355 	# Get the name of the library we link against.
   2356 	linklib=
   2357 	for l in $old_library $library_names; do
   2358 	  linklib="$l"
   2359 	done
   2360 	if test -z "$linklib"; then
   2361 	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
   2362 	  exit $EXIT_FAILURE
   2363 	fi
   2364 
   2365 	# This library was specified with -dlopen.
   2366 	if test "$pass" = dlopen; then
   2367 	  if test -z "$libdir"; then
   2368 	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
   2369 	    exit $EXIT_FAILURE
   2370 	  fi
   2371 	  if test -z "$dlname" ||
   2372 	     test "$dlopen_support" != yes ||
   2373 	     test "$build_libtool_libs" = no; then
   2374 	    # If there is no dlname, no dlopen support or we're linking
   2375 	    # statically, we need to preload.  We also need to preload any
   2376 	    # dependent libraries so libltdl's deplib preloader doesn't
   2377 	    # bomb out in the load deplibs phase.
   2378 	    dlprefiles="$dlprefiles $lib $dependency_libs"
   2379 	  else
   2380 	    newdlfiles="$newdlfiles $lib"
   2381 	  fi
   2382 	  continue
   2383 	fi # $pass = dlopen
   2384 
   2385 	# We need an absolute path.
   2386 	case $ladir in
   2387 	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
   2388 	*)
   2389 	  abs_ladir=`cd "$ladir" && pwd`
   2390 	  if test -z "$abs_ladir"; then
   2391 	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
   2392 	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
   2393 	    abs_ladir="$ladir"
   2394 	  fi
   2395 	  ;;
   2396 	esac
   2397 	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
   2398 
   2399 	# Find the relevant object directory and library name.
   2400 	if test "X$installed" = Xyes; then
   2401 	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
   2402 	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
   2403 	    dir="$ladir"
   2404 	    absdir="$abs_ladir"
   2405 	    libdir="$abs_ladir"
   2406 	  else
   2407 	    dir="$libdir"
   2408 	    absdir="$libdir"
   2409 	  fi
   2410 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
   2411 	else
   2412 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
   2413 	    dir="$ladir"
   2414 	    absdir="$abs_ladir"
   2415 	    # Remove this search path later
   2416 	    notinst_path="$notinst_path $abs_ladir"
   2417 	  else
   2418 	    dir="$ladir/$objdir"
   2419 	    absdir="$abs_ladir/$objdir"
   2420 	    # Remove this search path later
   2421 	    notinst_path="$notinst_path $abs_ladir"
   2422 	  fi
   2423 	fi # $installed = yes
   2424 	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
   2425 
   2426 	# This library was specified with -dlpreopen.
   2427 	if test "$pass" = dlpreopen; then
   2428 	  if test -z "$libdir"; then
   2429 	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
   2430 	    exit $EXIT_FAILURE
   2431 	  fi
   2432 	  # Prefer using a static library (so that no silly _DYNAMIC symbols
   2433 	  # are required to link).
   2434 	  if test -n "$old_library"; then
   2435 	    newdlprefiles="$newdlprefiles $dir/$old_library"
   2436 	  # Otherwise, use the dlname, so that lt_dlopen finds it.
   2437 	  elif test -n "$dlname"; then
   2438 	    newdlprefiles="$newdlprefiles $dir/$dlname"
   2439 	  else
   2440 	    newdlprefiles="$newdlprefiles $dir/$linklib"
   2441 	  fi
   2442 	fi # $pass = dlpreopen
   2443 
   2444 	if test -z "$libdir"; then
   2445 	  # Link the convenience library
   2446 	  if test "$linkmode" = lib; then
   2447 	    deplibs="$dir/$old_library $deplibs"
   2448 	  elif test "$linkmode,$pass" = "prog,link"; then
   2449 	    compile_deplibs="$dir/$old_library $compile_deplibs"
   2450 	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
   2451 	  else
   2452 	    deplibs="$lib $deplibs" # used for prog,scan pass
   2453 	  fi
   2454 	  continue
   2455 	fi
   2456 
   2457 
   2458 	if test "$linkmode" = prog && test "$pass" != link; then
   2459 	  newlib_search_path="$newlib_search_path $ladir"
   2460 	  deplibs="$lib $deplibs"
   2461 
   2462 	  linkalldeplibs=no
   2463 	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
   2464 	     test "$build_libtool_libs" = no; then
   2465 	    linkalldeplibs=yes
   2466 	  fi
   2467 
   2468 	  tmp_libs=
   2469 	  for deplib in $dependency_libs; do
   2470 	    case $deplib in
   2471 	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
   2472 	    esac
   2473 	    # Need to link against all dependency_libs?
   2474 	    if test "$linkalldeplibs" = yes; then
   2475 	      deplibs="$deplib $deplibs"
   2476 	    else
   2477 	      # Need to hardcode shared library paths
   2478 	      # or/and link against static libraries
   2479 	      newdependency_libs="$deplib $newdependency_libs"
   2480 	    fi
   2481 	    if test "X$duplicate_deps" = "Xyes" ; then
   2482 	      case "$tmp_libs " in
   2483 	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
   2484 	      esac
   2485 	    fi
   2486 	    tmp_libs="$tmp_libs $deplib"
   2487 	  done # for deplib
   2488 	  continue
   2489 	fi # $linkmode = prog...
   2490 
   2491 	if test "$linkmode,$pass" = "prog,link"; then
   2492 	  if test -n "$library_names" &&
   2493 	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
   2494 	    # We need to hardcode the library path
   2495 	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
   2496 	      # Make sure the rpath contains only unique directories.
   2497 	      case "$temp_rpath " in
   2498 	      *" $dir "*) ;;
   2499 	      *" $absdir "*) ;;
   2500 	      *) temp_rpath="$temp_rpath $absdir" ;;
   2501 	      esac
   2502 	    fi
   2503 
   2504 	    # Hardcode the library path.
   2505 	    # Skip directories that are in the system default run-time
   2506 	    # search path.
   2507 	    case " $sys_lib_dlsearch_path " in
   2508 	    *" $absdir "*) ;;
   2509 	    *)
   2510 	      case "$compile_rpath " in
   2511 	      *" $absdir "*) ;;
   2512 	      *) compile_rpath="$compile_rpath $absdir"
   2513 	      esac
   2514 	      ;;
   2515 	    esac
   2516 	    case " $sys_lib_dlsearch_path " in
   2517 	    *" $libdir "*) ;;
   2518 	    *)
   2519 	      case "$finalize_rpath " in
   2520 	      *" $libdir "*) ;;
   2521 	      *) finalize_rpath="$finalize_rpath $libdir"
   2522 	      esac
   2523 	      ;;
   2524 	    esac
   2525 	  fi # $linkmode,$pass = prog,link...
   2526 
   2527 	  if test "$alldeplibs" = yes &&
   2528 	     { test "$deplibs_check_method" = pass_all ||
   2529 	       { test "$build_libtool_libs" = yes &&
   2530 		 test -n "$library_names"; }; }; then
   2531 	    # We only need to search for static libraries
   2532 	    continue
   2533 	  fi
   2534 	fi
   2535 
   2536 	link_static=no # Whether the deplib will be linked statically
   2537 	use_static_libs=$prefer_static_libs
   2538 	if test "$use_static_libs" = built && test "$installed" = yes ; then
   2539 	  use_static_libs=no
   2540 	fi
   2541 	if test -n "$library_names" &&
   2542 	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
   2543 	  if test "$installed" = no; then
   2544 	    notinst_deplibs="$notinst_deplibs $lib"
   2545 	    need_relink=yes
   2546 	  fi
   2547 	  # This is a shared library
   2548 
   2549 	  # Warn about portability, can't link against -module's on
   2550 	  # some systems (darwin)
   2551 	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
   2552 	    $echo
   2553 	    if test "$linkmode" = prog; then
   2554 	      $echo "*** Warning: Linking the executable $output against the loadable module"
   2555 	    else
   2556 	      $echo "*** Warning: Linking the shared library $output against the loadable module"
   2557 	    fi
   2558 	    $echo "*** $linklib is not portable!"
   2559 	  fi
   2560 	  if test "$linkmode" = lib &&
   2561 	     test "$hardcode_into_libs" = yes; then
   2562 	    # Hardcode the library path.
   2563 	    # Skip directories that are in the system default run-time
   2564 	    # search path.
   2565 	    case " $sys_lib_dlsearch_path " in
   2566 	    *" $absdir "*) ;;
   2567 	    *)
   2568 	      case "$compile_rpath " in
   2569 	      *" $absdir "*) ;;
   2570 	      *) compile_rpath="$compile_rpath $absdir"
   2571 	      esac
   2572 	      ;;
   2573 	    esac
   2574 	    case " $sys_lib_dlsearch_path " in
   2575 	    *" $libdir "*) ;;
   2576 	    *)
   2577 	      case "$finalize_rpath " in
   2578 	      *" $libdir "*) ;;
   2579 	      *) finalize_rpath="$finalize_rpath $libdir"
   2580 	      esac
   2581 	      ;;
   2582 	    esac
   2583 	  fi
   2584 
   2585 	  if test -n "$old_archive_from_expsyms_cmds"; then
   2586 	    # figure out the soname
   2587 	    set dummy $library_names
   2588 	    realname="$2"
   2589 	    shift; shift
   2590 	    libname=`eval \\$echo \"$libname_spec\"`
   2591 	    # use dlname if we got it. it's perfectly good, no?
   2592 	    if test -n "$dlname"; then
   2593 	      soname="$dlname"
   2594 	    elif test -n "$soname_spec"; then
   2595 	      # bleh windows
   2596 	      case $host in
   2597 	      *cygwin* | mingw*)
   2598 		major=`expr $current - $age`
   2599 		versuffix="-$major"
   2600 		;;
   2601 	      esac
   2602 	      eval soname=\"$soname_spec\"
   2603 	    else
   2604 	      soname="$realname"
   2605 	    fi
   2606 
   2607 	    # Make a new name for the extract_expsyms_cmds to use
   2608 	    soroot="$soname"
   2609 	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
   2610 	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
   2611 
   2612 	    # If the library has no export list, then create one now
   2613 	    if test -f "$output_objdir/$soname-def"; then :
   2614 	    else
   2615 	      $show "extracting exported symbol list from \`$soname'"
   2616 	      save_ifs="$IFS"; IFS='~'
   2617 	      cmds=$extract_expsyms_cmds
   2618 	      for cmd in $cmds; do
   2619 		IFS="$save_ifs"
   2620 		eval cmd=\"$cmd\"
   2621 		$show "$cmd"
   2622 		$run eval "$cmd" || exit $?
   2623 	      done
   2624 	      IFS="$save_ifs"
   2625 	    fi
   2626 
   2627 	    # Create $newlib
   2628 	    if test -f "$output_objdir/$newlib"; then :; else
   2629 	      $show "generating import library for \`$soname'"
   2630 	      save_ifs="$IFS"; IFS='~'
   2631 	      cmds=$old_archive_from_expsyms_cmds
   2632 	      for cmd in $cmds; do
   2633 		IFS="$save_ifs"
   2634 		eval cmd=\"$cmd\"
   2635 		$show "$cmd"
   2636 		$run eval "$cmd" || exit $?
   2637 	      done
   2638 	      IFS="$save_ifs"
   2639 	    fi
   2640 	    # make sure the library variables are pointing to the new library
   2641 	    dir=$output_objdir
   2642 	    linklib=$newlib
   2643 	  fi # test -n "$old_archive_from_expsyms_cmds"
   2644 
   2645 	  if test "$linkmode" = prog || test "$mode" != relink; then
   2646 	    add_shlibpath=
   2647 	    add_dir=
   2648 	    add=
   2649 	    lib_linked=yes
   2650 	    case $hardcode_action in
   2651 	    immediate | unsupported)
   2652 	      if test "$hardcode_direct" = no; then
   2653 		add="$dir/$linklib"
   2654 		case $host in
   2655 		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
   2656 		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
   2657 		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
   2658 		    *-*-unixware7*) add_dir="-L$dir" ;;
   2659 		  *-*-darwin* )
   2660 		    # if the lib is a module then we can not link against
   2661 		    # it, someone is ignoring the new warnings I added
   2662 		    if /usr/bin/file -L $add 2> /dev/null |
   2663                       $EGREP ": [^:]* bundle" >/dev/null ; then
   2664 		      $echo "** Warning, lib $linklib is a module, not a shared library"
   2665 		      if test -z "$old_library" ; then
   2666 		        $echo
   2667 		        $echo "** And there doesn't seem to be a static archive available"
   2668 		        $echo "** The link will probably fail, sorry"
   2669 		      else
   2670 		        add="$dir/$old_library"
   2671 		      fi
   2672 		    fi
   2673 		esac
   2674 	      elif test "$hardcode_minus_L" = no; then
   2675 		case $host in
   2676 		*-*-sunos*) add_shlibpath="$dir" ;;
   2677 		esac
   2678 		add_dir="-L$dir"
   2679 		add="-l$name"
   2680 	      elif test "$hardcode_shlibpath_var" = no; then
   2681 		add_shlibpath="$dir"
   2682 		add="-l$name"
   2683 	      else
   2684 		lib_linked=no
   2685 	      fi
   2686 	      ;;
   2687 	    relink)
   2688 	      if test "$hardcode_direct" = yes; then
   2689 		add="$dir/$linklib"
   2690 	      elif test "$hardcode_minus_L" = yes; then
   2691 		add_dir="-L$dir"
   2692 		# Try looking first in the location we're being installed to.
   2693 		if test -n "$inst_prefix_dir"; then
   2694 		  case $libdir in
   2695 		    [\\/]*)
   2696 		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
   2697 		      ;;
   2698 		  esac
   2699 		fi
   2700 		add="-l$name"
   2701 	      elif test "$hardcode_shlibpath_var" = yes; then
   2702 		add_shlibpath="$dir"
   2703 		add="-l$name"
   2704 	      else
   2705 		lib_linked=no
   2706 	      fi
   2707 	      ;;
   2708 	    *) lib_linked=no ;;
   2709 	    esac
   2710 
   2711 	    if test "$lib_linked" != yes; then
   2712 	      $echo "$modename: configuration error: unsupported hardcode properties"
   2713 	      exit $EXIT_FAILURE
   2714 	    fi
   2715 
   2716 	    if test -n "$add_shlibpath"; then
   2717 	      case :$compile_shlibpath: in
   2718 	      *":$add_shlibpath:"*) ;;
   2719 	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
   2720 	      esac
   2721 	    fi
   2722 	    if test "$linkmode" = prog; then
   2723 	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
   2724 	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
   2725 	    else
   2726 	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
   2727 	      test -n "$add" && deplibs="$add $deplibs"
   2728 	      if test "$hardcode_direct" != yes && \
   2729 		 test "$hardcode_minus_L" != yes && \
   2730 		 test "$hardcode_shlibpath_var" = yes; then
   2731 		case :$finalize_shlibpath: in
   2732 		*":$libdir:"*) ;;
   2733 		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
   2734 		esac
   2735 	      fi
   2736 	    fi
   2737 	  fi
   2738 
   2739 	  if test "$linkmode" = prog || test "$mode" = relink; then
   2740 	    add_shlibpath=
   2741 	    add_dir=
   2742 	    add=
   2743 	    # Finalize command for both is simple: just hardcode it.
   2744 	    if test "$hardcode_direct" = yes; then
   2745 	      add="$libdir/$linklib"
   2746 	    elif test "$hardcode_minus_L" = yes; then
   2747 	      add_dir="-L$libdir"
   2748 	      add="-l$name"
   2749 	    elif test "$hardcode_shlibpath_var" = yes; then
   2750 	      case :$finalize_shlibpath: in
   2751 	      *":$libdir:"*) ;;
   2752 	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
   2753 	      esac
   2754 	      add="-l$name"
   2755 	    elif test "$hardcode_automatic" = yes; then
   2756 	      if test -n "$inst_prefix_dir" &&
   2757 		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
   2758 	        add="$inst_prefix_dir$libdir/$linklib"
   2759 	      else
   2760 	        add="$libdir/$linklib"
   2761 	      fi
   2762 	    else
   2763 	      # We cannot seem to hardcode it, guess we'll fake it.
   2764 	      add_dir="-L$libdir"
   2765 	      # Try looking first in the location we're being installed to.
   2766 	      if test -n "$inst_prefix_dir"; then
   2767 		case $libdir in
   2768 		  [\\/]*)
   2769 		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
   2770 		    ;;
   2771 		esac
   2772 	      fi
   2773 	      add="-l$name"
   2774 	    fi
   2775 
   2776 	    if test "$linkmode" = prog; then
   2777 	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
   2778 	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
   2779 	    else
   2780 	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
   2781 	      test -n "$add" && deplibs="$add $deplibs"
   2782 	    fi
   2783 	  fi
   2784 	elif test "$linkmode" = prog; then
   2785 	  # Here we assume that one of hardcode_direct or hardcode_minus_L
   2786 	  # is not unsupported.  This is valid on all known static and
   2787 	  # shared platforms.
   2788 	  if test "$hardcode_direct" != unsupported; then
   2789 	    test -n "$old_library" && linklib="$old_library"
   2790 	    compile_deplibs="$dir/$linklib $compile_deplibs"
   2791 	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
   2792 	  else
   2793 	    compile_deplibs="-l$name -L$dir $compile_deplibs"
   2794 	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
   2795 	  fi
   2796 	elif test "$build_libtool_libs" = yes; then
   2797 	  # Not a shared library
   2798 	  if test "$deplibs_check_method" != pass_all; then
   2799 	    # We're trying link a shared library against a static one
   2800 	    # but the system doesn't support it.
   2801 
   2802 	    # Just print a warning and add the library to dependency_libs so
   2803 	    # that the program can be linked against the static library.
   2804 	    $echo
   2805 	    $echo "*** Warning: This system can not link to static lib archive $lib."
   2806 	    $echo "*** I have the capability to make that library automatically link in when"
   2807 	    $echo "*** you link to this library.  But I can only do this if you have a"
   2808 	    $echo "*** shared version of the library, which you do not appear to have."
   2809 	    if test "$module" = yes; then
   2810 	      $echo "*** But as you try to build a module library, libtool will still create "
   2811 	      $echo "*** a static module, that should work as long as the dlopening application"
   2812 	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
   2813 	      if test -z "$global_symbol_pipe"; then
   2814 		$echo
   2815 		$echo "*** However, this would only work if libtool was able to extract symbol"
   2816 		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
   2817 		$echo "*** not find such a program.  So, this module is probably useless."
   2818 		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
   2819 	      fi
   2820 	      if test "$build_old_libs" = no; then
   2821 		build_libtool_libs=module
   2822 		build_old_libs=yes
   2823 	      else
   2824 		build_libtool_libs=no
   2825 	      fi
   2826 	    fi
   2827 	  else
   2828 	    deplibs="$dir/$old_library $deplibs"
   2829 	    link_static=yes
   2830 	  fi
   2831 	fi # link shared/static library?
   2832 
   2833 	if test "$linkmode" = lib; then
   2834 	  if test -n "$dependency_libs" &&
   2835 	     { test "$hardcode_into_libs" != yes ||
   2836 	       test "$build_old_libs" = yes ||
   2837 	       test "$link_static" = yes; }; then
   2838 	    # Extract -R from dependency_libs
   2839 	    temp_deplibs=
   2840 	    for libdir in $dependency_libs; do
   2841 	      case $libdir in
   2842 	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
   2843 		   case " $xrpath " in
   2844 		   *" $temp_xrpath "*) ;;
   2845 		   *) xrpath="$xrpath $temp_xrpath";;
   2846 		   esac;;
   2847 	      *) temp_deplibs="$temp_deplibs $libdir";;
   2848 	      esac
   2849 	    done
   2850 	    dependency_libs="$temp_deplibs"
   2851 	  fi
   2852 
   2853 	  newlib_search_path="$newlib_search_path $absdir"
   2854 	  # Link against this library
   2855 	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
   2856 	  # ... and its dependency_libs
   2857 	  tmp_libs=
   2858 	  for deplib in $dependency_libs; do
   2859 	    newdependency_libs="$deplib $newdependency_libs"
   2860 	    if test "X$duplicate_deps" = "Xyes" ; then
   2861 	      case "$tmp_libs " in
   2862 	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
   2863 	      esac
   2864 	    fi
   2865 	    tmp_libs="$tmp_libs $deplib"
   2866 	  done
   2867 
   2868 	  if test "$link_all_deplibs" != no; then
   2869 	    # Add the search paths of all dependency libraries
   2870 	    for deplib in $dependency_libs; do
   2871 	      case $deplib in
   2872 	      -L*) path="$deplib" ;;
   2873 	      *.la)
   2874 		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
   2875 		test "X$dir" = "X$deplib" && dir="."
   2876 		# We need an absolute path.
   2877 		case $dir in
   2878 		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
   2879 		*)
   2880 		  absdir=`cd "$dir" && pwd`
   2881 		  if test -z "$absdir"; then
   2882 		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
   2883 		    absdir="$dir"
   2884 		  fi
   2885 		  ;;
   2886 		esac
   2887 		if grep "^installed=no" $deplib > /dev/null; then
   2888 		  path="$absdir/$objdir"
   2889 		else
   2890 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
   2891 		  if test -z "$libdir"; then
   2892 		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
   2893 		    exit $EXIT_FAILURE
   2894 		  fi
   2895 		  if test "$absdir" != "$libdir"; then
   2896 		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
   2897 		  fi
   2898 		  path="$absdir"
   2899 		fi
   2900 		depdepl=
   2901 		case $host in
   2902 		*-*-darwin*)
   2903 		  # we do not want to link against static libs,
   2904 		  # but need to link against shared
   2905 		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
   2906 		  if test -n "$deplibrary_names" ; then
   2907 		    for tmp in $deplibrary_names ; do
   2908 		      depdepl=$tmp
   2909 		    done
   2910 		    if test -f "$path/$depdepl" ; then
   2911 		      depdepl="$path/$depdepl"
   2912 		    fi
   2913 		    # do not add paths which are already there
   2914 		    case " $newlib_search_path " in
   2915 		    *" $path "*) ;;
   2916 		    *) newlib_search_path="$newlib_search_path $path";;
   2917 		    esac
   2918 		  fi
   2919 		  path=""
   2920 		  ;;
   2921 		*)
   2922 		  path="-L$path"
   2923 		  ;;
   2924 		esac
   2925 		;;
   2926 	      -l*)
   2927 		case $host in
   2928 		*-*-darwin*)
   2929 		  # Again, we only want to link against shared libraries
   2930 		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
   2931 		  for tmp in $newlib_search_path ; do
   2932 		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
   2933 		      eval depdepl="$tmp/lib$tmp_libs.dylib"
   2934 		      break
   2935 		    fi
   2936 		  done
   2937 		  path=""
   2938 		  ;;
   2939 		*) continue ;;
   2940 		esac
   2941 		;;
   2942 	      *) continue ;;
   2943 	      esac
   2944 	      case " $deplibs " in
   2945 	      *" $path "*) ;;
   2946 	      *) deplibs="$path $deplibs" ;;
   2947 	      esac
   2948 	      case " $deplibs " in
   2949 	      *" $depdepl "*) ;;
   2950 	      *) deplibs="$depdepl $deplibs" ;;
   2951 	      esac
   2952 	    done
   2953 	  fi # link_all_deplibs != no
   2954 	fi # linkmode = lib
   2955       done # for deplib in $libs
   2956       dependency_libs="$newdependency_libs"
   2957       if test "$pass" = dlpreopen; then
   2958 	# Link the dlpreopened libraries before other libraries
   2959 	for deplib in $save_deplibs; do
   2960 	  deplibs="$deplib $deplibs"
   2961 	done
   2962       fi
   2963       if test "$pass" != dlopen; then
   2964 	if test "$pass" != conv; then
   2965 	  # Make sure lib_search_path contains only unique directories.
   2966 	  lib_search_path=
   2967 	  for dir in $newlib_search_path; do
   2968 	    case "$lib_search_path " in
   2969 	    *" $dir "*) ;;
   2970 	    *) lib_search_path="$lib_search_path $dir" ;;
   2971 	    esac
   2972 	  done
   2973 	  newlib_search_path=
   2974 	fi
   2975 
   2976 	if test "$linkmode,$pass" != "prog,link"; then
   2977 	  vars="deplibs"
   2978 	else
   2979 	  vars="compile_deplibs finalize_deplibs"
   2980 	fi
   2981 	for var in $vars dependency_libs; do
   2982 	  # Add libraries to $var in reverse order
   2983 	  eval tmp_libs=\"\$$var\"
   2984 	  new_libs=
   2985 	  for deplib in $tmp_libs; do
   2986 	    # FIXME: Pedantically, this is the right thing to do, so
   2987 	    #        that some nasty dependency loop isn't accidentally
   2988 	    #        broken:
   2989 	    #new_libs="$deplib $new_libs"
   2990 	    # Pragmatically, this seems to cause very few problems in
   2991 	    # practice:
   2992 	    case $deplib in
   2993 	    -L*) new_libs="$deplib $new_libs" ;;
   2994 	    -R*) ;;
   2995 	    *)
   2996 	      # And here is the reason: when a library appears more
   2997 	      # than once as an explicit dependence of a library, or
   2998 	      # is implicitly linked in more than once by the
   2999 	      # compiler, it is considered special, and multiple
   3000 	      # occurrences thereof are not removed.  Compare this
   3001 	      # with having the same library being listed as a
   3002 	      # dependency of multiple other libraries: in this case,
   3003 	      # we know (pedantically, we assume) the library does not
   3004 	      # need to be listed more than once, so we keep only the
   3005 	      # last copy.  This is not always right, but it is rare
   3006 	      # enough that we require users that really mean to play
   3007 	      # such unportable linking tricks to link the library
   3008 	      # using -Wl,-lname, so that libtool does not consider it
   3009 	      # for duplicate removal.
   3010 	      case " $specialdeplibs " in
   3011 	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
   3012 	      *)
   3013 		case " $new_libs " in
   3014 		*" $deplib "*) ;;
   3015 		*) new_libs="$deplib $new_libs" ;;
   3016 		esac
   3017 		;;
   3018 	      esac
   3019 	      ;;
   3020 	    esac
   3021 	  done
   3022 	  tmp_libs=
   3023 	  for deplib in $new_libs; do
   3024 	    case $deplib in
   3025 	    -L*)
   3026 	      case " $tmp_libs " in
   3027 	      *" $deplib "*) ;;
   3028 	      *) tmp_libs="$tmp_libs $deplib" ;;
   3029 	      esac
   3030 	      ;;
   3031 	    *) tmp_libs="$tmp_libs $deplib" ;;
   3032 	    esac
   3033 	  done
   3034 	  eval $var=\"$tmp_libs\"
   3035 	done # for var
   3036       fi
   3037       # Last step: remove runtime libs from dependency_libs
   3038       # (they stay in deplibs)
   3039       tmp_libs=
   3040       for i in $dependency_libs ; do
   3041 	case " $predeps $postdeps $compiler_lib_search_path " in
   3042 	*" $i "*)
   3043 	  i=""
   3044 	  ;;
   3045 	esac
   3046 	if test -n "$i" ; then
   3047 	  tmp_libs="$tmp_libs $i"
   3048 	fi
   3049       done
   3050       dependency_libs=$tmp_libs
   3051     done # for pass
   3052     if test "$linkmode" = prog; then
   3053       dlfiles="$newdlfiles"
   3054       dlprefiles="$newdlprefiles"
   3055     fi
   3056 
   3057     case $linkmode in
   3058     oldlib)
   3059       if test -n "$deplibs"; then
   3060 	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
   3061       fi
   3062 
   3063       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
   3064 	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
   3065       fi
   3066 
   3067       if test -n "$rpath"; then
   3068 	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
   3069       fi
   3070 
   3071       if test -n "$xrpath"; then
   3072 	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
   3073       fi
   3074 
   3075       if test -n "$vinfo"; then
   3076 	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
   3077       fi
   3078 
   3079       if test -n "$release"; then
   3080 	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
   3081       fi
   3082 
   3083       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
   3084 	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
   3085       fi
   3086 
   3087       # Now set the variables for building old libraries.
   3088       build_libtool_libs=no
   3089       oldlibs="$output"
   3090       objs="$objs$old_deplibs"
   3091       ;;
   3092 
   3093     lib)
   3094       # Make sure we only generate libraries of the form `libNAME.la'.
   3095       case $outputname in
   3096       lib*)
   3097 	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
   3098 	eval shared_ext=\"$shrext_cmds\"
   3099 	eval libname=\"$libname_spec\"
   3100 	;;
   3101       *)
   3102 	if test "$module" = no; then
   3103 	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
   3104 	  $echo "$help" 1>&2
   3105 	  exit $EXIT_FAILURE
   3106 	fi
   3107 	if test "$need_lib_prefix" != no; then
   3108 	  # Add the "lib" prefix for modules if required
   3109 	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
   3110 	  eval shared_ext=\"$shrext_cmds\"
   3111 	  eval libname=\"$libname_spec\"
   3112 	else
   3113 	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
   3114 	fi
   3115 	;;
   3116       esac
   3117 
   3118       if test -n "$objs"; then
   3119 	if test "$deplibs_check_method" != pass_all; then
   3120 	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
   3121 	  exit $EXIT_FAILURE
   3122 	else
   3123 	  $echo
   3124 	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
   3125 	  $echo "*** objects $objs is not portable!"
   3126 	  libobjs="$libobjs $objs"
   3127 	fi
   3128       fi
   3129 
   3130       if test "$dlself" != no; then
   3131 	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
   3132       fi
   3133 
   3134       set dummy $rpath
   3135       if test "$#" -gt 2; then
   3136 	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
   3137       fi
   3138       install_libdir="$2"
   3139 
   3140       oldlibs=
   3141       if test -z "$rpath"; then
   3142 	if test "$build_libtool_libs" = yes; then
   3143 	  # Building a libtool convenience library.
   3144 	  # Some compilers have problems with a `.al' extension so
   3145 	  # convenience libraries should have the same extension an
   3146 	  # archive normally would.
   3147 	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
   3148 	  build_libtool_libs=convenience
   3149 	  build_old_libs=yes
   3150 	fi
   3151 
   3152 	if test -n "$vinfo"; then
   3153 	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
   3154 	fi
   3155 
   3156 	if test -n "$release"; then
   3157 	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
   3158 	fi
   3159       else
   3160 
   3161 	# Parse the version information argument.
   3162 	save_ifs="$IFS"; IFS=':'
   3163 	set dummy $vinfo 0 0 0
   3164 	IFS="$save_ifs"
   3165 
   3166 	if test -n "$8"; then
   3167 	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
   3168 	  $echo "$help" 1>&2
   3169 	  exit $EXIT_FAILURE
   3170 	fi
   3171 
   3172 	# convert absolute version numbers to libtool ages
   3173 	# this retains compatibility with .la files and attempts
   3174 	# to make the code below a bit more comprehensible
   3175 
   3176 	case $vinfo_number in
   3177 	yes)
   3178 	  number_major="$2"
   3179 	  number_minor="$3"
   3180 	  number_revision="$4"
   3181 	  #
   3182 	  # There are really only two kinds -- those that
   3183 	  # use the current revision as the major version
   3184 	  # and those that subtract age and use age as
   3185 	  # a minor version.  But, then there is irix
   3186 	  # which has an extra 1 added just for fun
   3187 	  #
   3188 	  case $version_type in
   3189 	  darwin|linux|osf|windows)
   3190 	    current=`expr $number_major + $number_minor`
   3191 	    age="$number_minor"
   3192 	    revision="$number_revision"
   3193 	    ;;
   3194 	  freebsd-aout|freebsd-elf|sunos)
   3195 	    current="$number_major"
   3196 	    revision="$number_minor"
   3197 	    age="0"
   3198 	    ;;
   3199 	  irix|nonstopux)
   3200 	    current=`expr $number_major + $number_minor - 1`
   3201 	    age="$number_minor"
   3202 	    revision="$number_minor"
   3203 	    ;;
   3204 	  esac
   3205 	  ;;
   3206 	no)
   3207 	  current="$2"
   3208 	  revision="$3"
   3209 	  age="$4"
   3210 	  ;;
   3211 	esac
   3212 
   3213 	# Check that each of the things are valid numbers.
   3214 	case $current in
   3215 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
   3216 	*)
   3217 	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
   3218 	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
   3219 	  exit $EXIT_FAILURE
   3220 	  ;;
   3221 	esac
   3222 
   3223 	case $revision in
   3224 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
   3225 	*)
   3226 	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
   3227 	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
   3228 	  exit $EXIT_FAILURE
   3229 	  ;;
   3230 	esac
   3231 
   3232 	case $age in
   3233 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
   3234 	*)
   3235 	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
   3236 	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
   3237 	  exit $EXIT_FAILURE
   3238 	  ;;
   3239 	esac
   3240 
   3241 	if test "$age" -gt "$current"; then
   3242 	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
   3243 	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
   3244 	  exit $EXIT_FAILURE
   3245 	fi
   3246 
   3247 	# Calculate the version variables.
   3248 	major=
   3249 	versuffix=
   3250 	verstring=
   3251 	case $version_type in
   3252 	none) ;;
   3253 
   3254 	darwin)
   3255 	  # Like Linux, but with the current version available in
   3256 	  # verstring for coding it into the library header
   3257 	  major=.`expr $current - $age`
   3258 	  versuffix="$major.$age.$revision"
   3259 	  # Darwin ld doesn't like 0 for these options...
   3260 	  minor_current=`expr $current + 1`
   3261 	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
   3262 	  ;;
   3263 
   3264 	freebsd-aout)
   3265 	  major=".$current"
   3266 	  versuffix=".$current.$revision";
   3267 	  ;;
   3268 
   3269 	freebsd-elf)
   3270 	  major=".$current"
   3271 	  versuffix=".$current";
   3272 	  ;;
   3273 
   3274 	irix | nonstopux)
   3275 	  major=`expr $current - $age + 1`
   3276 
   3277 	  case $version_type in
   3278 	    nonstopux) verstring_prefix=nonstopux ;;
   3279 	    *)         verstring_prefix=sgi ;;
   3280 	  esac
   3281 	  verstring="$verstring_prefix$major.$revision"
   3282 
   3283 	  # Add in all the interfaces that we are compatible with.
   3284 	  loop=$revision
   3285 	  while test "$loop" -ne 0; do
   3286 	    iface=`expr $revision - $loop`
   3287 	    loop=`expr $loop - 1`
   3288 	    verstring="$verstring_prefix$major.$iface:$verstring"
   3289 	  done
   3290 
   3291 	  # Before this point, $major must not contain `.'.
   3292 	  major=.$major
   3293 	  versuffix="$major.$revision"
   3294 	  ;;
   3295 
   3296 	linux)
   3297 	  major=.`expr $current - $age`
   3298 	  versuffix="$major.$age.$revision"
   3299 	  ;;
   3300 
   3301 	osf)
   3302 	  major=.`expr $current - $age`
   3303 	  versuffix=".$current.$age.$revision"
   3304 	  verstring="$current.$age.$revision"
   3305 
   3306 	  # Add in all the interfaces that we are compatible with.
   3307 	  loop=$age
   3308 	  while test "$loop" -ne 0; do
   3309 	    iface=`expr $current - $loop`
   3310 	    loop=`expr $loop - 1`
   3311 	    verstring="$verstring:${iface}.0"
   3312 	  done
   3313 
   3314 	  # Make executables depend on our current version.
   3315 	  verstring="$verstring:${current}.0"
   3316 	  ;;
   3317 
   3318 	sunos)
   3319 	  major=".$current"
   3320 	  versuffix=".$current.$revision"
   3321 	  ;;
   3322 
   3323 	windows)
   3324 	  # Use '-' rather than '.', since we only want one
   3325 	  # extension on DOS 8.3 filesystems.
   3326 	  major=`expr $current - $age`
   3327 	  versuffix="-$major"
   3328 	  ;;
   3329 
   3330 	*)
   3331 	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
   3332 	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   3333 	  exit $EXIT_FAILURE
   3334 	  ;;
   3335 	esac
   3336 
   3337 	# Clear the version info if we defaulted, and they specified a release.
   3338 	if test -z "$vinfo" && test -n "$release"; then
   3339 	  major=
   3340 	  case $version_type in
   3341 	  darwin)
   3342 	    # we can't check for "0.0" in archive_cmds due to quoting
   3343 	    # problems, so we reset it completely
   3344 	    verstring=
   3345 	    ;;
   3346 	  *)
   3347 	    verstring="0.0"
   3348 	    ;;
   3349 	  esac
   3350 	  if test "$need_version" = no; then
   3351 	    versuffix=
   3352 	  else
   3353 	    versuffix=".0.0"
   3354 	  fi
   3355 	fi
   3356 
   3357 	# Remove version info from name if versioning should be avoided
   3358 	if test "$avoid_version" = yes && test "$need_version" = no; then
   3359 	  major=
   3360 	  versuffix=
   3361 	  verstring=""
   3362 	fi
   3363 
   3364 	# Check to see if the archive will have undefined symbols.
   3365 	if test "$allow_undefined" = yes; then
   3366 	  if test "$allow_undefined_flag" = unsupported; then
   3367 	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
   3368 	    build_libtool_libs=no
   3369 	    build_old_libs=yes
   3370 	  fi
   3371 	else
   3372 	  # Don't allow undefined symbols.
   3373 	  allow_undefined_flag="$no_undefined_flag"
   3374 	fi
   3375       fi
   3376 
   3377       if test "$mode" != relink; then
   3378 	# Remove our outputs, but don't remove object files since they
   3379 	# may have been created when compiling PIC objects.
   3380 	removelist=
   3381 	tempremovelist=`$echo "$output_objdir/*"`
   3382 	for p in $tempremovelist; do
   3383 	  case $p in
   3384 	    *.$objext)
   3385 	       ;;
   3386 	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
   3387 	       if test "X$precious_files_regex" != "X"; then
   3388 	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
   3389 	         then
   3390 		   continue
   3391 		 fi
   3392 	       fi
   3393 	       removelist="$removelist $p"
   3394 	       ;;
   3395 	    *) ;;
   3396 	  esac
   3397 	done
   3398 	if test -n "$removelist"; then
   3399 	  $show "${rm}r $removelist"
   3400 	  $run ${rm}r $removelist
   3401 	fi
   3402       fi
   3403 
   3404       # Now set the variables for building old libraries.
   3405       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
   3406 	oldlibs="$oldlibs $output_objdir/$libname.$libext"
   3407 
   3408 	# Transform .lo files to .o files.
   3409 	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
   3410       fi
   3411 
   3412       # Eliminate all temporary directories.
   3413       for path in $notinst_path; do
   3414 	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
   3415 	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
   3416 	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
   3417       done
   3418 
   3419       if test -n "$xrpath"; then
   3420 	# If the user specified any rpath flags, then add them.
   3421 	temp_xrpath=
   3422 	for libdir in $xrpath; do
   3423 	  temp_xrpath="$temp_xrpath -R$libdir"
   3424 	  case "$finalize_rpath " in
   3425 	  *" $libdir "*) ;;
   3426 	  *) finalize_rpath="$finalize_rpath $libdir" ;;
   3427 	  esac
   3428 	done
   3429 	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
   3430 	  dependency_libs="$temp_xrpath $dependency_libs"
   3431 	fi
   3432       fi
   3433 
   3434       # Make sure dlfiles contains only unique files that won't be dlpreopened
   3435       old_dlfiles="$dlfiles"
   3436       dlfiles=
   3437       for lib in $old_dlfiles; do
   3438 	case " $dlprefiles $dlfiles " in
   3439 	*" $lib "*) ;;
   3440 	*) dlfiles="$dlfiles $lib" ;;
   3441 	esac
   3442       done
   3443 
   3444       # Make sure dlprefiles contains only unique files
   3445       old_dlprefiles="$dlprefiles"
   3446       dlprefiles=
   3447       for lib in $old_dlprefiles; do
   3448 	case "$dlprefiles " in
   3449 	*" $lib "*) ;;
   3450 	*) dlprefiles="$dlprefiles $lib" ;;
   3451 	esac
   3452       done
   3453 
   3454       if test "$build_libtool_libs" = yes; then
   3455 	if test -n "$rpath"; then
   3456 	  case $host in
   3457 	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
   3458 	    # these systems don't actually have a c library (as such)!
   3459 	    ;;
   3460 	  *-*-rhapsody* | *-*-darwin1.[012])
   3461 	    # Rhapsody C library is in the System framework
   3462 	    deplibs="$deplibs -framework System"
   3463 	    ;;
   3464 	  *-*-netbsd*)
   3465 	    # Don't link with libc until the a.out ld.so is fixed.
   3466 	    ;;
   3467 	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
   3468 	    # Do not include libc due to us having libc/libc_r.
   3469 	    ;;
   3470 	  *-*-sco3.2v5* | *-*-sco5v6*)
   3471 	    # Causes problems with __ctype
   3472 	    ;;
   3473 	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
   3474 	    # Compiler inserts libc in the correct place for threads to work
   3475 	    ;;
   3476  	  *)
   3477 	    # Add libc to deplibs on all other systems if necessary.
   3478 	    if test "$build_libtool_need_lc" = "yes"; then
   3479 	      deplibs="$deplibs -lc"
   3480 	    fi
   3481 	    ;;
   3482 	  esac
   3483 	fi
   3484 
   3485 	# Transform deplibs into only deplibs that can be linked in shared.
   3486 	name_save=$name
   3487 	libname_save=$libname
   3488 	release_save=$release
   3489 	versuffix_save=$versuffix
   3490 	major_save=$major
   3491 	# I'm not sure if I'm treating the release correctly.  I think
   3492 	# release should show up in the -l (ie -lgmp5) so we don't want to
   3493 	# add it in twice.  Is that correct?
   3494 	release=""
   3495 	versuffix=""
   3496 	major=""
   3497 	newdeplibs=
   3498 	droppeddeps=no
   3499 	case $deplibs_check_method in
   3500 	pass_all)
   3501 	  # Don't check for shared/static.  Everything works.
   3502 	  # This might be a little naive.  We might want to check
   3503 	  # whether the library exists or not.  But this is on
   3504 	  # osf3 & osf4 and I'm not really sure... Just
   3505 	  # implementing what was already the behavior.
   3506 	  newdeplibs=$deplibs
   3507 	  ;;
   3508 	test_compile)
   3509 	  # This code stresses the "libraries are programs" paradigm to its
   3510 	  # limits. Maybe even breaks it.  We compile a program, linking it
   3511 	  # against the deplibs as a proxy for the library.  Then we can check
   3512 	  # whether they linked in statically or dynamically with ldd.
   3513 	  $rm conftest.c
   3514 	  cat > conftest.c <<EOF
   3515 	  int main() { return 0; }
   3516 EOF
   3517 	  $rm conftest
   3518 	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
   3519 	  if test "$?" -eq 0 ; then
   3520 	    ldd_output=`ldd conftest`
   3521 	    for i in $deplibs; do
   3522 	      name=`expr $i : '-l\(.*\)'`
   3523 	      # If $name is empty we are operating on a -L argument.
   3524               if test "$name" != "" && test "$name" -ne "0"; then
   3525 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   3526 		  case " $predeps $postdeps " in
   3527 		  *" $i "*)
   3528 		    newdeplibs="$newdeplibs $i"
   3529 		    i=""
   3530 		    ;;
   3531 		  esac
   3532 	        fi
   3533 		if test -n "$i" ; then
   3534 		  libname=`eval \\$echo \"$libname_spec\"`
   3535 		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
   3536 		  set dummy $deplib_matches
   3537 		  deplib_match=$2
   3538 		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
   3539 		    newdeplibs="$newdeplibs $i"
   3540 		  else
   3541 		    droppeddeps=yes
   3542 		    $echo
   3543 		    $echo "*** Warning: dynamic linker does not accept needed library $i."
   3544 		    $echo "*** I have the capability to make that library automatically link in when"
   3545 		    $echo "*** you link to this library.  But I can only do this if you have a"
   3546 		    $echo "*** shared version of the library, which I believe you do not have"
   3547 		    $echo "*** because a test_compile did reveal that the linker did not use it for"
   3548 		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
   3549 		  fi
   3550 		fi
   3551 	      else
   3552 		newdeplibs="$newdeplibs $i"
   3553 	      fi
   3554 	    done
   3555 	  else
   3556 	    # Error occurred in the first compile.  Let's try to salvage
   3557 	    # the situation: Compile a separate program for each library.
   3558 	    for i in $deplibs; do
   3559 	      name=`expr $i : '-l\(.*\)'`
   3560 	      # If $name is empty we are operating on a -L argument.
   3561               if test "$name" != "" && test "$name" != "0"; then
   3562 		$rm conftest
   3563 		$LTCC $LTCFLAGS -o conftest conftest.c $i
   3564 		# Did it work?
   3565 		if test "$?" -eq 0 ; then
   3566 		  ldd_output=`ldd conftest`
   3567 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   3568 		    case " $predeps $postdeps " in
   3569 		    *" $i "*)
   3570 		      newdeplibs="$newdeplibs $i"
   3571 		      i=""
   3572 		      ;;
   3573 		    esac
   3574 		  fi
   3575 		  if test -n "$i" ; then
   3576 		    libname=`eval \\$echo \"$libname_spec\"`
   3577 		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
   3578 		    set dummy $deplib_matches
   3579 		    deplib_match=$2
   3580 		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
   3581 		      newdeplibs="$newdeplibs $i"
   3582 		    else
   3583 		      droppeddeps=yes
   3584 		      $echo
   3585 		      $echo "*** Warning: dynamic linker does not accept needed library $i."
   3586 		      $echo "*** I have the capability to make that library automatically link in when"
   3587 		      $echo "*** you link to this library.  But I can only do this if you have a"
   3588 		      $echo "*** shared version of the library, which you do not appear to have"
   3589 		      $echo "*** because a test_compile did reveal that the linker did not use this one"
   3590 		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
   3591 		    fi
   3592 		  fi
   3593 		else
   3594 		  droppeddeps=yes
   3595 		  $echo
   3596 		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
   3597 		  $echo "***  make it link in!  You will probably need to install it or some"
   3598 		  $echo "*** library that it depends on before this library will be fully"
   3599 		  $echo "*** functional.  Installing it before continuing would be even better."
   3600 		fi
   3601 	      else
   3602 		newdeplibs="$newdeplibs $i"
   3603 	      fi
   3604 	    done
   3605 	  fi
   3606 	  ;;
   3607 	file_magic*)
   3608 	  set dummy $deplibs_check_method
   3609 	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
   3610 	  for a_deplib in $deplibs; do
   3611 	    name=`expr $a_deplib : '-l\(.*\)'`
   3612 	    # If $name is empty we are operating on a -L argument.
   3613             if test "$name" != "" && test  "$name" != "0"; then
   3614 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   3615 		case " $predeps $postdeps " in
   3616 		*" $a_deplib "*)
   3617 		  newdeplibs="$newdeplibs $a_deplib"
   3618 		  a_deplib=""
   3619 		  ;;
   3620 		esac
   3621 	      fi
   3622 	      if test -n "$a_deplib" ; then
   3623 		libname=`eval \\$echo \"$libname_spec\"`
   3624 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
   3625 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
   3626 		  for potent_lib in $potential_libs; do
   3627 		      # Follow soft links.
   3628 		      if ls -lLd "$potent_lib" 2>/dev/null \
   3629 			 | grep " -> " >/dev/null; then
   3630 			continue
   3631 		      fi
   3632 		      # The statement above tries to avoid entering an
   3633 		      # endless loop below, in case of cyclic links.
   3634 		      # We might still enter an endless loop, since a link
   3635 		      # loop can be closed while we follow links,
   3636 		      # but so what?
   3637 		      potlib="$potent_lib"
   3638 		      while test -h "$potlib" 2>/dev/null; do
   3639 			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
   3640 			case $potliblink in
   3641 			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
   3642 			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
   3643 			esac
   3644 		      done
   3645 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
   3646 			 | ${SED} 10q \
   3647 			 | $EGREP "$file_magic_regex" > /dev/null; then
   3648 			newdeplibs="$newdeplibs $a_deplib"
   3649 			a_deplib=""
   3650 			break 2
   3651 		      fi
   3652 		  done
   3653 		done
   3654 	      fi
   3655 	      if test -n "$a_deplib" ; then
   3656 		droppeddeps=yes
   3657 		$echo
   3658 		$echo "*** Warning: linker path does not have real file for library $a_deplib."
   3659 		$echo "*** I have the capability to make that library automatically link in when"
   3660 		$echo "*** you link to this library.  But I can only do this if you have a"
   3661 		$echo "*** shared version of the library, which you do not appear to have"
   3662 		$echo "*** because I did check the linker path looking for a file starting"
   3663 		if test -z "$potlib" ; then
   3664 		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
   3665 		else
   3666 		  $echo "*** with $libname and none of the candidates passed a file format test"
   3667 		  $echo "*** using a file magic. Last file checked: $potlib"
   3668 		fi
   3669 	      fi
   3670 	    else
   3671 	      # Add a -L argument.
   3672 	      newdeplibs="$newdeplibs $a_deplib"
   3673 	    fi
   3674 	  done # Gone through all deplibs.
   3675 	  ;;
   3676 	match_pattern*)
   3677 	  set dummy $deplibs_check_method
   3678 	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
   3679 	  for a_deplib in $deplibs; do
   3680 	    name=`expr $a_deplib : '-l\(.*\)'`
   3681 	    # If $name is empty we are operating on a -L argument.
   3682 	    if test -n "$name" && test "$name" != "0"; then
   3683 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   3684 		case " $predeps $postdeps " in
   3685 		*" $a_deplib "*)
   3686 		  newdeplibs="$newdeplibs $a_deplib"
   3687 		  a_deplib=""
   3688 		  ;;
   3689 		esac
   3690 	      fi
   3691 	      if test -n "$a_deplib" ; then
   3692 		libname=`eval \\$echo \"$libname_spec\"`
   3693 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
   3694 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
   3695 		  for potent_lib in $potential_libs; do
   3696 		    potlib="$potent_lib" # see symlink-check above in file_magic test
   3697 		    if eval $echo \"$potent_lib\" 2>/dev/null \
   3698 		        | ${SED} 10q \
   3699 		        | $EGREP "$match_pattern_regex" > /dev/null; then
   3700 		      newdeplibs="$newdeplibs $a_deplib"
   3701 		      a_deplib=""
   3702 		      break 2
   3703 		    fi
   3704 		  done
   3705 		done
   3706 	      fi
   3707 	      if test -n "$a_deplib" ; then
   3708 		droppeddeps=yes
   3709 		$echo
   3710 		$echo "*** Warning: linker path does not have real file for library $a_deplib."
   3711 		$echo "*** I have the capability to make that library automatically link in when"
   3712 		$echo "*** you link to this library.  But I can only do this if you have a"
   3713 		$echo "*** shared version of the library, which you do not appear to have"
   3714 		$echo "*** because I did check the linker path looking for a file starting"
   3715 		if test -z "$potlib" ; then
   3716 		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
   3717 		else
   3718 		  $echo "*** with $libname and none of the candidates passed a file format test"
   3719 		  $echo "*** using a regex pattern. Last file checked: $potlib"
   3720 		fi
   3721 	      fi
   3722 	    else
   3723 	      # Add a -L argument.
   3724 	      newdeplibs="$newdeplibs $a_deplib"
   3725 	    fi
   3726 	  done # Gone through all deplibs.
   3727 	  ;;
   3728 	none | unknown | *)
   3729 	  newdeplibs=""
   3730 	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
   3731 	    -e 's/ -[LR][^ ]*//g'`
   3732 	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
   3733 	    for i in $predeps $postdeps ; do
   3734 	      # can't use Xsed below, because $i might contain '/'
   3735 	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
   3736 	    done
   3737 	  fi
   3738 	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
   3739 	    | grep . >/dev/null; then
   3740 	    $echo
   3741 	    if test "X$deplibs_check_method" = "Xnone"; then
   3742 	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
   3743 	    else
   3744 	      $echo "*** Warning: inter-library dependencies are not known to be supported."
   3745 	    fi
   3746 	    $echo "*** All declared inter-library dependencies are being dropped."
   3747 	    droppeddeps=yes
   3748 	  fi
   3749 	  ;;
   3750 	esac
   3751 	versuffix=$versuffix_save
   3752 	major=$major_save
   3753 	release=$release_save
   3754 	libname=$libname_save
   3755 	name=$name_save
   3756 
   3757 	case $host in
   3758 	*-*-rhapsody* | *-*-darwin1.[012])
   3759 	  # On Rhapsody replace the C library is the System framework
   3760 	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
   3761 	  ;;
   3762 	esac
   3763 
   3764 	if test "$droppeddeps" = yes; then
   3765 	  if test "$module" = yes; then
   3766 	    $echo
   3767 	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
   3768 	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
   3769 	    $echo "*** a static module, that should work as long as the dlopening"
   3770 	    $echo "*** application is linked with the -dlopen flag."
   3771 	    if test -z "$global_symbol_pipe"; then
   3772 	      $echo
   3773 	      $echo "*** However, this would only work if libtool was able to extract symbol"
   3774 	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
   3775 	      $echo "*** not find such a program.  So, this module is probably useless."
   3776 	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
   3777 	    fi
   3778 	    if test "$build_old_libs" = no; then
   3779 	      oldlibs="$output_objdir/$libname.$libext"
   3780 	      build_libtool_libs=module
   3781 	      build_old_libs=yes
   3782 	    else
   3783 	      build_libtool_libs=no
   3784 	    fi
   3785 	  else
   3786 	    $echo "*** The inter-library dependencies that have been dropped here will be"
   3787 	    $echo "*** automatically added whenever a program is linked with this library"
   3788 	    $echo "*** or is declared to -dlopen it."
   3789 
   3790 	    if test "$allow_undefined" = no; then
   3791 	      $echo
   3792 	      $echo "*** Since this library must not contain undefined symbols,"
   3793 	      $echo "*** because either the platform does not support them or"
   3794 	      $echo "*** it was explicitly requested with -no-undefined,"
   3795 	      $echo "*** libtool will only create a static version of it."
   3796 	      if test "$build_old_libs" = no; then
   3797 		oldlibs="$output_objdir/$libname.$libext"
   3798 		build_libtool_libs=module
   3799 		build_old_libs=yes
   3800 	      else
   3801 		build_libtool_libs=no
   3802 	      fi
   3803 	    fi
   3804 	  fi
   3805 	fi
   3806 	# Done checking deplibs!
   3807 	deplibs=$newdeplibs
   3808       fi
   3809 
   3810 
   3811       # move library search paths that coincide with paths to not yet
   3812       # installed libraries to the beginning of the library search list
   3813       new_libs=
   3814       for path in $notinst_path; do
   3815 	case " $new_libs " in
   3816 	*" -L$path/$objdir "*) ;;
   3817 	*)
   3818 	  case " $deplibs " in
   3819 	  *" -L$path/$objdir "*)
   3820 	    new_libs="$new_libs -L$path/$objdir" ;;
   3821 	  esac
   3822 	  ;;
   3823 	esac
   3824       done
   3825       for deplib in $deplibs; do
   3826 	case $deplib in
   3827 	-L*)
   3828 	  case " $new_libs " in
   3829 	  *" $deplib "*) ;;
   3830 	  *) new_libs="$new_libs $deplib" ;;
   3831 	  esac
   3832 	  ;;
   3833 	*) new_libs="$new_libs $deplib" ;;
   3834 	esac
   3835       done
   3836       deplibs="$new_libs"
   3837 
   3838 
   3839       # All the library-specific variables (install_libdir is set above).
   3840       library_names=
   3841       old_library=
   3842       dlname=
   3843 
   3844       # Test again, we may have decided not to build it any more
   3845       if test "$build_libtool_libs" = yes; then
   3846 	if test "$hardcode_into_libs" = yes; then
   3847 	  # Hardcode the library paths
   3848 	  hardcode_libdirs=
   3849 	  dep_rpath=
   3850 	  rpath="$finalize_rpath"
   3851 	  test "$mode" != relink && rpath="$compile_rpath$rpath"
   3852 	  for libdir in $rpath; do
   3853 	    if test -n "$hardcode_libdir_flag_spec"; then
   3854 	      if test -n "$hardcode_libdir_separator"; then
   3855 		if test -z "$hardcode_libdirs"; then
   3856 		  hardcode_libdirs="$libdir"
   3857 		else
   3858 		  # Just accumulate the unique libdirs.
   3859 		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
   3860 		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
   3861 		    ;;
   3862 		  *)
   3863 		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
   3864 		    ;;
   3865 		  esac
   3866 		fi
   3867 	      else
   3868 		eval flag=\"$hardcode_libdir_flag_spec\"
   3869 		dep_rpath="$dep_rpath $flag"
   3870 	      fi
   3871 	    elif test -n "$runpath_var"; then
   3872 	      case "$perm_rpath " in
   3873 	      *" $libdir "*) ;;
   3874 	      *) perm_rpath="$perm_rpath $libdir" ;;
   3875 	      esac
   3876 	    fi
   3877 	  done
   3878 	  # Substitute the hardcoded libdirs into the rpath.
   3879 	  if test -n "$hardcode_libdir_separator" &&
   3880 	     test -n "$hardcode_libdirs"; then
   3881 	    libdir="$hardcode_libdirs"
   3882 	    if test -n "$hardcode_libdir_flag_spec_ld"; then
   3883 	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
   3884 	    else
   3885 	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
   3886 	    fi
   3887 	  fi
   3888 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
   3889 	    # We should set the runpath_var.
   3890 	    rpath=
   3891 	    for dir in $perm_rpath; do
   3892 	      rpath="$rpath$dir:"
   3893 	    done
   3894 	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
   3895 	  fi
   3896 	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
   3897 	fi
   3898 
   3899 	shlibpath="$finalize_shlibpath"
   3900 	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
   3901 	if test -n "$shlibpath"; then
   3902 	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
   3903 	fi
   3904 
   3905 	# Get the real and link names of the library.
   3906 	eval shared_ext=\"$shrext_cmds\"
   3907 	eval library_names=\"$library_names_spec\"
   3908 	set dummy $library_names
   3909 	realname="$2"
   3910 	shift; shift
   3911 
   3912 	if test -n "$soname_spec"; then
   3913 	  eval soname=\"$soname_spec\"
   3914 	else
   3915 	  soname="$realname"
   3916 	fi
   3917 	if test -z "$dlname"; then
   3918 	  dlname=$soname
   3919 	fi
   3920 
   3921 	lib="$output_objdir/$realname"
   3922 	linknames=
   3923 	for link
   3924 	do
   3925 	  linknames="$linknames $link"
   3926 	done
   3927 
   3928 	# Use standard objects if they are pic
   3929 	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
   3930 
   3931 	# Prepare the list of exported symbols
   3932 	if test -z "$export_symbols"; then
   3933 	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
   3934 	    $show "generating symbol list for \`$libname.la'"
   3935 	    export_symbols="$output_objdir/$libname.exp"
   3936 	    $run $rm $export_symbols
   3937 	    cmds=$export_symbols_cmds
   3938 	    save_ifs="$IFS"; IFS='~'
   3939 	    for cmd in $cmds; do
   3940 	      IFS="$save_ifs"
   3941 	      eval cmd=\"$cmd\"
   3942 	      if len=`expr "X$cmd" : ".*"` &&
   3943 	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
   3944 	        $show "$cmd"
   3945 	        $run eval "$cmd" || exit $?
   3946 	        skipped_export=false
   3947 	      else
   3948 	        # The command line is too long to execute in one step.
   3949 	        $show "using reloadable object file for export list..."
   3950 	        skipped_export=:
   3951 		# Break out early, otherwise skipped_export may be
   3952 		# set to false by a later but shorter cmd.
   3953 		break
   3954 	      fi
   3955 	    done
   3956 	    IFS="$save_ifs"
   3957 	    if test -n "$export_symbols_regex"; then
   3958 	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
   3959 	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
   3960 	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
   3961 	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
   3962 	    fi
   3963 	  fi
   3964 	fi
   3965 
   3966 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
   3967 	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
   3968 	fi
   3969 
   3970 	tmp_deplibs=
   3971 	for test_deplib in $deplibs; do
   3972 		case " $convenience " in
   3973 		*" $test_deplib "*) ;;
   3974 		*)
   3975 			tmp_deplibs="$tmp_deplibs $test_deplib"
   3976 			;;
   3977 		esac
   3978 	done
   3979 	deplibs="$tmp_deplibs"
   3980 
   3981 	if test -n "$convenience"; then
   3982 	  if test -n "$whole_archive_flag_spec"; then
   3983 	    save_libobjs=$libobjs
   3984 	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
   3985 	  else
   3986 	    gentop="$output_objdir/${outputname}x"
   3987 	    generated="$generated $gentop"
   3988 
   3989 	    func_extract_archives $gentop $convenience
   3990 	    libobjs="$libobjs $func_extract_archives_result"
   3991 	  fi
   3992 	fi
   3993 	
   3994 	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
   3995 	  eval flag=\"$thread_safe_flag_spec\"
   3996 	  linker_flags="$linker_flags $flag"
   3997 	fi
   3998 
   3999 	# Make a backup of the uninstalled library when relinking
   4000 	if test "$mode" = relink; then
   4001 	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
   4002 	fi
   4003 
   4004 	# Do each of the archive commands.
   4005 	if test "$module" = yes && test -n "$module_cmds" ; then
   4006 	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
   4007 	    eval test_cmds=\"$module_expsym_cmds\"
   4008 	    cmds=$module_expsym_cmds
   4009 	  else
   4010 	    eval test_cmds=\"$module_cmds\"
   4011 	    cmds=$module_cmds
   4012 	  fi
   4013 	else
   4014 	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
   4015 	  eval test_cmds=\"$archive_expsym_cmds\"
   4016 	  cmds=$archive_expsym_cmds
   4017 	else
   4018 	  eval test_cmds=\"$archive_cmds\"
   4019 	  cmds=$archive_cmds
   4020 	  fi
   4021 	fi
   4022 
   4023 	if test "X$skipped_export" != "X:" &&
   4024 	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
   4025 	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
   4026 	  :
   4027 	else
   4028 	  # The command line is too long to link in one step, link piecewise.
   4029 	  $echo "creating reloadable object files..."
   4030 
   4031 	  # Save the value of $output and $libobjs because we want to
   4032 	  # use them later.  If we have whole_archive_flag_spec, we
   4033 	  # want to use save_libobjs as it was before
   4034 	  # whole_archive_flag_spec was expanded, because we can't
   4035 	  # assume the linker understands whole_archive_flag_spec.
   4036 	  # This may have to be revisited, in case too many
   4037 	  # convenience libraries get linked in and end up exceeding
   4038 	  # the spec.
   4039 	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
   4040 	    save_libobjs=$libobjs
   4041 	  fi
   4042 	  save_output=$output
   4043 	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
   4044 
   4045 	  # Clear the reloadable object creation command queue and
   4046 	  # initialize k to one.
   4047 	  test_cmds=
   4048 	  concat_cmds=
   4049 	  objlist=
   4050 	  delfiles=
   4051 	  last_robj=
   4052 	  k=1
   4053 	  output=$output_objdir/$output_la-${k}.$objext
   4054 	  # Loop over the list of objects to be linked.
   4055 	  for obj in $save_libobjs
   4056 	  do
   4057 	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
   4058 	    if test "X$objlist" = X ||
   4059 	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
   4060 		 test "$len" -le "$max_cmd_len"; }; then
   4061 	      objlist="$objlist $obj"
   4062 	    else
   4063 	      # The command $test_cmds is almost too long, add a
   4064 	      # command to the queue.
   4065 	      if test "$k" -eq 1 ; then
   4066 		# The first file doesn't have a previous command to add.
   4067 		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
   4068 	      else
   4069 		# All subsequent reloadable object files will link in
   4070 		# the last one created.
   4071 		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
   4072 	      fi
   4073 	      last_robj=$output_objdir/$output_la-${k}.$objext
   4074 	      k=`expr $k + 1`
   4075 	      output=$output_objdir/$output_la-${k}.$objext
   4076 	      objlist=$obj
   4077 	      len=1
   4078 	    fi
   4079 	  done
   4080 	  # Handle the remaining objects by creating one last
   4081 	  # reloadable object file.  All subsequent reloadable object
   4082 	  # files will link in the last one created.
   4083 	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
   4084 	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
   4085 
   4086 	  if ${skipped_export-false}; then
   4087 	    $show "generating symbol list for \`$libname.la'"
   4088 	    export_symbols="$output_objdir/$libname.exp"
   4089 	    $run $rm $export_symbols
   4090 	    libobjs=$output
   4091 	    # Append the command to create the export file.
   4092 	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
   4093           fi
   4094 
   4095 	  # Set up a command to remove the reloadable object files
   4096 	  # after they are used.
   4097 	  i=0
   4098 	  while test "$i" -lt "$k"
   4099 	  do
   4100 	    i=`expr $i + 1`
   4101 	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
   4102 	  done
   4103 
   4104 	  $echo "creating a temporary reloadable object file: $output"
   4105 
   4106 	  # Loop through the commands generated above and execute them.
   4107 	  save_ifs="$IFS"; IFS='~'
   4108 	  for cmd in $concat_cmds; do
   4109 	    IFS="$save_ifs"
   4110 	    $show "$cmd"
   4111 	    $run eval "$cmd" || exit $?
   4112 	  done
   4113 	  IFS="$save_ifs"
   4114 
   4115 	  libobjs=$output
   4116 	  # Restore the value of output.
   4117 	  output=$save_output
   4118 
   4119 	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
   4120 	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
   4121 	  fi
   4122 	  # Expand the library linking commands again to reset the
   4123 	  # value of $libobjs for piecewise linking.
   4124 
   4125 	  # Do each of the archive commands.
   4126 	  if test "$module" = yes && test -n "$module_cmds" ; then
   4127 	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
   4128 	      cmds=$module_expsym_cmds
   4129 	    else
   4130 	      cmds=$module_cmds
   4131 	    fi
   4132 	  else
   4133 	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
   4134 	    cmds=$archive_expsym_cmds
   4135 	  else
   4136 	    cmds=$archive_cmds
   4137 	    fi
   4138 	  fi
   4139 
   4140 	  # Append the command to remove the reloadable object files
   4141 	  # to the just-reset $cmds.
   4142 	  eval cmds=\"\$cmds~\$rm $delfiles\"
   4143 	fi
   4144 	save_ifs="$IFS"; IFS='~'
   4145 	for cmd in $cmds; do
   4146 	  IFS="$save_ifs"
   4147 	  eval cmd=\"$cmd\"
   4148 	  $show "$cmd"
   4149 	  $run eval "$cmd" || {
   4150 	    lt_exit=$?
   4151 
   4152 	    # Restore the uninstalled library and exit
   4153 	    if test "$mode" = relink; then
   4154 	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
   4155 	    fi
   4156 
   4157 	    exit $lt_exit
   4158 	  }
   4159 	done
   4160 	IFS="$save_ifs"
   4161 
   4162 	# Restore the uninstalled library and exit
   4163 	if test "$mode" = relink; then
   4164 	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
   4165 
   4166 	  if test -n "$convenience"; then
   4167 	    if test -z "$whole_archive_flag_spec"; then
   4168 	      $show "${rm}r $gentop"
   4169 	      $run ${rm}r "$gentop"
   4170 	    fi
   4171 	  fi
   4172 
   4173 	  exit $EXIT_SUCCESS
   4174 	fi
   4175 
   4176 	# Create links to the real library.
   4177 	for linkname in $linknames; do
   4178 	  if test "$realname" != "$linkname"; then
   4179 	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
   4180 	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
   4181 	  fi
   4182 	done
   4183 
   4184 	# If -module or -export-dynamic was specified, set the dlname.
   4185 	if test "$module" = yes || test "$export_dynamic" = yes; then
   4186 	  # On all known operating systems, these are identical.
   4187 	  dlname="$soname"
   4188 	fi
   4189       fi
   4190       ;;
   4191 
   4192     obj)
   4193       if test -n "$deplibs"; then
   4194 	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
   4195       fi
   4196 
   4197       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
   4198 	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
   4199       fi
   4200 
   4201       if test -n "$rpath"; then
   4202 	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
   4203       fi
   4204 
   4205       if test -n "$xrpath"; then
   4206 	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
   4207       fi
   4208 
   4209       if test -n "$vinfo"; then
   4210 	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
   4211       fi
   4212 
   4213       if test -n "$release"; then
   4214 	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
   4215       fi
   4216 
   4217       case $output in
   4218       *.lo)
   4219 	if test -n "$objs$old_deplibs"; then
   4220 	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
   4221 	  exit $EXIT_FAILURE
   4222 	fi
   4223 	libobj="$output"
   4224 	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
   4225 	;;
   4226       *)
   4227 	libobj=
   4228 	obj="$output"
   4229 	;;
   4230       esac
   4231 
   4232       # Delete the old objects.
   4233       $run $rm $obj $libobj
   4234 
   4235       # Objects from convenience libraries.  This assumes
   4236       # single-version convenience libraries.  Whenever we create
   4237       # different ones for PIC/non-PIC, this we'll have to duplicate
   4238       # the extraction.
   4239       reload_conv_objs=
   4240       gentop=
   4241       # reload_cmds runs $LD directly, so let us get rid of
   4242       # -Wl from whole_archive_flag_spec
   4243       wl=
   4244 
   4245       if test -n "$convenience"; then
   4246 	if test -n "$whole_archive_flag_spec"; then
   4247 	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
   4248 	else
   4249 	  gentop="$output_objdir/${obj}x"
   4250 	  generated="$generated $gentop"
   4251 
   4252 	  func_extract_archives $gentop $convenience
   4253 	  reload_conv_objs="$reload_objs $func_extract_archives_result"
   4254 	fi
   4255       fi
   4256 
   4257       # Create the old-style object.
   4258       reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
   4259 
   4260       output="$obj"
   4261       cmds=$reload_cmds
   4262       save_ifs="$IFS"; IFS='~'
   4263       for cmd in $cmds; do
   4264 	IFS="$save_ifs"
   4265 	eval cmd=\"$cmd\"
   4266 	$show "$cmd"
   4267 	$run eval "$cmd" || exit $?
   4268       done
   4269       IFS="$save_ifs"
   4270 
   4271       # Exit if we aren't doing a library object file.
   4272       if test -z "$libobj"; then
   4273 	if test -n "$gentop"; then
   4274 	  $show "${rm}r $gentop"
   4275 	  $run ${rm}r $gentop
   4276 	fi
   4277 
   4278 	exit $EXIT_SUCCESS
   4279       fi
   4280 
   4281       if test "$build_libtool_libs" != yes; then
   4282 	if test -n "$gentop"; then
   4283 	  $show "${rm}r $gentop"
   4284 	  $run ${rm}r $gentop
   4285 	fi
   4286 
   4287 	# Create an invalid libtool object if no PIC, so that we don't
   4288 	# accidentally link it into a program.
   4289 	# $show "echo timestamp > $libobj"
   4290 	# $run eval "echo timestamp > $libobj" || exit $?
   4291 	exit $EXIT_SUCCESS
   4292       fi
   4293 
   4294       if test -n "$pic_flag" || test "$pic_mode" != default; then
   4295 	# Only do commands if we really have different PIC objects.
   4296 	reload_objs="$libobjs $reload_conv_objs"
   4297 	output="$libobj"
   4298 	cmds=$reload_cmds
   4299 	save_ifs="$IFS"; IFS='~'
   4300 	for cmd in $cmds; do
   4301 	  IFS="$save_ifs"
   4302 	  eval cmd=\"$cmd\"
   4303 	  $show "$cmd"
   4304 	  $run eval "$cmd" || exit $?
   4305 	done
   4306 	IFS="$save_ifs"
   4307       fi
   4308 
   4309       if test -n "$gentop"; then
   4310 	$show "${rm}r $gentop"
   4311 	$run ${rm}r $gentop
   4312       fi
   4313 
   4314       exit $EXIT_SUCCESS
   4315       ;;
   4316 
   4317     prog)
   4318       case $host in
   4319 	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
   4320       esac
   4321       if test -n "$vinfo"; then
   4322 	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
   4323       fi
   4324 
   4325       if test -n "$release"; then
   4326 	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
   4327       fi
   4328 
   4329       if test "$preload" = yes; then
   4330 	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
   4331 	   test "$dlopen_self_static" = unknown; then
   4332 	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
   4333 	fi
   4334       fi
   4335 
   4336       case $host in
   4337       *-*-rhapsody* | *-*-darwin1.[012])
   4338 	# On Rhapsody replace the C library is the System framework
   4339 	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
   4340 	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
   4341 	;;
   4342       esac
   4343 
   4344       case $host in
   4345       *darwin*)
   4346         # Don't allow lazy linking, it breaks C++ global constructors
   4347         if test "$tagname" = CXX ; then
   4348         compile_command="$compile_command ${wl}-bind_at_load"
   4349         finalize_command="$finalize_command ${wl}-bind_at_load"
   4350         fi
   4351         ;;
   4352       esac
   4353 
   4354 
   4355       # move library search paths that coincide with paths to not yet
   4356       # installed libraries to the beginning of the library search list
   4357       new_libs=
   4358       for path in $notinst_path; do
   4359 	case " $new_libs " in
   4360 	*" -L$path/$objdir "*) ;;
   4361 	*)
   4362 	  case " $compile_deplibs " in
   4363 	  *" -L$path/$objdir "*)
   4364 	    new_libs="$new_libs -L$path/$objdir" ;;
   4365 	  esac
   4366 	  ;;
   4367 	esac
   4368       done
   4369       for deplib in $compile_deplibs; do
   4370 	case $deplib in
   4371 	-L*)
   4372 	  case " $new_libs " in
   4373 	  *" $deplib "*) ;;
   4374 	  *) new_libs="$new_libs $deplib" ;;
   4375 	  esac
   4376 	  ;;
   4377 	*) new_libs="$new_libs $deplib" ;;
   4378 	esac
   4379       done
   4380       compile_deplibs="$new_libs"
   4381 
   4382 
   4383       compile_command="$compile_command $compile_deplibs"
   4384       finalize_command="$finalize_command $finalize_deplibs"
   4385 
   4386       if test -n "$rpath$xrpath"; then
   4387 	# If the user specified any rpath flags, then add them.
   4388 	for libdir in $rpath $xrpath; do
   4389 	  # This is the magic to use -rpath.
   4390 	  case "$finalize_rpath " in
   4391 	  *" $libdir "*) ;;
   4392 	  *) finalize_rpath="$finalize_rpath $libdir" ;;
   4393 	  esac
   4394 	done
   4395       fi
   4396 
   4397       # Now hardcode the library paths
   4398       rpath=
   4399       hardcode_libdirs=
   4400       for libdir in $compile_rpath $finalize_rpath; do
   4401 	if test -n "$hardcode_libdir_flag_spec"; then
   4402 	  if test -n "$hardcode_libdir_separator"; then
   4403 	    if test -z "$hardcode_libdirs"; then
   4404 	      hardcode_libdirs="$libdir"
   4405 	    else
   4406 	      # Just accumulate the unique libdirs.
   4407 	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
   4408 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
   4409 		;;
   4410 	      *)
   4411 		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
   4412 		;;
   4413 	      esac
   4414 	    fi
   4415 	  else
   4416 	    eval flag=\"$hardcode_libdir_flag_spec\"
   4417 	    rpath="$rpath $flag"
   4418 	  fi
   4419 	elif test -n "$runpath_var"; then
   4420 	  case "$perm_rpath " in
   4421 	  *" $libdir "*) ;;
   4422 	  *) perm_rpath="$perm_rpath $libdir" ;;
   4423 	  esac
   4424 	fi
   4425 	case $host in
   4426 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
   4427 	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
   4428 	  case :$dllsearchpath: in
   4429 	  *":$libdir:"*) ;;
   4430 	  *) dllsearchpath="$dllsearchpath:$libdir";;
   4431 	  esac
   4432 	  case :$dllsearchpath: in
   4433 	  *":$testbindir:"*) ;;
   4434 	  *) dllsearchpath="$dllsearchpath:$testbindir";;
   4435 	  esac
   4436 	  ;;
   4437 	esac
   4438       done
   4439       # Substitute the hardcoded libdirs into the rpath.
   4440       if test -n "$hardcode_libdir_separator" &&
   4441 	 test -n "$hardcode_libdirs"; then
   4442 	libdir="$hardcode_libdirs"
   4443 	eval rpath=\" $hardcode_libdir_flag_spec\"
   4444       fi
   4445       compile_rpath="$rpath"
   4446 
   4447       rpath=
   4448       hardcode_libdirs=
   4449       for libdir in $finalize_rpath; do
   4450 	if test -n "$hardcode_libdir_flag_spec"; then
   4451 	  if test -n "$hardcode_libdir_separator"; then
   4452 	    if test -z "$hardcode_libdirs"; then
   4453 	      hardcode_libdirs="$libdir"
   4454 	    else
   4455 	      # Just accumulate the unique libdirs.
   4456 	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
   4457 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
   4458 		;;
   4459 	      *)
   4460 		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
   4461 		;;
   4462 	      esac
   4463 	    fi
   4464 	  else
   4465 	    eval flag=\"$hardcode_libdir_flag_spec\"
   4466 	    rpath="$rpath $flag"
   4467 	  fi
   4468 	elif test -n "$runpath_var"; then
   4469 	  case "$finalize_perm_rpath " in
   4470 	  *" $libdir "*) ;;
   4471 	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
   4472 	  esac
   4473 	fi
   4474       done
   4475       # Substitute the hardcoded libdirs into the rpath.
   4476       if test -n "$hardcode_libdir_separator" &&
   4477 	 test -n "$hardcode_libdirs"; then
   4478 	libdir="$hardcode_libdirs"
   4479 	eval rpath=\" $hardcode_libdir_flag_spec\"
   4480       fi
   4481       finalize_rpath="$rpath"
   4482 
   4483       if test -n "$libobjs" && test "$build_old_libs" = yes; then
   4484 	# Transform all the library objects into standard objects.
   4485 	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
   4486 	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
   4487       fi
   4488 
   4489       dlsyms=
   4490       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
   4491 	if test -n "$NM" && test -n "$global_symbol_pipe"; then
   4492 	  dlsyms="${outputname}S.c"
   4493 	else
   4494 	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
   4495 	fi
   4496       fi
   4497 
   4498       if test -n "$dlsyms"; then
   4499 	case $dlsyms in
   4500 	"") ;;
   4501 	*.c)
   4502 	  # Discover the nlist of each of the dlfiles.
   4503 	  nlist="$output_objdir/${outputname}.nm"
   4504 
   4505 	  $show "$rm $nlist ${nlist}S ${nlist}T"
   4506 	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
   4507 
   4508 	  # Parse the name list into a source file.
   4509 	  $show "creating $output_objdir/$dlsyms"
   4510 
   4511 	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
   4512 /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
   4513 /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
   4514 
   4515 #ifdef __cplusplus
   4516 extern \"C\" {
   4517 #endif
   4518 
   4519 /* Prevent the only kind of declaration conflicts we can make. */
   4520 #define lt_preloaded_symbols some_other_symbol
   4521 
   4522 /* External symbol declarations for the compiler. */\
   4523 "
   4524 
   4525 	  if test "$dlself" = yes; then
   4526 	    $show "generating symbol list for \`$output'"
   4527 
   4528 	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
   4529 
   4530 	    # Add our own program objects to the symbol list.
   4531 	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
   4532 	    for arg in $progfiles; do
   4533 	      $show "extracting global C symbols from \`$arg'"
   4534 	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
   4535 	    done
   4536 
   4537 	    if test -n "$exclude_expsyms"; then
   4538 	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
   4539 	      $run eval '$mv "$nlist"T "$nlist"'
   4540 	    fi
   4541 
   4542 	    if test -n "$export_symbols_regex"; then
   4543 	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
   4544 	      $run eval '$mv "$nlist"T "$nlist"'
   4545 	    fi
   4546 
   4547 	    # Prepare the list of exported symbols
   4548 	    if test -z "$export_symbols"; then
   4549 	      export_symbols="$output_objdir/$outputname.exp"
   4550 	      $run $rm $export_symbols
   4551 	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
   4552               case $host in
   4553               *cygwin* | *mingw* )
   4554 	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
   4555 		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
   4556                 ;;
   4557               esac
   4558 	    else
   4559 	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
   4560 	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
   4561 	      $run eval 'mv "$nlist"T "$nlist"'
   4562               case $host in
   4563               *cygwin* | *mingw* )
   4564 	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
   4565 		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
   4566                 ;;
   4567               esac
   4568 	    fi
   4569 	  fi
   4570 
   4571 	  for arg in $dlprefiles; do
   4572 	    $show "extracting global C symbols from \`$arg'"
   4573 	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
   4574 	    $run eval '$echo ": $name " >> "$nlist"'
   4575 	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
   4576 	  done
   4577 
   4578 	  if test -z "$run"; then
   4579 	    # Make sure we have at least an empty file.
   4580 	    test -f "$nlist" || : > "$nlist"
   4581 
   4582 	    if test -n "$exclude_expsyms"; then
   4583 	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
   4584 	      $mv "$nlist"T "$nlist"
   4585 	    fi
   4586 
   4587 	    # Try sorting and uniquifying the output.
   4588 	    if grep -v "^: " < "$nlist" |
   4589 		if sort -k 3 </dev/null >/dev/null 2>&1; then
   4590 		  sort -k 3
   4591 		else
   4592 		  sort +2
   4593 		fi |
   4594 		uniq > "$nlist"S; then
   4595 	      :
   4596 	    else
   4597 	      grep -v "^: " < "$nlist" > "$nlist"S
   4598 	    fi
   4599 
   4600 	    if test -f "$nlist"S; then
   4601 	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
   4602 	    else
   4603 	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
   4604 	    fi
   4605 
   4606 	    $echo >> "$output_objdir/$dlsyms" "\
   4607 
   4608 #undef lt_preloaded_symbols
   4609 
   4610 #if defined (__STDC__) && __STDC__
   4611 # define lt_ptr void *
   4612 #else
   4613 # define lt_ptr char *
   4614 # define const
   4615 #endif
   4616 
   4617 /* The mapping between symbol names and symbols. */
   4618 "
   4619 
   4620 	    case $host in
   4621 	    *cygwin* | *mingw* )
   4622 	  $echo >> "$output_objdir/$dlsyms" "\
   4623 /* DATA imports from DLLs on WIN32 can't be const, because
   4624    runtime relocations are performed -- see ld's documentation
   4625    on pseudo-relocs */
   4626 struct {
   4627 "
   4628 	      ;;
   4629 	    * )
   4630 	  $echo >> "$output_objdir/$dlsyms" "\
   4631 const struct {
   4632 "
   4633 	      ;;
   4634 	    esac
   4635 
   4636 
   4637 	  $echo >> "$output_objdir/$dlsyms" "\
   4638   const char *name;
   4639   lt_ptr address;
   4640 }
   4641 lt_preloaded_symbols[] =
   4642 {\
   4643 "
   4644 
   4645 	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
   4646 
   4647 	    $echo >> "$output_objdir/$dlsyms" "\
   4648   {0, (lt_ptr) 0}
   4649 };
   4650 
   4651 /* This works around a problem in FreeBSD linker */
   4652 #ifdef FREEBSD_WORKAROUND
   4653 static const void *lt_preloaded_setup() {
   4654   return lt_preloaded_symbols;
   4655 }
   4656 #endif
   4657 
   4658 #ifdef __cplusplus
   4659 }
   4660 #endif\
   4661 "
   4662 	  fi
   4663 
   4664 	  pic_flag_for_symtable=
   4665 	  case $host in
   4666 	  # compiling the symbol table file with pic_flag works around
   4667 	  # a FreeBSD bug that causes programs to crash when -lm is
   4668 	  # linked before any other PIC object.  But we must not use
   4669 	  # pic_flag when linking with -static.  The problem exists in
   4670 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
   4671 	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
   4672 	    case "$compile_command " in
   4673 	    *" -static "*) ;;
   4674 	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
   4675 	    esac;;
   4676 	  *-*-hpux*)
   4677 	    case "$compile_command " in
   4678 	    *" -static "*) ;;
   4679 	    *) pic_flag_for_symtable=" $pic_flag";;
   4680 	    esac
   4681 	  esac
   4682 
   4683 	  # Now compile the dynamic symbol file.
   4684 	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
   4685 	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
   4686 
   4687 	  # Clean up the generated files.
   4688 	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
   4689 	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
   4690 
   4691 	  # Transform the symbol file into the correct name.
   4692           case $host in
   4693           *cygwin* | *mingw* )
   4694             if test -f "$output_objdir/${outputname}.def" ; then
   4695               compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
   4696               finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
   4697             else
   4698               compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
   4699               finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
   4700              fi
   4701             ;;
   4702           * )
   4703             compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
   4704             finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
   4705             ;;
   4706           esac
   4707 	  ;;
   4708 	*)
   4709 	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
   4710 	  exit $EXIT_FAILURE
   4711 	  ;;
   4712 	esac
   4713       else
   4714 	# We keep going just in case the user didn't refer to
   4715 	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
   4716 	# really was required.
   4717 
   4718 	# Nullify the symbol file.
   4719 	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
   4720 	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
   4721       fi
   4722 
   4723       if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
   4724 	# Replace the output file specification.
   4725 	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
   4726 	link_command="$compile_command$compile_rpath"
   4727 
   4728 	# We have no uninstalled library dependencies, so finalize right now.
   4729 	$show "$link_command"
   4730 	$run eval "$link_command"
   4731 	exit_status=$?
   4732 
   4733 	# Delete the generated files.
   4734 	if test -n "$dlsyms"; then
   4735 	  $show "$rm $output_objdir/${outputname}S.${objext}"
   4736 	  $run $rm "$output_objdir/${outputname}S.${objext}"
   4737 	fi
   4738 
   4739 	exit $exit_status
   4740       fi
   4741 
   4742       if test -n "$shlibpath_var"; then
   4743 	# We should set the shlibpath_var
   4744 	rpath=
   4745 	for dir in $temp_rpath; do
   4746 	  case $dir in
   4747 	  [\\/]* | [A-Za-z]:[\\/]*)
   4748 	    # Absolute path.
   4749 	    rpath="$rpath$dir:"
   4750 	    ;;
   4751 	  *)
   4752 	    # Relative path: add a thisdir entry.
   4753 	    rpath="$rpath\$thisdir/$dir:"
   4754 	    ;;
   4755 	  esac
   4756 	done
   4757 	temp_rpath="$rpath"
   4758       fi
   4759 
   4760       if test -n "$compile_shlibpath$finalize_shlibpath"; then
   4761 	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
   4762       fi
   4763       if test -n "$finalize_shlibpath"; then
   4764 	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
   4765       fi
   4766 
   4767       compile_var=
   4768       finalize_var=
   4769       if test -n "$runpath_var"; then
   4770 	if test -n "$perm_rpath"; then
   4771 	  # We should set the runpath_var.
   4772 	  rpath=
   4773 	  for dir in $perm_rpath; do
   4774 	    rpath="$rpath$dir:"
   4775 	  done
   4776 	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
   4777 	fi
   4778 	if test -n "$finalize_perm_rpath"; then
   4779 	  # We should set the runpath_var.
   4780 	  rpath=
   4781 	  for dir in $finalize_perm_rpath; do
   4782 	    rpath="$rpath$dir:"
   4783 	  done
   4784 	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
   4785 	fi
   4786       fi
   4787 
   4788       if test "$no_install" = yes; then
   4789 	# We don't need to create a wrapper script.
   4790 	link_command="$compile_var$compile_command$compile_rpath"
   4791 	# Replace the output file specification.
   4792 	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
   4793 	# Delete the old output file.
   4794 	$run $rm $output
   4795 	# Link the executable and exit
   4796 	$show "$link_command"
   4797 	$run eval "$link_command" || exit $?
   4798 	exit $EXIT_SUCCESS
   4799       fi
   4800 
   4801       if test "$hardcode_action" = relink; then
   4802 	# Fast installation is not supported
   4803 	link_command="$compile_var$compile_command$compile_rpath"
   4804 	relink_command="$finalize_var$finalize_command$finalize_rpath"
   4805 
   4806 	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
   4807 	$echo "$modename: \`$output' will be relinked during installation" 1>&2
   4808       else
   4809 	if test "$fast_install" != no; then
   4810 	  link_command="$finalize_var$compile_command$finalize_rpath"
   4811 	  if test "$fast_install" = yes; then
   4812 	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
   4813 	  else
   4814 	    # fast_install is set to needless
   4815 	    relink_command=
   4816 	  fi
   4817 	else
   4818 	  link_command="$compile_var$compile_command$compile_rpath"
   4819 	  relink_command="$finalize_var$finalize_command$finalize_rpath"
   4820 	fi
   4821       fi
   4822 
   4823       # Replace the output file specification.
   4824       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
   4825 
   4826       # Delete the old output files.
   4827       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
   4828 
   4829       $show "$link_command"
   4830       $run eval "$link_command" || exit $?
   4831 
   4832       # Now create the wrapper script.
   4833       $show "creating $output"
   4834 
   4835       # Quote the relink command for shipping.
   4836       if test -n "$relink_command"; then
   4837 	# Preserve any variables that may affect compiler behavior
   4838 	for var in $variables_saved_for_relink; do
   4839 	  if eval test -z \"\${$var+set}\"; then
   4840 	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
   4841 	  elif eval var_value=\$$var; test -z "$var_value"; then
   4842 	    relink_command="$var=; export $var; $relink_command"
   4843 	  else
   4844 	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
   4845 	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
   4846 	  fi
   4847 	done
   4848 	relink_command="(cd `pwd`; $relink_command)"
   4849 	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
   4850       fi
   4851 
   4852       # Quote $echo for shipping.
   4853       if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
   4854 	case $progpath in
   4855 	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
   4856 	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
   4857 	esac
   4858 	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
   4859       else
   4860 	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
   4861       fi
   4862 
   4863       # Only actually do things if our run command is non-null.
   4864       if test -z "$run"; then
   4865 	# win32 will think the script is a binary if it has
   4866 	# a .exe suffix, so we strip it off here.
   4867 	case $output in
   4868 	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
   4869 	esac
   4870 	# test for cygwin because mv fails w/o .exe extensions
   4871 	case $host in
   4872 	  *cygwin*)
   4873 	    exeext=.exe
   4874 	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
   4875 	  *) exeext= ;;
   4876 	esac
   4877 	case $host in
   4878 	  *cygwin* | *mingw* )
   4879             output_name=`basename $output`
   4880             output_path=`dirname $output`
   4881             cwrappersource="$output_path/$objdir/lt-$output_name.c"
   4882             cwrapper="$output_path/$output_name.exe"
   4883             $rm $cwrappersource $cwrapper
   4884             trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
   4885 
   4886 	    cat > $cwrappersource <<EOF
   4887 
   4888 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
   4889    Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
   4890 
   4891    The $output program cannot be directly executed until all the libtool
   4892    libraries that it depends on are installed.
   4893 
   4894    This wrapper executable should never be moved out of the build directory.
   4895    If it is, it will not operate correctly.
   4896 
   4897    Currently, it simply execs the wrapper *script* "/bin/sh $output",
   4898    but could eventually absorb all of the scripts functionality and
   4899    exec $objdir/$outputname directly.
   4900 */
   4901 EOF
   4902 	    cat >> $cwrappersource<<"EOF"
   4903 #include <stdio.h>
   4904 #include <stdlib.h>
   4905 #include <unistd.h>
   4906 #include <malloc.h>
   4907 #include <stdarg.h>
   4908 #include <assert.h>
   4909 #include <string.h>
   4910 #include <ctype.h>
   4911 #include <sys/stat.h>
   4912 
   4913 #if defined(PATH_MAX)
   4914 # define LT_PATHMAX PATH_MAX
   4915 #elif defined(MAXPATHLEN)
   4916 # define LT_PATHMAX MAXPATHLEN
   4917 #else
   4918 # define LT_PATHMAX 1024
   4919 #endif
   4920 
   4921 #ifndef DIR_SEPARATOR
   4922 # define DIR_SEPARATOR '/'
   4923 # define PATH_SEPARATOR ':'
   4924 #endif
   4925 
   4926 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
   4927   defined (__OS2__)
   4928 # define HAVE_DOS_BASED_FILE_SYSTEM
   4929 # ifndef DIR_SEPARATOR_2
   4930 #  define DIR_SEPARATOR_2 '\\'
   4931 # endif
   4932 # ifndef PATH_SEPARATOR_2
   4933 #  define PATH_SEPARATOR_2 ';'
   4934 # endif
   4935 #endif
   4936 
   4937 #ifndef DIR_SEPARATOR_2
   4938 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
   4939 #else /* DIR_SEPARATOR_2 */
   4940 # define IS_DIR_SEPARATOR(ch) \
   4941         (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
   4942 #endif /* DIR_SEPARATOR_2 */
   4943 
   4944 #ifndef PATH_SEPARATOR_2
   4945 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
   4946 #else /* PATH_SEPARATOR_2 */
   4947 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
   4948 #endif /* PATH_SEPARATOR_2 */
   4949 
   4950 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
   4951 #define XFREE(stale) do { \
   4952   if (stale) { free ((void *) stale); stale = 0; } \
   4953 } while (0)
   4954 
   4955 /* -DDEBUG is fairly common in CFLAGS.  */
   4956 #undef DEBUG
   4957 #if defined DEBUGWRAPPER
   4958 # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
   4959 #else
   4960 # define DEBUG(format, ...)
   4961 #endif
   4962 
   4963 const char *program_name = NULL;
   4964 
   4965 void * xmalloc (size_t num);
   4966 char * xstrdup (const char *string);
   4967 const char * base_name (const char *name);
   4968 char * find_executable(const char *wrapper);
   4969 int    check_executable(const char *path);
   4970 char * strendzap(char *str, const char *pat);
   4971 void lt_fatal (const char *message, ...);
   4972 
   4973 int
   4974 main (int argc, char *argv[])
   4975 {
   4976   char **newargz;
   4977   int i;
   4978 
   4979   program_name = (char *) xstrdup (base_name (argv[0]));
   4980   DEBUG("(main) argv[0]      : %s\n",argv[0]);
   4981   DEBUG("(main) program_name : %s\n",program_name);
   4982   newargz = XMALLOC(char *, argc+2);
   4983 EOF
   4984 
   4985             cat >> $cwrappersource <<EOF
   4986   newargz[0] = (char *) xstrdup("$SHELL");
   4987 EOF
   4988 
   4989             cat >> $cwrappersource <<"EOF"
   4990   newargz[1] = find_executable(argv[0]);
   4991   if (newargz[1] == NULL)
   4992     lt_fatal("Couldn't find %s", argv[0]);
   4993   DEBUG("(main) found exe at : %s\n",newargz[1]);
   4994   /* we know the script has the same name, without the .exe */
   4995   /* so make sure newargz[1] doesn't end in .exe */
   4996   strendzap(newargz[1],".exe");
   4997   for (i = 1; i < argc; i++)
   4998     newargz[i+1] = xstrdup(argv[i]);
   4999   newargz[argc+1] = NULL;
   5000 
   5001   for (i=0; i<argc+1; i++)
   5002   {
   5003     DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
   5004     ;
   5005   }
   5006 
   5007 EOF
   5008 
   5009             case $host_os in
   5010               mingw*)
   5011                 cat >> $cwrappersource <<EOF
   5012   execv("$SHELL",(char const **)newargz);
   5013 EOF
   5014               ;;
   5015               *)
   5016                 cat >> $cwrappersource <<EOF
   5017   execv("$SHELL",newargz);
   5018 EOF
   5019               ;;
   5020             esac
   5021 
   5022             cat >> $cwrappersource <<"EOF"
   5023   return 127;
   5024 }
   5025 
   5026 void *
   5027 xmalloc (size_t num)
   5028 {
   5029   void * p = (void *) malloc (num);
   5030   if (!p)
   5031     lt_fatal ("Memory exhausted");
   5032 
   5033   return p;
   5034 }
   5035 
   5036 char *
   5037 xstrdup (const char *string)
   5038 {
   5039   return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
   5040 ;
   5041 }
   5042 
   5043 const char *
   5044 base_name (const char *name)
   5045 {
   5046   const char *base;
   5047 
   5048 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   5049   /* Skip over the disk name in MSDOS pathnames. */
   5050   if (isalpha ((unsigned char)name[0]) && name[1] == ':')
   5051     name += 2;
   5052 #endif
   5053 
   5054   for (base = name; *name; name++)
   5055     if (IS_DIR_SEPARATOR (*name))
   5056       base = name + 1;
   5057   return base;
   5058 }
   5059 
   5060 int
   5061 check_executable(const char * path)
   5062 {
   5063   struct stat st;
   5064 
   5065   DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
   5066   if ((!path) || (!*path))
   5067     return 0;
   5068 
   5069   if ((stat (path, &st) >= 0) &&
   5070       (
   5071         /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
   5072 #if defined (S_IXOTH)
   5073        ((st.st_mode & S_IXOTH) == S_IXOTH) ||
   5074 #endif
   5075 #if defined (S_IXGRP)
   5076        ((st.st_mode & S_IXGRP) == S_IXGRP) ||
   5077 #endif
   5078        ((st.st_mode & S_IXUSR) == S_IXUSR))
   5079       )
   5080     return 1;
   5081   else
   5082     return 0;
   5083 }
   5084 
   5085 /* Searches for the full path of the wrapper.  Returns
   5086    newly allocated full path name if found, NULL otherwise */
   5087 char *
   5088 find_executable (const char* wrapper)
   5089 {
   5090   int has_slash = 0;
   5091   const char* p;
   5092   const char* p_next;
   5093   /* static buffer for getcwd */
   5094   char tmp[LT_PATHMAX + 1];
   5095   int tmp_len;
   5096   char* concat_name;
   5097 
   5098   DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
   5099 
   5100   if ((wrapper == NULL) || (*wrapper == '\0'))
   5101     return NULL;
   5102 
   5103   /* Absolute path? */
   5104 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   5105   if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
   5106   {
   5107     concat_name = xstrdup (wrapper);
   5108     if (check_executable(concat_name))
   5109       return concat_name;
   5110     XFREE(concat_name);
   5111   }
   5112   else
   5113   {
   5114 #endif
   5115     if (IS_DIR_SEPARATOR (wrapper[0]))
   5116     {
   5117       concat_name = xstrdup (wrapper);
   5118       if (check_executable(concat_name))
   5119         return concat_name;
   5120       XFREE(concat_name);
   5121     }
   5122 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
   5123   }
   5124 #endif
   5125 
   5126   for (p = wrapper; *p; p++)
   5127     if (*p == '/')
   5128     {
   5129       has_slash = 1;
   5130       break;
   5131     }
   5132   if (!has_slash)
   5133   {
   5134     /* no slashes; search PATH */
   5135     const char* path = getenv ("PATH");
   5136     if (path != NULL)
   5137     {
   5138       for (p = path; *p; p = p_next)
   5139       {
   5140         const char* q;
   5141         size_t p_len;
   5142         for (q = p; *q; q++)
   5143           if (IS_PATH_SEPARATOR(*q))
   5144             break;
   5145         p_len = q - p;
   5146         p_next = (*q == '\0' ? q : q + 1);
   5147         if (p_len == 0)
   5148         {
   5149           /* empty path: current directory */
   5150           if (getcwd (tmp, LT_PATHMAX) == NULL)
   5151             lt_fatal ("getcwd failed");
   5152           tmp_len = strlen(tmp);
   5153           concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
   5154           memcpy (concat_name, tmp, tmp_len);
   5155           concat_name[tmp_len] = '/';
   5156           strcpy (concat_name + tmp_len + 1, wrapper);
   5157         }
   5158         else
   5159         {
   5160           concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
   5161           memcpy (concat_name, p, p_len);
   5162           concat_name[p_len] = '/';
   5163           strcpy (concat_name + p_len + 1, wrapper);
   5164         }
   5165         if (check_executable(concat_name))
   5166           return concat_name;
   5167         XFREE(concat_name);
   5168       }
   5169     }
   5170     /* not found in PATH; assume curdir */
   5171   }
   5172   /* Relative path | not found in path: prepend cwd */
   5173   if (getcwd (tmp, LT_PATHMAX) == NULL)
   5174     lt_fatal ("getcwd failed");
   5175   tmp_len = strlen(tmp);
   5176   concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
   5177   memcpy (concat_name, tmp, tmp_len);
   5178   concat_name[tmp_len] = '/';
   5179   strcpy (concat_name + tmp_len + 1, wrapper);
   5180 
   5181   if (check_executable(concat_name))
   5182     return concat_name;
   5183   XFREE(concat_name);
   5184   return NULL;
   5185 }
   5186 
   5187 char *
   5188 strendzap(char *str, const char *pat)
   5189 {
   5190   size_t len, patlen;
   5191 
   5192   assert(str != NULL);
   5193   assert(pat != NULL);
   5194 
   5195   len = strlen(str);
   5196   patlen = strlen(pat);
   5197 
   5198   if (patlen <= len)
   5199   {
   5200     str += len - patlen;
   5201     if (strcmp(str, pat) == 0)
   5202       *str = '\0';
   5203   }
   5204   return str;
   5205 }
   5206 
   5207 static void
   5208 lt_error_core (int exit_status, const char * mode,
   5209           const char * message, va_list ap)
   5210 {
   5211   fprintf (stderr, "%s: %s: ", program_name, mode);
   5212   vfprintf (stderr, message, ap);
   5213   fprintf (stderr, ".\n");
   5214 
   5215   if (exit_status >= 0)
   5216     exit (exit_status);
   5217 }
   5218 
   5219 void
   5220 lt_fatal (const char *message, ...)
   5221 {
   5222   va_list ap;
   5223   va_start (ap, message);
   5224   lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
   5225   va_end (ap);
   5226 }
   5227 EOF
   5228           # we should really use a build-platform specific compiler
   5229           # here, but OTOH, the wrappers (shell script and this C one)
   5230           # are only useful if you want to execute the "real" binary.
   5231           # Since the "real" binary is built for $host, then this
   5232           # wrapper might as well be built for $host, too.
   5233           $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
   5234           ;;
   5235         esac
   5236         $rm $output
   5237         trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
   5238 
   5239 	$echo > $output "\
   5240 #! $SHELL
   5241 
   5242 # $output - temporary wrapper script for $objdir/$outputname
   5243 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
   5244 #
   5245 # The $output program cannot be directly executed until all the libtool
   5246 # libraries that it depends on are installed.
   5247 #
   5248 # This wrapper script should never be moved out of the build directory.
   5249 # If it is, it will not operate correctly.
   5250 
   5251 # Sed substitution that helps us do robust quoting.  It backslashifies
   5252 # metacharacters that are still active within double-quoted strings.
   5253 Xsed='${SED} -e 1s/^X//'
   5254 sed_quote_subst='$sed_quote_subst'
   5255 
   5256 # The HP-UX ksh and POSIX shell print the target directory to stdout
   5257 # if CDPATH is set.
   5258 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
   5259 
   5260 relink_command=\"$relink_command\"
   5261 
   5262 # This environment variable determines our operation mode.
   5263 if test \"\$libtool_install_magic\" = \"$magic\"; then
   5264   # install mode needs the following variable:
   5265   notinst_deplibs='$notinst_deplibs'
   5266 else
   5267   # When we are sourced in execute mode, \$file and \$echo are already set.
   5268   if test \"\$libtool_execute_magic\" != \"$magic\"; then
   5269     echo=\"$qecho\"
   5270     file=\"\$0\"
   5271     # Make sure echo works.
   5272     if test \"X\$1\" = X--no-reexec; then
   5273       # Discard the --no-reexec flag, and continue.
   5274       shift
   5275     elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
   5276       # Yippee, \$echo works!
   5277       :
   5278     else
   5279       # Restart under the correct shell, and then maybe \$echo will work.
   5280       exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
   5281     fi
   5282   fi\
   5283 "
   5284 	$echo >> $output "\
   5285 
   5286   # Find the directory that this script lives in.
   5287   thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
   5288   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
   5289 
   5290   # Follow symbolic links until we get to the real thisdir.
   5291   file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
   5292   while test -n \"\$file\"; do
   5293     destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
   5294 
   5295     # If there was a directory component, then change thisdir.
   5296     if test \"x\$destdir\" != \"x\$file\"; then
   5297       case \"\$destdir\" in
   5298       [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
   5299       *) thisdir=\"\$thisdir/\$destdir\" ;;
   5300       esac
   5301     fi
   5302 
   5303     file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
   5304     file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
   5305   done
   5306 
   5307   # Try to get the absolute directory name.
   5308   absdir=\`cd \"\$thisdir\" && pwd\`
   5309   test -n \"\$absdir\" && thisdir=\"\$absdir\"
   5310 "
   5311 
   5312 	if test "$fast_install" = yes; then
   5313 	  $echo >> $output "\
   5314   program=lt-'$outputname'$exeext
   5315   progdir=\"\$thisdir/$objdir\"
   5316 
   5317   if test ! -f \"\$progdir/\$program\" || \\
   5318      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
   5319        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
   5320 
   5321     file=\"\$\$-\$program\"
   5322 
   5323     if test ! -d \"\$progdir\"; then
   5324       $mkdir \"\$progdir\"
   5325     else
   5326       $rm \"\$progdir/\$file\"
   5327     fi"
   5328 
   5329 	  $echo >> $output "\
   5330 
   5331     # relink executable if necessary
   5332     if test -n \"\$relink_command\"; then
   5333       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
   5334       else
   5335 	$echo \"\$relink_command_output\" >&2
   5336 	$rm \"\$progdir/\$file\"
   5337 	exit $EXIT_FAILURE
   5338       fi
   5339     fi
   5340 
   5341     $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
   5342     { $rm \"\$progdir/\$program\";
   5343       $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
   5344     $rm \"\$progdir/\$file\"
   5345   fi"
   5346 	else
   5347 	  $echo >> $output "\
   5348   program='$outputname'
   5349   progdir=\"\$thisdir/$objdir\"
   5350 "
   5351 	fi
   5352 
   5353 	$echo >> $output "\
   5354 
   5355   if test -f \"\$progdir/\$program\"; then"
   5356 
   5357 	# Export our shlibpath_var if we have one.
   5358 	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
   5359 	  $echo >> $output "\
   5360     # Add our own library path to $shlibpath_var
   5361     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
   5362 
   5363     # Some systems cannot cope with colon-terminated $shlibpath_var
   5364     # The second colon is a workaround for a bug in BeOS R4 sed
   5365     $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
   5366 
   5367     export $shlibpath_var
   5368 "
   5369 	fi
   5370 
   5371 	# fixup the dll searchpath if we need to.
   5372 	if test -n "$dllsearchpath"; then
   5373 	  $echo >> $output "\
   5374     # Add the dll search path components to the executable PATH
   5375     PATH=$dllsearchpath:\$PATH
   5376 "
   5377 	fi
   5378 
   5379 	$echo >> $output "\
   5380     if test \"\$libtool_execute_magic\" != \"$magic\"; then
   5381       # Run the actual program with our arguments.
   5382 "
   5383 	case $host in
   5384 	# Backslashes separate directories on plain windows
   5385 	*-*-mingw | *-*-os2*)
   5386 	  $echo >> $output "\
   5387       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
   5388 "
   5389 	  ;;
   5390 
   5391 	*)
   5392 	  $echo >> $output "\
   5393       exec \"\$progdir/\$program\" \${1+\"\$@\"}
   5394 "
   5395 	  ;;
   5396 	esac
   5397 	$echo >> $output "\
   5398       \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
   5399       exit $EXIT_FAILURE
   5400     fi
   5401   else
   5402     # The program doesn't exist.
   5403     \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
   5404     \$echo \"This script is just a wrapper for \$program.\" 1>&2
   5405     $echo \"See the $PACKAGE documentation for more information.\" 1>&2
   5406     exit $EXIT_FAILURE
   5407   fi
   5408 fi\
   5409 "
   5410 	chmod +x $output
   5411       fi
   5412       exit $EXIT_SUCCESS
   5413       ;;
   5414     esac
   5415 
   5416     # See if we need to build an old-fashioned archive.
   5417     for oldlib in $oldlibs; do
   5418 
   5419       if test "$build_libtool_libs" = convenience; then
   5420 	oldobjs="$libobjs_save"
   5421 	addlibs="$convenience"
   5422 	build_libtool_libs=no
   5423       else
   5424 	if test "$build_libtool_libs" = module; then
   5425 	  oldobjs="$libobjs_save"
   5426 	  build_libtool_libs=no
   5427 	else
   5428 	  oldobjs="$old_deplibs $non_pic_objects"
   5429 	fi
   5430 	addlibs="$old_convenience"
   5431       fi
   5432 
   5433       if test -n "$addlibs"; then
   5434 	gentop="$output_objdir/${outputname}x"
   5435 	generated="$generated $gentop"
   5436 
   5437 	func_extract_archives $gentop $addlibs
   5438 	oldobjs="$oldobjs $func_extract_archives_result"
   5439       fi
   5440 
   5441       # Do each command in the archive commands.
   5442       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
   5443        cmds=$old_archive_from_new_cmds
   5444       else
   5445 	# POSIX demands no paths to be encoded in archives.  We have
   5446 	# to avoid creating archives with duplicate basenames if we
   5447 	# might have to extract them afterwards, e.g., when creating a
   5448 	# static archive out of a convenience library, or when linking
   5449 	# the entirety of a libtool archive into another (currently
   5450 	# not supported by libtool).
   5451 	if (for obj in $oldobjs
   5452 	    do
   5453 	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
   5454 	    done | sort | sort -uc >/dev/null 2>&1); then
   5455 	  :
   5456 	else
   5457 	  $echo "copying selected object files to avoid basename conflicts..."
   5458 
   5459 	  if test -z "$gentop"; then
   5460 	    gentop="$output_objdir/${outputname}x"
   5461 	    generated="$generated $gentop"
   5462 
   5463 	    $show "${rm}r $gentop"
   5464 	    $run ${rm}r "$gentop"
   5465 	    $show "$mkdir $gentop"
   5466 	    $run $mkdir "$gentop"
   5467 	    exit_status=$?
   5468 	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
   5469 	      exit $exit_status
   5470 	    fi
   5471 	  fi
   5472 
   5473 	  save_oldobjs=$oldobjs
   5474 	  oldobjs=
   5475 	  counter=1
   5476 	  for obj in $save_oldobjs
   5477 	  do
   5478 	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
   5479 	    case " $oldobjs " in
   5480 	    " ") oldobjs=$obj ;;
   5481 	    *[\ /]"$objbase "*)
   5482 	      while :; do
   5483 		# Make sure we don't pick an alternate name that also
   5484 		# overlaps.
   5485 		newobj=lt$counter-$objbase
   5486 		counter=`expr $counter + 1`
   5487 		case " $oldobjs " in
   5488 		*[\ /]"$newobj "*) ;;
   5489 		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
   5490 		esac
   5491 	      done
   5492 	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
   5493 	      $run ln "$obj" "$gentop/$newobj" ||
   5494 	      $run cp "$obj" "$gentop/$newobj"
   5495 	      oldobjs="$oldobjs $gentop/$newobj"
   5496 	      ;;
   5497 	    *) oldobjs="$oldobjs $obj" ;;
   5498 	    esac
   5499 	  done
   5500 	fi
   5501 
   5502 	eval cmds=\"$old_archive_cmds\"
   5503 
   5504 	if len=`expr "X$cmds" : ".*"` &&
   5505 	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
   5506 	  cmds=$old_archive_cmds
   5507 	else
   5508 	  # the command line is too long to link in one step, link in parts
   5509 	  $echo "using piecewise archive linking..."
   5510 	  save_RANLIB=$RANLIB
   5511 	  RANLIB=:
   5512 	  objlist=
   5513 	  concat_cmds=
   5514 	  save_oldobjs=$oldobjs
   5515 
   5516 	  # Is there a better way of finding the last object in the list?
   5517 	  for obj in $save_oldobjs
   5518 	  do
   5519 	    last_oldobj=$obj
   5520 	  done
   5521 	  for obj in $save_oldobjs
   5522 	  do
   5523 	    oldobjs="$objlist $obj"
   5524 	    objlist="$objlist $obj"
   5525 	    eval test_cmds=\"$old_archive_cmds\"
   5526 	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
   5527 	       test "$len" -le "$max_cmd_len"; then
   5528 	      :
   5529 	    else
   5530 	      # the above command should be used before it gets too long
   5531 	      oldobjs=$objlist
   5532 	      if test "$obj" = "$last_oldobj" ; then
   5533 	        RANLIB=$save_RANLIB
   5534 	      fi
   5535 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
   5536 	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
   5537 	      objlist=
   5538 	    fi
   5539 	  done
   5540 	  RANLIB=$save_RANLIB
   5541 	  oldobjs=$objlist
   5542 	  if test "X$oldobjs" = "X" ; then
   5543 	    eval cmds=\"\$concat_cmds\"
   5544 	  else
   5545 	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
   5546 	  fi
   5547 	fi
   5548       fi
   5549       save_ifs="$IFS"; IFS='~'
   5550       for cmd in $cmds; do
   5551         eval cmd=\"$cmd\"
   5552 	IFS="$save_ifs"
   5553 	$show "$cmd"
   5554 	$run eval "$cmd" || exit $?
   5555       done
   5556       IFS="$save_ifs"
   5557     done
   5558 
   5559     if test -n "$generated"; then
   5560       $show "${rm}r$generated"
   5561       $run ${rm}r$generated
   5562     fi
   5563 
   5564     # Now create the libtool archive.
   5565     case $output in
   5566     *.la)
   5567       old_library=
   5568       test "$build_old_libs" = yes && old_library="$libname.$libext"
   5569       $show "creating $output"
   5570 
   5571       # Preserve any variables that may affect compiler behavior
   5572       for var in $variables_saved_for_relink; do
   5573 	if eval test -z \"\${$var+set}\"; then
   5574 	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
   5575 	elif eval var_value=\$$var; test -z "$var_value"; then
   5576 	  relink_command="$var=; export $var; $relink_command"
   5577 	else
   5578 	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
   5579 	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
   5580 	fi
   5581       done
   5582       # Quote the link command for shipping.
   5583       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
   5584       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
   5585       if test "$hardcode_automatic" = yes ; then
   5586 	relink_command=
   5587       fi
   5588 
   5589 
   5590       # Only create the output if not a dry run.
   5591       if test -z "$run"; then
   5592 	for installed in no yes; do
   5593 	  if test "$installed" = yes; then
   5594 	    if test -z "$install_libdir"; then
   5595 	      break
   5596 	    fi
   5597 	    output="$output_objdir/$outputname"i
   5598 	    # Replace all uninstalled libtool libraries with the installed ones
   5599 	    newdependency_libs=
   5600 	    for deplib in $dependency_libs; do
   5601 	      case $deplib in
   5602 	      *.la)
   5603 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
   5604 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
   5605 		if test -z "$libdir"; then
   5606 		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
   5607 		  exit $EXIT_FAILURE
   5608 		fi
   5609 		newdependency_libs="$newdependency_libs $libdir/$name"
   5610 		;;
   5611 	      *) newdependency_libs="$newdependency_libs $deplib" ;;
   5612 	      esac
   5613 	    done
   5614 	    dependency_libs="$newdependency_libs"
   5615 	    newdlfiles=
   5616 	    for lib in $dlfiles; do
   5617 	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
   5618 	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
   5619 	      if test -z "$libdir"; then
   5620 		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
   5621 		exit $EXIT_FAILURE
   5622 	      fi
   5623 	      newdlfiles="$newdlfiles $libdir/$name"
   5624 	    done
   5625 	    dlfiles="$newdlfiles"
   5626 	    newdlprefiles=
   5627 	    for lib in $dlprefiles; do
   5628 	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
   5629 	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
   5630 	      if test -z "$libdir"; then
   5631 		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
   5632 		exit $EXIT_FAILURE
   5633 	      fi
   5634 	      newdlprefiles="$newdlprefiles $libdir/$name"
   5635 	    done
   5636 	    dlprefiles="$newdlprefiles"
   5637 	  else
   5638 	    newdlfiles=
   5639 	    for lib in $dlfiles; do
   5640 	      case $lib in
   5641 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
   5642 		*) abs=`pwd`"/$lib" ;;
   5643 	      esac
   5644 	      newdlfiles="$newdlfiles $abs"
   5645 	    done
   5646 	    dlfiles="$newdlfiles"
   5647 	    newdlprefiles=
   5648 	    for lib in $dlprefiles; do
   5649 	      case $lib in
   5650 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
   5651 		*) abs=`pwd`"/$lib" ;;
   5652 	      esac
   5653 	      newdlprefiles="$newdlprefiles $abs"
   5654 	    done
   5655 	    dlprefiles="$newdlprefiles"
   5656 	  fi
   5657 	  $rm $output
   5658 	  # place dlname in correct position for cygwin
   5659 	  tdlname=$dlname
   5660 	  case $host,$output,$installed,$module,$dlname in
   5661 	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
   5662 	  esac
   5663 	  $echo > $output "\
   5664 # $outputname - a libtool library file
   5665 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
   5666 #
   5667 # Please DO NOT delete this file!
   5668 # It is necessary for linking the library.
   5669 
   5670 # The name that we can dlopen(3).
   5671 dlname='$tdlname'
   5672 
   5673 # Names of this library.
   5674 library_names='$library_names'
   5675 
   5676 # The name of the static archive.
   5677 old_library='$old_library'
   5678 
   5679 # Libraries that this one depends upon.
   5680 dependency_libs='$dependency_libs'
   5681 
   5682 # Version information for $libname.
   5683 current=$current
   5684 age=$age
   5685 revision=$revision
   5686 
   5687 # Is this an already installed library?
   5688 installed=$installed
   5689 
   5690 # Should we warn about portability when linking against -modules?
   5691 shouldnotlink=$module
   5692 
   5693 # Files to dlopen/dlpreopen
   5694 dlopen='$dlfiles'
   5695 dlpreopen='$dlprefiles'
   5696 
   5697 # Directory that this library needs to be installed in:
   5698 libdir='$install_libdir'"
   5699 	  if test "$installed" = no && test "$need_relink" = yes; then
   5700 	    $echo >> $output "\
   5701 relink_command=\"$relink_command\""
   5702 	  fi
   5703 	done
   5704       fi
   5705 
   5706       # Do a symbolic link so that the libtool archive can be found in
   5707       # LD_LIBRARY_PATH before the program is installed.
   5708       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
   5709       $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
   5710       ;;
   5711     esac
   5712     exit $EXIT_SUCCESS
   5713     ;;
   5714 
   5715   # libtool install mode
   5716   install)
   5717     modename="$modename: install"
   5718 
   5719     # There may be an optional sh(1) argument at the beginning of
   5720     # install_prog (especially on Windows NT).
   5721     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
   5722        # Allow the use of GNU shtool's install command.
   5723        $echo "X$nonopt" | grep shtool > /dev/null; then
   5724       # Aesthetically quote it.
   5725       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
   5726       case $arg in
   5727       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   5728 	arg="\"$arg\""
   5729 	;;
   5730       esac
   5731       install_prog="$arg "
   5732       arg="$1"
   5733       shift
   5734     else
   5735       install_prog=
   5736       arg=$nonopt
   5737     fi
   5738 
   5739     # The real first argument should be the name of the installation program.
   5740     # Aesthetically quote it.
   5741     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
   5742     case $arg in
   5743     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   5744       arg="\"$arg\""
   5745       ;;
   5746     esac
   5747     install_prog="$install_prog$arg"
   5748 
   5749     # We need to accept at least all the BSD install flags.
   5750     dest=
   5751     files=
   5752     opts=
   5753     prev=
   5754     install_type=
   5755     isdir=no
   5756     stripme=
   5757     for arg
   5758     do
   5759       if test -n "$dest"; then
   5760 	files="$files $dest"
   5761 	dest=$arg
   5762 	continue
   5763       fi
   5764 
   5765       case $arg in
   5766       -d) isdir=yes ;;
   5767       -f) 
   5768       	case " $install_prog " in
   5769 	*[\\\ /]cp\ *) ;;
   5770 	*) prev=$arg ;;
   5771 	esac
   5772 	;;
   5773       -g | -m | -o) prev=$arg ;;
   5774       -s)
   5775 	stripme=" -s"
   5776 	continue
   5777 	;;
   5778       -*)
   5779 	;;
   5780       *)
   5781 	# If the previous option needed an argument, then skip it.
   5782 	if test -n "$prev"; then
   5783 	  prev=
   5784 	else
   5785 	  dest=$arg
   5786 	  continue
   5787 	fi
   5788 	;;
   5789       esac
   5790 
   5791       # Aesthetically quote the argument.
   5792       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
   5793       case $arg in
   5794       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
   5795 	arg="\"$arg\""
   5796 	;;
   5797       esac
   5798       install_prog="$install_prog $arg"
   5799     done
   5800 
   5801     if test -z "$install_prog"; then
   5802       $echo "$modename: you must specify an install program" 1>&2
   5803       $echo "$help" 1>&2
   5804       exit $EXIT_FAILURE
   5805     fi
   5806 
   5807     if test -n "$prev"; then
   5808       $echo "$modename: the \`$prev' option requires an argument" 1>&2
   5809       $echo "$help" 1>&2
   5810       exit $EXIT_FAILURE
   5811     fi
   5812 
   5813     if test -z "$files"; then
   5814       if test -z "$dest"; then
   5815 	$echo "$modename: no file or destination specified" 1>&2
   5816       else
   5817 	$echo "$modename: you must specify a destination" 1>&2
   5818       fi
   5819       $echo "$help" 1>&2
   5820       exit $EXIT_FAILURE
   5821     fi
   5822 
   5823     # Strip any trailing slash from the destination.
   5824     dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
   5825 
   5826     # Check to see that the destination is a directory.
   5827     test -d "$dest" && isdir=yes
   5828     if test "$isdir" = yes; then
   5829       destdir="$dest"
   5830       destname=
   5831     else
   5832       destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
   5833       test "X$destdir" = "X$dest" && destdir=.
   5834       destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
   5835 
   5836       # Not a directory, so check to see that there is only one file specified.
   5837       set dummy $files
   5838       if test "$#" -gt 2; then
   5839 	$echo "$modename: \`$dest' is not a directory" 1>&2
   5840 	$echo "$help" 1>&2
   5841 	exit $EXIT_FAILURE
   5842       fi
   5843     fi
   5844     case $destdir in
   5845     [\\/]* | [A-Za-z]:[\\/]*) ;;
   5846     *)
   5847       for file in $files; do
   5848 	case $file in
   5849 	*.lo) ;;
   5850 	*)
   5851 	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
   5852 	  $echo "$help" 1>&2
   5853 	  exit $EXIT_FAILURE
   5854 	  ;;
   5855 	esac
   5856       done
   5857       ;;
   5858     esac
   5859 
   5860     # This variable tells wrapper scripts just to set variables rather
   5861     # than running their programs.
   5862     libtool_install_magic="$magic"
   5863 
   5864     staticlibs=
   5865     future_libdirs=
   5866     current_libdirs=
   5867     for file in $files; do
   5868 
   5869       # Do each installation.
   5870       case $file in
   5871       *.$libext)
   5872 	# Do the static libraries later.
   5873 	staticlibs="$staticlibs $file"
   5874 	;;
   5875 
   5876       *.la)
   5877 	# Check to see that this really is a libtool archive.
   5878 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
   5879 	else
   5880 	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
   5881 	  $echo "$help" 1>&2
   5882 	  exit $EXIT_FAILURE
   5883 	fi
   5884 
   5885 	library_names=
   5886 	old_library=
   5887 	relink_command=
   5888 	# If there is no directory component, then add one.
   5889 	case $file in
   5890 	*/* | *\\*) . $file ;;
   5891 	*) . ./$file ;;
   5892 	esac
   5893 
   5894 	# Add the libdir to current_libdirs if it is the destination.
   5895 	if test "X$destdir" = "X$libdir"; then
   5896 	  case "$current_libdirs " in
   5897 	  *" $libdir "*) ;;
   5898 	  *) current_libdirs="$current_libdirs $libdir" ;;
   5899 	  esac
   5900 	else
   5901 	  # Note the libdir as a future libdir.
   5902 	  case "$future_libdirs " in
   5903 	  *" $libdir "*) ;;
   5904 	  *) future_libdirs="$future_libdirs $libdir" ;;
   5905 	  esac
   5906 	fi
   5907 
   5908 	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
   5909 	test "X$dir" = "X$file/" && dir=
   5910 	dir="$dir$objdir"
   5911 
   5912 	if test -n "$relink_command"; then
   5913 	  # Determine the prefix the user has applied to our future dir.
   5914 	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
   5915 
   5916 	  # Don't allow the user to place us outside of our expected
   5917 	  # location b/c this prevents finding dependent libraries that
   5918 	  # are installed to the same prefix.
   5919 	  # At present, this check doesn't affect windows .dll's that
   5920 	  # are installed into $libdir/../bin (currently, that works fine)
   5921 	  # but it's something to keep an eye on.
   5922 	  if test "$inst_prefix_dir" = "$destdir"; then
   5923 	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
   5924 	    exit $EXIT_FAILURE
   5925 	  fi
   5926 
   5927 	  if test -n "$inst_prefix_dir"; then
   5928 	    # Stick the inst_prefix_dir data into the link command.
   5929 	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
   5930 	  else
   5931 	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
   5932 	  fi
   5933 
   5934 	  $echo "$modename: warning: relinking \`$file'" 1>&2
   5935 	  $show "$relink_command"
   5936 	  if $run eval "$relink_command"; then :
   5937 	  else
   5938 	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
   5939 	    exit $EXIT_FAILURE
   5940 	  fi
   5941 	fi
   5942 
   5943 	# See the names of the shared library.
   5944 	set dummy $library_names
   5945 	if test -n "$2"; then
   5946 	  realname="$2"
   5947 	  shift
   5948 	  shift
   5949 
   5950 	  srcname="$realname"
   5951 	  test -n "$relink_command" && srcname="$realname"T
   5952 
   5953 	  # Install the shared library and build the symlinks.
   5954 	  $show "$install_prog $dir/$srcname $destdir/$realname"
   5955 	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
   5956 	  if test -n "$stripme" && test -n "$striplib"; then
   5957 	    $show "$striplib $destdir/$realname"
   5958 	    $run eval "$striplib $destdir/$realname" || exit $?
   5959 	  fi
   5960 
   5961 	  if test "$#" -gt 0; then
   5962 	    # Delete the old symlinks, and create new ones.
   5963 	    # Try `ln -sf' first, because the `ln' binary might depend on
   5964 	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
   5965 	    # so we also need to try rm && ln -s.
   5966 	    for linkname
   5967 	    do
   5968 	      if test "$linkname" != "$realname"; then
   5969                 $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
   5970                 $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
   5971 	      fi
   5972 	    done
   5973 	  fi
   5974 
   5975 	  # Do each command in the postinstall commands.
   5976 	  lib="$destdir/$realname"
   5977 	  cmds=$postinstall_cmds
   5978 	  save_ifs="$IFS"; IFS='~'
   5979 	  for cmd in $cmds; do
   5980 	    IFS="$save_ifs"
   5981 	    eval cmd=\"$cmd\"
   5982 	    $show "$cmd"
   5983 	    $run eval "$cmd" || {
   5984 	      lt_exit=$?
   5985 
   5986 	      # Restore the uninstalled library and exit
   5987 	      if test "$mode" = relink; then
   5988 		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
   5989 	      fi
   5990 
   5991 	      exit $lt_exit
   5992 	    }
   5993 	  done
   5994 	  IFS="$save_ifs"
   5995 	fi
   5996 
   5997 	# Install the pseudo-library for information purposes.
   5998 	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
   5999 	instname="$dir/$name"i
   6000 	$show "$install_prog $instname $destdir/$name"
   6001 	$run eval "$install_prog $instname $destdir/$name" || exit $?
   6002 
   6003 	# Maybe install the static library, too.
   6004 	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
   6005 	;;
   6006 
   6007       *.lo)
   6008 	# Install (i.e. copy) a libtool object.
   6009 
   6010 	# Figure out destination file name, if it wasn't already specified.
   6011 	if test -n "$destname"; then
   6012 	  destfile="$destdir/$destname"
   6013 	else
   6014 	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
   6015 	  destfile="$destdir/$destfile"
   6016 	fi
   6017 
   6018 	# Deduce the name of the destination old-style object file.
   6019 	case $destfile in
   6020 	*.lo)
   6021 	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
   6022 	  ;;
   6023 	*.$objext)
   6024 	  staticdest="$destfile"
   6025 	  destfile=
   6026 	  ;;
   6027 	*)
   6028 	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
   6029 	  $echo "$help" 1>&2
   6030 	  exit $EXIT_FAILURE
   6031 	  ;;
   6032 	esac
   6033 
   6034 	# Install the libtool object if requested.
   6035 	if test -n "$destfile"; then
   6036 	  $show "$install_prog $file $destfile"
   6037 	  $run eval "$install_prog $file $destfile" || exit $?
   6038 	fi
   6039 
   6040 	# Install the old object if enabled.
   6041 	if test "$build_old_libs" = yes; then
   6042 	  # Deduce the name of the old-style object file.
   6043 	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
   6044 
   6045 	  $show "$install_prog $staticobj $staticdest"
   6046 	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
   6047 	fi
   6048 	exit $EXIT_SUCCESS
   6049 	;;
   6050 
   6051       *)
   6052 	# Figure out destination file name, if it wasn't already specified.
   6053 	if test -n "$destname"; then
   6054 	  destfile="$destdir/$destname"
   6055 	else
   6056 	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
   6057 	  destfile="$destdir/$destfile"
   6058 	fi
   6059 
   6060 	# If the file is missing, and there is a .exe on the end, strip it
   6061 	# because it is most likely a libtool script we actually want to
   6062 	# install
   6063 	stripped_ext=""
   6064 	case $file in
   6065 	  *.exe)
   6066 	    if test ! -f "$file"; then
   6067 	      file=`$echo $file|${SED} 's,.exe$,,'`
   6068 	      stripped_ext=".exe"
   6069 	    fi
   6070 	    ;;
   6071 	esac
   6072 
   6073 	# Do a test to see if this is really a libtool program.
   6074 	case $host in
   6075 	*cygwin*|*mingw*)
   6076 	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
   6077 	    ;;
   6078 	*)
   6079 	    wrapper=$file
   6080 	    ;;
   6081 	esac
   6082 	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
   6083 	  notinst_deplibs=
   6084 	  relink_command=
   6085 
   6086 	  # Note that it is not necessary on cygwin/mingw to append a dot to
   6087 	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
   6088 	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
   6089 	  # `FILE.' does not work on cygwin managed mounts.
   6090 	  #
   6091 	  # If there is no directory component, then add one.
   6092 	  case $wrapper in
   6093 	  */* | *\\*) . ${wrapper} ;;
   6094 	  *) . ./${wrapper} ;;
   6095 	  esac
   6096 
   6097 	  # Check the variables that should have been set.
   6098 	  if test -z "$notinst_deplibs"; then
   6099 	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
   6100 	    exit $EXIT_FAILURE
   6101 	  fi
   6102 
   6103 	  finalize=yes
   6104 	  for lib in $notinst_deplibs; do
   6105 	    # Check to see that each library is installed.
   6106 	    libdir=
   6107 	    if test -f "$lib"; then
   6108 	      # If there is no directory component, then add one.
   6109 	      case $lib in
   6110 	      */* | *\\*) . $lib ;;
   6111 	      *) . ./$lib ;;
   6112 	      esac
   6113 	    fi
   6114 	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
   6115 	    if test -n "$libdir" && test ! -f "$libfile"; then
   6116 	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
   6117 	      finalize=no
   6118 	    fi
   6119 	  done
   6120 
   6121 	  relink_command=
   6122 	  # Note that it is not necessary on cygwin/mingw to append a dot to
   6123 	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
   6124 	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
   6125 	  # `FILE.' does not work on cygwin managed mounts.
   6126 	  #
   6127 	  # If there is no directory component, then add one.
   6128 	  case $wrapper in
   6129 	  */* | *\\*) . ${wrapper} ;;
   6130 	  *) . ./${wrapper} ;;
   6131 	  esac
   6132 
   6133 	  outputname=
   6134 	  if test "$fast_install" = no && test -n "$relink_command"; then
   6135 	    if test "$finalize" = yes && test -z "$run"; then
   6136 	      tmpdir=`func_mktempdir`
   6137 	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
   6138 	      outputname="$tmpdir/$file"
   6139 	      # Replace the output file specification.
   6140 	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
   6141 
   6142 	      $show "$relink_command"
   6143 	      if $run eval "$relink_command"; then :
   6144 	      else
   6145 		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
   6146 		${rm}r "$tmpdir"
   6147 		continue
   6148 	      fi
   6149 	      file="$outputname"
   6150 	    else
   6151 	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
   6152 	    fi
   6153 	  else
   6154 	    # Install the binary that we compiled earlier.
   6155 	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
   6156 	  fi
   6157 	fi
   6158 
   6159 	# remove .exe since cygwin /usr/bin/install will append another
   6160 	# one anyway 
   6161 	case $install_prog,$host in
   6162 	*/usr/bin/install*,*cygwin*)
   6163 	  case $file:$destfile in
   6164 	  *.exe:*.exe)
   6165 	    # this is ok
   6166 	    ;;
   6167 	  *.exe:*)
   6168 	    destfile=$destfile.exe
   6169 	    ;;
   6170 	  *:*.exe)
   6171 	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
   6172 	    ;;
   6173 	  esac
   6174 	  ;;
   6175 	esac
   6176 	$show "$install_prog$stripme $file $destfile"
   6177 	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
   6178 	test -n "$outputname" && ${rm}r "$tmpdir"
   6179 	;;
   6180       esac
   6181     done
   6182 
   6183     for file in $staticlibs; do
   6184       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
   6185 
   6186       # Set up the ranlib parameters.
   6187       oldlib="$destdir/$name"
   6188 
   6189       $show "$install_prog $file $oldlib"
   6190       $run eval "$install_prog \$file \$oldlib" || exit $?
   6191 
   6192       if test -n "$stripme" && test -n "$old_striplib"; then
   6193 	$show "$old_striplib $oldlib"
   6194 	$run eval "$old_striplib $oldlib" || exit $?
   6195       fi
   6196 
   6197       # Do each command in the postinstall commands.
   6198       cmds=$old_postinstall_cmds
   6199       save_ifs="$IFS"; IFS='~'
   6200       for cmd in $cmds; do
   6201 	IFS="$save_ifs"
   6202 	eval cmd=\"$cmd\"
   6203 	$show "$cmd"
   6204 	$run eval "$cmd" || exit $?
   6205       done
   6206       IFS="$save_ifs"
   6207     done
   6208 
   6209     if test -n "$future_libdirs"; then
   6210       $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
   6211     fi
   6212 
   6213     if test -n "$current_libdirs"; then
   6214       # Maybe just do a dry run.
   6215       test -n "$run" && current_libdirs=" -n$current_libdirs"
   6216       exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
   6217     else
   6218       exit $EXIT_SUCCESS
   6219     fi
   6220     ;;
   6221 
   6222   # libtool finish mode
   6223   finish)
   6224     modename="$modename: finish"
   6225     libdirs="$nonopt"
   6226     admincmds=
   6227 
   6228     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
   6229       for dir
   6230       do
   6231 	libdirs="$libdirs $dir"
   6232       done
   6233 
   6234       for libdir in $libdirs; do
   6235 	if test -n "$finish_cmds"; then
   6236 	  # Do each command in the finish commands.
   6237 	  cmds=$finish_cmds
   6238 	  save_ifs="$IFS"; IFS='~'
   6239 	  for cmd in $cmds; do
   6240 	    IFS="$save_ifs"
   6241 	    eval cmd=\"$cmd\"
   6242 	    $show "$cmd"
   6243 	    $run eval "$cmd" || admincmds="$admincmds
   6244        $cmd"
   6245 	  done
   6246 	  IFS="$save_ifs"
   6247 	fi
   6248 	if test -n "$finish_eval"; then
   6249 	  # Do the single finish_eval.
   6250 	  eval cmds=\"$finish_eval\"
   6251 	  $run eval "$cmds" || admincmds="$admincmds
   6252        $cmds"
   6253 	fi
   6254       done
   6255     fi
   6256 
   6257     # Exit here if they wanted silent mode.
   6258     test "$show" = : && exit $EXIT_SUCCESS
   6259 
   6260     $echo "X----------------------------------------------------------------------" | $Xsed
   6261     $echo "Libraries have been installed in:"
   6262     for libdir in $libdirs; do
   6263       $echo "   $libdir"
   6264     done
   6265     $echo
   6266     $echo "If you ever happen to want to link against installed libraries"
   6267     $echo "in a given directory, LIBDIR, you must either use libtool, and"
   6268     $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
   6269     $echo "flag during linking and do at least one of the following:"
   6270     if test -n "$shlibpath_var"; then
   6271       $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
   6272       $echo "     during execution"
   6273     fi
   6274     if test -n "$runpath_var"; then
   6275       $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
   6276       $echo "     during linking"
   6277     fi
   6278     if test -n "$hardcode_libdir_flag_spec"; then
   6279       libdir=LIBDIR
   6280       eval flag=\"$hardcode_libdir_flag_spec\"
   6281 
   6282       $echo "   - use the \`$flag' linker flag"
   6283     fi
   6284     if test -n "$admincmds"; then
   6285       $echo "   - have your system administrator run these commands:$admincmds"
   6286     fi
   6287     if test -f /etc/ld.so.conf; then
   6288       $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
   6289     fi
   6290     $echo
   6291     $echo "See any operating system documentation about shared libraries for"
   6292     $echo "more information, such as the ld(1) and ld.so(8) manual pages."
   6293     $echo "X----------------------------------------------------------------------" | $Xsed
   6294     exit $EXIT_SUCCESS
   6295     ;;
   6296 
   6297   # libtool execute mode
   6298   execute)
   6299     modename="$modename: execute"
   6300 
   6301     # The first argument is the command name.
   6302     cmd="$nonopt"
   6303     if test -z "$cmd"; then
   6304       $echo "$modename: you must specify a COMMAND" 1>&2
   6305       $echo "$help"
   6306       exit $EXIT_FAILURE
   6307     fi
   6308 
   6309     # Handle -dlopen flags immediately.
   6310     for file in $execute_dlfiles; do
   6311       if test ! -f "$file"; then
   6312 	$echo "$modename: \`$file' is not a file" 1>&2
   6313 	$echo "$help" 1>&2
   6314 	exit $EXIT_FAILURE
   6315       fi
   6316 
   6317       dir=
   6318       case $file in
   6319       *.la)
   6320 	# Check to see that this really is a libtool archive.
   6321 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
   6322 	else
   6323 	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
   6324 	  $echo "$help" 1>&2
   6325 	  exit $EXIT_FAILURE
   6326 	fi
   6327 
   6328 	# Read the libtool library.
   6329 	dlname=
   6330 	library_names=
   6331 
   6332 	# If there is no directory component, then add one.
   6333 	case $file in
   6334 	*/* | *\\*) . $file ;;
   6335 	*) . ./$file ;;
   6336 	esac
   6337 
   6338 	# Skip this library if it cannot be dlopened.
   6339 	if test -z "$dlname"; then
   6340 	  # Warn if it was a shared library.
   6341 	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
   6342 	  continue
   6343 	fi
   6344 
   6345 	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
   6346 	test "X$dir" = "X$file" && dir=.
   6347 
   6348 	if test -f "$dir/$objdir/$dlname"; then
   6349 	  dir="$dir/$objdir"
   6350 	else
   6351 	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
   6352 	  exit $EXIT_FAILURE
   6353 	fi
   6354 	;;
   6355 
   6356       *.lo)
   6357 	# Just add the directory containing the .lo file.
   6358 	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
   6359 	test "X$dir" = "X$file" && dir=.
   6360 	;;
   6361 
   6362       *)
   6363 	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
   6364 	continue
   6365 	;;
   6366       esac
   6367 
   6368       # Get the absolute pathname.
   6369       absdir=`cd "$dir" && pwd`
   6370       test -n "$absdir" && dir="$absdir"
   6371 
   6372       # Now add the directory to shlibpath_var.
   6373       if eval "test -z \"\$$shlibpath_var\""; then
   6374 	eval "$shlibpath_var=\"\$dir\""
   6375       else
   6376 	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
   6377       fi
   6378     done
   6379 
   6380     # This variable tells wrapper scripts just to set shlibpath_var
   6381     # rather than running their programs.
   6382     libtool_execute_magic="$magic"
   6383 
   6384     # Check if any of the arguments is a wrapper script.
   6385     args=
   6386     for file
   6387     do
   6388       case $file in
   6389       -*) ;;
   6390       *)
   6391 	# Do a test to see if this is really a libtool program.
   6392 	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
   6393 	  # If there is no directory component, then add one.
   6394 	  case $file in
   6395 	  */* | *\\*) . $file ;;
   6396 	  *) . ./$file ;;
   6397 	  esac
   6398 
   6399 	  # Transform arg to wrapped name.
   6400 	  file="$progdir/$program"
   6401 	fi
   6402 	;;
   6403       esac
   6404       # Quote arguments (to preserve shell metacharacters).
   6405       file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
   6406       args="$args \"$file\""
   6407     done
   6408 
   6409     if test -z "$run"; then
   6410       if test -n "$shlibpath_var"; then
   6411 	# Export the shlibpath_var.
   6412 	eval "export $shlibpath_var"
   6413       fi
   6414 
   6415       # Restore saved environment variables
   6416       if test "${save_LC_ALL+set}" = set; then
   6417 	LC_ALL="$save_LC_ALL"; export LC_ALL
   6418       fi
   6419       if test "${save_LANG+set}" = set; then
   6420 	LANG="$save_LANG"; export LANG
   6421       fi
   6422 
   6423       # Now prepare to actually exec the command.
   6424       exec_cmd="\$cmd$args"
   6425     else
   6426       # Display what would be done.
   6427       if test -n "$shlibpath_var"; then
   6428 	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
   6429 	$echo "export $shlibpath_var"
   6430       fi
   6431       $echo "$cmd$args"
   6432       exit $EXIT_SUCCESS
   6433     fi
   6434     ;;
   6435 
   6436   # libtool clean and uninstall mode
   6437   clean | uninstall)
   6438     modename="$modename: $mode"
   6439     rm="$nonopt"
   6440     files=
   6441     rmforce=
   6442     exit_status=0
   6443 
   6444     # This variable tells wrapper scripts just to set variables rather
   6445     # than running their programs.
   6446     libtool_install_magic="$magic"
   6447 
   6448     for arg
   6449     do
   6450       case $arg in
   6451       -f) rm="$rm $arg"; rmforce=yes ;;
   6452       -*) rm="$rm $arg" ;;
   6453       *) files="$files $arg" ;;
   6454       esac
   6455     done
   6456 
   6457     if test -z "$rm"; then
   6458       $echo "$modename: you must specify an RM program" 1>&2
   6459       $echo "$help" 1>&2
   6460       exit $EXIT_FAILURE
   6461     fi
   6462 
   6463     rmdirs=
   6464 
   6465     origobjdir="$objdir"
   6466     for file in $files; do
   6467       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
   6468       if test "X$dir" = "X$file"; then
   6469 	dir=.
   6470 	objdir="$origobjdir"
   6471       else
   6472 	objdir="$dir/$origobjdir"
   6473       fi
   6474       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
   6475       test "$mode" = uninstall && objdir="$dir"
   6476 
   6477       # Remember objdir for removal later, being careful to avoid duplicates
   6478       if test "$mode" = clean; then
   6479 	case " $rmdirs " in
   6480 	  *" $objdir "*) ;;
   6481 	  *) rmdirs="$rmdirs $objdir" ;;
   6482 	esac
   6483       fi
   6484 
   6485       # Don't error if the file doesn't exist and rm -f was used.
   6486       if (test -L "$file") >/dev/null 2>&1 \
   6487 	|| (test -h "$file") >/dev/null 2>&1 \
   6488 	|| test -f "$file"; then
   6489 	:
   6490       elif test -d "$file"; then
   6491 	exit_status=1
   6492 	continue
   6493       elif test "$rmforce" = yes; then
   6494 	continue
   6495       fi
   6496 
   6497       rmfiles="$file"
   6498 
   6499       case $name in
   6500       *.la)
   6501 	# Possibly a libtool archive, so verify it.
   6502 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
   6503 	  . $dir/$name
   6504 
   6505 	  # Delete the libtool libraries and symlinks.
   6506 	  for n in $library_names; do
   6507 	    rmfiles="$rmfiles $objdir/$n"
   6508 	  done
   6509 	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
   6510 
   6511 	  case "$mode" in
   6512 	  clean)
   6513 	    case "  $library_names " in
   6514 	    # "  " in the beginning catches empty $dlname
   6515 	    *" $dlname "*) ;;
   6516 	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
   6517 	    esac
   6518 	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
   6519 	    ;;
   6520 	  uninstall)
   6521 	    if test -n "$library_names"; then
   6522 	      # Do each command in the postuninstall commands.
   6523 	      cmds=$postuninstall_cmds
   6524 	      save_ifs="$IFS"; IFS='~'
   6525 	      for cmd in $cmds; do
   6526 		IFS="$save_ifs"
   6527 		eval cmd=\"$cmd\"
   6528 		$show "$cmd"
   6529 		$run eval "$cmd"
   6530 		if test "$?" -ne 0 && test "$rmforce" != yes; then
   6531 		  exit_status=1
   6532 		fi
   6533 	      done
   6534 	      IFS="$save_ifs"
   6535 	    fi
   6536 
   6537 	    if test -n "$old_library"; then
   6538 	      # Do each command in the old_postuninstall commands.
   6539 	      cmds=$old_postuninstall_cmds
   6540 	      save_ifs="$IFS"; IFS='~'
   6541 	      for cmd in $cmds; do
   6542 		IFS="$save_ifs"
   6543 		eval cmd=\"$cmd\"
   6544 		$show "$cmd"
   6545 		$run eval "$cmd"
   6546 		if test "$?" -ne 0 && test "$rmforce" != yes; then
   6547 		  exit_status=1
   6548 		fi
   6549 	      done
   6550 	      IFS="$save_ifs"
   6551 	    fi
   6552 	    # FIXME: should reinstall the best remaining shared library.
   6553 	    ;;
   6554 	  esac
   6555 	fi
   6556 	;;
   6557 
   6558       *.lo)
   6559 	# Possibly a libtool object, so verify it.
   6560 	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
   6561 
   6562 	  # Read the .lo file
   6563 	  . $dir/$name
   6564 
   6565 	  # Add PIC object to the list of files to remove.
   6566 	  if test -n "$pic_object" \
   6567 	     && test "$pic_object" != none; then
   6568 	    rmfiles="$rmfiles $dir/$pic_object"
   6569 	  fi
   6570 
   6571 	  # Add non-PIC object to the list of files to remove.
   6572 	  if test -n "$non_pic_object" \
   6573 	     && test "$non_pic_object" != none; then
   6574 	    rmfiles="$rmfiles $dir/$non_pic_object"
   6575 	  fi
   6576 	fi
   6577 	;;
   6578 
   6579       *)
   6580 	if test "$mode" = clean ; then
   6581 	  noexename=$name
   6582 	  case $file in
   6583 	  *.exe)
   6584 	    file=`$echo $file|${SED} 's,.exe$,,'`
   6585 	    noexename=`$echo $name|${SED} 's,.exe$,,'`
   6586 	    # $file with .exe has already been added to rmfiles,
   6587 	    # add $file without .exe
   6588 	    rmfiles="$rmfiles $file"
   6589 	    ;;
   6590 	  esac
   6591 	  # Do a test to see if this is a libtool program.
   6592 	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
   6593 	    relink_command=
   6594 	    . $dir/$noexename
   6595 
   6596 	    # note $name still contains .exe if it was in $file originally
   6597 	    # as does the version of $file that was added into $rmfiles
   6598 	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
   6599 	    if test "$fast_install" = yes && test -n "$relink_command"; then
   6600 	      rmfiles="$rmfiles $objdir/lt-$name"
   6601 	    fi
   6602 	    if test "X$noexename" != "X$name" ; then
   6603 	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
   6604 	    fi
   6605 	  fi
   6606 	fi
   6607 	;;
   6608       esac
   6609       $show "$rm $rmfiles"
   6610       $run $rm $rmfiles || exit_status=1
   6611     done
   6612     objdir="$origobjdir"
   6613 
   6614     # Try to remove the ${objdir}s in the directories where we deleted files
   6615     for dir in $rmdirs; do
   6616       if test -d "$dir"; then
   6617 	$show "rmdir $dir"
   6618 	$run rmdir $dir >/dev/null 2>&1
   6619       fi
   6620     done
   6621 
   6622     exit $exit_status
   6623     ;;
   6624 
   6625   "")
   6626     $echo "$modename: you must specify a MODE" 1>&2
   6627     $echo "$generic_help" 1>&2
   6628     exit $EXIT_FAILURE
   6629     ;;
   6630   esac
   6631 
   6632   if test -z "$exec_cmd"; then
   6633     $echo "$modename: invalid operation mode \`$mode'" 1>&2
   6634     $echo "$generic_help" 1>&2
   6635     exit $EXIT_FAILURE
   6636   fi
   6637 fi # test -z "$show_help"
   6638 
   6639 if test -n "$exec_cmd"; then
   6640   eval exec $exec_cmd
   6641   exit $EXIT_FAILURE
   6642 fi
   6643 
   6644 # We need to display help for each of the modes.
   6645 case $mode in
   6646 "") $echo \
   6647 "Usage: $modename [OPTION]... [MODE-ARG]...
   6648 
   6649 Provide generalized library-building support services.
   6650 
   6651     --config          show all configuration variables
   6652     --debug           enable verbose shell tracing
   6653 -n, --dry-run         display commands without modifying any files
   6654     --features        display basic configuration information and exit
   6655     --finish          same as \`--mode=finish'
   6656     --help            display this help message and exit
   6657     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
   6658     --quiet           same as \`--silent'
   6659     --silent          don't print informational messages
   6660     --tag=TAG         use configuration variables from tag TAG
   6661     --version         print version information
   6662 
   6663 MODE must be one of the following:
   6664 
   6665       clean           remove files from the build directory
   6666       compile         compile a source file into a libtool object
   6667       execute         automatically set library path, then run a program
   6668       finish          complete the installation of libtool libraries
   6669       install         install libraries or executables
   6670       link            create a library or an executable
   6671       uninstall       remove libraries from an installed directory
   6672 
   6673 MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
   6674 a more detailed description of MODE.
   6675 
   6676 Report bugs to <bug-libtool (at] gnu.org>."
   6677   exit $EXIT_SUCCESS
   6678   ;;
   6679 
   6680 clean)
   6681   $echo \
   6682 "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
   6683 
   6684 Remove files from the build directory.
   6685 
   6686 RM is the name of the program to use to delete files associated with each FILE
   6687 (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
   6688 to RM.
   6689 
   6690 If FILE is a libtool library, object or program, all the files associated
   6691 with it are deleted. Otherwise, only FILE itself is deleted using RM."
   6692   ;;
   6693 
   6694 compile)
   6695   $echo \
   6696 "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
   6697 
   6698 Compile a source file into a libtool library object.
   6699 
   6700 This mode accepts the following additional options:
   6701 
   6702   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
   6703   -prefer-pic       try to building PIC objects only
   6704   -prefer-non-pic   try to building non-PIC objects only
   6705   -static           always build a \`.o' file suitable for static linking
   6706 
   6707 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
   6708 from the given SOURCEFILE.
   6709 
   6710 The output file name is determined by removing the directory component from
   6711 SOURCEFILE, then substituting the C source code suffix \`.c' with the
   6712 library object suffix, \`.lo'."
   6713   ;;
   6714 
   6715 execute)
   6716   $echo \
   6717 "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
   6718 
   6719 Automatically set library path, then run a program.
   6720 
   6721 This mode accepts the following additional options:
   6722 
   6723   -dlopen FILE      add the directory containing FILE to the library path
   6724 
   6725 This mode sets the library path environment variable according to \`-dlopen'
   6726 flags.
   6727 
   6728 If any of the ARGS are libtool executable wrappers, then they are translated
   6729 into their corresponding uninstalled binary, and any of their required library
   6730 directories are added to the library path.
   6731 
   6732 Then, COMMAND is executed, with ARGS as arguments."
   6733   ;;
   6734 
   6735 finish)
   6736   $echo \
   6737 "Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
   6738 
   6739 Complete the installation of libtool libraries.
   6740 
   6741 Each LIBDIR is a directory that contains libtool libraries.
   6742 
   6743 The commands that this mode executes may require superuser privileges.  Use
   6744 the \`--dry-run' option if you just want to see what would be executed."
   6745   ;;
   6746 
   6747 install)
   6748   $echo \
   6749 "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
   6750 
   6751 Install executables or libraries.
   6752 
   6753 INSTALL-COMMAND is the installation command.  The first component should be
   6754 either the \`install' or \`cp' program.
   6755 
   6756 The rest of the components are interpreted as arguments to that command (only
   6757 BSD-compatible install options are recognized)."
   6758   ;;
   6759 
   6760 link)
   6761   $echo \
   6762 "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
   6763 
   6764 Link object files or libraries together to form another library, or to
   6765 create an executable program.
   6766 
   6767 LINK-COMMAND is a command using the C compiler that you would use to create
   6768 a program from several object files.
   6769 
   6770 The following components of LINK-COMMAND are treated specially:
   6771 
   6772   -all-static       do not do any dynamic linking at all
   6773   -avoid-version    do not add a version suffix if possible
   6774   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
   6775   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   6776   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   6777   -export-symbols SYMFILE
   6778 		    try to export only the symbols listed in SYMFILE
   6779   -export-symbols-regex REGEX
   6780 		    try to export only the symbols matching REGEX
   6781   -LLIBDIR          search LIBDIR for required installed libraries
   6782   -lNAME            OUTPUT-FILE requires the installed library libNAME
   6783   -module           build a library that can dlopened
   6784   -no-fast-install  disable the fast-install mode
   6785   -no-install       link a not-installable executable
   6786   -no-undefined     declare that a library does not refer to external symbols
   6787   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
   6788   -objectlist FILE  Use a list of object files found in FILE to specify objects
   6789   -precious-files-regex REGEX
   6790                     don't remove output files matching REGEX
   6791   -release RELEASE  specify package release information
   6792   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   6793   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
   6794   -static           do not do any dynamic linking of libtool libraries
   6795   -version-info CURRENT[:REVISION[:AGE]]
   6796 		    specify library version info [each variable defaults to 0]
   6797 
   6798 All other options (arguments beginning with \`-') are ignored.
   6799 
   6800 Every other argument is treated as a filename.  Files ending in \`.la' are
   6801 treated as uninstalled libtool libraries, other files are standard or library
   6802 object files.
   6803 
   6804 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
   6805 only library objects (\`.lo' files) may be specified, and \`-rpath' is
   6806 required, except when creating a convenience library.
   6807 
   6808 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
   6809 using \`ar' and \`ranlib', or on Windows using \`lib'.
   6810 
   6811 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
   6812 is created, otherwise an executable program is created."
   6813   ;;
   6814 
   6815 uninstall)
   6816   $echo \
   6817 "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
   6818 
   6819 Remove libraries from an installation directory.
   6820 
   6821 RM is the name of the program to use to delete files associated with each FILE
   6822 (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
   6823 to RM.
   6824 
   6825 If FILE is a libtool library, all the files associated with it are deleted.
   6826 Otherwise, only FILE itself is deleted using RM."
   6827   ;;
   6828 
   6829 *)
   6830   $echo "$modename: invalid operation mode \`$mode'" 1>&2
   6831   $echo "$help" 1>&2
   6832   exit $EXIT_FAILURE
   6833   ;;
   6834 esac
   6835 
   6836 $echo
   6837 $echo "Try \`$modename --help' for more information about other modes."
   6838 
   6839 exit $?
   6840 
   6841 # The TAGs below are defined such that we never get into a situation
   6842 # in which we disable both kinds of libraries.  Given conflicting
   6843 # choices, we go for a static library, that is the most portable,
   6844 # since we can't tell whether shared libraries were disabled because
   6845 # the user asked for that or because the platform doesn't support
   6846 # them.  This is particularly important on AIX, because we don't
   6847 # support having both static and shared libraries enabled at the same
   6848 # time on that platform, so we default to a shared-only configuration.
   6849 # If a disable-shared tag is given, we'll fallback to a static-only
   6850 # configuration.  But we'll never go from static-only to shared-only.
   6851 
   6852 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
   6853 disable_libs=shared
   6854 # ### END LIBTOOL TAG CONFIG: disable-shared
   6855 
   6856 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
   6857 disable_libs=static
   6858 # ### END LIBTOOL TAG CONFIG: disable-static
   6859 
   6860 # Local Variables:
   6861 # mode:shell-script
   6862 # sh-indentation:2
   6863 # End:
   6864