source: trunk/third/oaf/ltmain.sh @ 18115

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