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