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