source: trunk/third/gettext/ltmain.sh @ 18200

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