source: trunk/third/pcre/ltmain.sh @ 19309

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