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