source: trunk/third/rpm/db/dist/ltmain.sh @ 19079

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