source: trunk/third/gnome-desktop/ltmain.sh @ 18622

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