"Fossies" - the Fresh Open Source Software Archive

Member "libgcgi.a-0.9.5/config/ltmain.sh" (22 Jun 2002, 140918 Bytes) of package /linux/www/old/gcgi-0.9.5.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    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
    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 # Check that we have a working $echo.
   28 if test "X$1" = X--no-reexec; then
   29   # Discard the --no-reexec flag, and continue.
   30   shift
   31 elif test "X$1" = X--fallback-echo; then
   32   # Avoid inline document here, it may be left over
   33   :
   34 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
   35   # Yippee, $echo works!
   36   :
   37 else
   38   # Restart under the correct shell, and then maybe $echo will work.
   39   exec $SHELL "$0" --no-reexec ${1+"$@"}
   40 fi
   41 
   42 if test "X$1" = X--fallback-echo; then
   43   # used as fallback echo
   44   shift
   45   cat <<EOF
   46 $*
   47 EOF
   48   exit 0
   49 fi
   50 
   51 # The name of this program.
   52 progname=`$echo "$0" | sed 's%^.*/%%'`
   53 modename="$progname"
   54 
   55 # Constants.
   56 PROGRAM=ltmain.sh
   57 PACKAGE=libtool
   58 VERSION=1.4.2a
   59 TIMESTAMP=" (1.922.2.79 2001/11/28 21:50:31)"
   60 
   61 default_mode=
   62 help="Try \`$progname --help' for more information."
   63 magic="%%%MAGIC variable%%%"
   64 mkdir="mkdir"
   65 mv="mv -f"
   66 rm="rm -f"
   67 
   68 # Sed substitution that helps us do robust quoting.  It backslashifies
   69 # metacharacters that are still active within double-quoted strings.
   70 Xsed='sed -e 1s/^X//'
   71 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
   72 SP2NL='tr \040 \012'
   73 NL2SP='tr \015\012 \040\040'
   74 
   75 # NLS nuisances.
   76 # Only set LANG and LC_ALL to C if already set.
   77 # These must not be set unconditionally because not all systems understand
   78 # e.g. LANG=C (notably SCO).
   79 # We save the old values to restore during execute mode.
   80 if test "${LC_ALL+set}" = set; then
   81   save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
   82 fi
   83 if test "${LANG+set}" = set; then
   84   save_LANG="$LANG"; LANG=C; export LANG
   85 fi
   86 
   87 # Make sure IFS has a sensible default
   88 : ${IFS="   "}
   89 
   90 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
   91   echo "$modename: not configured to build any kind of library" 1>&2
   92   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
   93   exit 1
   94 fi
   95 
   96 # Global variables.
   97 mode=$default_mode
   98 nonopt=
   99 prev=
  100 prevopt=
  101 run=
  102 show="$echo"
  103 show_help=
  104 execute_dlfiles=
  105 lo2o="s/\\.lo\$/.${objext}/"
  106 o2lo="s/\\.${objext}\$/.lo/"
  107 
  108 # Parse our command line options once, thoroughly.
  109 while test $# -gt 0
  110 do
  111   arg="$1"
  112   shift
  113 
  114   case $arg in
  115   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
  116   *) optarg= ;;
  117   esac
  118 
  119   # If the previous option needs an argument, assign it.
  120   if test -n "$prev"; then
  121     case $prev in
  122     execute_dlfiles)
  123       execute_dlfiles="$execute_dlfiles $arg"
  124       ;;
  125     *)
  126       eval "$prev=\$arg"
  127       ;;
  128     esac
  129 
  130     prev=
  131     prevopt=
  132     continue
  133   fi
  134 
  135   # Have we seen a non-optional argument yet?
  136   case $arg in
  137   --help)
  138     show_help=yes
  139     ;;
  140 
  141   --version)
  142     echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
  143     exit 0
  144     ;;
  145 
  146   --config)
  147     sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
  148     exit 0
  149     ;;
  150 
  151   --debug)
  152     echo "$progname: enabling shell trace mode"
  153     set -x
  154     ;;
  155 
  156   --dry-run | -n)
  157     run=:
  158     ;;
  159 
  160   --features)
  161     echo "host: $host"
  162     if test "$build_libtool_libs" = yes; then
  163       echo "enable shared libraries"
  164     else
  165       echo "disable shared libraries"
  166     fi
  167     if test "$build_old_libs" = yes; then
  168       echo "enable static libraries"
  169     else
  170       echo "disable static libraries"
  171     fi
  172     exit 0
  173     ;;
  174 
  175   --finish) mode="finish" ;;
  176 
  177   --mode) prevopt="--mode" prev=mode ;;
  178   --mode=*) mode="$optarg" ;;
  179 
  180   --preserve-dup-deps) duplicate_deps="yes" ;;
  181 
  182   --quiet | --silent)
  183     show=:
  184     ;;
  185 
  186   -dlopen)
  187     prevopt="-dlopen"
  188     prev=execute_dlfiles
  189     ;;
  190 
  191   -*)
  192     $echo "$modename: unrecognized option \`$arg'" 1>&2
  193     $echo "$help" 1>&2
  194     exit 1
  195     ;;
  196 
  197   *)
  198     nonopt="$arg"
  199     break
  200     ;;
  201   esac
  202 done
  203 
  204 if test -n "$prevopt"; then
  205   $echo "$modename: option \`$prevopt' requires an argument" 1>&2
  206   $echo "$help" 1>&2
  207   exit 1
  208 fi
  209 
  210 # If this variable is set in any of the actions, the command in it
  211 # will be execed at the end.  This prevents here-documents from being
  212 # left over by shells.
  213 exec_cmd=
  214 
  215 if test -z "$show_help"; then
  216 
  217   # Infer the operation mode.
  218   if test -z "$mode"; then
  219     case $nonopt in
  220     *cc | *++ | gcc* | *-gcc*)
  221       mode=link
  222       for arg
  223       do
  224     case $arg in
  225     -c)
  226        mode=compile
  227        break
  228        ;;
  229     esac
  230       done
  231       ;;
  232     *db | *dbx | *strace | *truss)
  233       mode=execute
  234       ;;
  235     *install*|cp|mv)
  236       mode=install
  237       ;;
  238     *rm)
  239       mode=uninstall
  240       ;;
  241     *)
  242       # If we have no mode, but dlfiles were specified, then do execute mode.
  243       test -n "$execute_dlfiles" && mode=execute
  244 
  245       # Just use the default operation mode.
  246       if test -z "$mode"; then
  247     if test -n "$nonopt"; then
  248       $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
  249     else
  250       $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
  251     fi
  252       fi
  253       ;;
  254     esac
  255   fi
  256 
  257   # Only execute mode is allowed to have -dlopen flags.
  258   if test -n "$execute_dlfiles" && test "$mode" != execute; then
  259     $echo "$modename: unrecognized option \`-dlopen'" 1>&2
  260     $echo "$help" 1>&2
  261     exit 1
  262   fi
  263 
  264   # Change the help message to a mode-specific one.
  265   generic_help="$help"
  266   help="Try \`$modename --help --mode=$mode' for more information."
  267 
  268   # These modes are in order of execution frequency so that they run quickly.
  269   case $mode in
  270   # libtool compile mode
  271   compile)
  272     modename="$modename: compile"
  273     # Get the compilation command and the source file.
  274     base_compile=
  275     prev=
  276     lastarg=
  277     srcfile="$nonopt"
  278     suppress_output=
  279 
  280     user_target=no
  281     for arg
  282     do
  283       case $prev in
  284       "") ;;
  285       xcompiler)
  286     # Aesthetically quote the previous argument.
  287     prev=
  288     lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  289 
  290     case $arg in
  291     # Double-quote args containing other shell metacharacters.
  292     # Many Bourne shells cannot handle close brackets correctly
  293     # in scan sets, so we specify it separately.
  294     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
  295       arg="\"$arg\""
  296       ;;
  297     esac
  298 
  299     # Add the previous argument to base_compile.
  300     if test -z "$base_compile"; then
  301       base_compile="$lastarg"
  302     else
  303       base_compile="$base_compile $lastarg"
  304     fi
  305     continue
  306     ;;
  307       esac
  308 
  309       # Accept any command-line options.
  310       case $arg in
  311       -o)
  312     if test "$user_target" != "no"; then
  313       $echo "$modename: you cannot specify \`-o' more than once" 1>&2
  314       exit 1
  315     fi
  316     user_target=next
  317     ;;
  318 
  319       -static)
  320     build_old_libs=yes
  321     continue
  322     ;;
  323 
  324       -prefer-pic)
  325     pic_mode=yes
  326     continue
  327     ;;
  328 
  329       -prefer-non-pic)
  330     pic_mode=no
  331     continue
  332     ;;
  333 
  334       -Xcompiler)
  335     prev=xcompiler
  336     continue
  337     ;;
  338 
  339       -Wc,*)
  340     args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
  341     lastarg=
  342     save_ifs="$IFS"; IFS=','
  343     for arg in $args; do
  344       IFS="$save_ifs"
  345 
  346       # Double-quote args containing other shell metacharacters.
  347       # Many Bourne shells cannot handle close brackets correctly
  348       # in scan sets, so we specify it separately.
  349       case $arg in
  350         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
  351         arg="\"$arg\""
  352         ;;
  353       esac
  354       lastarg="$lastarg $arg"
  355     done
  356     IFS="$save_ifs"
  357     lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
  358 
  359     # Add the arguments to base_compile.
  360     if test -z "$base_compile"; then
  361       base_compile="$lastarg"
  362     else
  363       base_compile="$base_compile $lastarg"
  364     fi
  365     continue
  366     ;;
  367       esac
  368 
  369       case $user_target in
  370       next)
  371     # The next one is the -o target name
  372     user_target=yes
  373     continue
  374     ;;
  375       yes)
  376     # We got the output file
  377     user_target=set
  378     libobj="$arg"
  379     continue
  380     ;;
  381       esac
  382 
  383       # Accept the current argument as the source file.
  384       lastarg="$srcfile"
  385       srcfile="$arg"
  386 
  387       # Aesthetically quote the previous argument.
  388 
  389       # Backslashify any backslashes, double quotes, and dollar signs.
  390       # These are the only characters that are still specially
  391       # interpreted inside of double-quoted scrings.
  392       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
  393 
  394       # Double-quote args containing other shell metacharacters.
  395       # Many Bourne shells cannot handle close brackets correctly
  396       # in scan sets, so we specify it separately.
  397       case $lastarg in
  398       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
  399     lastarg="\"$lastarg\""
  400     ;;
  401       esac
  402 
  403       # Add the previous argument to base_compile.
  404       if test -z "$base_compile"; then
  405     base_compile="$lastarg"
  406       else
  407     base_compile="$base_compile $lastarg"
  408       fi
  409     done
  410 
  411     case $user_target in
  412     set)
  413       ;;
  414     no)
  415       # Get the name of the library object.
  416       libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
  417       ;;
  418     *)
  419       $echo "$modename: you must specify a target with \`-o'" 1>&2
  420       exit 1
  421       ;;
  422     esac
  423 
  424     # Recognize several different file suffixes.
  425     # If the user specifies -o file.o, it is replaced with file.lo
  426     xform='[cCFSfmso]'
  427     case $libobj in
  428     *.ada) xform=ada ;;
  429     *.adb) xform=adb ;;
  430     *.ads) xform=ads ;;
  431     *.asm) xform=asm ;;
  432     *.c++) xform=c++ ;;
  433     *.cc) xform=cc ;;
  434     *.cpp) xform=cpp ;;
  435     *.cxx) xform=cxx ;;
  436     *.f90) xform=f90 ;;
  437     *.for) xform=for ;;
  438     esac
  439 
  440     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
  441 
  442     case $libobj in
  443     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
  444     *)
  445       $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
  446       exit 1
  447       ;;
  448     esac
  449 
  450     if test -z "$base_compile"; then
  451       $echo "$modename: you must specify a compilation command" 1>&2
  452       $echo "$help" 1>&2
  453       exit 1
  454     fi
  455 
  456     # Delete any leftover library objects.
  457     if test "$build_old_libs" = yes; then
  458       removelist="$obj $libobj"
  459     else
  460       removelist="$libobj"
  461     fi
  462 
  463     $run $rm $removelist
  464     trap "$run $rm $removelist; exit 1" 1 2 15
  465 
  466     # On Cygwin there's no "real" PIC flag so we must build both object types
  467     case $host_os in
  468     cygwin* | mingw* | pw32* | os2*)
  469       pic_mode=default
  470       ;;
  471     esac
  472     if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
  473       # non-PIC code in shared libraries is not supported
  474       pic_mode=default
  475     fi
  476 
  477     # Calculate the filename of the output object if compiler does
  478     # not support -o with -c
  479     if test "$compiler_c_o" = no; then
  480       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
  481       lockfile="$output_obj.lock"
  482       removelist="$removelist $output_obj $lockfile"
  483       trap "$run $rm $removelist; exit 1" 1 2 15
  484     else
  485       need_locks=no
  486       lockfile=
  487     fi
  488 
  489     # Lock this critical section if it is needed
  490     # We use this script file to make the link, it avoids creating a new file
  491     if test "$need_locks" = yes; then
  492       until $run ln "$0" "$lockfile" 2>/dev/null; do
  493     $show "Waiting for $lockfile to be removed"
  494     sleep 2
  495       done
  496     elif test "$need_locks" = warn; then
  497       if test -f "$lockfile"; then
  498     echo "\
  499 *** ERROR, $lockfile exists and contains:
  500 `cat $lockfile 2>/dev/null`
  501 
  502 This indicates that another process is trying to use the same
  503 temporary object file, and libtool could not work around it because
  504 your compiler does not support \`-c' and \`-o' together.  If you
  505 repeat this compilation, it may succeed, by chance, but you had better
  506 avoid parallel builds (make -j) in this platform, or get a better
  507 compiler."
  508 
  509     $run $rm $removelist
  510     exit 1
  511       fi
  512       echo $srcfile > "$lockfile"
  513     fi
  514 
  515     if test -n "$fix_srcfile_path"; then
  516       eval srcfile=\"$fix_srcfile_path\"
  517     fi
  518 
  519     # Only build a PIC object if we are building libtool libraries.
  520     if test "$build_libtool_libs" = yes; then
  521       # Without this assignment, base_compile gets emptied.
  522       fbsd_hideous_sh_bug=$base_compile
  523 
  524       if test "$pic_mode" != no; then
  525     # All platforms use -DPIC, to notify preprocessed assembler code.
  526     command="$base_compile $srcfile $pic_flag -DPIC"
  527       else
  528     # Don't build PIC code
  529     command="$base_compile $srcfile"
  530       fi
  531       if test "$build_old_libs" = yes; then
  532     lo_libobj="$libobj"
  533     dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
  534     if test "X$dir" = "X$libobj"; then
  535       dir="$objdir"
  536     else
  537       dir="$dir/$objdir"
  538     fi
  539     libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
  540 
  541     if test -d "$dir"; then
  542       $show "$rm $libobj"
  543       $run $rm $libobj
  544     else
  545       $show "$mkdir $dir"
  546       $run $mkdir $dir
  547       status=$?
  548       if test $status -ne 0 && test ! -d $dir; then
  549         exit $status
  550       fi
  551     fi
  552       fi
  553       if test "$compiler_o_lo" = yes; then
  554     output_obj="$libobj"
  555     command="$command -o $output_obj"
  556       elif test "$compiler_c_o" = yes; then
  557     output_obj="$obj"
  558     command="$command -o $output_obj"
  559       fi
  560 
  561       $run $rm "$output_obj"
  562       $show "$command"
  563       if $run eval "$command"; then :
  564       else
  565     test -n "$output_obj" && $run $rm $removelist
  566     exit 1
  567       fi
  568 
  569       if test "$need_locks" = warn &&
  570      test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
  571     echo "\
  572 *** ERROR, $lockfile contains:
  573 `cat $lockfile 2>/dev/null`
  574 
  575 but it should contain:
  576 $srcfile
  577 
  578 This indicates that another process is trying to use the same
  579 temporary object file, and libtool could not work around it because
  580 your compiler does not support \`-c' and \`-o' together.  If you
  581 repeat this compilation, it may succeed, by chance, but you had better
  582 avoid parallel builds (make -j) in this platform, or get a better
  583 compiler."
  584 
  585     $run $rm $removelist
  586     exit 1
  587       fi
  588 
  589       # Just move the object if needed, then go on to compile the next one
  590       if test x"$output_obj" != x"$libobj"; then
  591     $show "$mv $output_obj $libobj"
  592     if $run $mv $output_obj $libobj; then :
  593     else
  594       error=$?
  595       $run $rm $removelist
  596       exit $error
  597     fi
  598       fi
  599 
  600       # If we have no pic_flag, then copy the object into place and finish.
  601       if (test -z "$pic_flag" || test "$pic_mode" != default) &&
  602      test "$build_old_libs" = yes; then
  603     # Rename the .lo from within objdir to obj
  604     if test -f $obj; then
  605       $show $rm $obj
  606       $run $rm $obj
  607     fi
  608 
  609     $show "$mv $libobj $obj"
  610     if $run $mv $libobj $obj; then :
  611     else
  612       error=$?
  613       $run $rm $removelist
  614       exit $error
  615     fi
  616 
  617     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
  618     if test "X$xdir" = "X$obj"; then
  619       xdir="."
  620     else
  621       xdir="$xdir"
  622     fi
  623     baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
  624     libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
  625     # Now arrange that obj and lo_libobj become the same file
  626     $show "(cd $xdir && $LN_S $baseobj $libobj)"
  627     if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
  628       # Unlock the critical section if it was locked
  629       if test "$need_locks" != no; then
  630         $run $rm "$lockfile"
  631       fi
  632       exit 0
  633     else
  634       error=$?
  635       $run $rm $removelist
  636       exit $error
  637     fi
  638       fi
  639 
  640       # Allow error messages only from the first compilation.
  641       suppress_output=' >/dev/null 2>&1'
  642     fi
  643 
  644     # Only build a position-dependent object if we build old libraries.
  645     if test "$build_old_libs" = yes; then
  646       if test "$pic_mode" != yes; then
  647     # Don't build PIC code
  648     command="$base_compile $srcfile"
  649       else
  650     # All platforms use -DPIC, to notify preprocessed assembler code.
  651     command="$base_compile $srcfile $pic_flag -DPIC"
  652       fi
  653       if test "$compiler_c_o" = yes; then
  654     command="$command -o $obj"
  655     output_obj="$obj"
  656       fi
  657 
  658       # Suppress compiler output if we already did a PIC compilation.
  659       command="$command$suppress_output"
  660       $run $rm "$output_obj"
  661       $show "$command"
  662       if $run eval "$command"; then :
  663       else
  664     $run $rm $removelist
  665     exit 1
  666       fi
  667 
  668       if test "$need_locks" = warn &&
  669      test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
  670     echo "\
  671 *** ERROR, $lockfile contains:
  672 `cat $lockfile 2>/dev/null`
  673 
  674 but it should contain:
  675 $srcfile
  676 
  677 This indicates that another process is trying to use the same
  678 temporary object file, and libtool could not work around it because
  679 your compiler does not support \`-c' and \`-o' together.  If you
  680 repeat this compilation, it may succeed, by chance, but you had better
  681 avoid parallel builds (make -j) in this platform, or get a better
  682 compiler."
  683 
  684     $run $rm $removelist
  685     exit 1
  686       fi
  687 
  688       # Just move the object if needed
  689       if test x"$output_obj" != x"$obj"; then
  690     $show "$mv $output_obj $obj"
  691     if $run $mv $output_obj $obj; then :
  692     else
  693       error=$?
  694       $run $rm $removelist
  695       exit $error
  696     fi
  697       fi
  698 
  699       # Create an invalid libtool object if no PIC, so that we do not
  700       # accidentally link it into a program.
  701       if test "$build_libtool_libs" != yes; then
  702     $show "echo timestamp > $libobj"
  703     $run eval "echo timestamp > \$libobj" || exit $?
  704       else
  705     # Move the .lo from within objdir
  706     $show "$mv $libobj $lo_libobj"
  707     if $run $mv $libobj $lo_libobj; then :
  708     else
  709       error=$?
  710       $run $rm $removelist
  711       exit $error
  712     fi
  713       fi
  714     fi
  715 
  716     # Unlock the critical section if it was locked
  717     if test "$need_locks" != no; then
  718       $run $rm "$lockfile"
  719     fi
  720 
  721     exit 0
  722     ;;
  723 
  724   # libtool link mode
  725   link | relink)
  726     modename="$modename: link"
  727     case $host in
  728     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
  729       # It is impossible to link a dll without this setting, and
  730       # we shouldn't force the makefile maintainer to figure out
  731       # which system we are compiling for in order to pass an extra
  732       # flag for every libtool invokation.
  733       # allow_undefined=no
  734 
  735       # FIXME: Unfortunately, there are problems with the above when trying
  736       # to make a dll which has undefined symbols, in which case not
  737       # even a static library is built.  For now, we need to specify
  738       # -no-undefined on the libtool link line when we can be certain
  739       # that all symbols are satisfied, otherwise we get a static library.
  740       allow_undefined=yes
  741       ;;
  742     *)
  743       allow_undefined=yes
  744       ;;
  745     esac
  746     libtool_args="$nonopt"
  747     compile_command="$nonopt"
  748     finalize_command="$nonopt"
  749 
  750     compile_rpath=
  751     finalize_rpath=
  752     compile_shlibpath=
  753     finalize_shlibpath=
  754     convenience=
  755     old_convenience=
  756     deplibs=
  757     old_deplibs=
  758     compiler_flags=
  759     linker_flags=
  760     dllsearchpath=
  761     lib_search_path=`pwd`
  762 
  763     avoid_version=no
  764     dlfiles=
  765     dlprefiles=
  766     dlself=no
  767     export_dynamic=no
  768     export_symbols=
  769     export_symbols_regex=
  770     generated=
  771     libobjs=
  772     ltlibs=
  773     module=no
  774     no_install=no
  775     objs=
  776     prefer_static_libs=no
  777     preload=no
  778     prev=
  779     prevarg=
  780     release=
  781     rpath=
  782     xrpath=
  783     perm_rpath=
  784     temp_rpath=
  785     thread_safe=no
  786     vinfo=
  787 
  788     # We need to know -static, to get the right output filenames.
  789     for arg
  790     do
  791       case $arg in
  792       -all-static | -static)
  793     if test "X$arg" = "X-all-static"; then
  794       if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
  795         $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
  796       fi
  797       if test -n "$link_static_flag"; then
  798         dlopen_self=$dlopen_self_static
  799       fi
  800     else
  801       if test -z "$pic_flag" && test -n "$link_static_flag"; then
  802         dlopen_self=$dlopen_self_static
  803       fi
  804     fi
  805     build_libtool_libs=no
  806     build_old_libs=yes
  807     prefer_static_libs=yes
  808     break
  809     ;;
  810       esac
  811     done
  812 
  813     # See if our shared archives depend on static archives.
  814     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
  815 
  816     # Go through the arguments, transforming them on the way.
  817     while test $# -gt 0; do
  818       arg="$1"
  819       shift
  820       case $arg in
  821       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
  822     qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
  823     ;;
  824       *) qarg=$arg ;;
  825       esac
  826       libtool_args="$libtool_args $qarg"
  827 
  828       # If the previous option needs an argument, assign it.
  829       if test -n "$prev"; then
  830     case $prev in
  831     output)
  832       compile_command="$compile_command @OUTPUT@"
  833       finalize_command="$finalize_command @OUTPUT@"
  834       ;;
  835     esac
  836 
  837     case $prev in
  838     dlfiles|dlprefiles)
  839       if test "$preload" = no; then
  840         # Add the symbol object into the linking commands.
  841         compile_command="$compile_command @SYMFILE@"
  842         finalize_command="$finalize_command @SYMFILE@"
  843         preload=yes
  844       fi
  845       case $arg in
  846       *.la | *.lo) ;;  # We handle these cases below.
  847       force)
  848         if test "$dlself" = no; then
  849           dlself=needless
  850           export_dynamic=yes
  851         fi
  852         prev=
  853         continue
  854         ;;
  855       self)
  856         if test "$prev" = dlprefiles; then
  857           dlself=yes
  858         elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
  859           dlself=yes
  860         else
  861           dlself=needless
  862           export_dynamic=yes
  863         fi
  864         prev=
  865         continue
  866         ;;
  867       *)
  868         if test "$prev" = dlfiles; then
  869           dlfiles="$dlfiles $arg"
  870         else
  871           dlprefiles="$dlprefiles $arg"
  872         fi
  873         prev=
  874         continue
  875         ;;
  876       esac
  877       ;;
  878     expsyms)
  879       export_symbols="$arg"
  880       if test ! -f "$arg"; then
  881         $echo "$modename: symbol file \`$arg' does not exist"
  882         exit 1
  883       fi
  884       prev=
  885       continue
  886       ;;
  887     expsyms_regex)
  888       export_symbols_regex="$arg"
  889       prev=
  890       continue
  891       ;;
  892     release)
  893       release="-$arg"
  894       prev=
  895       continue
  896       ;;
  897     rpath | xrpath)
  898       # We need an absolute path.
  899       case $arg in
  900       [\\/]* | [A-Za-z]:[\\/]*) ;;
  901       *)
  902         $echo "$modename: only absolute run-paths are allowed" 1>&2
  903         exit 1
  904         ;;
  905       esac
  906       if test "$prev" = rpath; then
  907         case "$rpath " in
  908         *" $arg "*) ;;
  909         *) rpath="$rpath $arg" ;;
  910         esac
  911       else
  912         case "$xrpath " in
  913         *" $arg "*) ;;
  914         *) xrpath="$xrpath $arg" ;;
  915         esac
  916       fi
  917       prev=
  918       continue
  919       ;;
  920     xcompiler)
  921       compiler_flags="$compiler_flags $qarg"
  922       prev=
  923       compile_command="$compile_command $qarg"
  924       finalize_command="$finalize_command $qarg"
  925       continue
  926       ;;
  927     xlinker)
  928       linker_flags="$linker_flags $qarg"
  929       compiler_flags="$compiler_flags $wl$qarg"
  930       prev=
  931       compile_command="$compile_command $wl$qarg"
  932       finalize_command="$finalize_command $wl$qarg"
  933       continue
  934       ;;
  935     *)
  936       eval "$prev=\"\$arg\""
  937       prev=
  938       continue
  939       ;;
  940     esac
  941       fi # test -n $prev
  942 
  943       prevarg="$arg"
  944 
  945       case $arg in
  946       -all-static)
  947     if test -n "$link_static_flag"; then
  948       compile_command="$compile_command $link_static_flag"
  949       finalize_command="$finalize_command $link_static_flag"
  950     fi
  951     continue
  952     ;;
  953 
  954       -allow-undefined)
  955     # FIXME: remove this flag sometime in the future.
  956     $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
  957     continue
  958     ;;
  959 
  960       -avoid-version)
  961     avoid_version=yes
  962     continue
  963     ;;
  964 
  965       -dlopen)
  966     prev=dlfiles
  967     continue
  968     ;;
  969 
  970       -dlpreopen)
  971     prev=dlprefiles
  972     continue
  973     ;;
  974 
  975       -export-dynamic)
  976     export_dynamic=yes
  977     continue
  978     ;;
  979 
  980       -export-symbols | -export-symbols-regex)
  981     if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
  982       $echo "$modename: more than one -exported-symbols argument is not allowed"
  983       exit 1
  984     fi
  985     if test "X$arg" = "X-export-symbols"; then
  986       prev=expsyms
  987     else
  988       prev=expsyms_regex
  989     fi
  990     continue
  991     ;;
  992 
  993       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
  994       # so, if we see these flags be careful not to treat them like -L
  995       -L[A-Z][A-Z]*:*)
  996     case $with_gcc/$host in
  997     no/*-*-irix* | no/*-*-nonstopux*)
  998       compile_command="$compile_command $arg"
  999       finalize_command="$finalize_command $arg"
 1000       ;;
 1001     esac
 1002     continue
 1003     ;;
 1004 
 1005       -L*)
 1006     dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
 1007     # We need an absolute path.
 1008     case $dir in
 1009     [\\/]* | [A-Za-z]:[\\/]*) ;;
 1010     *)
 1011       absdir=`cd "$dir" && pwd`
 1012       if test -z "$absdir"; then
 1013         $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
 1014         exit 1
 1015       fi
 1016       dir="$absdir"
 1017       ;;
 1018     esac
 1019     case "$deplibs " in
 1020     *" -L$dir "*) ;;
 1021     *)
 1022       deplibs="$deplibs -L$dir"
 1023       lib_search_path="$lib_search_path $dir"
 1024       ;;
 1025     esac
 1026     case $host in
 1027     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 1028       case :$dllsearchpath: in
 1029       *":$dir:"*) ;;
 1030       *) dllsearchpath="$dllsearchpath:$dir";;
 1031       esac
 1032       ;;
 1033     esac
 1034     continue
 1035     ;;
 1036 
 1037       -l*)
 1038     if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
 1039       case $host in
 1040       *-*-cygwin* | *-*-pw32* | *-*-beos*)
 1041         # These systems don't actually have a C or math library (as such)
 1042         continue
 1043         ;;
 1044       *-*-mingw* | *-*-os2*)
 1045         # These systems don't actually have a C library (as such)
 1046         test "X$arg" = "X-lc" && continue
 1047         ;;
 1048       *-*-openbsd* | *-*-freebsd*)
 1049         # Do not include libc due to us having libc/libc_r.
 1050         test "X$arg" = "X-lc" && continue
 1051         ;;
 1052       esac
 1053      elif test "X$arg" = "X-lc_r"; then
 1054       case $host in
 1055      *-*-openbsd* | *-*-freebsd*)
 1056         # Do not include libc_r directly, use -pthread flag.
 1057         continue
 1058         ;;
 1059       esac
 1060     fi
 1061     deplibs="$deplibs $arg"
 1062     continue
 1063     ;;
 1064 
 1065       -module)
 1066     module=yes
 1067     continue
 1068     ;;
 1069 
 1070       -no-fast-install)
 1071     fast_install=no
 1072     continue
 1073     ;;
 1074 
 1075       -no-install)
 1076     case $host in
 1077     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 1078       # The PATH hackery in wrapper scripts is required on Windows
 1079       # in order for the loader to find any dlls it needs.
 1080       $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
 1081       $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
 1082       fast_install=no
 1083       ;;
 1084     *) no_install=yes ;;
 1085     esac
 1086     continue
 1087     ;;
 1088 
 1089       -no-undefined)
 1090     allow_undefined=no
 1091     continue
 1092     ;;
 1093 
 1094       -o) prev=output ;;
 1095 
 1096       -release)
 1097     prev=release
 1098     continue
 1099     ;;
 1100 
 1101       -rpath)
 1102     prev=rpath
 1103     continue
 1104     ;;
 1105 
 1106       -R)
 1107     prev=xrpath
 1108     continue
 1109     ;;
 1110 
 1111       -R*)
 1112     dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
 1113     # We need an absolute path.
 1114     case $dir in
 1115     [\\/]* | [A-Za-z]:[\\/]*) ;;
 1116     *)
 1117       $echo "$modename: only absolute run-paths are allowed" 1>&2
 1118       exit 1
 1119       ;;
 1120     esac
 1121     case "$xrpath " in
 1122     *" $dir "*) ;;
 1123     *) xrpath="$xrpath $dir" ;;
 1124     esac
 1125     continue
 1126     ;;
 1127 
 1128       -static)
 1129     # The effects of -static are defined in a previous loop.
 1130     # We used to do the same as -all-static on platforms that
 1131     # didn't have a PIC flag, but the assumption that the effects
 1132     # would be equivalent was wrong.  It would break on at least
 1133     # Digital Unix and AIX.
 1134     continue
 1135     ;;
 1136 
 1137       -thread-safe)
 1138     thread_safe=yes
 1139     continue
 1140     ;;
 1141 
 1142       -version-info)
 1143     prev=vinfo
 1144     continue
 1145     ;;
 1146 
 1147       -Wc,*)
 1148     args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
 1149     arg=
 1150     save_ifs="$IFS"; IFS=','
 1151     for flag in $args; do
 1152       IFS="$save_ifs"
 1153       case $flag in
 1154         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
 1155         flag="\"$flag\""
 1156         ;;
 1157       esac
 1158       arg="$arg $wl$flag"
 1159       compiler_flags="$compiler_flags $flag"
 1160     done
 1161     IFS="$save_ifs"
 1162     arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
 1163     ;;
 1164 
 1165       -Wl,*)
 1166     args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
 1167     arg=
 1168     save_ifs="$IFS"; IFS=','
 1169     for flag in $args; do
 1170       IFS="$save_ifs"
 1171       case $flag in
 1172         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
 1173         flag="\"$flag\""
 1174         ;;
 1175       esac
 1176       arg="$arg $wl$flag"
 1177       compiler_flags="$compiler_flags $wl$flag"
 1178       linker_flags="$linker_flags $flag"
 1179     done
 1180     IFS="$save_ifs"
 1181     arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
 1182     ;;
 1183 
 1184       -Xcompiler)
 1185     prev=xcompiler
 1186     continue
 1187     ;;
 1188 
 1189       -Xlinker)
 1190     prev=xlinker
 1191     continue
 1192     ;;
 1193 
 1194       # Some other compiler flag.
 1195       -* | +*)
 1196     # Unknown arguments in both finalize_command and compile_command need
 1197     # to be aesthetically quoted because they are evaled later.
 1198     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 1199     case $arg in
 1200     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
 1201       arg="\"$arg\""
 1202       ;;
 1203     esac
 1204     ;;
 1205 
 1206       *.lo | *.$objext)
 1207     # A library or standard object.
 1208     if test "$prev" = dlfiles; then
 1209       # This file was specified with -dlopen.
 1210       if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
 1211         dlfiles="$dlfiles $arg"
 1212         prev=
 1213         continue
 1214       else
 1215         # If libtool objects are unsupported, then we need to preload.
 1216         prev=dlprefiles
 1217       fi
 1218     fi
 1219 
 1220     if test "$prev" = dlprefiles; then
 1221       # Preload the old-style object.
 1222       dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
 1223       prev=
 1224     else
 1225       case $arg in
 1226       *.lo) libobjs="$libobjs $arg" ;;
 1227       *) objs="$objs $arg" ;;
 1228       esac
 1229     fi
 1230     ;;
 1231 
 1232       *.$libext)
 1233     # An archive.
 1234     deplibs="$deplibs $arg"
 1235     old_deplibs="$old_deplibs $arg"
 1236     continue
 1237     ;;
 1238 
 1239       *.la)
 1240     # A libtool-controlled library.
 1241 
 1242     if test "$prev" = dlfiles; then
 1243       # This library was specified with -dlopen.
 1244       dlfiles="$dlfiles $arg"
 1245       prev=
 1246     elif test "$prev" = dlprefiles; then
 1247       # The library was specified with -dlpreopen.
 1248       dlprefiles="$dlprefiles $arg"
 1249       prev=
 1250     else
 1251       deplibs="$deplibs $arg"
 1252     fi
 1253     continue
 1254     ;;
 1255 
 1256       # Some other compiler argument.
 1257       *)
 1258     # Unknown arguments in both finalize_command and compile_command need
 1259     # to be aesthetically quoted because they are evaled later.
 1260     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 1261     case $arg in
 1262     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
 1263       arg="\"$arg\""
 1264       ;;
 1265     esac
 1266     ;;
 1267       esac # arg
 1268 
 1269       # Now actually substitute the argument into the commands.
 1270       if test -n "$arg"; then
 1271     compile_command="$compile_command $arg"
 1272     finalize_command="$finalize_command $arg"
 1273       fi
 1274     done # argument parsing loop
 1275 
 1276     if test -n "$prev"; then
 1277       $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
 1278       $echo "$help" 1>&2
 1279       exit 1
 1280     fi
 1281 
 1282     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
 1283       eval arg=\"$export_dynamic_flag_spec\"
 1284       compile_command="$compile_command $arg"
 1285       finalize_command="$finalize_command $arg"
 1286     fi
 1287 
 1288     # calculate the name of the file, without its directory
 1289     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
 1290     libobjs_save="$libobjs"
 1291 
 1292     if test -n "$shlibpath_var"; then
 1293       # get the directories listed in $shlibpath_var
 1294       eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
 1295     else
 1296       shlib_search_path=
 1297     fi
 1298     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
 1299     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 1300 
 1301     output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
 1302     if test "X$output_objdir" = "X$output"; then
 1303       output_objdir="$objdir"
 1304     else
 1305       output_objdir="$output_objdir/$objdir"
 1306     fi
 1307     # Create the object directory.
 1308     if test ! -d $output_objdir; then
 1309       $show "$mkdir $output_objdir"
 1310       $run $mkdir $output_objdir
 1311       status=$?
 1312       if test $status -ne 0 && test ! -d $output_objdir; then
 1313     exit $status
 1314       fi
 1315     fi
 1316 
 1317     # Determine the type of output
 1318     case $output in
 1319     "")
 1320       $echo "$modename: you must specify an output file" 1>&2
 1321       $echo "$help" 1>&2
 1322       exit 1
 1323       ;;
 1324     *.$libext) linkmode=oldlib ;;
 1325     *.lo | *.$objext) linkmode=obj ;;
 1326     *.la) linkmode=lib ;;
 1327     *) linkmode=prog ;; # Anything else should be a program.
 1328     esac
 1329 
 1330     specialdeplibs=
 1331     libs=
 1332     # Find all interdependent deplibs by searching for libraries
 1333     # that are linked more than once (e.g. -la -lb -la)
 1334     for deplib in $deplibs; do
 1335       if test "X$duplicate_deps" = "Xyes" ; then
 1336     case "$libs " in
 1337     *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1338     esac
 1339       fi
 1340       libs="$libs $deplib"
 1341     done
 1342     deplibs=
 1343     newdependency_libs=
 1344     newlib_search_path=
 1345     need_relink=no # whether we're linking any uninstalled libtool libraries
 1346     notinst_deplibs= # not-installed libtool libraries
 1347     notinst_path= # paths that contain not-installed libtool libraries
 1348     case $linkmode in
 1349     lib)
 1350     passes="conv link"
 1351     for file in $dlfiles $dlprefiles; do
 1352       case $file in
 1353       *.la) ;;
 1354       *)
 1355         $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
 1356         exit 1
 1357         ;;
 1358       esac
 1359     done
 1360     ;;
 1361     prog)
 1362     compile_deplibs=
 1363     finalize_deplibs=
 1364     alldeplibs=no
 1365     newdlfiles=
 1366     newdlprefiles=
 1367     passes="conv scan dlopen dlpreopen link"
 1368     ;;
 1369     *)  passes="conv"
 1370     ;;
 1371     esac
 1372     for pass in $passes; do
 1373       if test $linkmode = prog; then
 1374     # Determine which files to process
 1375     case $pass in
 1376     dlopen)
 1377       libs="$dlfiles"
 1378       save_deplibs="$deplibs" # Collect dlpreopened libraries
 1379       deplibs=
 1380       ;;
 1381     dlpreopen) libs="$dlprefiles" ;;
 1382     link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
 1383     esac
 1384       fi
 1385       for deplib in $libs; do
 1386     lib=
 1387     found=no
 1388     case $deplib in
 1389     -l*)
 1390       if test $linkmode = oldlib && test $linkmode = obj; then
 1391         $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2
 1392         continue
 1393       fi
 1394       if test $pass = conv; then
 1395         deplibs="$deplib $deplibs"
 1396         continue
 1397       fi
 1398       name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
 1399       for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
 1400         # Search the libtool library
 1401         lib="$searchdir/lib${name}.la"
 1402         if test -f "$lib"; then
 1403           found=yes
 1404           break
 1405         fi
 1406       done
 1407       if test "$found" != yes; then
 1408         # deplib doesn't seem to be a libtool library
 1409         if test "$linkmode,$pass" = "prog,link"; then
 1410           compile_deplibs="$deplib $compile_deplibs"
 1411           finalize_deplibs="$deplib $finalize_deplibs"
 1412         else
 1413           deplibs="$deplib $deplibs"
 1414           test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
 1415         fi
 1416         continue
 1417       fi
 1418       ;; # -l
 1419     -L*)
 1420       case $linkmode in
 1421       lib)
 1422         deplibs="$deplib $deplibs"
 1423         test $pass = conv && continue
 1424         newdependency_libs="$deplib $newdependency_libs"
 1425         newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
 1426         ;;
 1427       prog)
 1428         if test $pass = conv; then
 1429           deplibs="$deplib $deplibs"
 1430           continue
 1431         fi
 1432         if test $pass = scan; then
 1433           deplibs="$deplib $deplibs"
 1434           newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
 1435         else
 1436           compile_deplibs="$deplib $compile_deplibs"
 1437           finalize_deplibs="$deplib $finalize_deplibs"
 1438         fi
 1439         ;;
 1440       *)
 1441         $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2
 1442         ;;
 1443       esac # linkmode
 1444       continue
 1445       ;; # -L
 1446     -R*)
 1447       if test $pass = link; then
 1448         dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
 1449         # Make sure the xrpath contains only unique directories.
 1450         case "$xrpath " in
 1451         *" $dir "*) ;;
 1452         *) xrpath="$xrpath $dir" ;;
 1453         esac
 1454       fi
 1455       deplibs="$deplib $deplibs"
 1456       continue
 1457       ;;
 1458     *.la) lib="$deplib" ;;
 1459     *.$libext)
 1460       if test $pass = conv; then
 1461         deplibs="$deplib $deplibs"
 1462         continue
 1463       fi
 1464       case $linkmode in
 1465       lib)
 1466         if test "$deplibs_check_method" != pass_all; then
 1467           echo
 1468           echo "*** Warning: Trying to link with static lib archive $deplib."
 1469           echo "*** I have the capability to make that library automatically link in when"
 1470           echo "*** you link to this library.  But I can only do this if you have a"
 1471           echo "*** shared version of the library, which you do not appear to have"
 1472           echo "*** because the file extensions .$libext of this argument makes me believe"
 1473           echo "*** that it is just a static archive that I should not used here."
 1474         else
 1475           echo
 1476           echo "*** Warning: Linking the shared library $output against the"
 1477           echo "*** static library $deplib is not portable!"
 1478           deplibs="$deplib $deplibs"
 1479         fi
 1480         continue
 1481         ;;
 1482       prog)
 1483         if test $pass != link; then
 1484           deplibs="$deplib $deplibs"
 1485         else
 1486           compile_deplibs="$deplib $compile_deplibs"
 1487           finalize_deplibs="$deplib $finalize_deplibs"
 1488         fi
 1489         continue
 1490         ;;
 1491       esac # linkmode
 1492       ;; # *.$libext
 1493     *.lo | *.$objext)
 1494       if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 1495         # If there is no dlopen support or we're linking statically,
 1496         # we need to preload.
 1497         newdlprefiles="$newdlprefiles $deplib"
 1498         compile_deplibs="$deplib $compile_deplibs"
 1499         finalize_deplibs="$deplib $finalize_deplibs"
 1500       else
 1501         newdlfiles="$newdlfiles $deplib"
 1502       fi
 1503       continue
 1504       ;;
 1505     %DEPLIBS%)
 1506       alldeplibs=yes
 1507       continue
 1508       ;;
 1509     esac # case $deplib
 1510     if test $found = yes || test -f "$lib"; then :
 1511     else
 1512       $echo "$modename: cannot find the library \`$lib'" 1>&2
 1513       exit 1
 1514     fi
 1515 
 1516     # Check to see that this really is a libtool archive.
 1517     if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 1518     else
 1519       $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 1520       exit 1
 1521     fi
 1522 
 1523     ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
 1524     test "X$ladir" = "X$lib" && ladir="."
 1525 
 1526     dlname=
 1527     dlopen=
 1528     dlpreopen=
 1529     libdir=
 1530     library_names=
 1531     old_library=
 1532     # If the library was installed with an old release of libtool,
 1533     # it will not redefine variable installed.
 1534     installed=yes
 1535 
 1536     # Read the .la file
 1537     case $lib in
 1538     */* | *\\*) . $lib ;;
 1539     *) . ./$lib ;;
 1540     esac
 1541 
 1542     if test "$linkmode,$pass" = "lib,link" ||
 1543        test "$linkmode,$pass" = "prog,scan" ||
 1544        { test $linkmode = oldlib && test $linkmode = obj; }; then
 1545        # Add dl[pre]opened files of deplib
 1546       test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
 1547       test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
 1548     fi
 1549 
 1550     if test $pass = conv; then
 1551       # Only check for convenience libraries
 1552       deplibs="$lib $deplibs"
 1553       if test -z "$libdir"; then
 1554         if test -z "$old_library"; then
 1555           $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
 1556           exit 1
 1557         fi
 1558         # It is a libtool convenience library, so add in its objects.
 1559         convenience="$convenience $ladir/$objdir/$old_library"
 1560         old_convenience="$old_convenience $ladir/$objdir/$old_library"
 1561         tmp_libs=
 1562         for deplib in $dependency_libs; do
 1563           deplibs="$deplib $deplibs"
 1564               if test "X$duplicate_deps" = "Xyes" ; then
 1565             case "$tmp_libs " in
 1566             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1567             esac
 1568               fi
 1569           tmp_libs="$tmp_libs $deplib"
 1570         done
 1571       elif test $linkmode != prog && test $linkmode != lib; then
 1572         $echo "$modename: \`$lib' is not a convenience library" 1>&2
 1573         exit 1
 1574       fi
 1575       continue
 1576     fi # $pass = conv
 1577 
 1578     # Get the name of the library we link against.
 1579     linklib=
 1580     for l in $old_library $library_names; do
 1581       linklib="$l"
 1582     done
 1583     if test -z "$linklib"; then
 1584       $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
 1585       exit 1
 1586     fi
 1587 
 1588     # This library was specified with -dlopen.
 1589     if test $pass = dlopen; then
 1590       if test -z "$libdir"; then
 1591         $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
 1592         exit 1
 1593       fi
 1594       if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 1595         # If there is no dlname, no dlopen support or we're linking
 1596         # statically, we need to preload.
 1597         dlprefiles="$dlprefiles $lib"
 1598       else
 1599         newdlfiles="$newdlfiles $lib"
 1600       fi
 1601       continue
 1602     fi # $pass = dlopen
 1603 
 1604     # We need an absolute path.
 1605     case $ladir in
 1606     [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
 1607     *)
 1608       abs_ladir=`cd "$ladir" && pwd`
 1609       if test -z "$abs_ladir"; then
 1610         $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
 1611         $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
 1612         abs_ladir="$ladir"
 1613       fi
 1614       ;;
 1615     esac
 1616     laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
 1617 
 1618     # Find the relevant object directory and library name.
 1619     if test "X$installed" = Xyes; then
 1620       if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
 1621         $echo "$modename: warning: library \`$lib' was moved." 1>&2
 1622         dir="$ladir"
 1623         absdir="$abs_ladir"
 1624         libdir="$abs_ladir"
 1625       else
 1626         dir="$libdir"
 1627         absdir="$libdir"
 1628       fi
 1629     else
 1630       dir="$ladir/$objdir"
 1631       absdir="$abs_ladir/$objdir"
 1632       # Remove this search path later
 1633       notinst_path="$notinst_path $abs_ladir"
 1634     fi # $installed = yes
 1635     name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 1636 
 1637     # This library was specified with -dlpreopen.
 1638     if test $pass = dlpreopen; then
 1639       if test -z "$libdir"; then
 1640         $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
 1641         exit 1
 1642       fi
 1643       # Prefer using a static library (so that no silly _DYNAMIC symbols
 1644       # are required to link).
 1645       if test -n "$old_library"; then
 1646         newdlprefiles="$newdlprefiles $dir/$old_library"
 1647       # Otherwise, use the dlname, so that lt_dlopen finds it.
 1648       elif test -n "$dlname"; then
 1649         newdlprefiles="$newdlprefiles $dir/$dlname"
 1650       else
 1651         newdlprefiles="$newdlprefiles $dir/$linklib"
 1652       fi
 1653     fi # $pass = dlpreopen
 1654 
 1655     if test -z "$libdir"; then
 1656       # Link the convenience library
 1657       if test $linkmode = lib; then
 1658         deplibs="$dir/$old_library $deplibs"
 1659       elif test "$linkmode,$pass" = "prog,link"; then
 1660         compile_deplibs="$dir/$old_library $compile_deplibs"
 1661         finalize_deplibs="$dir/$old_library $finalize_deplibs"
 1662       else
 1663         deplibs="$lib $deplibs"
 1664       fi
 1665       continue
 1666     fi
 1667 
 1668     if test $linkmode = prog && test $pass != link; then
 1669       newlib_search_path="$newlib_search_path $ladir"
 1670       deplibs="$lib $deplibs"
 1671 
 1672       linkalldeplibs=no
 1673       if test "$link_all_deplibs" != no || test -z "$library_names" ||
 1674          test "$build_libtool_libs" = no; then
 1675         linkalldeplibs=yes
 1676       fi
 1677 
 1678       tmp_libs=
 1679       for deplib in $dependency_libs; do
 1680         case $deplib in
 1681         -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
 1682         esac
 1683         # Need to link against all dependency_libs?
 1684         if test $linkalldeplibs = yes; then
 1685           deplibs="$deplib $deplibs"
 1686         else
 1687           # Need to hardcode shared library paths
 1688           # or/and link against static libraries
 1689           newdependency_libs="$deplib $newdependency_libs"
 1690         fi
 1691         if test "X$duplicate_deps" = "Xyes" ; then
 1692           case "$tmp_libs " in
 1693           *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1694           esac
 1695         fi
 1696         tmp_libs="$tmp_libs $deplib"
 1697       done # for deplib
 1698       continue
 1699     fi # $linkmode = prog...
 1700 
 1701     link_static=no # Whether the deplib will be linked statically
 1702     if test -n "$library_names" &&
 1703        { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
 1704       # Link against this shared library
 1705 
 1706       if test "$linkmode,$pass" = "prog,link" ||
 1707        { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
 1708         # Hardcode the library path.
 1709         # Skip directories that are in the system default run-time
 1710         # search path.
 1711         case " $sys_lib_dlsearch_path " in
 1712         *" $absdir "*) ;;
 1713         *)
 1714           case "$compile_rpath " in
 1715           *" $absdir "*) ;;
 1716           *) compile_rpath="$compile_rpath $absdir"
 1717           esac
 1718           ;;
 1719         esac
 1720         case " $sys_lib_dlsearch_path " in
 1721         *" $libdir "*) ;;
 1722         *)
 1723           case "$finalize_rpath " in
 1724           *" $libdir "*) ;;
 1725           *) finalize_rpath="$finalize_rpath $libdir"
 1726           esac
 1727           ;;
 1728         esac
 1729         if test $linkmode = prog; then
 1730           # We need to hardcode the library path
 1731           if test -n "$shlibpath_var"; then
 1732         # Make sure the rpath contains only unique directories.
 1733         case "$temp_rpath " in
 1734         *" $dir "*) ;;
 1735         *" $absdir "*) ;;
 1736         *) temp_rpath="$temp_rpath $dir" ;;
 1737         esac
 1738           fi
 1739         fi
 1740       fi # $linkmode,$pass = prog,link...
 1741 
 1742       if test "$alldeplibs" = yes &&
 1743          { test "$deplibs_check_method" = pass_all ||
 1744            { test "$build_libtool_libs" = yes &&
 1745          test -n "$library_names"; }; }; then
 1746         # We only need to search for static libraries
 1747         continue
 1748       fi
 1749 
 1750       if test "$installed" = no; then
 1751         notinst_deplibs="$notinst_deplibs $lib"
 1752         need_relink=yes
 1753       fi
 1754 
 1755       if test -n "$old_archive_from_expsyms_cmds"; then
 1756         # figure out the soname
 1757         set dummy $library_names
 1758         realname="$2"
 1759         shift; shift
 1760         libname=`eval \\$echo \"$libname_spec\"`
 1761         # use dlname if we got it. it's perfectly good, no?
 1762         if test -n "$dlname"; then
 1763           soname="$dlname"
 1764         elif test -n "$soname_spec"; then
 1765           # bleh windows
 1766           case $host in
 1767           *cygwin*)
 1768         major=`expr $current - $age`
 1769         versuffix="-$major"
 1770         ;;
 1771           esac
 1772           eval soname=\"$soname_spec\"
 1773         else
 1774           soname="$realname"
 1775         fi
 1776 
 1777         # Make a new name for the extract_expsyms_cmds to use
 1778         soroot="$soname"
 1779         soname=`echo $soroot | sed -e 's/^.*\///'`
 1780         newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a"
 1781 
 1782         # If the library has no export list, then create one now
 1783         if test -f "$output_objdir/$soname-def"; then :
 1784         else
 1785           $show "extracting exported symbol list from \`$soname'"
 1786           save_ifs="$IFS"; IFS='~'
 1787           eval cmds=\"$extract_expsyms_cmds\"
 1788           for cmd in $cmds; do
 1789         IFS="$save_ifs"
 1790         $show "$cmd"
 1791         $run eval "$cmd" || exit $?
 1792           done
 1793           IFS="$save_ifs"
 1794         fi
 1795 
 1796         # Create $newlib
 1797         if test -f "$output_objdir/$newlib"; then :; else
 1798           $show "generating import library for \`$soname'"
 1799           save_ifs="$IFS"; IFS='~'
 1800           eval cmds=\"$old_archive_from_expsyms_cmds\"
 1801           for cmd in $cmds; do
 1802         IFS="$save_ifs"
 1803         $show "$cmd"
 1804         $run eval "$cmd" || exit $?
 1805           done
 1806           IFS="$save_ifs"
 1807         fi
 1808         # make sure the library variables are pointing to the new library
 1809         dir=$output_objdir
 1810         linklib=$newlib
 1811       fi # test -n $old_archive_from_expsyms_cmds
 1812 
 1813       if test $linkmode = prog || test "$mode" != relink; then
 1814         add_shlibpath=
 1815         add_dir=
 1816         add=
 1817         lib_linked=yes
 1818         case $hardcode_action in
 1819         immediate | unsupported)
 1820           if test "$hardcode_direct" = no; then
 1821         add="$dir/$linklib"
 1822           elif test "$hardcode_minus_L" = no; then
 1823         case $host in
 1824         *-*-sunos*) add_shlibpath="$dir" ;;
 1825         esac
 1826         add_dir="-L$dir"
 1827         add="-l$name"
 1828           elif test "$hardcode_shlibpath_var" = no; then
 1829         add_shlibpath="$dir"
 1830         add="-l$name"
 1831           else
 1832         lib_linked=no
 1833           fi
 1834           ;;
 1835         relink)
 1836           if test "$hardcode_direct" = yes; then
 1837         add="$dir/$linklib"
 1838           elif test "$hardcode_minus_L" = yes; then
 1839         add_dir="-L$dir"
 1840         add="-l$name"
 1841           elif test "$hardcode_shlibpath_var" = yes; then
 1842         add_shlibpath="$dir"
 1843         add="-l$name"
 1844           else
 1845         lib_linked=no
 1846           fi
 1847           ;;
 1848         *) lib_linked=no ;;
 1849         esac
 1850 
 1851         if test "$lib_linked" != yes; then
 1852           $echo "$modename: configuration error: unsupported hardcode properties"
 1853           exit 1
 1854         fi
 1855 
 1856         if test -n "$add_shlibpath"; then
 1857           case :$compile_shlibpath: in
 1858           *":$add_shlibpath:"*) ;;
 1859           *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
 1860           esac
 1861         fi
 1862         if test $linkmode = prog; then
 1863           test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
 1864           test -n "$add" && compile_deplibs="$add $compile_deplibs"
 1865         else
 1866           test -n "$add_dir" && deplibs="$add_dir $deplibs"
 1867           test -n "$add" && deplibs="$add $deplibs"
 1868           if test "$hardcode_direct" != yes && \
 1869          test "$hardcode_minus_L" != yes && \
 1870          test "$hardcode_shlibpath_var" = yes; then
 1871         case :$finalize_shlibpath: in
 1872         *":$libdir:"*) ;;
 1873         *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
 1874         esac
 1875           fi
 1876         fi
 1877       fi
 1878 
 1879       if test $linkmode = prog || test "$mode" = relink; then
 1880         add_shlibpath=
 1881         add_dir=
 1882         add=
 1883         # Finalize command for both is simple: just hardcode it.
 1884         if test "$hardcode_direct" = yes; then
 1885           add="$libdir/$linklib"
 1886         elif test "$hardcode_minus_L" = yes; then
 1887           add_dir="-L$libdir"
 1888           add="-l$name"
 1889         elif test "$hardcode_shlibpath_var" = yes; then
 1890           case :$finalize_shlibpath: in
 1891           *":$libdir:"*) ;;
 1892           *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
 1893           esac
 1894           add="-l$name"
 1895         else
 1896           # We cannot seem to hardcode it, guess we'll fake it.
 1897           add_dir="-L$libdir"
 1898           add="-l$name"
 1899         fi
 1900 
 1901         if test $linkmode = prog; then
 1902           test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
 1903           test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
 1904         else
 1905           test -n "$add_dir" && deplibs="$add_dir $deplibs"
 1906           test -n "$add" && deplibs="$add $deplibs"
 1907         fi
 1908       fi
 1909     elif test $linkmode = prog; then
 1910       if test "$alldeplibs" = yes &&
 1911          { test "$deplibs_check_method" = pass_all ||
 1912            { test "$build_libtool_libs" = yes &&
 1913          test -n "$library_names"; }; }; then
 1914         # We only need to search for static libraries
 1915         continue
 1916       fi
 1917 
 1918       # Try to link the static library
 1919       # Here we assume that one of hardcode_direct or hardcode_minus_L
 1920       # is not unsupported.  This is valid on all known static and
 1921       # shared platforms.
 1922       if test "$hardcode_direct" != unsupported; then
 1923         test -n "$old_library" && linklib="$old_library"
 1924         compile_deplibs="$dir/$linklib $compile_deplibs"
 1925         finalize_deplibs="$dir/$linklib $finalize_deplibs"
 1926       else
 1927         compile_deplibs="-l$name -L$dir $compile_deplibs"
 1928         finalize_deplibs="-l$name -L$dir $finalize_deplibs"
 1929       fi
 1930     elif test "$build_libtool_libs" = yes; then
 1931       # Not a shared library
 1932       if test "$deplibs_check_method" != pass_all; then
 1933         # We're trying link a shared library against a static one
 1934         # but the system doesn't support it.
 1935 
 1936         # Just print a warning and add the library to dependency_libs so
 1937         # that the program can be linked against the static library.
 1938         echo
 1939         echo "*** Warning: This system can not link to static lib archive $lib."
 1940         echo "*** I have the capability to make that library automatically link in when"
 1941         echo "*** you link to this library.  But I can only do this if you have a"
 1942         echo "*** shared version of the library, which you do not appear to have."
 1943         if test "$module" = yes; then
 1944           echo "*** But as you try to build a module library, libtool will still create "
 1945           echo "*** a static module, that should work as long as the dlopening application"
 1946           echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
 1947           if test -z "$global_symbol_pipe"; then
 1948         echo
 1949         echo "*** However, this would only work if libtool was able to extract symbol"
 1950         echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
 1951         echo "*** not find such a program.  So, this module is probably useless."
 1952         echo "*** \`nm' from GNU binutils and a full rebuild may help."
 1953           fi
 1954           if test "$build_old_libs" = no; then
 1955         build_libtool_libs=module
 1956         build_old_libs=yes
 1957           else
 1958         build_libtool_libs=no
 1959           fi
 1960         fi
 1961       else
 1962         convenience="$convenience $dir/$old_library"
 1963         old_convenience="$old_convenience $dir/$old_library"
 1964         deplibs="$dir/$old_library $deplibs"
 1965         link_static=yes
 1966       fi
 1967     fi # link shared/static library?
 1968 
 1969     if test $linkmode = lib; then
 1970       if test -n "$dependency_libs" &&
 1971          { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
 1972            test $link_static = yes; }; then
 1973         # Extract -R from dependency_libs
 1974         temp_deplibs=
 1975         for libdir in $dependency_libs; do
 1976           case $libdir in
 1977           -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
 1978            case " $xrpath " in
 1979            *" $temp_xrpath "*) ;;
 1980            *) xrpath="$xrpath $temp_xrpath";;
 1981            esac;;
 1982           *) temp_deplibs="$temp_deplibs $libdir";;
 1983           esac
 1984         done
 1985         dependency_libs="$temp_deplibs"
 1986       fi
 1987 
 1988       newlib_search_path="$newlib_search_path $absdir"
 1989       # Link against this library
 1990       test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
 1991       # ... and its dependency_libs
 1992       tmp_libs=
 1993       for deplib in $dependency_libs; do
 1994         newdependency_libs="$deplib $newdependency_libs"
 1995         if test "X$duplicate_deps" = "Xyes" ; then
 1996           case "$tmp_libs " in
 1997           *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 1998           esac
 1999         fi
 2000         tmp_libs="$tmp_libs $deplib"
 2001       done
 2002 
 2003       if test $link_all_deplibs != no; then
 2004         # Add the search paths of all dependency libraries
 2005         for deplib in $dependency_libs; do
 2006           case $deplib in
 2007           -L*) path="$deplib" ;;
 2008           *.la)
 2009         dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
 2010         test "X$dir" = "X$deplib" && dir="."
 2011         # We need an absolute path.
 2012         case $dir in
 2013         [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
 2014         *)
 2015           absdir=`cd "$dir" && pwd`
 2016           if test -z "$absdir"; then
 2017             $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
 2018             absdir="$dir"
 2019           fi
 2020           ;;
 2021         esac
 2022         if grep "^installed=no" $deplib > /dev/null; then
 2023           path="-L$absdir/$objdir"
 2024         else
 2025           eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 2026           if test -z "$libdir"; then
 2027             $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
 2028             exit 1
 2029           fi
 2030           if test "$absdir" != "$libdir"; then
 2031             $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
 2032           fi
 2033           path="-L$absdir"
 2034         fi
 2035         ;;
 2036           *) continue ;;
 2037           esac
 2038           case " $deplibs " in
 2039           *" $path "*) ;;
 2040           *) deplibs="$deplibs $path" ;;
 2041           esac
 2042         done
 2043       fi # link_all_deplibs != no
 2044     fi # linkmode = lib
 2045       done # for deplib in $libs
 2046       if test $pass = dlpreopen; then
 2047     # Link the dlpreopened libraries before other libraries
 2048     for deplib in $save_deplibs; do
 2049       deplibs="$deplib $deplibs"
 2050     done
 2051       fi
 2052       if test $pass != dlopen; then
 2053     test $pass != scan && dependency_libs="$newdependency_libs"
 2054     if test $pass != conv; then
 2055       # Make sure lib_search_path contains only unique directories.
 2056       lib_search_path=
 2057       for dir in $newlib_search_path; do
 2058         case "$lib_search_path " in
 2059         *" $dir "*) ;;
 2060         *) lib_search_path="$lib_search_path $dir" ;;
 2061         esac
 2062       done
 2063       newlib_search_path=
 2064     fi
 2065 
 2066     if test "$linkmode,$pass" != "prog,link"; then
 2067       vars="deplibs"
 2068     else
 2069       vars="compile_deplibs finalize_deplibs"
 2070     fi
 2071     for var in $vars dependency_libs; do
 2072       # Add libraries to $var in reverse order
 2073       eval tmp_libs=\"\$$var\"
 2074       new_libs=
 2075       for deplib in $tmp_libs; do
 2076         case $deplib in
 2077         -L*) new_libs="$deplib $new_libs" ;;
 2078         *)
 2079           case " $specialdeplibs " in
 2080           *" $deplib "*) new_libs="$deplib $new_libs" ;;
 2081           *)
 2082         case " $new_libs " in
 2083         *" $deplib "*) ;;
 2084         *) new_libs="$deplib $new_libs" ;;
 2085         esac
 2086         ;;
 2087           esac
 2088           ;;
 2089         esac
 2090       done
 2091       tmp_libs=
 2092       for deplib in $new_libs; do
 2093         case $deplib in
 2094         -L*)
 2095           case " $tmp_libs " in
 2096           *" $deplib "*) ;;
 2097           *) tmp_libs="$tmp_libs $deplib" ;;
 2098           esac
 2099           ;;
 2100         *) tmp_libs="$tmp_libs $deplib" ;;
 2101         esac
 2102       done
 2103       eval $var=\"$tmp_libs\"
 2104     done # for var
 2105       fi
 2106       if test "$pass" = "conv" &&
 2107        { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then
 2108     libs="$deplibs" # reset libs
 2109     deplibs=
 2110       fi
 2111     done # for pass
 2112     if test $linkmode = prog; then
 2113       dlfiles="$newdlfiles"
 2114       dlprefiles="$newdlprefiles"
 2115     fi
 2116 
 2117     case $linkmode in
 2118     oldlib)
 2119       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 2120     $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
 2121       fi
 2122 
 2123       if test -n "$rpath"; then
 2124     $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
 2125       fi
 2126 
 2127       if test -n "$xrpath"; then
 2128     $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
 2129       fi
 2130 
 2131       if test -n "$vinfo"; then
 2132     $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
 2133       fi
 2134 
 2135       if test -n "$release"; then
 2136     $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
 2137       fi
 2138 
 2139       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
 2140     $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
 2141       fi
 2142 
 2143       # Now set the variables for building old libraries.
 2144       build_libtool_libs=no
 2145       oldlibs="$output"
 2146       objs="$objs$old_deplibs"
 2147       ;;
 2148 
 2149     lib)
 2150       # Make sure we only generate libraries of the form `libNAME.la'.
 2151       case $outputname in
 2152       lib*)
 2153     name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 2154     eval libname=\"$libname_spec\"
 2155     ;;
 2156       *)
 2157     if test "$module" = no; then
 2158       $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
 2159       $echo "$help" 1>&2
 2160       exit 1
 2161     fi
 2162     if test "$need_lib_prefix" != no; then
 2163       # Add the "lib" prefix for modules if required
 2164       name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
 2165       eval libname=\"$libname_spec\"
 2166     else
 2167       libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
 2168     fi
 2169     ;;
 2170       esac
 2171 
 2172       if test -n "$objs"; then
 2173     if test "$deplibs_check_method" != pass_all; then
 2174       $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
 2175       exit 1
 2176     else
 2177       echo
 2178       echo "*** Warning: Linking the shared library $output against the non-libtool"
 2179       echo "*** objects $objs is not portable!"
 2180       libobjs="$libobjs $objs"
 2181     fi
 2182       fi
 2183 
 2184       if test "$dlself" != no; then
 2185     $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
 2186       fi
 2187 
 2188       set dummy $rpath
 2189       if test $# -gt 2; then
 2190     $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
 2191       fi
 2192       install_libdir="$2"
 2193 
 2194       oldlibs=
 2195       if test -z "$rpath"; then
 2196     if test "$build_libtool_libs" = yes; then
 2197       # Building a libtool convenience library.
 2198       libext=al
 2199       oldlibs="$output_objdir/$libname.$libext $oldlibs"
 2200       build_libtool_libs=convenience
 2201       build_old_libs=yes
 2202     fi
 2203 
 2204     if test -n "$vinfo"; then
 2205       $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
 2206     fi
 2207 
 2208     if test -n "$release"; then
 2209       $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
 2210     fi
 2211       else
 2212 
 2213     # Parse the version information argument.
 2214     save_ifs="$IFS"; IFS=':'
 2215     set dummy $vinfo 0 0 0
 2216     IFS="$save_ifs"
 2217 
 2218     if test -n "$8"; then
 2219       $echo "$modename: too many parameters to \`-version-info'" 1>&2
 2220       $echo "$help" 1>&2
 2221       exit 1
 2222     fi
 2223 
 2224     current="$2"
 2225     revision="$3"
 2226     age="$4"
 2227 
 2228     # Check that each of the things are valid numbers.
 2229     case $current in
 2230     0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
 2231     *)
 2232       $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
 2233       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 2234       exit 1
 2235       ;;
 2236     esac
 2237 
 2238     case $revision in
 2239     0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
 2240     *)
 2241       $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
 2242       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 2243       exit 1
 2244       ;;
 2245     esac
 2246 
 2247     case $age in
 2248     0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
 2249     *)
 2250       $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
 2251       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 2252       exit 1
 2253       ;;
 2254     esac
 2255 
 2256     if test $age -gt $current; then
 2257       $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
 2258       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 2259       exit 1
 2260     fi
 2261 
 2262     # Calculate the version variables.
 2263     major=
 2264     versuffix=
 2265     verstring=
 2266     case $version_type in
 2267     none) ;;
 2268 
 2269     darwin)
 2270       # Like Linux, but with the current version available in
 2271       # verstring for coding it into the library header
 2272       major=.`expr $current - $age`
 2273       versuffix="$major.$age.$revision"
 2274       # Darwin ld doesn't like 0 for these options...
 2275       minor_current=`expr $current + 1`
 2276       verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
 2277       ;;
 2278 
 2279     freebsd-aout)
 2280       major=".$current"
 2281       versuffix=".$current.$revision";
 2282       ;;
 2283 
 2284     freebsd-elf)
 2285       major=".$current"
 2286       versuffix=".$current";
 2287       ;;
 2288 
 2289     irix | nonstopux)
 2290       case $version_type in
 2291         nonstopux) verstring_prefix=nonstopux ;;
 2292         *)         verstring_prefix=sgi ;;
 2293       esac
 2294       verstring="$verstring_prefix$major.$revision"
 2295 
 2296       major=`expr $current - $age + 1`
 2297 
 2298       # Add in all the interfaces that we are compatible with.
 2299       loop=$revision
 2300       while test $loop != 0; do
 2301         iface=`expr $revision - $loop`
 2302         loop=`expr $loop - 1`
 2303         verstring="$verstring_prefix$major.$iface:$verstring"
 2304       done
 2305 
 2306       # Before this point, $major must not contain `.'.
 2307       major=.$major
 2308       versuffix="$major.$revision"
 2309       ;;
 2310 
 2311     linux)
 2312       major=.`expr $current - $age`
 2313       versuffix="$major.$age.$revision"
 2314       ;;
 2315 
 2316     osf)
 2317       major=`expr $current - $age`
 2318       versuffix=".$current.$age.$revision"
 2319       verstring="$current.$age.$revision"
 2320 
 2321       # Add in all the interfaces that we are compatible with.
 2322       loop=$age
 2323       while test $loop != 0; do
 2324         iface=`expr $current - $loop`
 2325         loop=`expr $loop - 1`
 2326         verstring="$verstring:${iface}.0"
 2327       done
 2328 
 2329       # Make executables depend on our current version.
 2330       verstring="$verstring:${current}.0"
 2331       ;;
 2332 
 2333     sunos)
 2334       major=".$current"
 2335       versuffix=".$current.$revision"
 2336       ;;
 2337 
 2338     windows)
 2339       # Use '-' rather than '.', since we only want one
 2340       # extension on DOS 8.3 filesystems.
 2341       major=`expr $current - $age`
 2342       versuffix="-$major"
 2343       ;;
 2344 
 2345     *)
 2346       $echo "$modename: unknown library version type \`$version_type'" 1>&2
 2347       echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
 2348       exit 1
 2349       ;;
 2350     esac
 2351 
 2352     # Clear the version info if we defaulted, and they specified a release.
 2353     if test -z "$vinfo" && test -n "$release"; then
 2354       major=
 2355       verstring="0.0"
 2356       case $version_type in
 2357       darwin)
 2358         # we can't check for "0.0" in archive_cmds due to quoting
 2359         # problems, so we reset it completely
 2360         verstring=""
 2361         ;;
 2362       *)
 2363         verstring="0.0"
 2364         ;;
 2365       esac
 2366       if test "$need_version" = no; then
 2367         versuffix=
 2368       else
 2369         versuffix=".0.0"
 2370       fi
 2371     fi
 2372 
 2373     # Remove version info from name if versioning should be avoided
 2374     if test "$avoid_version" = yes && test "$need_version" = no; then
 2375       major=
 2376       versuffix=
 2377       verstring=""
 2378     fi
 2379 
 2380     # Check to see if the archive will have undefined symbols.
 2381     if test "$allow_undefined" = yes; then
 2382       if test "$allow_undefined_flag" = unsupported; then
 2383         $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
 2384         build_libtool_libs=no
 2385         build_old_libs=yes
 2386       fi
 2387     else
 2388       # Don't allow undefined symbols.
 2389       allow_undefined_flag="$no_undefined_flag"
 2390     fi
 2391       fi
 2392 
 2393       if test "$mode" != relink; then
 2394     # Remove our outputs.
 2395     $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
 2396     $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
 2397       fi
 2398 
 2399       # Now set the variables for building old libraries.
 2400       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
 2401     oldlibs="$oldlibs $output_objdir/$libname.$libext"
 2402 
 2403     # Transform .lo files to .o files.
 2404     oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
 2405       fi
 2406 
 2407       # Eliminate all temporary directories.
 2408       for path in $notinst_path; do
 2409     lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'`
 2410     deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'`
 2411     dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'`
 2412       done
 2413 
 2414       if test -n "$xrpath"; then
 2415     # If the user specified any rpath flags, then add them.
 2416     temp_xrpath=
 2417     for libdir in $xrpath; do
 2418       temp_xrpath="$temp_xrpath -R$libdir"
 2419       case "$finalize_rpath " in
 2420       *" $libdir "*) ;;
 2421       *) finalize_rpath="$finalize_rpath $libdir" ;;
 2422       esac
 2423     done
 2424     if test $hardcode_into_libs != yes || test $build_old_libs = yes; then
 2425       dependency_libs="$temp_xrpath $dependency_libs"
 2426     fi
 2427       fi
 2428 
 2429       # Make sure dlfiles contains only unique files that won't be dlpreopened
 2430       old_dlfiles="$dlfiles"
 2431       dlfiles=
 2432       for lib in $old_dlfiles; do
 2433     case " $dlprefiles $dlfiles " in
 2434     *" $lib "*) ;;
 2435     *) dlfiles="$dlfiles $lib" ;;
 2436     esac
 2437       done
 2438 
 2439       # Make sure dlprefiles contains only unique files
 2440       old_dlprefiles="$dlprefiles"
 2441       dlprefiles=
 2442       for lib in $old_dlprefiles; do
 2443     case "$dlprefiles " in
 2444     *" $lib "*) ;;
 2445     *) dlprefiles="$dlprefiles $lib" ;;
 2446     esac
 2447       done
 2448 
 2449       if test "$build_libtool_libs" = yes; then
 2450     if test -n "$rpath"; then
 2451       case $host in
 2452       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
 2453         # these systems don't actually have a c library (as such)!
 2454         ;;
 2455       *-*-rhapsody* | *-*-darwin1.[012])
 2456         # Rhapsody C library is in the System framework
 2457         deplibs="$deplibs -framework System"
 2458         ;;
 2459       *-*-netbsd*)
 2460         # Don't link with libc until the a.out ld.so is fixed.
 2461         ;;
 2462       *-*-openbsd* | *-*-freebsd*)
 2463         # Do not include libc due to us having libc/libc_r.
 2464         ;;
 2465       *)
 2466         # Add libc to deplibs on all other systems if necessary.
 2467         if test $build_libtool_need_lc = "yes"; then
 2468           deplibs="$deplibs -lc"
 2469         fi
 2470         ;;
 2471       esac
 2472     fi
 2473 
 2474     # Transform deplibs into only deplibs that can be linked in shared.
 2475     name_save=$name
 2476     libname_save=$libname
 2477     release_save=$release
 2478     versuffix_save=$versuffix
 2479     major_save=$major
 2480     # I'm not sure if I'm treating the release correctly.  I think
 2481     # release should show up in the -l (ie -lgmp5) so we don't want to
 2482     # add it in twice.  Is that correct?
 2483     release=""
 2484     versuffix=""
 2485     major=""
 2486     newdeplibs=
 2487     droppeddeps=no
 2488     case $deplibs_check_method in
 2489     pass_all)
 2490       # Don't check for shared/static.  Everything works.
 2491       # This might be a little naive.  We might want to check
 2492       # whether the library exists or not.  But this is on
 2493       # osf3 & osf4 and I'm not really sure... Just
 2494       # implementing what was already the behaviour.
 2495       newdeplibs=$deplibs
 2496       ;;
 2497     test_compile)
 2498       # This code stresses the "libraries are programs" paradigm to its
 2499       # limits. Maybe even breaks it.  We compile a program, linking it
 2500       # against the deplibs as a proxy for the library.  Then we can check
 2501       # whether they linked in statically or dynamically with ldd.
 2502       $rm conftest.c
 2503       cat > conftest.c <<EOF
 2504       int main() { return 0; }
 2505 EOF
 2506       $rm conftest
 2507       $CC -o conftest conftest.c $deplibs
 2508       if test $? -eq 0 ; then
 2509         ldd_output=`ldd conftest`
 2510         for i in $deplibs; do
 2511           name="`expr $i : '-l\(.*\)'`"
 2512           # If $name is empty we are operating on a -L argument.
 2513           if test -n "$name" && test "$name" != "0"; then
 2514         libname=`eval \\$echo \"$libname_spec\"`
 2515         deplib_matches=`eval \\$echo \"$library_names_spec\"`
 2516         set dummy $deplib_matches
 2517         deplib_match=$2
 2518         if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 2519           newdeplibs="$newdeplibs $i"
 2520         else
 2521           droppeddeps=yes
 2522           echo
 2523           echo "*** Warning: dynamic linker does not accept needed library $i."
 2524           echo "*** I have the capability to make that library automatically link in when"
 2525           echo "*** you link to this library.  But I can only do this if you have a"
 2526           echo "*** shared version of the library, which I believe you do not have"
 2527           echo "*** because a test_compile did reveal that the linker did not use it for"
 2528           echo "*** its dynamic dependency list that programs get resolved with at runtime."
 2529         fi
 2530           else
 2531         newdeplibs="$newdeplibs $i"
 2532           fi
 2533         done
 2534       else
 2535         # Error occured in the first compile.  Let's try to salvage
 2536         # the situation: Compile a separate program for each library.
 2537         for i in $deplibs; do
 2538           name="`expr $i : '-l\(.*\)'`"
 2539          # If $name is empty we are operating on a -L argument.
 2540           if test -n "$name" && test "$name" != "0"; then
 2541         $rm conftest
 2542         $CC -o conftest conftest.c $i
 2543         # Did it work?
 2544         if test $? -eq 0 ; then
 2545           ldd_output=`ldd conftest`
 2546           libname=`eval \\$echo \"$libname_spec\"`
 2547           deplib_matches=`eval \\$echo \"$library_names_spec\"`
 2548           set dummy $deplib_matches
 2549           deplib_match=$2
 2550           if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 2551             newdeplibs="$newdeplibs $i"
 2552           else
 2553             droppeddeps=yes
 2554             echo
 2555             echo "*** Warning: dynamic linker does not accept needed library $i."
 2556             echo "*** I have the capability to make that library automatically link in when"
 2557             echo "*** you link to this library.  But I can only do this if you have a"
 2558             echo "*** shared version of the library, which you do not appear to have"
 2559             echo "*** because a test_compile did reveal that the linker did not use this one"
 2560             echo "*** as a dynamic dependency that programs can get resolved with at runtime."
 2561           fi
 2562         else
 2563           droppeddeps=yes
 2564           echo
 2565           echo "*** Warning!  Library $i is needed by this library but I was not able to"
 2566           echo "***  make it link in!  You will probably need to install it or some"
 2567           echo "*** library that it depends on before this library will be fully"
 2568           echo "*** functional.  Installing it before continuing would be even better."
 2569         fi
 2570           else
 2571         newdeplibs="$newdeplibs $i"
 2572           fi
 2573         done
 2574       fi
 2575       ;;
 2576     file_magic*)
 2577       set dummy $deplibs_check_method
 2578       file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
 2579       for a_deplib in $deplibs; do
 2580         name="`expr $a_deplib : '-l\(.*\)'`"
 2581         # If $name is empty we are operating on a -L argument.
 2582         if test -n "$name" && test "$name" != "0"; then
 2583           libname=`eval \\$echo \"$libname_spec\"`
 2584           for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 2585             potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 2586             for potent_lib in $potential_libs; do
 2587               # Follow soft links.
 2588               if ls -lLd "$potent_lib" 2>/dev/null \
 2589              | grep " -> " >/dev/null; then
 2590             continue
 2591               fi
 2592               # The statement above tries to avoid entering an
 2593               # endless loop below, in case of cyclic links.
 2594               # We might still enter an endless loop, since a link
 2595               # loop can be closed while we follow links,
 2596               # but so what?
 2597               potlib="$potent_lib"
 2598               while test -h "$potlib" 2>/dev/null; do
 2599             potliblink=`ls -ld $potlib | sed 's/.* -> //'`
 2600             case $potliblink in
 2601             [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
 2602             *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
 2603             esac
 2604               done
 2605               if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
 2606              | sed 10q \
 2607              | egrep "$file_magic_regex" > /dev/null; then
 2608             newdeplibs="$newdeplibs $a_deplib"
 2609             a_deplib=""
 2610             break 2
 2611               fi
 2612             done
 2613           done
 2614           if test -n "$a_deplib" ; then
 2615         droppeddeps=yes
 2616         echo
 2617         echo "*** Warning: linker path does not have real file for library $a_deplib."
 2618         echo "*** I have the capability to make that library automatically link in when"
 2619         echo "*** you link to this library.  But I can only do this if you have a"
 2620         echo "*** shared version of the library, which you do not appear to have"
 2621         echo "*** because I did check the linker path looking for a file starting"
 2622         if test -z "$potlib" ; then
 2623           echo "*** with $libname but no candidates were found. (...for file magic test)"
 2624         else
 2625           echo "*** with $libname and none of the candidates passed a file format test"
 2626           echo "*** using a file magic. Last file checked: $potlib"
 2627         fi
 2628           fi
 2629         else
 2630           # Add a -L argument.
 2631           newdeplibs="$newdeplibs $a_deplib"
 2632         fi
 2633       done # Gone through all deplibs.
 2634       ;;
 2635     match_pattern*)
 2636       set dummy $deplibs_check_method
 2637       match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
 2638       for a_deplib in $deplibs; do
 2639         name="`expr $a_deplib : '-l\(.*\)'`"
 2640         # If $name is empty we are operating on a -L argument.
 2641         if test -n "$name" && test "$name" != "0"; then
 2642           libname=`eval \\$echo \"$libname_spec\"`
 2643           for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 2644         potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 2645         for potent_lib in $potential_libs; do
 2646           potlib="$potent_lib" # see symlink-check below in file_magic test
 2647           if eval echo \"$potent_lib\" 2>/dev/null \
 2648               | sed 10q \
 2649               | egrep "$match_pattern_regex" > /dev/null; then
 2650             newdeplibs="$newdeplibs $a_deplib"
 2651             a_deplib=""
 2652             break 2
 2653           fi
 2654         done
 2655           done
 2656           if test -n "$a_deplib" ; then
 2657         droppeddeps=yes
 2658         echo
 2659         echo "*** Warning: linker path does not have real file for library $a_deplib."
 2660         echo "*** I have the capability to make that library automatically link in when"
 2661         echo "*** you link to this library.  But I can only do this if you have a"
 2662         echo "*** shared version of the library, which you do not appear to have"
 2663         echo "*** because I did check the linker path looking for a file starting"
 2664         if test -z "$potlib" ; then
 2665           echo "*** with $libname but no candidates were found. (...for regex pattern test)"
 2666         else
 2667           echo "*** with $libname and none of the candidates passed a file format test"
 2668           echo "*** using a regex pattern. Last file checked: $potlib"
 2669         fi
 2670           fi
 2671         else
 2672           # Add a -L argument.
 2673           newdeplibs="$newdeplibs $a_deplib"
 2674         fi
 2675       done # Gone through all deplibs.
 2676       ;;
 2677     none | unknown | *)
 2678       newdeplibs=""
 2679       if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
 2680            -e 's/ -[LR][^ ]*//g' -e 's/[    ]//g' |
 2681          grep . >/dev/null; then
 2682         echo
 2683         if test "X$deplibs_check_method" = "Xnone"; then
 2684           echo "*** Warning: inter-library dependencies are not supported in this platform."
 2685         else
 2686           echo "*** Warning: inter-library dependencies are not known to be supported."
 2687         fi
 2688         echo "*** All declared inter-library dependencies are being dropped."
 2689         droppeddeps=yes
 2690       fi
 2691       ;;
 2692     esac
 2693     versuffix=$versuffix_save
 2694     major=$major_save
 2695     release=$release_save
 2696     libname=$libname_save
 2697     name=$name_save
 2698 
 2699     case $host in
 2700     *-*-rhapsody* | *-*-darwin1.[012])
 2701       # On Rhapsody replace the C library is the System framework
 2702       newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
 2703       ;;
 2704     esac
 2705 
 2706     if test "$droppeddeps" = yes; then
 2707       if test "$module" = yes; then
 2708         echo
 2709         echo "*** Warning: libtool could not satisfy all declared inter-library"
 2710         echo "*** dependencies of module $libname.  Therefore, libtool will create"
 2711         echo "*** a static module, that should work as long as the dlopening"
 2712         echo "*** application is linked with the -dlopen flag."
 2713         if test -z "$global_symbol_pipe"; then
 2714           echo
 2715           echo "*** However, this would only work if libtool was able to extract symbol"
 2716           echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
 2717           echo "*** not find such a program.  So, this module is probably useless."
 2718           echo "*** \`nm' from GNU binutils and a full rebuild may help."
 2719         fi
 2720         if test "$build_old_libs" = no; then
 2721           oldlibs="$output_objdir/$libname.$libext"
 2722           build_libtool_libs=module
 2723           build_old_libs=yes
 2724         else
 2725           build_libtool_libs=no
 2726         fi
 2727       else
 2728         echo "*** The inter-library dependencies that have been dropped here will be"
 2729         echo "*** automatically added whenever a program is linked with this library"
 2730         echo "*** or is declared to -dlopen it."
 2731 
 2732         if test $allow_undefined = no; then
 2733           echo
 2734           echo "*** Since this library must not contain undefined symbols,"
 2735           echo "*** because either the platform does not support them or"
 2736           echo "*** it was explicitly requested with -no-undefined,"
 2737           echo "*** libtool will only create a static version of it."
 2738           if test "$build_old_libs" = no; then
 2739         oldlibs="$output_objdir/$libname.$libext"
 2740         build_libtool_libs=module
 2741         build_old_libs=yes
 2742           else
 2743         build_libtool_libs=no
 2744           fi
 2745         fi
 2746       fi
 2747     fi
 2748     # Done checking deplibs!
 2749     deplibs=$newdeplibs
 2750       fi
 2751 
 2752       # All the library-specific variables (install_libdir is set above).
 2753       library_names=
 2754       old_library=
 2755       dlname=
 2756 
 2757       # Test again, we may have decided not to build it any more
 2758       if test "$build_libtool_libs" = yes; then
 2759     if test $hardcode_into_libs = yes; then
 2760       # Hardcode the library paths
 2761       hardcode_libdirs=
 2762       dep_rpath=
 2763       rpath="$finalize_rpath"
 2764       test "$mode" != relink && rpath="$compile_rpath$rpath"
 2765       for libdir in $rpath; do
 2766         if test -n "$hardcode_libdir_flag_spec"; then
 2767           if test -n "$hardcode_libdir_separator"; then
 2768         if test -z "$hardcode_libdirs"; then
 2769           hardcode_libdirs="$libdir"
 2770         else
 2771           # Just accumulate the unique libdirs.
 2772           case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 2773           *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 2774             ;;
 2775           *)
 2776             hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 2777             ;;
 2778           esac
 2779         fi
 2780           else
 2781         eval flag=\"$hardcode_libdir_flag_spec\"
 2782         dep_rpath="$dep_rpath $flag"
 2783           fi
 2784         elif test -n "$runpath_var"; then
 2785           case "$perm_rpath " in
 2786           *" $libdir "*) ;;
 2787           *) perm_rpath="$perm_rpath $libdir" ;;
 2788           esac
 2789         fi
 2790       done
 2791       # Substitute the hardcoded libdirs into the rpath.
 2792       if test -n "$hardcode_libdir_separator" &&
 2793          test -n "$hardcode_libdirs"; then
 2794         libdir="$hardcode_libdirs"
 2795         eval dep_rpath=\"$hardcode_libdir_flag_spec\"
 2796       fi
 2797       if test -n "$runpath_var" && test -n "$perm_rpath"; then
 2798         # We should set the runpath_var.
 2799         rpath=
 2800         for dir in $perm_rpath; do
 2801           rpath="$rpath$dir:"
 2802         done
 2803         eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
 2804       fi
 2805       test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
 2806     fi
 2807 
 2808     shlibpath="$finalize_shlibpath"
 2809     test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
 2810     if test -n "$shlibpath"; then
 2811       eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
 2812     fi
 2813 
 2814     # Get the real and link names of the library.
 2815     eval library_names=\"$library_names_spec\"
 2816     set dummy $library_names
 2817     realname="$2"
 2818     shift; shift
 2819 
 2820     if test -n "$soname_spec"; then
 2821       eval soname=\"$soname_spec\"
 2822     else
 2823       soname="$realname"
 2824     fi
 2825     test -z "$dlname" && dlname=$soname
 2826 
 2827     lib="$output_objdir/$realname"
 2828     for link
 2829     do
 2830       linknames="$linknames $link"
 2831     done
 2832 
 2833     # Ensure that we have .o objects for linkers which dislike .lo
 2834     # (e.g. aix) in case we are running --disable-static
 2835     for obj in $libobjs; do
 2836       xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
 2837       if test "X$xdir" = "X$obj"; then
 2838         xdir="."
 2839       else
 2840         xdir="$xdir"
 2841       fi
 2842       baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
 2843       oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
 2844       if test ! -f $xdir/$oldobj; then
 2845         $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
 2846         $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
 2847       fi
 2848     done
 2849 
 2850     # Use standard objects if they are pic
 2851     test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 2852 
 2853     # Prepare the list of exported symbols
 2854     if test -z "$export_symbols"; then
 2855       if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
 2856         $show "generating symbol list for \`$libname.la'"
 2857         export_symbols="$output_objdir/$libname.exp"
 2858         $run $rm $export_symbols
 2859         eval cmds=\"$export_symbols_cmds\"
 2860         save_ifs="$IFS"; IFS='~'
 2861         for cmd in $cmds; do
 2862           IFS="$save_ifs"
 2863           $show "$cmd"
 2864           $run eval "$cmd" || exit $?
 2865         done
 2866         IFS="$save_ifs"
 2867         if test -n "$export_symbols_regex"; then
 2868           $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
 2869           $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
 2870           $show "$mv \"${export_symbols}T\" \"$export_symbols\""
 2871           $run eval '$mv "${export_symbols}T" "$export_symbols"'
 2872         fi
 2873       fi
 2874     fi
 2875 
 2876     if test -n "$export_symbols" && test -n "$include_expsyms"; then
 2877       $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
 2878     fi
 2879 
 2880     if test -n "$convenience"; then
 2881       if test -n "$whole_archive_flag_spec"; then
 2882         eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
 2883       else
 2884         gentop="$output_objdir/${outputname}x"
 2885         $show "${rm}r $gentop"
 2886         $run ${rm}r "$gentop"
 2887         $show "mkdir $gentop"
 2888         $run mkdir "$gentop"
 2889         status=$?
 2890         if test $status -ne 0 && test ! -d "$gentop"; then
 2891           exit $status
 2892         fi
 2893         generated="$generated $gentop"
 2894 
 2895         for xlib in $convenience; do
 2896           # Extract the objects.
 2897           case $xlib in
 2898           [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
 2899           *) xabs=`pwd`"/$xlib" ;;
 2900           esac
 2901           xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
 2902           xdir="$gentop/$xlib"
 2903 
 2904           $show "${rm}r $xdir"
 2905           $run ${rm}r "$xdir"
 2906           $show "mkdir $xdir"
 2907           $run mkdir "$xdir"
 2908           status=$?
 2909           if test $status -ne 0 && test ! -d "$xdir"; then
 2910         exit $status
 2911           fi
 2912           $show "(cd $xdir && $AR x $xabs)"
 2913           $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
 2914 
 2915           libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
 2916         done
 2917       fi
 2918     fi
 2919 
 2920     if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
 2921       eval flag=\"$thread_safe_flag_spec\"
 2922       linker_flags="$linker_flags $flag"
 2923     fi
 2924 
 2925     # Make a backup of the uninstalled library when relinking
 2926     if test "$mode" = relink; then
 2927       $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
 2928     fi
 2929 
 2930     # Do each of the archive commands.
 2931     if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 2932       eval cmds=\"$archive_expsym_cmds\"
 2933     else
 2934       eval cmds=\"$archive_cmds\"
 2935     fi
 2936     save_ifs="$IFS"; IFS='~'
 2937     for cmd in $cmds; do
 2938       IFS="$save_ifs"
 2939       $show "$cmd"
 2940       $run eval "$cmd" || exit $?
 2941     done
 2942     IFS="$save_ifs"
 2943 
 2944     # Restore the uninstalled library and exit
 2945     if test "$mode" = relink; then
 2946       $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
 2947       exit 0
 2948     fi
 2949 
 2950     # Create links to the real library.
 2951     for linkname in $linknames; do
 2952       if test "$realname" != "$linkname"; then
 2953         $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
 2954         $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
 2955       fi
 2956     done
 2957 
 2958     # If -module or -export-dynamic was specified, set the dlname.
 2959     if test "$module" = yes || test "$export_dynamic" = yes; then
 2960       # On all known operating systems, these are identical.
 2961       dlname="$soname"
 2962     fi
 2963       fi
 2964       ;;
 2965 
 2966     obj)
 2967       if test -n "$deplibs"; then
 2968     $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
 2969       fi
 2970 
 2971       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 2972     $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
 2973       fi
 2974 
 2975       if test -n "$rpath"; then
 2976     $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
 2977       fi
 2978 
 2979       if test -n "$xrpath"; then
 2980     $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
 2981       fi
 2982 
 2983       if test -n "$vinfo"; then
 2984     $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
 2985       fi
 2986 
 2987       if test -n "$release"; then
 2988     $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
 2989       fi
 2990 
 2991       case $output in
 2992       *.lo)
 2993     if test -n "$objs$old_deplibs"; then
 2994       $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
 2995       exit 1
 2996     fi
 2997     libobj="$output"
 2998     obj=`$echo "X$output" | $Xsed -e "$lo2o"`
 2999     ;;
 3000       *)
 3001     libobj=
 3002     obj="$output"
 3003     ;;
 3004       esac
 3005 
 3006       # Delete the old objects.
 3007       $run $rm $obj $libobj
 3008 
 3009       # Objects from convenience libraries.  This assumes
 3010       # single-version convenience libraries.  Whenever we create
 3011       # different ones for PIC/non-PIC, this we'll have to duplicate
 3012       # the extraction.
 3013       reload_conv_objs=
 3014       gentop=
 3015       # reload_cmds runs $LD directly, so let us get rid of
 3016       # -Wl from whole_archive_flag_spec
 3017       wl=
 3018 
 3019       if test -n "$convenience"; then
 3020     if test -n "$whole_archive_flag_spec"; then
 3021       eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
 3022     else
 3023       gentop="$output_objdir/${obj}x"
 3024       $show "${rm}r $gentop"
 3025       $run ${rm}r "$gentop"
 3026       $show "mkdir $gentop"
 3027       $run mkdir "$gentop"
 3028       status=$?
 3029       if test $status -ne 0 && test ! -d "$gentop"; then
 3030         exit $status
 3031       fi
 3032       generated="$generated $gentop"
 3033 
 3034       for xlib in $convenience; do
 3035         # Extract the objects.
 3036         case $xlib in
 3037         [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
 3038         *) xabs=`pwd`"/$xlib" ;;
 3039         esac
 3040         xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
 3041         xdir="$gentop/$xlib"
 3042 
 3043         $show "${rm}r $xdir"
 3044         $run ${rm}r "$xdir"
 3045         $show "mkdir $xdir"
 3046         $run mkdir "$xdir"
 3047         status=$?
 3048         if test $status -ne 0 && test ! -d "$xdir"; then
 3049           exit $status
 3050         fi
 3051         $show "(cd $xdir && $AR x $xabs)"
 3052         $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
 3053 
 3054         reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
 3055       done
 3056     fi
 3057       fi
 3058 
 3059       # Create the old-style object.
 3060       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
 3061 
 3062       output="$obj"
 3063       eval cmds=\"$reload_cmds\"
 3064       save_ifs="$IFS"; IFS='~'
 3065       for cmd in $cmds; do
 3066     IFS="$save_ifs"
 3067     $show "$cmd"
 3068     $run eval "$cmd" || exit $?
 3069       done
 3070       IFS="$save_ifs"
 3071 
 3072       # Exit if we aren't doing a library object file.
 3073       if test -z "$libobj"; then
 3074     if test -n "$gentop"; then
 3075       $show "${rm}r $gentop"
 3076       $run ${rm}r $gentop
 3077     fi
 3078 
 3079     exit 0
 3080       fi
 3081 
 3082       if test "$build_libtool_libs" != yes; then
 3083     if test -n "$gentop"; then
 3084       $show "${rm}r $gentop"
 3085       $run ${rm}r $gentop
 3086     fi
 3087 
 3088     # Create an invalid libtool object if no PIC, so that we don't
 3089     # accidentally link it into a program.
 3090     $show "echo timestamp > $libobj"
 3091     $run eval "echo timestamp > $libobj" || exit $?
 3092     exit 0
 3093       fi
 3094 
 3095       if test -n "$pic_flag" || test "$pic_mode" != default; then
 3096     # Only do commands if we really have different PIC objects.
 3097     reload_objs="$libobjs $reload_conv_objs"
 3098     output="$libobj"
 3099     eval cmds=\"$reload_cmds\"
 3100     save_ifs="$IFS"; IFS='~'
 3101     for cmd in $cmds; do
 3102       IFS="$save_ifs"
 3103       $show "$cmd"
 3104       $run eval "$cmd" || exit $?
 3105     done
 3106     IFS="$save_ifs"
 3107       else
 3108     # Just create a symlink.
 3109     $show $rm $libobj
 3110     $run $rm $libobj
 3111     xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
 3112     if test "X$xdir" = "X$libobj"; then
 3113       xdir="."
 3114     else
 3115       xdir="$xdir"
 3116     fi
 3117     baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
 3118     oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
 3119     $show "(cd $xdir && $LN_S $oldobj $baseobj)"
 3120     $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
 3121       fi
 3122 
 3123       if test -n "$gentop"; then
 3124     $show "${rm}r $gentop"
 3125     $run ${rm}r $gentop
 3126       fi
 3127 
 3128       exit 0
 3129       ;;
 3130 
 3131     prog)
 3132       case $host in
 3133     *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;;
 3134       esac
 3135       if test -n "$vinfo"; then
 3136     $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
 3137       fi
 3138 
 3139       if test -n "$release"; then
 3140     $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
 3141       fi
 3142 
 3143       if test "$preload" = yes; then
 3144     if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
 3145        test "$dlopen_self_static" = unknown; then
 3146       $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
 3147     fi
 3148       fi
 3149 
 3150       case $host in
 3151       *-*-rhapsody* | *-*-darwin1.[012])
 3152     # On Rhapsody replace the C library is the System framework
 3153     compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
 3154     finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
 3155     ;;
 3156       esac
 3157 
 3158       compile_command="$compile_command $compile_deplibs"
 3159       finalize_command="$finalize_command $finalize_deplibs"
 3160 
 3161       if test -n "$rpath$xrpath"; then
 3162     # If the user specified any rpath flags, then add them.
 3163     for libdir in $rpath $xrpath; do
 3164       # This is the magic to use -rpath.
 3165       case "$finalize_rpath " in
 3166       *" $libdir "*) ;;
 3167       *) finalize_rpath="$finalize_rpath $libdir" ;;
 3168       esac
 3169     done
 3170       fi
 3171 
 3172       # Now hardcode the library paths
 3173       rpath=
 3174       hardcode_libdirs=
 3175       for libdir in $compile_rpath $finalize_rpath; do
 3176     if test -n "$hardcode_libdir_flag_spec"; then
 3177       if test -n "$hardcode_libdir_separator"; then
 3178         if test -z "$hardcode_libdirs"; then
 3179           hardcode_libdirs="$libdir"
 3180         else
 3181           # Just accumulate the unique libdirs.
 3182           case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 3183           *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 3184         ;;
 3185           *)
 3186         hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 3187         ;;
 3188           esac
 3189         fi
 3190       else
 3191         eval flag=\"$hardcode_libdir_flag_spec\"
 3192         rpath="$rpath $flag"
 3193       fi
 3194     elif test -n "$runpath_var"; then
 3195       case "$perm_rpath " in
 3196       *" $libdir "*) ;;
 3197       *) perm_rpath="$perm_rpath $libdir" ;;
 3198       esac
 3199     fi
 3200     case $host in
 3201     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 3202       case :$dllsearchpath: in
 3203       *":$libdir:"*) ;;
 3204       *) dllsearchpath="$dllsearchpath:$libdir";;
 3205       esac
 3206       ;;
 3207     esac
 3208       done
 3209       # Substitute the hardcoded libdirs into the rpath.
 3210       if test -n "$hardcode_libdir_separator" &&
 3211      test -n "$hardcode_libdirs"; then
 3212     libdir="$hardcode_libdirs"
 3213     eval rpath=\" $hardcode_libdir_flag_spec\"
 3214       fi
 3215       compile_rpath="$rpath"
 3216 
 3217       rpath=
 3218       hardcode_libdirs=
 3219       for libdir in $finalize_rpath; do
 3220     if test -n "$hardcode_libdir_flag_spec"; then
 3221       if test -n "$hardcode_libdir_separator"; then
 3222         if test -z "$hardcode_libdirs"; then
 3223           hardcode_libdirs="$libdir"
 3224         else
 3225           # Just accumulate the unique libdirs.
 3226           case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 3227           *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 3228         ;;
 3229           *)
 3230         hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 3231         ;;
 3232           esac
 3233         fi
 3234       else
 3235         eval flag=\"$hardcode_libdir_flag_spec\"
 3236         rpath="$rpath $flag"
 3237       fi
 3238     elif test -n "$runpath_var"; then
 3239       case "$finalize_perm_rpath " in
 3240       *" $libdir "*) ;;
 3241       *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
 3242       esac
 3243     fi
 3244       done
 3245       # Substitute the hardcoded libdirs into the rpath.
 3246       if test -n "$hardcode_libdir_separator" &&
 3247      test -n "$hardcode_libdirs"; then
 3248     libdir="$hardcode_libdirs"
 3249     eval rpath=\" $hardcode_libdir_flag_spec\"
 3250       fi
 3251       finalize_rpath="$rpath"
 3252 
 3253       if test -n "$libobjs" && test "$build_old_libs" = yes; then
 3254     # Transform all the library objects into standard objects.
 3255     compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 3256     finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 3257       fi
 3258 
 3259       dlsyms=
 3260       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 3261     if test -n "$NM" && test -n "$global_symbol_pipe"; then
 3262       dlsyms="${outputname}S.c"
 3263     else
 3264       $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
 3265     fi
 3266       fi
 3267 
 3268       if test -n "$dlsyms"; then
 3269     case $dlsyms in
 3270     "") ;;
 3271     *.c)
 3272       # Discover the nlist of each of the dlfiles.
 3273       nlist="$output_objdir/${outputname}.nm"
 3274 
 3275       $show "$rm $nlist ${nlist}S ${nlist}T"
 3276       $run $rm "$nlist" "${nlist}S" "${nlist}T"
 3277 
 3278       # Parse the name list into a source file.
 3279       $show "creating $output_objdir/$dlsyms"
 3280 
 3281       test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
 3282 /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
 3283 /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
 3284 
 3285 #ifdef __cplusplus
 3286 extern \"C\" {
 3287 #endif
 3288 
 3289 /* Prevent the only kind of declaration conflicts we can make. */
 3290 #define lt_preloaded_symbols some_other_symbol
 3291 
 3292 /* External symbol declarations for the compiler. */\
 3293 "
 3294 
 3295       if test "$dlself" = yes; then
 3296         $show "generating symbol list for \`$output'"
 3297 
 3298         test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
 3299 
 3300         # Add our own program objects to the symbol list.
 3301         progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 3302         for arg in $progfiles; do
 3303           $show "extracting global C symbols from \`$arg'"
 3304           $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
 3305         done
 3306 
 3307         if test -n "$exclude_expsyms"; then
 3308           $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
 3309           $run eval '$mv "$nlist"T "$nlist"'
 3310         fi
 3311 
 3312         if test -n "$export_symbols_regex"; then
 3313           $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
 3314           $run eval '$mv "$nlist"T "$nlist"'
 3315         fi
 3316 
 3317         # Prepare the list of exported symbols
 3318         if test -z "$export_symbols"; then
 3319           export_symbols="$output_objdir/$output.exp"
 3320           $run $rm $export_symbols
 3321           $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
 3322         else
 3323           $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
 3324           $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
 3325           $run eval 'mv "$nlist"T "$nlist"'
 3326         fi
 3327       fi
 3328 
 3329       for arg in $dlprefiles; do
 3330         $show "extracting global C symbols from \`$arg'"
 3331         name=`echo "$arg" | sed -e 's%^.*/%%'`
 3332         $run eval 'echo ": $name " >> "$nlist"'
 3333         $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
 3334       done
 3335 
 3336       if test -z "$run"; then
 3337         # Make sure we have at least an empty file.
 3338         test -f "$nlist" || : > "$nlist"
 3339 
 3340         if test -n "$exclude_expsyms"; then
 3341           egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
 3342           $mv "$nlist"T "$nlist"
 3343         fi
 3344 
 3345         # Try sorting and uniquifying the output.
 3346         if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
 3347           :
 3348         else
 3349           grep -v "^: " < "$nlist" > "$nlist"S
 3350         fi
 3351 
 3352         if test -f "$nlist"S; then
 3353           eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
 3354         else
 3355           echo '/* NONE */' >> "$output_objdir/$dlsyms"
 3356         fi
 3357 
 3358         $echo >> "$output_objdir/$dlsyms" "\
 3359 
 3360 #undef lt_preloaded_symbols
 3361 
 3362 #if defined (__STDC__) && __STDC__
 3363 # define lt_ptr void *
 3364 #else
 3365 # define lt_ptr char *
 3366 # define const
 3367 #endif
 3368 
 3369 /* The mapping between symbol names and symbols. */
 3370 const struct {
 3371   const char *name;
 3372   lt_ptr address;
 3373 }
 3374 lt_preloaded_symbols[] =
 3375 {\
 3376 "
 3377 
 3378         eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
 3379 
 3380         $echo >> "$output_objdir/$dlsyms" "\
 3381   {0, (lt_ptr) 0}
 3382 };
 3383 
 3384 /* This works around a problem in FreeBSD linker */
 3385 #ifdef FREEBSD_WORKAROUND
 3386 static const void *lt_preloaded_setup() {
 3387   return lt_preloaded_symbols;
 3388 }
 3389 #endif
 3390 
 3391 #ifdef __cplusplus
 3392 }
 3393 #endif\
 3394 "
 3395       fi
 3396 
 3397       pic_flag_for_symtable=
 3398       case $host in
 3399       # compiling the symbol table file with pic_flag works around
 3400       # a FreeBSD bug that causes programs to crash when -lm is
 3401       # linked before any other PIC object.  But we must not use
 3402       # pic_flag when linking with -static.  The problem exists in
 3403       # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
 3404       *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 3405         case "$compile_command " in
 3406         *" -static "*) ;;
 3407         *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
 3408         esac;;
 3409       *-*-hpux*)
 3410         case "$compile_command " in
 3411         *" -static "*) ;;
 3412         *) pic_flag_for_symtable=" $pic_flag -DPIC";;
 3413         esac
 3414       esac
 3415 
 3416       # Now compile the dynamic symbol file.
 3417       $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
 3418       $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
 3419 
 3420       # Clean up the generated files.
 3421       $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
 3422       $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
 3423 
 3424       # Transform the symbol file into the correct name.
 3425       compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
 3426       finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
 3427       ;;
 3428     *)
 3429       $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
 3430       exit 1
 3431       ;;
 3432     esac
 3433       else
 3434     # We keep going just in case the user didn't refer to
 3435     # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
 3436     # really was required.
 3437 
 3438     # Nullify the symbol file.
 3439     compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
 3440     finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
 3441       fi
 3442 
 3443       if test $need_relink = no || test "$build_libtool_libs" != yes; then
 3444     # Replace the output file specification.
 3445     compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 3446     link_command="$compile_command$compile_rpath"
 3447 
 3448     # We have no uninstalled library dependencies, so finalize right now.
 3449     $show "$link_command"
 3450     $run eval "$link_command"
 3451     status=$?
 3452 
 3453     # Delete the generated files.
 3454     if test -n "$dlsyms"; then
 3455       $show "$rm $output_objdir/${outputname}S.${objext}"
 3456       $run $rm "$output_objdir/${outputname}S.${objext}"
 3457     fi
 3458 
 3459     exit $status
 3460       fi
 3461 
 3462       if test -n "$shlibpath_var"; then
 3463     # We should set the shlibpath_var
 3464     rpath=
 3465     for dir in $temp_rpath; do
 3466       case $dir in
 3467       [\\/]* | [A-Za-z]:[\\/]*)
 3468         # Absolute path.
 3469         rpath="$rpath$dir:"
 3470         ;;
 3471       *)
 3472         # Relative path: add a thisdir entry.
 3473         rpath="$rpath\$thisdir/$dir:"
 3474         ;;
 3475       esac
 3476     done
 3477     temp_rpath="$rpath"
 3478       fi
 3479 
 3480       if test -n "$compile_shlibpath$finalize_shlibpath"; then
 3481     compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
 3482       fi
 3483       if test -n "$finalize_shlibpath"; then
 3484     finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
 3485       fi
 3486 
 3487       compile_var=
 3488       finalize_var=
 3489       if test -n "$runpath_var"; then
 3490     if test -n "$perm_rpath"; then
 3491       # We should set the runpath_var.
 3492       rpath=
 3493       for dir in $perm_rpath; do
 3494         rpath="$rpath$dir:"
 3495       done
 3496       compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
 3497     fi
 3498     if test -n "$finalize_perm_rpath"; then
 3499       # We should set the runpath_var.
 3500       rpath=
 3501       for dir in $finalize_perm_rpath; do
 3502         rpath="$rpath$dir:"
 3503       done
 3504       finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
 3505     fi
 3506       fi
 3507 
 3508       if test "$no_install" = yes; then
 3509     # We don't need to create a wrapper script.
 3510     link_command="$compile_var$compile_command$compile_rpath"
 3511     # Replace the output file specification.
 3512     link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 3513     # Delete the old output file.
 3514     $run $rm $output
 3515     # Link the executable and exit
 3516     $show "$link_command"
 3517     $run eval "$link_command" || exit $?
 3518     exit 0
 3519       fi
 3520 
 3521       if test "$hardcode_action" = relink; then
 3522     # Fast installation is not supported
 3523     link_command="$compile_var$compile_command$compile_rpath"
 3524     relink_command="$finalize_var$finalize_command$finalize_rpath"
 3525 
 3526     $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
 3527     $echo "$modename: \`$output' will be relinked during installation" 1>&2
 3528       else
 3529     if test "$fast_install" != no; then
 3530       link_command="$finalize_var$compile_command$finalize_rpath"
 3531       if test "$fast_install" = yes; then
 3532         relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
 3533       else
 3534         # fast_install is set to needless
 3535         relink_command=
 3536       fi
 3537     else
 3538       link_command="$compile_var$compile_command$compile_rpath"
 3539       relink_command="$finalize_var$finalize_command$finalize_rpath"
 3540     fi
 3541       fi
 3542 
 3543       # Replace the output file specification.
 3544       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 3545 
 3546       # Delete the old output files.
 3547       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
 3548 
 3549       $show "$link_command"
 3550       $run eval "$link_command" || exit $?
 3551 
 3552       # Now create the wrapper script.
 3553       $show "creating $output"
 3554 
 3555       # Quote the relink command for shipping.
 3556       if test -n "$relink_command"; then
 3557     # Preserve any variables that may affect compiler behavior
 3558     for var in $variables_saved_for_relink; do
 3559       if eval test -z \"\${$var+set}\"; then
 3560         relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
 3561       elif eval var_value=\$$var; test -z "$var_value"; then
 3562         relink_command="$var=; export $var; $relink_command"
 3563       else
 3564         var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
 3565         relink_command="$var=\"$var_value\"; export $var; $relink_command"
 3566       fi
 3567     done
 3568     relink_command="(cd `pwd`; $relink_command)"
 3569     relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
 3570       fi
 3571 
 3572       # Quote $echo for shipping.
 3573       if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
 3574     case $0 in
 3575     [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
 3576     *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
 3577     esac
 3578     qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
 3579       else
 3580     qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
 3581       fi
 3582 
 3583       # Only actually do things if our run command is non-null.
 3584       if test -z "$run"; then
 3585     # win32 will think the script is a binary if it has
 3586     # a .exe suffix, so we strip it off here.
 3587     case $output in
 3588       *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
 3589     esac
 3590     # test for cygwin because mv fails w/o .exe extensions
 3591     case $host in
 3592       *cygwin*) exeext=.exe ;;
 3593       *) exeext= ;;
 3594     esac
 3595     $rm $output
 3596     trap "$rm $output; exit 1" 1 2 15
 3597 
 3598     $echo > $output "\
 3599 #! $SHELL
 3600 
 3601 # $output - temporary wrapper script for $objdir/$outputname
 3602 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
 3603 #
 3604 # The $output program cannot be directly executed until all the libtool
 3605 # libraries that it depends on are installed.
 3606 #
 3607 # This wrapper script should never be moved out of the build directory.
 3608 # If it is, it will not operate correctly.
 3609 
 3610 # Sed substitution that helps us do robust quoting.  It backslashifies
 3611 # metacharacters that are still active within double-quoted strings.
 3612 Xsed='sed -e 1s/^X//'
 3613 sed_quote_subst='$sed_quote_subst'
 3614 
 3615 # The HP-UX ksh and POSIX shell print the target directory to stdout
 3616 # if CDPATH is set.
 3617 if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
 3618 
 3619 relink_command=\"$relink_command\"
 3620 
 3621 # This environment variable determines our operation mode.
 3622 if test \"\$libtool_install_magic\" = \"$magic\"; then
 3623   # install mode needs the following variable:
 3624   notinst_deplibs='$notinst_deplibs'
 3625 else
 3626   # When we are sourced in execute mode, \$file and \$echo are already set.
 3627   if test \"\$libtool_execute_magic\" != \"$magic\"; then
 3628     echo=\"$qecho\"
 3629     file=\"\$0\"
 3630     # Make sure echo works.
 3631     if test \"X\$1\" = X--no-reexec; then
 3632       # Discard the --no-reexec flag, and continue.
 3633       shift
 3634     elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
 3635       # Yippee, \$echo works!
 3636       :
 3637     else
 3638       # Restart under the correct shell, and then maybe \$echo will work.
 3639       exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
 3640     fi
 3641   fi\
 3642 "
 3643     $echo >> $output "\
 3644 
 3645   # Find the directory that this script lives in.
 3646   thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
 3647   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 3648 
 3649   # Follow symbolic links until we get to the real thisdir.
 3650   file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
 3651   while test -n \"\$file\"; do
 3652     destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
 3653 
 3654     # If there was a directory component, then change thisdir.
 3655     if test \"x\$destdir\" != \"x\$file\"; then
 3656       case \"\$destdir\" in
 3657       [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
 3658       *) thisdir=\"\$thisdir/\$destdir\" ;;
 3659       esac
 3660     fi
 3661 
 3662     file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
 3663     file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
 3664   done
 3665 
 3666   # Try to get the absolute directory name.
 3667   absdir=\`cd \"\$thisdir\" && pwd\`
 3668   test -n \"\$absdir\" && thisdir=\"\$absdir\"
 3669 "
 3670 
 3671     if test "$fast_install" = yes; then
 3672       echo >> $output "\
 3673   program=lt-'$outputname'$exeext
 3674   progdir=\"\$thisdir/$objdir\"
 3675 
 3676   if test ! -f \"\$progdir/\$program\" || \\
 3677      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
 3678        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
 3679 
 3680     file=\"\$\$-\$program\"
 3681 
 3682     if test ! -d \"\$progdir\"; then
 3683       $mkdir \"\$progdir\"
 3684     else
 3685       $rm \"\$progdir/\$file\"
 3686     fi"
 3687 
 3688       echo >> $output "\
 3689 
 3690     # relink executable if necessary
 3691     if test -n \"\$relink_command\"; then
 3692       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
 3693       else
 3694     $echo \"\$relink_command_output\" >&2
 3695     $rm \"\$progdir/\$file\"
 3696     exit 1
 3697       fi
 3698     fi
 3699 
 3700     $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
 3701     { $rm \"\$progdir/\$program\";
 3702       $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
 3703     $rm \"\$progdir/\$file\"
 3704   fi"
 3705     else
 3706       echo >> $output "\
 3707   program='$outputname'
 3708   progdir=\"\$thisdir/$objdir\"
 3709 "
 3710     fi
 3711 
 3712     echo >> $output "\
 3713 
 3714   if test -f \"\$progdir/\$program\"; then"
 3715 
 3716     # Export our shlibpath_var if we have one.
 3717     if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
 3718       $echo >> $output "\
 3719     # Add our own library path to $shlibpath_var
 3720     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 3721 
 3722     # Some systems cannot cope with colon-terminated $shlibpath_var
 3723     # The second colon is a workaround for a bug in BeOS R4 sed
 3724     $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
 3725 
 3726     export $shlibpath_var
 3727 "
 3728     fi
 3729 
 3730     # fixup the dll searchpath if we need to.
 3731     if test -n "$dllsearchpath"; then
 3732       $echo >> $output "\
 3733     # Add the dll search path components to the executable PATH
 3734     PATH=$dllsearchpath:\$PATH
 3735 "
 3736     fi
 3737 
 3738     $echo >> $output "\
 3739     if test \"\$libtool_execute_magic\" != \"$magic\"; then
 3740       # Run the actual program with our arguments.
 3741 "
 3742     case $host in
 3743     # win32 systems need to use the prog path for dll
 3744     # lookup to work
 3745     *-*-cygwin* | *-*-pw32*)
 3746       $echo >> $output "\
 3747       exec \$progdir/\$program \${1+\"\$@\"}
 3748 "
 3749       ;;
 3750 
 3751     # Backslashes separate directories on plain windows
 3752     *-*-mingw | *-*-os2*)
 3753       $echo >> $output "\
 3754       exec \$progdir\\\\\$program \${1+\"\$@\"}
 3755 "
 3756       ;;
 3757 
 3758     *)
 3759       $echo >> $output "\
 3760       # Export the path to the program.
 3761       PATH=\"\$progdir:\$PATH\"
 3762       export PATH
 3763 
 3764       exec \$program \${1+\"\$@\"}
 3765 "
 3766       ;;
 3767     esac
 3768     $echo >> $output "\
 3769       \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
 3770       exit 1
 3771     fi
 3772   else
 3773     # The program doesn't exist.
 3774     \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
 3775     \$echo \"This script is just a wrapper for \$program.\" 1>&2
 3776     echo \"See the $PACKAGE documentation for more information.\" 1>&2
 3777     exit 1
 3778   fi
 3779 fi\
 3780 "
 3781     chmod +x $output
 3782       fi
 3783       exit 0
 3784       ;;
 3785     esac
 3786 
 3787     # See if we need to build an old-fashioned archive.
 3788     for oldlib in $oldlibs; do
 3789 
 3790       if test "$build_libtool_libs" = convenience; then
 3791     oldobjs="$libobjs_save"
 3792     addlibs="$convenience"
 3793     build_libtool_libs=no
 3794       else
 3795     if test "$build_libtool_libs" = module; then
 3796       oldobjs="$libobjs_save"
 3797       build_libtool_libs=no
 3798     else
 3799       oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
 3800     fi
 3801     addlibs="$old_convenience"
 3802       fi
 3803 
 3804       if test -n "$addlibs"; then
 3805     gentop="$output_objdir/${outputname}x"
 3806     $show "${rm}r $gentop"
 3807     $run ${rm}r "$gentop"
 3808     $show "mkdir $gentop"
 3809     $run mkdir "$gentop"
 3810     status=$?
 3811     if test $status -ne 0 && test ! -d "$gentop"; then
 3812       exit $status
 3813     fi
 3814     generated="$generated $gentop"
 3815 
 3816     # Add in members from convenience archives.
 3817     for xlib in $addlibs; do
 3818       # Extract the objects.
 3819       case $xlib in
 3820       [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
 3821       *) xabs=`pwd`"/$xlib" ;;
 3822       esac
 3823       xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
 3824       xdir="$gentop/$xlib"
 3825 
 3826       $show "${rm}r $xdir"
 3827       $run ${rm}r "$xdir"
 3828       $show "mkdir $xdir"
 3829       $run mkdir "$xdir"
 3830       status=$?
 3831       if test $status -ne 0 && test ! -d "$xdir"; then
 3832         exit $status
 3833       fi
 3834       $show "(cd $xdir && $AR x $xabs)"
 3835       $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
 3836 
 3837       oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
 3838     done
 3839       fi
 3840 
 3841       # Do each command in the archive commands.
 3842       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
 3843     eval cmds=\"$old_archive_from_new_cmds\"
 3844       else
 3845     # Ensure that we have .o objects in place in case we decided
 3846     # not to build a shared library, and have fallen back to building
 3847     # static libs even though --disable-static was passed!
 3848     for oldobj in $oldobjs; do
 3849       if test ! -f $oldobj; then
 3850         xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
 3851         if test "X$xdir" = "X$oldobj"; then
 3852           xdir="."
 3853         else
 3854           xdir="$xdir"
 3855         fi
 3856         baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
 3857         obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
 3858         $show "(cd $xdir && ${LN_S} $obj $baseobj)"
 3859         $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
 3860       fi
 3861     done
 3862 
 3863     eval cmds=\"$old_archive_cmds\"
 3864       fi
 3865       save_ifs="$IFS"; IFS='~'
 3866       for cmd in $cmds; do
 3867     IFS="$save_ifs"
 3868     $show "$cmd"
 3869     $run eval "$cmd" || exit $?
 3870       done
 3871       IFS="$save_ifs"
 3872     done
 3873 
 3874     if test -n "$generated"; then
 3875       $show "${rm}r$generated"
 3876       $run ${rm}r$generated
 3877     fi
 3878 
 3879     # Now create the libtool archive.
 3880     case $output in
 3881     *.la)
 3882       old_library=
 3883       test "$build_old_libs" = yes && old_library="$libname.$libext"
 3884       $show "creating $output"
 3885 
 3886       # Preserve any variables that may affect compiler behavior
 3887       for var in $variables_saved_for_relink; do
 3888     if eval test -z \"\${$var+set}\"; then
 3889       relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
 3890     elif eval var_value=\$$var; test -z "$var_value"; then
 3891       relink_command="$var=; export $var; $relink_command"
 3892     else
 3893       var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
 3894       relink_command="$var=\"$var_value\"; export $var; $relink_command"
 3895     fi
 3896       done
 3897       # Quote the link command for shipping.
 3898       relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)"
 3899       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
 3900 
 3901       # Only create the output if not a dry run.
 3902       if test -z "$run"; then
 3903     for installed in no yes; do
 3904       if test "$installed" = yes; then
 3905         if test -z "$install_libdir"; then
 3906           break
 3907         fi
 3908         output="$output_objdir/$outputname"i
 3909         # Replace all uninstalled libtool libraries with the installed ones
 3910         newdependency_libs=
 3911         for deplib in $dependency_libs; do
 3912           case $deplib in
 3913           *.la)
 3914         name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
 3915         eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 3916         if test -z "$libdir"; then
 3917           $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
 3918           exit 1
 3919         fi
 3920         newdependency_libs="$newdependency_libs $libdir/$name"
 3921         ;;
 3922           *) newdependency_libs="$newdependency_libs $deplib" ;;
 3923           esac
 3924         done
 3925         dependency_libs="$newdependency_libs"
 3926         newdlfiles=
 3927         for lib in $dlfiles; do
 3928           name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
 3929           eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 3930           if test -z "$libdir"; then
 3931         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 3932         exit 1
 3933           fi
 3934           newdlfiles="$newdlfiles $libdir/$name"
 3935         done
 3936         dlfiles="$newdlfiles"
 3937         newdlprefiles=
 3938         for lib in $dlprefiles; do
 3939           name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
 3940           eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 3941           if test -z "$libdir"; then
 3942         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 3943         exit 1
 3944           fi
 3945           newdlprefiles="$newdlprefiles $libdir/$name"
 3946         done
 3947         dlprefiles="$newdlprefiles"
 3948       fi
 3949       $rm $output
 3950       # place dlname in correct position for cygwin
 3951       tdlname=$dlname
 3952       case $host,$output,$installed,$module,$dlname in
 3953         *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
 3954       esac
 3955       $echo > $output "\
 3956 # $outputname - a libtool library file
 3957 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
 3958 #
 3959 # Please DO NOT delete this file!
 3960 # It is necessary for linking the library.
 3961 
 3962 # The name that we can dlopen(3).
 3963 dlname='$tdlname'
 3964 
 3965 # Names of this library.
 3966 library_names='$library_names'
 3967 
 3968 # The name of the static archive.
 3969 old_library='$old_library'
 3970 
 3971 # Libraries that this one depends upon.
 3972 dependency_libs='$dependency_libs'
 3973 
 3974 # Version information for $libname.
 3975 current=$current
 3976 age=$age
 3977 revision=$revision
 3978 
 3979 # Is this an already installed library?
 3980 installed=$installed
 3981 
 3982 # Files to dlopen/dlpreopen
 3983 dlopen='$dlfiles'
 3984 dlpreopen='$dlprefiles'
 3985 
 3986 # Directory that this library needs to be installed in:
 3987 libdir='$install_libdir'"
 3988       if test "$installed" = no && test $need_relink = yes; then
 3989         $echo >> $output "\
 3990 relink_command=\"$relink_command\""
 3991       fi
 3992     done
 3993       fi
 3994 
 3995       # Do a symbolic link so that the libtool archive can be found in
 3996       # LD_LIBRARY_PATH before the program is installed.
 3997       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
 3998       $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
 3999       ;;
 4000     esac
 4001     exit 0
 4002     ;;
 4003 
 4004   # libtool install mode
 4005   install)
 4006     modename="$modename: install"
 4007 
 4008     # There may be an optional sh(1) argument at the beginning of
 4009     # install_prog (especially on Windows NT).
 4010     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
 4011        # Allow the use of GNU shtool's install command.
 4012        $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
 4013       # Aesthetically quote it.
 4014       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
 4015       case $arg in
 4016       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
 4017     arg="\"$arg\""
 4018     ;;
 4019       esac
 4020       install_prog="$arg "
 4021       arg="$1"
 4022       shift
 4023     else
 4024       install_prog=
 4025       arg="$nonopt"
 4026     fi
 4027 
 4028     # The real first argument should be the name of the installation program.
 4029     # Aesthetically quote it.
 4030     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 4031     case $arg in
 4032     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
 4033       arg="\"$arg\""
 4034       ;;
 4035     esac
 4036     install_prog="$install_prog$arg"
 4037 
 4038     # We need to accept at least all the BSD install flags.
 4039     dest=
 4040     files=
 4041     opts=
 4042     prev=
 4043     install_type=
 4044     isdir=no
 4045     stripme=
 4046     for arg
 4047     do
 4048       if test -n "$dest"; then
 4049     files="$files $dest"
 4050     dest="$arg"
 4051     continue
 4052       fi
 4053 
 4054       case $arg in
 4055       -d) isdir=yes ;;
 4056       -f) prev="-f" ;;
 4057       -g) prev="-g" ;;
 4058       -m) prev="-m" ;;
 4059       -o) prev="-o" ;;
 4060       -s)
 4061     stripme=" -s"
 4062     continue
 4063     ;;
 4064       -*) ;;
 4065 
 4066       *)
 4067     # If the previous option needed an argument, then skip it.
 4068     if test -n "$prev"; then
 4069       prev=
 4070     else
 4071       dest="$arg"
 4072       continue
 4073     fi
 4074     ;;
 4075       esac
 4076 
 4077       # Aesthetically quote the argument.
 4078       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 4079       case $arg in
 4080       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
 4081     arg="\"$arg\""
 4082     ;;
 4083       esac
 4084       install_prog="$install_prog $arg"
 4085     done
 4086 
 4087     if test -z "$install_prog"; then
 4088       $echo "$modename: you must specify an install program" 1>&2
 4089       $echo "$help" 1>&2
 4090       exit 1
 4091     fi
 4092 
 4093     if test -n "$prev"; then
 4094       $echo "$modename: the \`$prev' option requires an argument" 1>&2
 4095       $echo "$help" 1>&2
 4096       exit 1
 4097     fi
 4098 
 4099     if test -z "$files"; then
 4100       if test -z "$dest"; then
 4101     $echo "$modename: no file or destination specified" 1>&2
 4102       else
 4103     $echo "$modename: you must specify a destination" 1>&2
 4104       fi
 4105       $echo "$help" 1>&2
 4106       exit 1
 4107     fi
 4108 
 4109     # Strip any trailing slash from the destination.
 4110     dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
 4111 
 4112     # Check to see that the destination is a directory.
 4113     test -d "$dest" && isdir=yes
 4114     if test "$isdir" = yes; then
 4115       destdir="$dest"
 4116       destname=
 4117     else
 4118       destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
 4119       test "X$destdir" = "X$dest" && destdir=.
 4120       destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
 4121 
 4122       # Not a directory, so check to see that there is only one file specified.
 4123       set dummy $files
 4124       if test $# -gt 2; then
 4125     $echo "$modename: \`$dest' is not a directory" 1>&2
 4126     $echo "$help" 1>&2
 4127     exit 1
 4128       fi
 4129     fi
 4130     case $destdir in
 4131     [\\/]* | [A-Za-z]:[\\/]*) ;;
 4132     *)
 4133       for file in $files; do
 4134     case $file in
 4135     *.lo) ;;
 4136     *)
 4137       $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
 4138       $echo "$help" 1>&2
 4139       exit 1
 4140       ;;
 4141     esac
 4142       done
 4143       ;;
 4144     esac
 4145 
 4146     # This variable tells wrapper scripts just to set variables rather
 4147     # than running their programs.
 4148     libtool_install_magic="$magic"
 4149 
 4150     staticlibs=
 4151     future_libdirs=
 4152     current_libdirs=
 4153     for file in $files; do
 4154 
 4155       # Do each installation.
 4156       case $file in
 4157       *.$libext)
 4158     # Do the static libraries later.
 4159     staticlibs="$staticlibs $file"
 4160     ;;
 4161 
 4162       *.la)
 4163     # Check to see that this really is a libtool archive.
 4164     if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 4165     else
 4166       $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
 4167       $echo "$help" 1>&2
 4168       exit 1
 4169     fi
 4170 
 4171     library_names=
 4172     old_library=
 4173     relink_command=
 4174     # If there is no directory component, then add one.
 4175     case $file in
 4176     */* | *\\*) . $file ;;
 4177     *) . ./$file ;;
 4178     esac
 4179 
 4180     # Add the libdir to current_libdirs if it is the destination.
 4181     if test "X$destdir" = "X$libdir"; then
 4182       case "$current_libdirs " in
 4183       *" $libdir "*) ;;
 4184       *) current_libdirs="$current_libdirs $libdir" ;;
 4185       esac
 4186     else
 4187       # Note the libdir as a future libdir.
 4188       case "$future_libdirs " in
 4189       *" $libdir "*) ;;
 4190       *) future_libdirs="$future_libdirs $libdir" ;;
 4191       esac
 4192     fi
 4193 
 4194     dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
 4195     test "X$dir" = "X$file/" && dir=
 4196     dir="$dir$objdir"
 4197 
 4198     if test -n "$relink_command"; then
 4199       $echo "$modename: warning: relinking \`$file'" 1>&2
 4200       $show "$relink_command"
 4201       if $run eval "$relink_command"; then :
 4202       else
 4203         $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
 4204         continue
 4205       fi
 4206     fi
 4207 
 4208     # See the names of the shared library.
 4209     set dummy $library_names
 4210     if test -n "$2"; then
 4211       realname="$2"
 4212       shift
 4213       shift
 4214 
 4215       srcname="$realname"
 4216       test -n "$relink_command" && srcname="$realname"T
 4217 
 4218       # Install the shared library and build the symlinks.
 4219       $show "$install_prog $dir/$srcname $destdir/$realname"
 4220       $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
 4221       if test -n "$stripme" && test -n "$striplib"; then
 4222         $show "$striplib $destdir/$realname"
 4223         $run eval "$striplib $destdir/$realname" || exit $?
 4224       fi
 4225 
 4226       if test $# -gt 0; then
 4227         # Delete the old symlinks, and create new ones.
 4228         for linkname
 4229         do
 4230           if test "$linkname" != "$realname"; then
 4231         $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
 4232         $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
 4233           fi
 4234         done
 4235       fi
 4236 
 4237       # Do each command in the postinstall commands.
 4238       lib="$destdir/$realname"
 4239       eval cmds=\"$postinstall_cmds\"
 4240       save_ifs="$IFS"; IFS='~'
 4241       for cmd in $cmds; do
 4242         IFS="$save_ifs"
 4243         $show "$cmd"
 4244         $run eval "$cmd" || exit $?
 4245       done
 4246       IFS="$save_ifs"
 4247     fi
 4248 
 4249     # Install the pseudo-library for information purposes.
 4250     name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 4251     instname="$dir/$name"i
 4252     $show "$install_prog $instname $destdir/$name"
 4253     $run eval "$install_prog $instname $destdir/$name" || exit $?
 4254 
 4255     # Maybe install the static library, too.
 4256     test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
 4257     ;;
 4258 
 4259       *.lo)
 4260     # Install (i.e. copy) a libtool object.
 4261 
 4262     # Figure out destination file name, if it wasn't already specified.
 4263     if test -n "$destname"; then
 4264       destfile="$destdir/$destname"
 4265     else
 4266       destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 4267       destfile="$destdir/$destfile"
 4268     fi
 4269 
 4270     # Deduce the name of the destination old-style object file.
 4271     case $destfile in
 4272     *.lo)
 4273       staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
 4274       ;;
 4275     *.$objext)
 4276       staticdest="$destfile"
 4277       destfile=
 4278       ;;
 4279     *)
 4280       $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
 4281       $echo "$help" 1>&2
 4282       exit 1
 4283       ;;
 4284     esac
 4285 
 4286     # Install the libtool object if requested.
 4287     if test -n "$destfile"; then
 4288       $show "$install_prog $file $destfile"
 4289       $run eval "$install_prog $file $destfile" || exit $?
 4290     fi
 4291 
 4292     # Install the old object if enabled.
 4293     if test "$build_old_libs" = yes; then
 4294       # Deduce the name of the old-style object file.
 4295       staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
 4296 
 4297       $show "$install_prog $staticobj $staticdest"
 4298       $run eval "$install_prog \$staticobj \$staticdest" || exit $?
 4299     fi
 4300     exit 0
 4301     ;;
 4302 
 4303       *)
 4304     # Figure out destination file name, if it wasn't already specified.
 4305     if test -n "$destname"; then
 4306       destfile="$destdir/$destname"
 4307     else
 4308       destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 4309       destfile="$destdir/$destfile"
 4310     fi
 4311 
 4312     # Do a test to see if this is really a libtool program.
 4313     case $host in
 4314     *cygwin*|*mingw*)
 4315         wrapper=`echo $file | sed -e 's,.exe$,,'`
 4316         ;;
 4317     *)
 4318         wrapper=$file
 4319         ;;
 4320     esac
 4321     if (sed -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
 4322       notinst_deplibs=
 4323       relink_command=
 4324 
 4325       # If there is no directory component, then add one.
 4326       case $file in
 4327       */* | *\\*) . $wrapper ;;
 4328       *) . ./$wrapper ;;
 4329       esac
 4330 
 4331       # Check the variables that should have been set.
 4332       if test -z "$notinst_deplibs"; then
 4333         $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
 4334         exit 1
 4335       fi
 4336 
 4337       finalize=yes
 4338       for lib in $notinst_deplibs; do
 4339         # Check to see that each library is installed.
 4340         libdir=
 4341         if test -f "$lib"; then
 4342           # If there is no directory component, then add one.
 4343           case $lib in
 4344           */* | *\\*) . $lib ;;
 4345           *) . ./$lib ;;
 4346           esac
 4347         fi
 4348         libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
 4349         if test -n "$libdir" && test ! -f "$libfile"; then
 4350           $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
 4351           finalize=no
 4352         fi
 4353       done
 4354 
 4355       relink_command=
 4356       # If there is no directory component, then add one.
 4357       case $file in
 4358       */* | *\\*) . $wrapper ;;
 4359       *) . ./$wrapper ;;
 4360       esac
 4361 
 4362       outputname=
 4363       if test "$fast_install" = no && test -n "$relink_command"; then
 4364         if test "$finalize" = yes && test -z "$run"; then
 4365           tmpdir="/tmp"
 4366           test -n "$TMPDIR" && tmpdir="$TMPDIR"
 4367           tmpdir="$tmpdir/libtool-$$"
 4368           if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
 4369           else
 4370         $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
 4371         continue
 4372           fi
 4373           file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 4374           outputname="$tmpdir/$file"
 4375           # Replace the output file specification.
 4376           relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
 4377 
 4378           $show "$relink_command"
 4379           if $run eval "$relink_command"; then :
 4380           else
 4381         $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
 4382         ${rm}r "$tmpdir"
 4383         continue
 4384           fi
 4385           file="$outputname"
 4386         else
 4387           $echo "$modename: warning: cannot relink \`$file'" 1>&2
 4388         fi
 4389       else
 4390         # Install the binary that we compiled earlier.
 4391         file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
 4392       fi
 4393     fi
 4394 
 4395     # remove .exe since cygwin /usr/bin/install will append another
 4396     # one anyways
 4397     case $install_prog,$host in
 4398     /usr/bin/install*,*cygwin*)
 4399       case $file:$destfile in
 4400       *.exe:*.exe)
 4401         # this is ok
 4402         ;;
 4403       *.exe:*)
 4404         destfile=$destfile.exe
 4405         ;;
 4406       *:*.exe)
 4407         destfile=`echo $destfile | sed -e 's,.exe$,,'`
 4408         ;;
 4409       esac
 4410       ;;
 4411     esac
 4412     $show "$install_prog$stripme $file $destfile"
 4413     $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
 4414     test -n "$outputname" && ${rm}r "$tmpdir"
 4415     ;;
 4416       esac
 4417     done
 4418 
 4419     for file in $staticlibs; do
 4420       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 4421 
 4422       # Set up the ranlib parameters.
 4423       oldlib="$destdir/$name"
 4424 
 4425       $show "$install_prog $file $oldlib"
 4426       $run eval "$install_prog \$file \$oldlib" || exit $?
 4427 
 4428       if test -n "$stripme" && test -n "$striplib"; then
 4429     $show "$old_striplib $oldlib"
 4430     $run eval "$old_striplib $oldlib" || exit $?
 4431       fi
 4432 
 4433       # Do each command in the postinstall commands.
 4434       eval cmds=\"$old_postinstall_cmds\"
 4435       save_ifs="$IFS"; IFS='~'
 4436       for cmd in $cmds; do
 4437     IFS="$save_ifs"
 4438     $show "$cmd"
 4439     $run eval "$cmd" || exit $?
 4440       done
 4441       IFS="$save_ifs"
 4442     done
 4443 
 4444     if test -n "$future_libdirs"; then
 4445       $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
 4446     fi
 4447 
 4448     if test -n "$current_libdirs"; then
 4449       # Maybe just do a dry run.
 4450       test -n "$run" && current_libdirs=" -n$current_libdirs"
 4451       exec_cmd='$SHELL $0 --finish$current_libdirs'
 4452     else
 4453       exit 0
 4454     fi
 4455     ;;
 4456 
 4457   # libtool finish mode
 4458   finish)
 4459     modename="$modename: finish"
 4460     libdirs="$nonopt"
 4461     admincmds=
 4462 
 4463     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
 4464       for dir
 4465       do
 4466     libdirs="$libdirs $dir"
 4467       done
 4468 
 4469       for libdir in $libdirs; do
 4470     if test -n "$finish_cmds"; then
 4471       # Do each command in the finish commands.
 4472       eval cmds=\"$finish_cmds\"
 4473       save_ifs="$IFS"; IFS='~'
 4474       for cmd in $cmds; do
 4475         IFS="$save_ifs"
 4476         $show "$cmd"
 4477         $run eval "$cmd" || admincmds="$admincmds
 4478        $cmd"
 4479       done
 4480       IFS="$save_ifs"
 4481     fi
 4482     if test -n "$finish_eval"; then
 4483       # Do the single finish_eval.
 4484       eval cmds=\"$finish_eval\"
 4485       $run eval "$cmds" || admincmds="$admincmds
 4486        $cmds"
 4487     fi
 4488       done
 4489     fi
 4490 
 4491     # Exit here if they wanted silent mode.
 4492     test "$show" = ":" && exit 0
 4493 
 4494     echo "----------------------------------------------------------------------"
 4495     echo "Libraries have been installed in:"
 4496     for libdir in $libdirs; do
 4497       echo "   $libdir"
 4498     done
 4499     echo
 4500     echo "If you ever happen to want to link against installed libraries"
 4501     echo "in a given directory, LIBDIR, you must either use libtool, and"
 4502     echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
 4503     echo "flag during linking and do at least one of the following:"
 4504     if test -n "$shlibpath_var"; then
 4505       echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
 4506       echo "     during execution"
 4507     fi
 4508     if test -n "$runpath_var"; then
 4509       echo "   - add LIBDIR to the \`$runpath_var' environment variable"
 4510       echo "     during linking"
 4511     fi
 4512     if test -n "$hardcode_libdir_flag_spec"; then
 4513       libdir=LIBDIR
 4514       eval flag=\"$hardcode_libdir_flag_spec\"
 4515 
 4516       echo "   - use the \`$flag' linker flag"
 4517     fi
 4518     if test -n "$admincmds"; then
 4519       echo "   - have your system administrator run these commands:$admincmds"
 4520     fi
 4521     if test -f /etc/ld.so.conf; then
 4522       echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
 4523     fi
 4524     echo
 4525     echo "See any operating system documentation about shared libraries for"
 4526     echo "more information, such as the ld(1) and ld.so(8) manual pages."
 4527     echo "----------------------------------------------------------------------"
 4528     exit 0
 4529     ;;
 4530 
 4531   # libtool execute mode
 4532   execute)
 4533     modename="$modename: execute"
 4534 
 4535     # The first argument is the command name.
 4536     cmd="$nonopt"
 4537     if test -z "$cmd"; then
 4538       $echo "$modename: you must specify a COMMAND" 1>&2
 4539       $echo "$help"
 4540       exit 1
 4541     fi
 4542 
 4543     # Handle -dlopen flags immediately.
 4544     for file in $execute_dlfiles; do
 4545       if test ! -f "$file"; then
 4546     $echo "$modename: \`$file' is not a file" 1>&2
 4547     $echo "$help" 1>&2
 4548     exit 1
 4549       fi
 4550 
 4551       dir=
 4552       case $file in
 4553       *.la)
 4554     # Check to see that this really is a libtool archive.
 4555     if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 4556     else
 4557       $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 4558       $echo "$help" 1>&2
 4559       exit 1
 4560     fi
 4561 
 4562     # Read the libtool library.
 4563     dlname=
 4564     library_names=
 4565 
 4566     # If there is no directory component, then add one.
 4567     case $file in
 4568     */* | *\\*) . $file ;;
 4569     *) . ./$file ;;
 4570     esac
 4571 
 4572     # Skip this library if it cannot be dlopened.
 4573     if test -z "$dlname"; then
 4574       # Warn if it was a shared library.
 4575       test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
 4576       continue
 4577     fi
 4578 
 4579     dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 4580     test "X$dir" = "X$file" && dir=.
 4581 
 4582     if test -f "$dir/$objdir/$dlname"; then
 4583       dir="$dir/$objdir"
 4584     else
 4585       $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
 4586       exit 1
 4587     fi
 4588     ;;
 4589 
 4590       *.lo)
 4591     # Just add the directory containing the .lo file.
 4592     dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 4593     test "X$dir" = "X$file" && dir=.
 4594     ;;
 4595 
 4596       *)
 4597     $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
 4598     continue
 4599     ;;
 4600       esac
 4601 
 4602       # Get the absolute pathname.
 4603       absdir=`cd "$dir" && pwd`
 4604       test -n "$absdir" && dir="$absdir"
 4605 
 4606       # Now add the directory to shlibpath_var.
 4607       if eval "test -z \"\$$shlibpath_var\""; then
 4608     eval "$shlibpath_var=\"\$dir\""
 4609       else
 4610     eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
 4611       fi
 4612     done
 4613 
 4614     # This variable tells wrapper scripts just to set shlibpath_var
 4615     # rather than running their programs.
 4616     libtool_execute_magic="$magic"
 4617 
 4618     # Check if any of the arguments is a wrapper script.
 4619     args=
 4620     for file
 4621     do
 4622       case $file in
 4623       -*) ;;
 4624       *)
 4625     # Do a test to see if this is really a libtool program.
 4626     if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 4627       # If there is no directory component, then add one.
 4628       case $file in
 4629       */* | *\\*) . $file ;;
 4630       *) . ./$file ;;
 4631       esac
 4632 
 4633       # Transform arg to wrapped name.
 4634       file="$progdir/$program"
 4635     fi
 4636     ;;
 4637       esac
 4638       # Quote arguments (to preserve shell metacharacters).
 4639       file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
 4640       args="$args \"$file\""
 4641     done
 4642 
 4643     if test -z "$run"; then
 4644       if test -n "$shlibpath_var"; then
 4645     # Export the shlibpath_var.
 4646     eval "export $shlibpath_var"
 4647       fi
 4648 
 4649       # Restore saved enviroment variables
 4650       if test "${save_LC_ALL+set}" = set; then
 4651     LC_ALL="$save_LC_ALL"; export LC_ALL
 4652       fi
 4653       if test "${save_LANG+set}" = set; then
 4654     LANG="$save_LANG"; export LANG
 4655       fi
 4656 
 4657       # Now prepare to actually exec the command.
 4658       exec_cmd="\$cmd$args"
 4659     else
 4660       # Display what would be done.
 4661       if test -n "$shlibpath_var"; then
 4662     eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
 4663     $echo "export $shlibpath_var"
 4664       fi
 4665       $echo "$cmd$args"
 4666       exit 0
 4667     fi
 4668     ;;
 4669 
 4670   # libtool clean and uninstall mode
 4671   clean | uninstall)
 4672     modename="$modename: $mode"
 4673     rm="$nonopt"
 4674     files=
 4675     rmforce=
 4676     exit_status=0
 4677 
 4678     # This variable tells wrapper scripts just to set variables rather
 4679     # than running their programs.
 4680     libtool_install_magic="$magic"
 4681 
 4682     for arg
 4683     do
 4684       case $arg in
 4685       -f) rm="$rm $arg"; rmforce=yes ;;
 4686       -*) rm="$rm $arg" ;;
 4687       *) files="$files $arg" ;;
 4688       esac
 4689     done
 4690 
 4691     if test -z "$rm"; then
 4692       $echo "$modename: you must specify an RM program" 1>&2
 4693       $echo "$help" 1>&2
 4694       exit 1
 4695     fi
 4696 
 4697     rmdirs=
 4698 
 4699     for file in $files; do
 4700       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 4701       if test "X$dir" = "X$file"; then
 4702     dir=.
 4703     objdir="$objdir"
 4704       else
 4705     objdir="$dir/$objdir"
 4706       fi
 4707       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 4708       test $mode = uninstall && objdir="$dir"
 4709 
 4710       # Remember objdir for removal later, being careful to avoid duplicates
 4711       if test $mode = clean; then
 4712     case " $rmdirs " in
 4713       *" $objdir "*) ;;
 4714       *) rmdirs="$rmdirs $objdir" ;;
 4715     esac
 4716       fi
 4717 
 4718       # Don't error if the file doesn't exist and rm -f was used.
 4719       if (test -L "$file") >/dev/null 2>&1 \
 4720     || (test -h "$file") >/dev/null 2>&1 \
 4721     || test -f "$file"; then
 4722     :
 4723       elif test -d "$file"; then
 4724     exit_status=1
 4725     continue
 4726       elif test "$rmforce" = yes; then
 4727     continue
 4728       fi
 4729 
 4730       rmfiles="$file"
 4731 
 4732       case $name in
 4733       *.la)
 4734     # Possibly a libtool archive, so verify it.
 4735     if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 4736       . $dir/$name
 4737 
 4738       # Delete the libtool libraries and symlinks.
 4739       for n in $library_names; do
 4740         rmfiles="$rmfiles $objdir/$n"
 4741       done
 4742       test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
 4743       test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
 4744 
 4745       if test $mode = uninstall; then
 4746         if test -n "$library_names"; then
 4747           # Do each command in the postuninstall commands.
 4748           eval cmds=\"$postuninstall_cmds\"
 4749           save_ifs="$IFS"; IFS='~'
 4750           for cmd in $cmds; do
 4751         IFS="$save_ifs"
 4752         $show "$cmd"
 4753         $run eval "$cmd"
 4754         if test $? != 0 && test "$rmforce" != yes; then
 4755           exit_status=1
 4756         fi
 4757           done
 4758           IFS="$save_ifs"
 4759         fi
 4760 
 4761         if test -n "$old_library"; then
 4762           # Do each command in the old_postuninstall commands.
 4763           eval cmds=\"$old_postuninstall_cmds\"
 4764           save_ifs="$IFS"; IFS='~'
 4765           for cmd in $cmds; do
 4766         IFS="$save_ifs"
 4767         $show "$cmd"
 4768         $run eval "$cmd"
 4769         if test $? != 0 && test "$rmforce" != yes; then
 4770           exit_status=1
 4771         fi
 4772           done
 4773           IFS="$save_ifs"
 4774         fi
 4775         # FIXME: should reinstall the best remaining shared library.
 4776       fi
 4777     fi
 4778     ;;
 4779 
 4780       *.lo)
 4781     if test "$build_old_libs" = yes; then
 4782       oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
 4783       rmfiles="$rmfiles $dir/$oldobj"
 4784     fi
 4785     ;;
 4786 
 4787       *)
 4788     # Do a test to see if this is a libtool program.
 4789     if test $mode = clean &&
 4790        (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 4791       relink_command=
 4792       . $dir/$file
 4793 
 4794       rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
 4795       if test "$fast_install" = yes && test -n "$relink_command"; then
 4796         rmfiles="$rmfiles $objdir/lt-$name"
 4797       fi
 4798     fi
 4799     ;;
 4800       esac
 4801       $show "$rm $rmfiles"
 4802       $run $rm $rmfiles || exit_status=1
 4803     done
 4804 
 4805     # Try to remove the ${objdir}s in the directories where we deleted files
 4806     for dir in $rmdirs; do
 4807       if test -d "$dir"; then
 4808     $show "rmdir $dir"
 4809     $run rmdir $dir >/dev/null 2>&1
 4810       fi
 4811     done
 4812 
 4813     exit $exit_status
 4814     ;;
 4815 
 4816   "")
 4817     $echo "$modename: you must specify a MODE" 1>&2
 4818     $echo "$generic_help" 1>&2
 4819     exit 1
 4820     ;;
 4821   esac
 4822 
 4823   if test -z "$exec_cmd"; then
 4824     $echo "$modename: invalid operation mode \`$mode'" 1>&2
 4825     $echo "$generic_help" 1>&2
 4826     exit 1
 4827   fi
 4828 fi # test -z "$show_help"
 4829 
 4830 if test -n "$exec_cmd"; then
 4831   eval exec $exec_cmd
 4832   exit 1
 4833 fi
 4834 
 4835 # We need to display help for each of the modes.
 4836 case $mode in
 4837 "") $echo \
 4838 "Usage: $modename [OPTION]... [MODE-ARG]...
 4839 
 4840 Provide generalized library-building support services.
 4841 
 4842     --config          show all configuration variables
 4843     --debug           enable verbose shell tracing
 4844 -n, --dry-run         display commands without modifying any files
 4845     --features        display basic configuration information and exit
 4846     --finish          same as \`--mode=finish'
 4847     --help            display this help message and exit
 4848     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
 4849     --quiet           same as \`--silent'
 4850     --silent          don't print informational messages
 4851     --version         print version information
 4852 
 4853 MODE must be one of the following:
 4854 
 4855       clean           remove files from the build directory
 4856       compile         compile a source file into a libtool object
 4857       execute         automatically set library path, then run a program
 4858       finish          complete the installation of libtool libraries
 4859       install         install libraries or executables
 4860       link            create a library or an executable
 4861       uninstall       remove libraries from an installed directory
 4862 
 4863 MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
 4864 a more detailed description of MODE."
 4865   exit 0
 4866   ;;
 4867 
 4868 clean)
 4869   $echo \
 4870 "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
 4871 
 4872 Remove files from the build directory.
 4873 
 4874 RM is the name of the program to use to delete files associated with each FILE
 4875 (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
 4876 to RM.
 4877 
 4878 If FILE is a libtool library, object or program, all the files associated
 4879 with it are deleted. Otherwise, only FILE itself is deleted using RM."
 4880   ;;
 4881 
 4882 compile)
 4883   $echo \
 4884 "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
 4885 
 4886 Compile a source file into a libtool library object.
 4887 
 4888 This mode accepts the following additional options:
 4889 
 4890   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
 4891   -prefer-pic       try to building PIC objects only
 4892   -prefer-non-pic   try to building non-PIC objects only
 4893   -static           always build a \`.o' file suitable for static linking
 4894 
 4895 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 4896 from the given SOURCEFILE.
 4897 
 4898 The output file name is determined by removing the directory component from
 4899 SOURCEFILE, then substituting the C source code suffix \`.c' with the
 4900 library object suffix, \`.lo'."
 4901   ;;
 4902 
 4903 execute)
 4904   $echo \
 4905 "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
 4906 
 4907 Automatically set library path, then run a program.
 4908 
 4909 This mode accepts the following additional options:
 4910 
 4911   -dlopen FILE      add the directory containing FILE to the library path
 4912 
 4913 This mode sets the library path environment variable according to \`-dlopen'
 4914 flags.
 4915 
 4916 If any of the ARGS are libtool executable wrappers, then they are translated
 4917 into their corresponding uninstalled binary, and any of their required library
 4918 directories are added to the library path.
 4919 
 4920 Then, COMMAND is executed, with ARGS as arguments."
 4921   ;;
 4922 
 4923 finish)
 4924   $echo \
 4925 "Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
 4926 
 4927 Complete the installation of libtool libraries.
 4928 
 4929 Each LIBDIR is a directory that contains libtool libraries.
 4930 
 4931 The commands that this mode executes may require superuser privileges.  Use
 4932 the \`--dry-run' option if you just want to see what would be executed."
 4933   ;;
 4934 
 4935 install)
 4936   $echo \
 4937 "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
 4938 
 4939 Install executables or libraries.
 4940 
 4941 INSTALL-COMMAND is the installation command.  The first component should be
 4942 either the \`install' or \`cp' program.
 4943 
 4944 The rest of the components are interpreted as arguments to that command (only
 4945 BSD-compatible install options are recognized)."
 4946   ;;
 4947 
 4948 link)
 4949   $echo \
 4950 "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
 4951 
 4952 Link object files or libraries together to form another library, or to
 4953 create an executable program.
 4954 
 4955 LINK-COMMAND is a command using the C compiler that you would use to create
 4956 a program from several object files.
 4957 
 4958 The following components of LINK-COMMAND are treated specially:
 4959 
 4960   -all-static       do not do any dynamic linking at all
 4961   -avoid-version    do not add a version suffix if possible
 4962   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
 4963   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
 4964   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
 4965   -export-symbols SYMFILE
 4966             try to export only the symbols listed in SYMFILE
 4967   -export-symbols-regex REGEX
 4968             try to export only the symbols matching REGEX
 4969   -LLIBDIR          search LIBDIR for required installed libraries
 4970   -lNAME            OUTPUT-FILE requires the installed library libNAME
 4971   -module           build a library that can dlopened
 4972   -no-fast-install  disable the fast-install mode
 4973   -no-install       link a not-installable executable
 4974   -no-undefined     declare that a library does not refer to external symbols
 4975   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
 4976   -release RELEASE  specify package release information
 4977   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
 4978   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
 4979   -static           do not do any dynamic linking of libtool libraries
 4980   -version-info CURRENT[:REVISION[:AGE]]
 4981             specify library version info [each variable defaults to 0]
 4982 
 4983 All other options (arguments beginning with \`-') are ignored.
 4984 
 4985 Every other argument is treated as a filename.  Files ending in \`.la' are
 4986 treated as uninstalled libtool libraries, other files are standard or library
 4987 object files.
 4988 
 4989 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
 4990 only library objects (\`.lo' files) may be specified, and \`-rpath' is
 4991 required, except when creating a convenience library.
 4992 
 4993 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
 4994 using \`ar' and \`ranlib', or on Windows using \`lib'.
 4995 
 4996 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
 4997 is created, otherwise an executable program is created."
 4998   ;;
 4999 
 5000 uninstall)
 5001   $echo \
 5002 "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
 5003 
 5004 Remove libraries from an installation directory.
 5005 
 5006 RM is the name of the program to use to delete files associated with each FILE
 5007 (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
 5008 to RM.
 5009 
 5010 If FILE is a libtool library, all the files associated with it are deleted.
 5011 Otherwise, only FILE itself is deleted using RM."
 5012   ;;
 5013 
 5014 *)
 5015   $echo "$modename: invalid operation mode \`$mode'" 1>&2
 5016   $echo "$help" 1>&2
 5017   exit 1
 5018   ;;
 5019 esac
 5020 
 5021 echo
 5022 $echo "Try \`$modename --help' for more information about other modes."
 5023 
 5024 exit 0
 5025 
 5026 # Local Variables:
 5027 # mode:shell-script
 5028 # sh-indentation:2
 5029 # End: