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