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