ltmain.sh revision 55682
1# ltmain.sh - Provide generalized library-building support services.
2# NOTE: Changing this file will not affect anything until you rerun ltconfig.
3#
4# Copyright (C) 1996-1998 Free Software Foundation, Inc.
5# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful, but
13# WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15# General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program; if not, write to the Free Software
19# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20#
21# As a special exception to the GNU General Public License, if you
22# distribute this file as part of a program that contains a
23# configuration script generated by Autoconf, you may include it under
24# the same distribution terms that you use for the rest of that program.
25
26# Check that we have a working $echo.
27if test "X$1" = X--no-reexec; then
28  # Discard the --no-reexec flag, and continue.
29  shift
30elif test "X$1" = X--fallback-echo; then
31  # used as fallback echo
32  shift
33  cat <<EOF
34$*
35EOF
36  exit 0
37elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
38  # Yippee, $echo works!
39  :
40else
41  # Restart under the correct shell, and then maybe $echo will work.
42  exec $SHELL "$0" --no-reexec ${1+"$@"}
43fi
44
45# The name of this program.
46progname=`$echo "$0" | sed 's%^.*/%%'`
47modename="$progname"
48
49# Constants.
50PROGRAM=ltmain.sh
51PACKAGE=libtool
52VERSION=1.2d
53
54default_mode=
55help="Try \`$progname --help' for more information."
56magic="%%%MAGIC variable%%%"
57mkdir="mkdir"
58mv="mv -f"
59rm="rm -f"
60
61# Sed substitution that helps us do robust quoting.  It backslashifies
62# metacharacters that are still active within double-quoted strings.
63Xsed='sed -e s/^X//'
64sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
65
66# NLS nuisances.
67# Only set LANG and LC_ALL to C if already set.
68# These must not be set unconditionally because not all systems understand
69# e.g. LANG=C (notably SCO).
70# We save the old values to restore during execute mode.
71if test "${LC_ALL+set}" = set; then
72  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
73fi
74if test "${LANG+set}" = set; then
75  save_LANG="$LANG"; LANG=C; export LANG
76fi
77
78if test "$LTCONFIG_VERSION" != "$VERSION"; then
79  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
80  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
81  exit 1
82fi
83
84if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
85  echo "$modename: not configured to build any kind of library" 1>&2
86  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
87  exit 1
88fi
89
90# Global variables.
91mode=$default_mode
92nonopt=
93prev=
94prevopt=
95run=
96show="$echo"
97show_help=
98execute_dlfiles=
99lo2o="s/\\.lo\$/.${objext}/"
100los2o="s/\\.lo /.${objext} /g"
101
102# Parse our command line options once, thoroughly.
103while test $# -gt 0
104do
105  arg="$1"
106  shift
107
108  case "$arg" in
109  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
110  *) optarg= ;;
111  esac
112
113  # If the previous option needs an argument, assign it.
114  if test -n "$prev"; then
115    case "$prev" in
116    execute_dlfiles)
117      eval "$prev=\"\$$prev \$arg\""
118      ;;
119    *)
120      eval "$prev=\$arg"
121      ;;
122    esac
123
124    prev=
125    prevopt=
126    continue
127  fi
128
129  # Have we seen a non-optional argument yet?
130  case "$arg" in
131  --help)
132    show_help=yes
133    ;;
134
135  --version)
136    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
137    exit 0
138    ;;
139
140  --config)
141    sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
142    exit 0
143    ;;
144
145  --debug)
146    echo "$progname: enabling shell trace mode"
147    set -x
148    ;;
149
150  --dry-run | -n)
151    run=:
152    ;;
153
154  --features)
155    echo "host: $host"
156    if test "$build_libtool_libs" = yes; then
157      echo "enable shared libraries"
158    else
159      echo "disable shared libraries"
160    fi
161    if test "$build_old_libs" = yes; then
162      echo "enable static libraries"
163    else
164      echo "disable static libraries"
165    fi
166    exit 0
167    ;;
168
169  --finish) mode="finish" ;;
170
171  --mode) prevopt="--mode" prev=mode ;;
172  --mode=*) mode="$optarg" ;;
173
174  --quiet | --silent)
175    show=:
176    ;;
177
178  -dlopen)
179    prevopt="-dlopen"
180    prev=execute_dlfiles
181    ;;
182
183  -*)
184    $echo "$modename: unrecognized option \`$arg'" 1>&2
185    $echo "$help" 1>&2
186    exit 1
187    ;;
188
189  *)
190    nonopt="$arg"
191    break
192    ;;
193  esac
194done
195
196if test -n "$prevopt"; then
197  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
198  $echo "$help" 1>&2
199  exit 1
200fi
201
202if test -z "$show_help"; then
203
204  # Infer the operation mode.
205  if test -z "$mode"; then
206    case "$nonopt" in
207    *cc | *++ | gcc* | *-gcc*)
208      mode=link
209      for arg
210      do
211        case "$arg" in
212        -c)
213           mode=compile
214           break
215           ;;
216        esac
217      done
218      ;;
219    *db | *dbx | *strace | *truss)
220      mode=execute
221      ;;
222    *install*|cp|mv)
223      mode=install
224      ;;
225    *rm)
226      mode=uninstall
227      ;;
228    *)
229      # If we have no mode, but dlfiles were specified, then do execute mode.
230      test -n "$execute_dlfiles" && mode=execute
231
232      # Just use the default operation mode.
233      if test -z "$mode"; then
234        if test -n "$nonopt"; then
235          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
236        else
237          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
238        fi
239      fi
240      ;;
241    esac
242  fi
243
244  # Only execute mode is allowed to have -dlopen flags.
245  if test -n "$execute_dlfiles" && test "$mode" != execute; then
246    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
247    $echo "$help" 1>&2
248    exit 1
249  fi
250
251  # Change the help message to a mode-specific one.
252  generic_help="$help"
253  help="Try \`$modename --help --mode=$mode' for more information."
254
255  # These modes are in order of execution frequency so that they run quickly.
256  case "$mode" in
257  # libtool compile mode
258  compile)
259    modename="$modename: compile"
260    # Get the compilation command and the source file.
261    base_compile=
262    lastarg=
263    srcfile="$nonopt"
264    suppress_output=
265    force_static=no
266
267    user_target=no
268    for arg
269    do
270      # Accept any command-line options.
271      case "$arg" in
272      -o)
273        if test "$user_target" != "no"; then
274          $echo "$modename: you cannot specify \`-o' more than once" 1>&2
275	  exit 1
276        fi
277        user_target=next
278	;;
279
280      -force-static)
281        force_static=yes
282        continue
283        ;;
284	
285      -static)
286        build_old_libs=yes
287        continue
288        ;;
289      esac
290
291      case "$user_target" in
292      next)
293        # The next one is the -o target name
294        user_target=yes
295        continue
296        ;;
297      yes)
298        # We got the output file
299        user_target=set
300        libobj="$arg"
301        continue
302        ;;
303      esac
304
305      # Accept the current argument as the source file.
306      lastarg="$srcfile"
307      srcfile="$arg"
308
309      # Aesthetically quote the previous argument.
310
311      # Backslashify any backslashes, double quotes, and dollar signs.
312      # These are the only characters that are still specially
313      # interpreted inside of double-quoted scrings.
314      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
315
316      # Double-quote args containing other shell metacharacters.
317      # Many Bourne shells cannot handle close brackets correctly in scan
318      # sets, so we specify it separately.
319      case "$lastarg" in
320      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
321        lastarg="\"$lastarg\""
322        ;;
323      esac
324
325      # Add the previous argument to base_compile.
326      if test -z "$base_compile"; then
327        base_compile="$lastarg"
328      else
329        base_compile="$base_compile $lastarg"
330      fi
331    done
332
333    case "$user_target" in
334    set)
335      ;;
336    no)
337      # Get the name of the library object.
338      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
339      ;;
340    *)
341      $echo "$modename: you must specify a target with \`-o'" 1>&2
342      exit 1
343      ;;
344    esac
345
346    # Recognize several different file suffixes.
347    # If the user specifies -o file.o, it is replaced with file.lo
348    xform='[cCFSfmso]'
349    case "$libobj" in
350    *.ada) xform=ada ;;
351    *.adb) xform=adb ;;
352    *.ads) xform=ads ;;
353    *.asm) xform=asm ;;
354    *.c++) xform=c++ ;;
355    *.cc) xform=cc ;;
356    *.cpp) xform=cpp ;;
357    *.cxx) xform=cxx ;;
358    *.f90) xform=f90 ;;
359    *.for) xform=for ;;
360    esac
361
362    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
363
364    case "$libobj" in
365    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
366    *)
367      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
368      exit 1
369      ;;
370    esac
371
372    if test -z "$base_compile"; then
373      $echo "$modename: you must specify a compilation command" 1>&2
374      $echo "$help" 1>&2
375      exit 1
376    fi
377
378    # Delete any leftover library objects.
379    if test "$build_old_libs" = yes; then
380      removelist="$obj $libobj $lockfile"
381    else
382      removelist="$libobj $lockfile"
383    fi
384
385    $run $rm $removelist
386    trap "$run $rm $removelist; exit 1" 1 2 15
387
388    # Calculate the filename of the output object if compiler does
389    # not support -o with -c
390    if test "$compiler_c_o" = no; then
391      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
392      lockfile="$output_obj.lock"
393      removelist="$removelist $output_obj $lockfile"
394      trap "$run $rm $removelist; exit 1" 1 2 15
395    else
396      need_locks=no
397      lockfile=
398    fi
399
400    # Lock this critical section if it is needed
401    # We use this script file to make the link, it avoids creating a new file
402    if test "$need_locks" = yes; then
403      until ln "$0" "$lockfile" 2>/dev/null; do
404        $show "Waiting for $lockfile to be removed"
405        sleep 2
406      done
407    elif test "$need_locks" = warn; then
408      if test -f "$lockfile"; then
409	echo "\
410*** ERROR, $lockfile exists and contains:
411`cat $lockfile 2>/dev/null`
412
413This indicates that another process is trying to use the same
414temporary object file, and libtool could not work around it because
415your compiler does not support \`-c' and \`-o' together.  If you
416repeat this compilation, it may succeed, by chance, but you had better
417avoid parallel builds (make -j) in this platform, or get a better
418compiler."
419
420	$run $rm $removelist
421	exit 1
422      fi
423      echo $srcfile > "$lockfile"
424    fi
425
426    if test -n "$fix_srcfile_path"; then
427      eval srcfile=\"$fix_srcfile_path\"
428    fi
429
430    # Only build a PIC object if we are building libtool libraries.
431    if test "$build_libtool_libs" = yes; then
432      # Without this assignment, base_compile gets emptied.
433      fbsd_hideous_sh_bug=$base_compile
434
435      # All platforms use -DPIC, to notify preprocessed assembler code.
436      command="$base_compile$pic_flag -DPIC $srcfile"
437      if test "$compiler_o_lo" = yes; then
438        command="$command -o $libobj"
439        output_obj="$libobj"
440      elif test "$compiler_c_o" = yes; then
441        command="$command -o $obj"
442        output_obj="$obj"
443      fi
444
445      $show "$command"
446      if $run eval "$command"; then :
447      else
448        test -n "$output_obj" && $run $rm $removelist
449        exit 1
450      fi
451
452      if test "$need_locks" = warn &&
453	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
454	echo "\
455*** ERROR, $lockfile contains:
456`cat $lockfile 2>/dev/null`
457
458but it should contain:
459$srcfile
460
461This indicates that another process is trying to use the same
462temporary object file, and libtool could not work around it because
463your compiler does not support \`-c' and \`-o' together.  If you
464repeat this compilation, it may succeed, by chance, but you had better
465avoid parallel builds (make -j) in this platform, or get a better
466compiler."
467
468	$run $rm $removelist
469	exit 1
470      fi
471
472      # Just move the object if needed, then go on to compile the next one
473      if test "$compiler_o_lo" = no && test x"$output_obj" != x"$libobj"; then
474        $show "$mv $output_obj $libobj"
475        if $run $mv $output_obj $libobj; then :
476	else
477	  error=$?
478	  $run $rm $removelist
479	  exit $error
480	fi
481      fi
482
483      # If we have no pic_flag and do not have -force-static, 
484      # then copy the object into place and finish.
485      if test -z "$pic_flag" && test "$force_static" = no; then
486        $show "$LN_S $libobj $obj"
487        if $run $LN_S $libobj $obj; then
488	  exit 0
489	else
490          error=$?
491	  $run $rm $removelist
492	  exit $error
493	fi
494      fi
495
496      # Allow error messages only from the first compilation.
497      suppress_output=' >/dev/null 2>&1'
498    fi
499
500    # Only build a position-dependent object if we build old libraries.
501    if test "$build_old_libs" = yes; then
502      command="$base_compile $srcfile"
503      if test "$force_static" = yes; then
504        command="$command -DLIBTOOL_STATIC"
505      fi
506      if test "$compiler_c_o" = yes; then
507        command="$command -o $obj"
508        output_obj="$obj"
509      fi
510
511      # Suppress compiler output if we already did a PIC compilation.
512      command="$command$suppress_output"
513      $show "$command"
514      if $run eval "$command"; then :
515      else
516        $run $rm $removelist
517        exit 1
518      fi
519
520      if test "$need_locks" = warn &&
521	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
522	echo "\
523*** ERROR, $lockfile contains:
524`cat $lockfile 2>/dev/null`
525
526but it should contain:
527$srcfile
528
529This indicates that another process is trying to use the same
530temporary object file, and libtool could not work around it because
531your compiler does not support \`-c' and \`-o' together.  If you
532repeat this compilation, it may succeed, by chance, but you had better
533avoid parallel builds (make -j) in this platform, or get a better
534compiler."
535
536	$run $rm $removelist
537	exit 1
538      fi
539
540      # Just move the object if needed
541      if test "$compiler_c_o" = no && test x"$output_obj" != x"$obj"; then
542        $show "$mv $output_obj $obj"
543        if $run $mv $output_obj $obj; then :
544	else
545	  error=$?
546	  $run $rm $removelist
547	  exit $error
548	fi
549      fi
550    fi
551
552    # Unlock the critical section if it was locked
553    if test "$need_locks" != no; then
554      $rm "$lockfile"
555    fi
556
557    # Create an invalid libtool object if no PIC, so that we do not
558    # accidentally link it into a program.
559    if test "$build_libtool_libs" != yes; then
560      $show "echo timestamp > $libobj"
561      $run eval "echo timestamp > \$libobj" || exit $?
562    fi
563
564    exit 0
565    ;;
566
567  # libtool link mode
568  link)
569    modename="$modename: link"
570    C_compiler="$CC" # save it, to compile generated C sources
571    CC="$nonopt"
572    allow_undefined=yes
573    compile_command="$CC"
574    finalize_command="$CC"
575
576    compile_shlibpath=
577    finalize_shlibpath=
578    convenience=
579    old_convenience=
580    deplibs=
581    eval lib_search_path=\"$sys_lib_search_path\"
582    
583    dlfiles=
584    dlprefiles=
585    export_dynamic=no
586    export_symbols=
587    generated=
588    hardcode_libdirs=
589    libobjs=
590    link_against_libtool_libs=
591    ltlibs=
592    module=no
593    objs=
594    prev=
595    prevarg=
596    release=
597    rpath=
598    perm_rpath=
599    temp_rpath=
600    vinfo=
601
602    # We need to know -static, to get the right output filenames.
603    for arg
604    do
605      case "$arg" in
606      -all-static | -static)
607        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
608	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
609        fi
610        build_libtool_libs=no
611	build_old_libs=yes
612        break
613        ;;
614      esac
615    done
616
617    # See if our shared archives depend on static archives.
618    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
619
620    # Go through the arguments, transforming them on the way.
621    while test $# -gt 0; do
622      arg="$1"
623      shift
624
625      # If the previous option needs an argument, assign it.
626      if test -n "$prev"; then
627        case "$prev" in
628        output)
629          compile_command="$compile_command @OUTPUT@"
630          finalize_command="$finalize_command @OUTPUT@"
631          ;;
632        esac
633
634        case "$prev" in
635        dlfiles|dlprefiles)
636          case "$arg" in
637          *.la | *.lo) ;;  # We handle these cases below.
638          *)
639            dlprefiles="$dlprefiles $arg"
640            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
641            prev=
642            ;;
643          esac
644          ;;
645	exportsyms)
646	  export_symbols="$arg"
647          if test ! -f "$arg"; then
648            $echo "$modename: symbol file \`$arg' does not exist"
649            exit 1
650          fi
651	  prev=
652	  ;;
653	release)
654	  release="-$arg"
655	  prev=
656	  continue
657	  ;;
658        rpath)
659          rpath="$rpath $arg"
660	  prev=
661	  continue
662	  ;;
663        *)
664          eval "$prev=\"\$arg\""
665          prev=
666          continue
667          ;;
668        esac
669      fi
670
671      prevarg="$arg"
672
673      case "$arg" in
674      -all-static)
675	if test -n "$link_static_flag"; then
676          compile_command="$compile_command $link_static_flag"
677	  finalize_command="$finalize_command $link_static_flag"
678        fi
679        continue
680	;;
681
682      -allow-undefined)
683	# FIXME: remove this flag sometime in the future.
684	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
685	continue
686	;;
687
688      -dlopen)
689        prev=dlfiles
690        continue
691        ;;
692
693      -dlpreopen)
694        prev=dlprefiles
695        continue
696        ;;
697
698      -export-dynamic)
699        if test "$export_dynamic" != yes; then
700          export_dynamic=yes
701	  if test -n "$export_dynamic_flag_spec"; then
702	    eval arg=\"$export_dynamic_flag_spec\"
703	  else
704	    arg=
705	  fi
706
707          # Add the symbol object into the linking commands.
708	  compile_command="$compile_command @SYMFILE@"
709	  finalize_command="$finalize_command @SYMFILE@"
710        fi
711        ;;
712
713      -export-symbols)
714        if test -n "$export_symbols"; then
715          $echo "$modename: cannot have more than one -exported-symbols"
716          exit 1
717        fi
718	prev=exportsyms
719	continue
720        ;;
721
722      -L*)
723        dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
724        case "$dir" in
725        /* | [A-Za-z]:[/\\]*)
726	  # Add the corresponding hardcode_libdir_flag, if it is not identical.
727          ;;
728        *)
729          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
730          exit 1
731          ;;
732        esac
733        deplibs="$deplibs $arg"
734        lib_search_path="$lib_search_path `expr $arg : '-L\(.*\)'`"
735        ;;
736
737      -l*) deplibs="$deplibs $arg" ;;
738
739      -module)
740        if test "$module" != yes; then
741          module=yes
742	  if test -n "$export_dynamic_flag_spec"; then
743	    eval arg=\"$export_dynamic_flag_spec\"
744	  else
745	    arg=
746	  fi
747	fi
748        ;;
749	
750      -no-undefined)
751	allow_undefined=no
752	continue
753	;;
754
755      -o) prev=output ;;
756
757      -release)
758	prev=release
759	continue
760	;;
761
762      -rpath)
763        prev=rpath
764        continue
765        ;;
766
767      -static)
768	# If we have no pic_flag, then this is the same as -all-static.
769	if test -z "$pic_flag" && test -n "$link_static_flag"; then
770          compile_command="$compile_command $link_static_flag"
771	  finalize_command="$finalize_command $link_static_flag"
772        fi
773	continue
774	;;
775
776      -version-info)
777        prev=vinfo
778        continue
779        ;;
780
781      # Some other compiler flag.
782      -* | +*)
783	# Unknown arguments in both finalize_command and compile_command need
784	# to be aesthetically quoted because they are evaled later.
785	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
786	case "$arg" in
787	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
788	  arg="\"$arg\""
789	  ;;
790	esac
791        ;;
792
793      *.o | *.obj | *.a | *.lib)
794        # A standard object.
795        objs="$objs $arg"
796        ;;
797
798      *.lo)
799        # A library object.
800	if test "$prev" = dlfiles; then
801	  dlfiles="$dlfiles $arg"
802	  if test "$build_libtool_libs" = yes; then
803	    prev=
804	    continue
805	  else
806	    # If libtool objects are unsupported, then we need to preload.
807	    prev=dlprefiles
808	  fi
809	fi
810
811	if test "$prev" = dlprefiles; then
812	  # Preload the old-style object.
813	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
814	  prev=
815	fi
816	libobjs="$libobjs $arg"
817        ;;
818
819      *.la)
820        # A libtool-controlled library.
821
822        dlname=
823        libdir=
824        library_names=
825        old_library=
826
827        # Check to see that this really is a libtool archive.
828        if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
829        else
830          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
831          exit 1
832        fi
833
834	# If the library was installed with an old release of libtool,
835	# it will not redefine variable installed.
836	installed=yes
837
838        # If there is no directory component, then add one.
839        case "$arg" in
840        */* | *\\*) . $arg ;;
841        *) . ./$arg ;;
842        esac
843
844        # Get the name of the library we link against.
845        linklib=
846        for l in $old_library $library_names; do
847          linklib="$l"
848        done
849
850        if test -z "$linklib"; then
851          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
852          exit 1
853        fi
854
855        # Find the relevant object directory and library name.
856        name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
857
858	if test "X$installed" = Xyes; then
859	  dir="$libdir"
860	else
861	  dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
862	  if test "X$dir" = "X$arg"; then
863	    dir="$objdir"
864	  else
865	    dir="$dir/$objdir"
866	  fi
867	fi
868
869        if test -z "$libdir"; then
870	  # It is a libtool convenience library, so add in its objects.
871	  convenience="$convenience $dir/$old_library"
872	  old_convenience="$old_convenience $dir/$old_library"
873	  deplibs="$deplibs$dependency_libs"
874	  compile_command="$compile_command $dir/$old_library$dependency_libs"
875	  finalize_command="$finalize_command $dir/$old_library$dependency_libs"
876	  continue
877	fi
878
879        # This library was specified with -dlopen.
880        if test "$prev" = dlfiles; then
881          dlfiles="$dlfiles $arg"
882          if test -z "$dlname" || test "$build_libtool_libs" = no; then
883            # If there is no dlname or we're linking statically,
884            # we need to preload.
885            prev=dlprefiles
886          else
887            # We should not create a dependency on this library, but we
888	    # may need any libraries it requires.
889	    compile_command="$compile_command$dependency_libs"
890	    finalize_command="$finalize_command$dependency_libs"
891            prev=
892            continue
893          fi
894        fi
895
896        # The library was specified with -dlpreopen.
897        if test "$prev" = dlprefiles; then
898          # Prefer using a static library (so that no silly _DYNAMIC symbols
899          # are required to link).
900          if test -n "$old_library"; then
901            dlprefiles="$dlprefiles $dir/$old_library"
902          else
903            dlprefiles="$dlprefiles $dir/$linklib"
904          fi
905          prev=
906        fi
907
908        if test "$build_libtool_libs" = yes && test -n "$library_names"; then
909          link_against_libtool_libs="$link_against_libtool_libs $arg"
910          if test -n "$shlibpath_var"; then
911            # Make sure the rpath contains only unique directories.
912            case "$temp_rpath " in
913            *" $dir "*) ;;
914            *) temp_rpath="$temp_rpath $dir" ;;
915            esac
916          fi
917
918	  # This is the magic to use -rpath.
919          if test -n "$hardcode_libdir_flag_spec"; then
920            if test -n "$hardcode_libdir_separator"; then
921              if test -z "$hardcode_libdirs"; then
922                # Put the magic libdir with the hardcode flag.
923                hardcode_libdirs="$libdir"
924                libdir="@HARDCODE_LIBDIRS@"
925              else
926                # Just accumulate the unique libdirs.
927		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
928		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
929		  ;;
930		*)
931		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
932		  ;;
933		esac
934                libdir=
935              fi
936            fi
937
938            if test -n "$libdir"; then
939              eval flag=\"$hardcode_libdir_flag_spec\"
940
941              compile_command="$compile_command $flag"
942              finalize_command="$finalize_command $flag"
943            fi
944          elif test -n "$runpath_var"; then
945            # Do the same for the permanent run path.
946            case "$perm_rpath " in
947            *" $libdir "*) ;;
948            *) perm_rpath="$perm_rpath $libdir" ;;
949            esac
950          fi
951
952
953	  lib_linked=yes
954          case "$hardcode_action" in
955          immediate | unsupported)
956            if test "$hardcode_direct" = no; then
957              compile_command="$compile_command $dir/$linklib"
958            elif test "$hardcode_minus_L" = no; then
959	      case "$host" in
960	      *-*-sunos*)
961                compile_shlibpath="$compile_shlibpath$dir:"
962		;;
963	      esac
964              compile_command="$compile_command -L$dir -l$name"
965            elif test "$hardcode_shlibpath_var" = no; then
966              compile_shlibpath="$compile_shlibpath$dir:"
967              compile_command="$compile_command -l$name"
968	    else
969	      lib_linked=no
970            fi
971            ;;
972
973          relink)
974            # We need an absolute path.
975            case "$dir" in
976            /* | [A-Za-z]:[/\\]*) ;;
977            *)
978              absdir=`cd "$dir" && pwd`
979              if test -z "$absdir"; then
980                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
981                exit 1
982              fi
983              dir="$absdir"
984              ;;
985            esac
986
987            if test "$hardcode_direct" = yes; then
988              compile_command="$compile_command $dir/$linklib"
989            elif test "$hardcode_minus_L" = yes; then
990              compile_command="$compile_command -L$dir -l$name"
991            elif test "$hardcode_shlibpath_var" = yes; then
992              compile_shlibpath="$compile_shlibpath$dir:"
993              compile_command="$compile_command -l$name"
994	    else
995	      lib_linked=no
996            fi
997            ;;
998
999	  *)
1000	    lib_linked=no
1001	    ;;
1002          esac
1003
1004	  if test "$lib_linked" != yes; then
1005	    $echo "$modename: configuration error: unsupported hardcode properties"
1006	    exit 1
1007	  fi
1008
1009          # Finalize command for both is simple: just hardcode it.
1010          if test "$hardcode_direct" = yes; then
1011            finalize_command="$finalize_command $libdir/$linklib"
1012          elif test "$hardcode_minus_L" = yes; then
1013            finalize_command="$finalize_command -L$libdir -l$name"
1014          elif test "$hardcode_shlibpath_var" = yes; then
1015            finalize_shlibpath="$finalize_shlibpath$libdir:"
1016            finalize_command="$finalize_command -l$name"
1017          else
1018            # We cannot seem to hardcode it, guess we'll fake it.
1019            finalize_command="$finalize_command -L$libdir -l$name"
1020          fi
1021        else
1022          # Transform directly to old archives if we don't build new libraries.
1023          if test -n "$pic_flag" && test -z "$old_library"; then
1024            $echo "$modename: cannot find static library for \`$arg'" 1>&2
1025            exit 1
1026          fi
1027
1028	  # Here we assume that one of hardcode_direct or hardcode_minus_L
1029	  # is not unsupported.  This is valid on all known static and
1030	  # shared platforms.
1031	  if test "$hardcode_direct" != unsupported; then
1032	    test -n "$old_library" && linklib="$old_library"
1033	    compile_command="$compile_command $dir/$linklib"
1034	    finalize_command="$finalize_command $dir/$linklib"
1035	  else
1036	    compile_command="$compile_command -L$dir -l$name"
1037	    finalize_command="$finalize_command -L$dir -l$name"
1038	  fi
1039        fi
1040
1041	# Add in any libraries that this one depends upon.
1042	compile_command="$compile_command$dependency_libs"
1043	finalize_command="$finalize_command$dependency_libs"
1044	continue
1045        ;;
1046
1047      # Some other compiler argument.
1048      *)
1049	# Unknown arguments in both finalize_command and compile_command need
1050	# to be aesthetically quoted because they are evaled later.
1051	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1052	case "$arg" in
1053	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
1054	  arg="\"$arg\""
1055	  ;;
1056	esac
1057        ;;
1058      esac
1059
1060      # Now actually substitute the argument into the commands.
1061      if test -n "$arg"; then
1062	compile_command="$compile_command $arg"
1063	finalize_command="$finalize_command $arg"
1064      fi
1065    done
1066
1067    if test -n "$prev"; then
1068      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
1069      $echo "$help" 1>&2
1070      exit 1
1071    fi
1072
1073    if test -n "$export_symbols" && test "$module" = yes; then
1074      $echo "$modename: \`-export-symbols' is not supported for modules"
1075      exit 1
1076    fi
1077    
1078    oldlibs=
1079    # calculate the name of the file, without its directory
1080    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
1081
1082    case "$output" in
1083    "")
1084      $echo "$modename: you must specify an output file" 1>&2
1085      $echo "$help" 1>&2
1086      exit 1
1087      ;;
1088
1089    *.a | *.lib)
1090      if test -n "$link_against_libtool_libs"; then
1091        $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
1092        exit 1
1093      fi
1094
1095      if test -n "$deplibs"; then
1096        $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
1097      fi
1098
1099      if test -n "$dlfiles$dlprefiles"; then
1100        $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
1101      fi
1102
1103      if test -n "$rpath"; then
1104        $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
1105      fi
1106
1107      if test -n "$vinfo"; then
1108        $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
1109      fi
1110
1111      if test -n "$release"; then
1112        $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
1113      fi
1114
1115      if test -n "$export_symbols"; then
1116        $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
1117      fi
1118
1119      # Now set the variables for building old libraries.
1120      build_libtool_libs=no
1121      oldlibs="$output"
1122      ;;
1123
1124    *.la)
1125      # Make sure we only generate libraries of the form `libNAME.la'.
1126      case "$outputname" in
1127      lib*) ;;
1128      *)
1129	$echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
1130	$echo "$help" 1>&2
1131	exit 1
1132	;;
1133      esac
1134
1135      name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
1136      eval libname=\"$libname_spec\"
1137
1138      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
1139      if test "X$output_objdir" = "X$output"; then
1140        output_objdir="$objdir"
1141      else
1142        output_objdir="$output_objdir/$objdir"
1143      fi
1144
1145      # All the library-specific variables (install_libdir is set above).
1146      library_names=
1147      old_library=
1148      dlname=
1149
1150      if test -n "$objs"; then
1151        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
1152        exit 1
1153      fi
1154
1155      # How the heck are we supposed to write a wrapper for a shared library?
1156      if test -n "$link_against_libtool_libs"; then
1157        $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
1158        exit 1
1159      fi
1160
1161      if test -n "$dlfiles$dlprefiles"; then
1162        $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
1163      fi
1164
1165      set dummy $rpath
1166      if test $# -gt 2; then
1167	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
1168      fi
1169      install_libdir="$2"
1170
1171      oldlibs=
1172      if test -z "$rpath"; then
1173	# Building a libtool convenience library.
1174        libext=al
1175	oldlibs="$output_objdir/$libname.$libext $oldlibs"
1176	build_libtool_libs=convenience
1177	dependency_libs="$deplibs"
1178
1179	if test -n "$vinfo"; then
1180	  $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
1181	fi
1182
1183	if test -n "$release"; then
1184	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
1185	fi
1186      else
1187
1188	# Parse the version information argument.
1189	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
1190	set dummy $vinfo 0 0 0
1191	IFS="$save_ifs"
1192
1193	if test -n "$8"; then
1194	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
1195	  $echo "$help" 1>&2
1196	  exit 1
1197	fi
1198
1199	current="$2"
1200	revision="$3"
1201	age="$4"
1202
1203	# Check that each of the things are valid numbers.
1204	case "$current" in
1205	0 | [1-9] | [1-9][0-9]*) ;;
1206	*)
1207	  $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
1208	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1209	  exit 1
1210	  ;;
1211	esac
1212
1213	case "$revision" in
1214	0 | [1-9] | [1-9][0-9]*) ;;
1215	*)
1216	  $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
1217	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1218	  exit 1
1219	  ;;
1220	esac
1221
1222	case "$age" in
1223	0 | [1-9] | [1-9][0-9]*) ;;
1224	*)
1225	  $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
1226	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1227	  exit 1
1228	  ;;
1229	esac
1230
1231	if test $age -gt $current; then
1232	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
1233	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
1234	  exit 1
1235	fi
1236
1237	# Calculate the version variables.
1238	major=
1239	versuffix=
1240	verstring=
1241	case "$version_type" in
1242	none) ;;
1243
1244	linux)
1245	  major=.`expr $current - $age`
1246	  versuffix="$major.$age.$revision"
1247	  ;;
1248
1249	osf)
1250	  major=`expr $current - $age`
1251	  versuffix=".$current.$age.$revision"
1252	  verstring="$current.$age.$revision"
1253
1254	  # Add in all the interfaces that we are compatible with.
1255	  loop=$age
1256	  while test $loop != 0; do
1257	    iface=`expr $current - $loop`
1258	    loop=`expr $loop - 1`
1259	    verstring="$verstring:${iface}.0"
1260	  done
1261
1262	  # Make executables depend on our current version.
1263	  verstring="$verstring:${current}.0"
1264	  ;;
1265
1266	sunos)
1267	  major=".$current"
1268	  versuffix=".$current.$revision"
1269	  ;;
1270
1271	freebsd-aout)
1272	  major=".$current"
1273	  versuffix=".$current.$revision";
1274	  ;;
1275
1276	freebsd-elf)
1277	  major=".$current"
1278	  versuffix=".$current";
1279	  ;;
1280
1281	windows)
1282	  # Like Linux, but with '-' rather than '.', since we only
1283	  # want one extension on Windows 95.
1284	  major=`expr $current - $age`
1285	  versuffix="-$major-$age-$revision"
1286	  ;;
1287
1288	*)
1289	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
1290	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
1291	  exit 1
1292	  ;;
1293	esac
1294
1295	# Clear the version info if we defaulted, and they specified a release.
1296	if test -z "$vinfo" && test -n "$release"; then
1297	  major=
1298	  versuffix=
1299	  verstring="0.0"
1300	  case "$host" in
1301	  *-*-sunos*)
1302	    versuffix=".0.0"
1303	    ;;
1304	  esac
1305	fi
1306
1307	# Check to see if the archive will have undefined symbols.
1308	if test "$allow_undefined" = yes; then
1309	  if test "$allow_undefined_flag" = unsupported; then
1310	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
1311	    build_libtool_libs=no
1312	    build_old_libs=yes
1313	  fi
1314	else
1315	  # Don't allow undefined symbols.
1316	  allow_undefined_flag="$no_undefined_flag"
1317	fi
1318
1319	# Add libc to deplibs on all systems.
1320	dependency_libs="$deplibs"
1321	deplibs="$deplibs -lc"
1322      fi
1323
1324      # Create the output directory, or remove our outputs if we need to.
1325      if test -d $output_objdir; then
1326        $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
1327	$run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
1328      else
1329        $show "$mkdir $output_objdir"
1330        $run $mkdir $output_objdir
1331        status=$?
1332        if test $status -ne 0 && test ! -d $output_objdir; then
1333          exit $status
1334        fi
1335      fi
1336
1337      # Now set the variables for building old libraries.
1338      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
1339	oldlibs="$oldlibs $output_objdir/$libname.$libext"
1340
1341	# Transform .lo files to .o files.
1342	oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.'${libext}' //g' -e "$los2o" -e 's/ $//g'`
1343      fi
1344
1345      if test "$build_libtool_libs" = yes; then
1346        # Transform deplibs into only deplibs that can be linked in shared.
1347        ## Gordon: Do you check for the existence of the libraries in deplibs
1348        ## on the system?  That should maybe be merged in here someplace....
1349        ## Actually: I think test_compile and file_magic do this... file_regex
1350        ## sorta does this. Only pas_all needs to be changed.  -Toshio
1351        name_save=$name
1352        libname_save=$libname
1353        release_save=$release
1354        versuffix_save=$versuffix
1355        major_save=$major
1356        # I'm not sure if I'm treating the release correctly.  I think
1357        # release should show up in the -l (ie -lgmp5) so we don't want to
1358        # add it in twice.  Is that correct?
1359        release=""
1360        versuffix=""
1361        major=""
1362        newdeplibs=
1363        case "$check_shared_deplibs_method" in
1364        pass_all)  
1365          newdeplibs=$deplibs 
1366                    ;; # Don't check for shared/static.  Everything works.
1367                       # This might be a little naive.  We might want to check
1368                       # whether the library exists or not.  But this is on
1369                       # osf3 & osf4 and I'm not really sure... Just
1370                       # implementing what was already the behaviour.
1371        test_compile)
1372          # This code stresses the "libraries are programs" paradigm to its
1373          # limits. Maybe even breaks it.  We compile a program, linking it
1374          # against the deplibs as a proxy for the library.  Then we can check
1375          # whether they linked in statically or dynamically with ldd.
1376          $rm conftest.c
1377          cat > conftest.c <<EOF
1378          int main() { return 0; }
1379EOF
1380          $rm a.out
1381          $C_compiler conftest.c $deplibs
1382          if test $? -eq 0 ; then
1383            ldd_output=`ldd a.out`
1384            for i in $deplibs; do
1385              name="`expr $i : '-l\(.*\)'`"
1386              # If $name is empty we are operating on a -L argument.
1387              if test "$name" != "" ; then
1388                libname=`eval \\$echo \"$libname_spec\"`
1389                deplib_matches=`eval \\$echo \"$library_names_spec\"`
1390                set dummy $deplib_matches
1391                deplib_match=$2
1392                if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
1393                  newdeplibs="$newdeplibs $i"
1394                else
1395                  echo
1396                  echo "*** Warning: This library needs some functionality provided by $i."
1397                  echo "*** I have the capability to make that library automatically link in when"
1398                  echo "*** you link to this library.  But I can only do this if you have a"
1399                  echo "*** shared version of the library, which you do not appear to have."
1400                fi
1401              else
1402                newdeplibs="$newdeplibs $i"
1403              fi
1404            done
1405          else
1406            # Error occured in the first compile.  Let's try to salvage the situation:
1407            # Compile a seperate program for each library.
1408            for i in $deplibs; do
1409              name="`expr $i : '-l\(.*\)'`"
1410             # If $name is empty we are operating on a -L argument.
1411              if test "$name" != "" ; then
1412                $rm a.out
1413                $C_compiler conftest.c $i
1414                # Did it work?
1415                if test $? -eq 0 ; then
1416                  ldd_output=`ldd a.out`
1417                    libname=`eval \\$echo \"$libname_spec\"`
1418                    deplib_matches=`eval \\$echo \"$library_names_spec\"`
1419                    set dummy $deplib_matches
1420                    deplib_match=$2
1421                    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
1422                      newdeplibs="$newdeplibs $i"
1423                    else
1424                      echo
1425                      echo "*** Warning: This library needs some functionality provided by $i."
1426                      echo "*** I have the capability to make that library automatically link in when"
1427                      echo "*** you link to this library.  But I can only do this if you have a"
1428                      echo "*** shared version of the library, which you do not appear to have."
1429                    fi
1430                else
1431                  echo
1432                  echo "*** Warning!  Library $i is needed by this library but I was not able to"
1433                  echo "***  make it link in!  You will probably need to install it or some"
1434                  echo "*** library that it depends on before this library will be fully"
1435                  echo "*** functional.  Installing it before continuing would be even better."
1436                fi
1437              else
1438                newdeplibs="$newdeplibs $i"
1439              fi
1440            done
1441          fi
1442          deplibs=$newdeplibs
1443          ;;
1444        file_magic* | file_regex)
1445          set dummy $check_shared_deplibs_method
1446          file_magic_regex="`expr \"$check_shared_deplibs_method\" : \"$2\(.*\)\"`"
1447          for a_deplib in $deplibs; do
1448            name="`expr $a_deplib : '-l\(.*\)'`"
1449            # If $name is empty we are operating on a -L argument.
1450            if test "$name" != "" ; then
1451              libname=`eval \\$echo \"$libname_spec\"`
1452              case "$check_shared_deplibs_method" in
1453                file_magic*)
1454                  for i in $lib_search_path; do
1455                   # This needs to be more general than file_regex in order to
1456                   # catch things like glibc on linux.  Maybe file_regex
1457                   # should be more general as well, but maybe not.  Since
1458                   # library names are supposed to conform to
1459                   # library_name_spec, I think file_regex should remain
1460                   # strict.  What do you think Gordon?
1461                    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
1462                    for potent_lib in $potential_libs; do
1463                      file_output=`file $potent_lib`
1464                      if test `expr "$file_output" : ".*$file_magic_regex"` -ne 0 ; then
1465                        newdeplibs="$newdeplibs $a_deplib"
1466                        a_deplib=""
1467                        break 2
1468                      fi
1469                    done
1470                  done
1471                  ;;
1472                file_regex)
1473                  deplib_matches=`eval \\$echo \"$library_names_spec\"`
1474                  set dummy $deplib_matches
1475                  deplib_match=$2
1476                  for i in $lib_search_path; do
1477                    potential_libs=`ls $i/$deplib_match* 2>/dev/null`
1478                    if test "$potential_libs" != "" ; then
1479                      newdeplibs="$newdeplibs $a_deplib"
1480                      a_deplib=""
1481                      break
1482                    fi
1483                  done
1484                  ;;
1485              esac
1486              if test "$a_deplib" != "" ; then
1487                echo
1488                echo "*** Warning: This library needs some functionality provided by $a_deplib."
1489                echo "*** I have the capability to make that library automatically link in when"
1490                echo "*** you link to this library.  But I can only do this if you have a"
1491                echo "*** shared version of the library, which you do not appear to have."
1492              fi
1493            else
1494              # Add a -L argument.
1495              newdeplibs="$newdeplibs $a_deplib"
1496            fi
1497          done # Gone through all deplibs.
1498          ;;
1499        none | *)  deplibs="" ;;
1500        esac
1501        versuffix=$versuffix_save
1502        major=$major_save
1503        release=$release_save
1504        libname=$libname_save
1505        name=$name_save
1506        deplibs=$newdeplibs
1507        # Done checking deplibs!
1508 
1509	# Get the real and link names of the library.
1510	eval library_names=\"$library_names_spec\"
1511	set dummy $library_names
1512	realname="$2"
1513	shift; shift
1514
1515	if test -n "$soname_spec"; then
1516	  eval soname=\"$soname_spec\"
1517	else
1518	  soname="$realname"
1519	fi
1520
1521	lib="$output_objdir/$realname"
1522	for link
1523	do
1524	  linknames="$linknames $link"
1525	done
1526
1527	# Use standard objects if they are PIC.
1528	test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'`
1529
1530	if test -n "$whole_archive_flag_spec"; then
1531	  if test -n "$convenience"; then
1532	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
1533	  fi
1534	else
1535	  for xlib in $convenience; do
1536	    # Extract the objects.
1537	    xdir="$xlib"x
1538	    generated="$generated $xdir"
1539	    xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
1540
1541	    $show "${rm}r $xdir"
1542	    $run ${rm}r "$xdir"
1543	    $show "mkdir $xdir"
1544	    $run mkdir "$xdir"
1545	    status=$?
1546	    if test $status -ne 0 && test ! -d "$xdir"; then
1547	      exit $status
1548	    fi
1549	    $show "(cd $xdir && $AR x ../$xlib)"
1550	    $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
1551
1552	    libobjs="$libobjs `echo $xdir/*`"
1553	  done
1554	fi
1555
1556	# Do each of the archive commands.
1557	if test -n "$export_symbols" && test -n "$archive_sym_cmds"; then
1558	  eval cmds=\"$archive_sym_cmds\"
1559	else
1560	  eval cmds=\"$archive_cmds\"
1561	fi
1562	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
1563	for cmd in $cmds; do
1564	  IFS="$save_ifs"
1565	  $show "$cmd"
1566	  $run eval "$cmd" || exit $?
1567	done
1568	IFS="$save_ifs"
1569
1570	# Create links to the real library.
1571	for linkname in $linknames; do
1572	  if test "$realname" != "$linkname"; then
1573	    $show "(cd $output_objdir && $LN_S $realname $linkname)"
1574	    $run eval '(cd $output_objdir && $LN_S $realname $linkname)' || exit $?
1575	  fi
1576	done
1577
1578	# If -module or -export-dynamic was specified, set the dlname.
1579	if test "$module" = yes || test "$export_dynamic" = yes; then
1580	  # On all known operating systems, these are identical.
1581	  dlname="$soname"
1582	fi
1583      fi
1584      ;;
1585
1586    *.lo | *.o | *.obj)
1587      if test -n "$link_against_libtool_libs"; then
1588        $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
1589        exit 1
1590      fi
1591
1592      if test -n "$deplibs"; then
1593        $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
1594      fi
1595
1596      if test -n "$dlfiles$dlprefiles"; then
1597        $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
1598      fi
1599
1600      if test -n "$rpath"; then
1601        $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
1602      fi
1603
1604      if test -n "$vinfo"; then
1605        $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
1606      fi
1607
1608      if test -n "$release"; then
1609        $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
1610      fi
1611
1612      case "$output" in
1613      *.lo)
1614        if test -n "$objs"; then
1615          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
1616          exit 1
1617        fi
1618        libobj="$output"
1619        obj=`$echo "X$output" | $Xsed -e "$lo2o"`
1620        ;;
1621      *)
1622        libobj=
1623        obj="$output"
1624        ;;
1625      esac
1626
1627      # Delete the old objects.
1628      $run $rm $obj $libobj
1629
1630      # Create the old-style object.
1631      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.'${libext}' //g' -e 's/[^       ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
1632
1633      output="$obj"
1634      eval cmds=\"$reload_cmds\"
1635      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
1636      for cmd in $cmds; do
1637        IFS="$save_ifs"
1638        $show "$cmd"
1639        $run eval "$cmd" || exit $?
1640      done
1641      IFS="$save_ifs"
1642
1643      # Exit if we aren't doing a library object file.
1644      test -z "$libobj" && exit 0
1645
1646      if test "$build_libtool_libs" != yes; then
1647        # Create an invalid libtool object if no PIC, so that we don't
1648        # accidentally link it into a program.
1649        $show "echo timestamp > $libobj"
1650        $run eval "echo timestamp > $libobj" || exit $?
1651        exit 0
1652      fi
1653
1654      if test -n "$pic_flag"; then
1655        # Only do commands if we really have different PIC objects.
1656        reload_objs="$libobjs"
1657        output="$libobj"
1658        eval cmds=\"$reload_cmds\"
1659        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
1660        for cmd in $cmds; do
1661          IFS="$save_ifs"
1662          $show "$cmd"
1663          $run eval "$cmd" || exit $?
1664        done
1665        IFS="$save_ifs"
1666      else
1667        # Just create a symlink.
1668        $show "$LN_S $obj $libobj"
1669        $run $LN_S $obj $libobj || exit $?
1670      fi
1671
1672      exit 0
1673      ;;
1674
1675    # Anything else should be a program.
1676    *)
1677      if test -n "$vinfo"; then
1678        $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
1679      fi
1680
1681      if test -n "$release"; then
1682        $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
1683      fi
1684
1685      if test -n "$rpath"; then
1686	# If the user specified any rpath flags, then add them.
1687	for libdir in $rpath; do
1688          if test -n "$hardcode_libdir_flag_spec"; then
1689            if test -n "$hardcode_libdir_separator"; then
1690              if test -z "$hardcode_libdirs"; then
1691                # Put the magic libdir with the hardcode flag.
1692                hardcode_libdirs="$libdir"
1693                libdir="@HARDCODE_LIBDIRS@"
1694              else
1695                # Just accumulate the unique libdirs.
1696		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
1697		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
1698		  ;;
1699		*)
1700		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
1701		  ;;
1702		esac
1703                libdir=
1704              fi
1705            fi
1706
1707            if test -n "$libdir"; then
1708              eval flag=\"$hardcode_libdir_flag_spec\"
1709
1710              compile_command="$compile_command $flag"
1711              finalize_command="$finalize_command $flag"
1712            fi
1713          elif test -n "$runpath_var"; then
1714            case "$perm_rpath " in
1715            *" $libdir "*) ;;
1716            *) perm_rpath="$perm_rpath $libdir" ;;
1717            esac
1718          fi
1719	done
1720      fi
1721
1722      # Substitute the hardcoded libdirs into the compile commands.
1723      if test -n "$hardcode_libdir_separator"; then
1724	compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
1725	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
1726      fi
1727
1728      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
1729      if test "X$output_objdir" = "X$output"; then
1730        output_objdir="$objdir"
1731      else
1732        output_objdir="$output_objdir/$objdir"
1733      fi
1734
1735      if test -n "$libobjs" && test "$build_old_libs" = yes; then
1736        # Transform all the library objects into standard objects.
1737        compile_command=`$echo "X$compile_command " | $Xsed -e "$los2o" -e 's/ $//'`
1738        finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'`
1739      fi
1740
1741      if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
1742        dlsyms="${outputname}S.c"
1743      else
1744        dlsyms=
1745      fi
1746
1747      if test -n "$dlsyms"; then
1748        case "$dlsyms" in
1749        "") ;;
1750        *.c)
1751          if test -z "$export_symbols"; then
1752            # Add our own program objects to the preloaded list.
1753            dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e "$los2o" -e 's/ $//'`
1754          fi
1755
1756          # Discover the nlist of each of the dlfiles.
1757          nlist="$objdir/${output}.nm"
1758
1759	  if test -d $objdir; then
1760	    $show "$rm $nlist ${nlist}T"
1761	    $run $rm "$nlist" "${nlist}T"
1762	  else
1763	    $show "$mkdir $objdir"
1764	    $run $mkdir $objdir
1765	    status=$?
1766	    if test $status -ne 0 && test ! -d $objdir; then
1767	      exit $status
1768	    fi
1769	  fi
1770
1771          # Parse the name list into a source file.
1772          $show "creating $objdir/$dlsyms"
1773
1774          $echo > "$objdir/$dlsyms" "\
1775/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
1776/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
1777
1778#ifdef __cplusplus
1779extern \"C\" {
1780#endif
1781
1782/* Prevent the only kind of declaration conflicts we can make. */
1783#define dld_preloaded_symbols some_other_symbol
1784
1785/* External symbol declarations for the compiler. */\
1786"
1787
1788          if test -n "$export_symbols"; then
1789	    sed -e 's/^\(.*\)/\1 \1/' < "$export_symbols" > "$nlist"
1790          fi
1791
1792          for arg in $dlprefiles; do
1793	    $show "extracting global C symbols from \`$arg'"
1794	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
1795          done
1796
1797          if test -z "$run"; then
1798	    # Make sure we at least have an empty file.
1799	    test -f "$nlist" || : > "$nlist"
1800
1801	    # Try sorting and uniquifying the output.
1802	    if sort "$nlist" | uniq > "$nlist"T; then
1803	      mv -f "$nlist"T "$nlist"
1804	    else
1805	      $rm "$nlist"T
1806	    fi
1807
1808	    if test -f "$nlist"; then
1809	      sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$output_objdir/$dlsyms"
1810  	    else
1811	      echo '/* NONE */' >> "$output_objdir/$dlsyms"
1812  	    fi
1813
1814	    $echo >> "$output_objdir/$dlsyms" "\
1815
1816#undef dld_preloaded_symbols
1817
1818#if defined (__STDC__) && __STDC__
1819# define __ptr_t void *
1820#else
1821# define __ptr_t char *
1822#endif
1823
1824/* The mapping between symbol names and symbols. */
1825struct {
1826  char *name;
1827  __ptr_t address;
1828}
1829dld_preloaded_symbols[] =
1830{\
1831"
1832
1833            if test -n "$export_symbols"; then
1834              echo >> "$objdir/$dlsyms" "\
1835  {\"${output}\", (__ptr_t) 0},"
1836	      sed 's/^\(.*\)/  {"\1", (__ptr_t) \&\1},/' < "$export_symbols" >> "$objdir/$dlsyms"
1837            fi
1838
1839            for arg in $dlprefiles; do
1840	      name=`echo "$arg" | sed -e 's%^.*/%%'`
1841              echo >> "$objdir/$dlsyms" "\
1842  {\"$name\", (__ptr_t) 0},"
1843	      eval "$NM $arg | $global_symbol_pipe > '$nlist'"
1844
1845	      if test -f "$nlist"; then
1846	        sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
1847	      else
1848		echo '/* NONE */' >> "$output_objdir/$dlsyms"
1849	      fi
1850
1851            done
1852
1853	    if test -f "$nlist"; then
1854	      sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$output_objdir/$dlsyms"
1855	    fi
1856
1857	    $echo >> "$output_objdir/$dlsyms" "\
1858  {0, (__ptr_t) 0}
1859};
1860
1861#ifdef __cplusplus
1862}
1863#endif\
1864"
1865          fi
1866
1867          # Now compile the dynamic symbol file.
1868          $show "(cd $objdir && $C_compiler -c$no_builtin_flag \"$dlsyms\")"
1869          $run eval '(cd $objdir && $C_compiler -c$no_builtin_flag "$dlsyms")' || exit $?
1870
1871          # Transform the symbol file into the correct name.
1872          compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
1873          finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
1874	  ;;
1875        *)
1876          $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
1877          exit 1
1878          ;;
1879        esac
1880      elif test "$export_dynamic" != yes; then
1881        test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
1882      else
1883        # We keep going just in case the user didn't refer to
1884        # dld_preloaded_symbols.  The linker will fail if global_symbol_pipe
1885        # really was required.
1886        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
1887
1888        # Nullify the symbol file.
1889        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
1890        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
1891      fi
1892
1893      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
1894        # Replace the output file specification.
1895        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1896        finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1897
1898        # We have no uninstalled library dependencies, so finalize right now.
1899        $show "$compile_command"
1900        $run eval "$compile_command"
1901        exit $?
1902      fi
1903
1904      # Replace the output file specification.
1905      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
1906      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'T%g'`
1907
1908      # Create the binary in the object directory, then wrap it.
1909      if test ! -d $output_objdir; then
1910        $show "$mkdir $output_objdir"
1911	$run $mkdir $output_objdir
1912	status=$?
1913	if test $status -ne 0 && test ! -d $objdir; then
1914	  exit $status
1915	fi
1916      fi
1917
1918      if test -n "$shlibpath_var"; then
1919        # We should set the shlibpath_var
1920        rpath=
1921        for dir in $temp_rpath; do
1922          case "$dir" in
1923          /* | [A-Za-z]:[/\\]*)
1924            # Absolute path.
1925            rpath="$rpath$dir:"
1926            ;;
1927          *)
1928            # Relative path: add a thisdir entry.
1929            rpath="$rpath\$thisdir/$dir:"
1930            ;;
1931          esac
1932        done
1933        temp_rpath="$rpath"
1934      fi
1935
1936      # Delete the old output file.
1937      $run $rm $output
1938
1939      if test -n "$compile_shlibpath"; then
1940        compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
1941      fi
1942      if test -n "$finalize_shlibpath"; then
1943        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
1944      fi
1945
1946      if test -n "$runpath_var" && test -n "$perm_rpath"; then
1947        # We should set the runpath_var.
1948        rpath=
1949        for dir in $perm_rpath; do
1950          rpath="$rpath$dir:"
1951        done
1952        compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
1953        finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
1954      fi
1955
1956      if test "$hardcode_action" = relink; then
1957        # AGH! Flame the AIX and HP-UX people for me, will ya?
1958        $echo "$modename: warning: this platform doesn\'t like uninstalled shared libraries" 1>&2
1959        $echo "$modename: \`$output' will be relinked during installation" 1>&2
1960      fi
1961
1962      $show "$compile_command"
1963      $run eval "$compile_command" || exit $?
1964
1965      # Now create the wrapper script.
1966      $show "creating $output"
1967
1968      # Quote the finalize command for shipping.
1969      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
1970
1971      # Quote $echo for shipping.
1972      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
1973	case "$0" in
1974	/* | [A-Za-z]:[/\\]*) qecho="$SHELL $0 --fallback-echo";;
1975	*) qecho="$SHELL `pwd`/$0 --fallback-echo";;
1976	esac
1977	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
1978      else
1979        qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
1980      fi
1981
1982      # Only actually do things if our run command is non-null.
1983      if test -z "$run"; then
1984        $rm $output
1985        trap "$rm $output; exit 1" 1 2 15
1986
1987        $echo > $output "\
1988#! $SHELL
1989
1990# $output - temporary wrapper script for $objdir/$outputname
1991# Generated by $PROGRAM - GNU $PACKAGE $VERSION
1992#
1993# The $output program cannot be directly executed until all the libtool
1994# libraries that it depends on are installed.
1995#
1996# This wrapper script should never be moved out of the build directory.
1997# If it is, it will not operate correctly.
1998
1999# Sed substitution that helps us do robust quoting.  It backslashifies
2000# metacharacters that are still active within double-quoted strings.
2001Xsed='sed -e s/^X//'
2002sed_quote_subst='$sed_quote_subst'
2003
2004# The HP-UX ksh and POSIX shell print the target directory to stdout
2005# if CDPATH is set.
2006if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
2007
2008# This environment variable determines our operation mode.
2009if test \"\$libtool_install_magic\" = \"$magic\"; then
2010  # install mode needs the following variables:
2011  link_against_libtool_libs='$link_against_libtool_libs'
2012  finalize_command=\"cd `pwd | sed -e $sed_quote_subst`; $finalize_command\"
2013else
2014  # When we are sourced in execute mode, \$file and \$echo are already set.
2015  if test \"\$libtool_execute_magic\" != \"$magic\"; then
2016    echo=\"$qecho\"
2017    file=\"\$0\"
2018    # Make sure echo works.
2019    if test \"X\$1\" = X--no-reexec; then
2020      # Discard the --no-reexec flag, and continue.
2021      shift
2022    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
2023      # Yippee, \$echo works!
2024      :
2025    else
2026      # Restart under the correct shell, and then maybe \$echo will work.
2027      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
2028    fi
2029  fi\
2030"
2031        $echo >> $output "\
2032
2033  # Find the directory that this script lives in.
2034  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
2035  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
2036
2037  # Follow symbolic links until we get to the real thisdir.
2038  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
2039  while test -n \"\$file\"; do
2040    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
2041
2042    # If there was a directory component, then change thisdir.
2043    if test \"x\$destdir\" != \"x\$file\"; then
2044      case \"\$destdir\" in
2045      /* | [A-Za-z]:[/\\]*) thisdir=\"\$destdir\" ;;
2046      *) thisdir=\"\$thisdir/\$destdir\" ;;
2047      esac
2048    fi
2049
2050    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
2051    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
2052  done
2053
2054  # Try to get the absolute directory name.
2055  absdir=\`cd \"\$thisdir\" && pwd\`
2056  test -n \"\$absdir\" && thisdir=\"\$absdir\"
2057
2058  progdir=\"\$thisdir/$objdir\"
2059  program='$outputname'
2060
2061  if test -f \"\$progdir/\$program\"; then"
2062
2063        # Export our shlibpath_var if we have one.
2064        if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
2065          $echo >> $output "\
2066    # Add our own library path to $shlibpath_var
2067    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
2068
2069    # Some systems cannot cope with colon-terminated $shlibpath_var
2070    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
2071
2072    export $shlibpath_var
2073"
2074        fi
2075
2076        $echo >> $output "\
2077    if test \"\$libtool_execute_magic\" != \"$magic\"; then
2078      # Run the actual program with our arguments.
2079
2080      # Export the path to the program.
2081      PATH=\"\$progdir:\$PATH\"
2082      export PATH
2083
2084      exec \$program \${1+\"\$@\"}
2085
2086      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
2087      exit 1
2088    fi
2089  else
2090    # The program doesn't exist.
2091    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
2092    \$echo \"This script is just a wrapper for \$program.\" 1>&2
2093    echo \"See the $PACKAGE documentation for more information.\" 1>&2
2094    exit 1
2095  fi
2096fi\
2097"
2098        chmod +x $output
2099      fi
2100      exit 0
2101      ;;
2102    esac
2103
2104    # See if we need to build an old-fashioned archive.
2105    for oldlib in $oldlibs; do
2106
2107      if test "$build_libtool_libs" = convenience; then
2108	oldobjs="$libobjs"
2109	addlibs="$convenience"
2110	build_libtool_libs=no
2111      else
2112	oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.'${libext}' //g' -e 's/[^   ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
2113	addlibs="$old_convenience"
2114      fi
2115
2116      # Add in members from convenience archives.
2117      for xlib in $addlibs; do
2118	# Extract the objects.
2119	xdir="$xlib"x
2120	generated="$generated $xdir"
2121	xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
2122
2123	$show "${rm}r $xdir"
2124	$run ${rm}r "$xdir"
2125	$show "mkdir $xdir"
2126	$run mkdir "$xdir"
2127	status=$?
2128	if test $status -ne 0 && test ! -d "$xdir"; then
2129	  exit $status
2130	fi
2131	$show "(cd $xdir && $AR x ../$xlib)"
2132	$run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
2133
2134	oldobjs="$oldobjs `echo $xdir/*`"
2135      done
2136
2137      # Do each command in the archive commands.
2138      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
2139	eval cmds=\"$old_archive_from_new_cmds\"
2140      else
2141	eval cmds=\"$old_archive_cmds\"
2142      fi
2143      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
2144      for cmd in $cmds; do
2145        IFS="$save_ifs"
2146        $show "$cmd"
2147        $run eval "$cmd" || exit $?
2148      done
2149      IFS="$save_ifs"
2150    done
2151
2152    if test -n "$generated"; then
2153      $show "${rm}r$generated"
2154      $run ${rm}r$generated
2155    fi
2156
2157    # Now create the libtool archive.
2158    case "$output" in
2159    *.la)
2160      old_library=
2161      test "$build_old_libs" = yes && old_library="$libname.$libext"
2162      $show "creating $output"
2163
2164      # Only create the output if not a dry run.
2165      if test -z "$run"; then
2166        $echo > $output "\
2167# $output - a libtool library file
2168# Generated by $PROGRAM - GNU $PACKAGE $VERSION
2169
2170# The name that we can dlopen(3).
2171dlname='$dlname'
2172
2173# Names of this library.
2174library_names='$library_names'
2175
2176# The name of the static archive.
2177old_library='$old_library'
2178
2179# Libraries that this one depends upon.
2180dependency_libs='$dependency_libs'
2181
2182# Version information for $libname.
2183current=$current
2184age=$age
2185revision=$revision
2186
2187# Is this an already installed library?
2188installed=no
2189
2190# Directory that this library needs to be installed in:
2191libdir='$install_libdir'\
2192"
2193      fi
2194
2195      # Do a symbolic link so that the libtool archive can be found in
2196      # LD_LIBRARY_PATH before the program is installed.
2197      $show "(cd $output_objdir && $LN_S ../$outputname $outputname)"
2198      $run eval "(cd $output_objdir && $LN_S ../$outputname $outputname)" || exit $?
2199      ;;
2200    esac
2201    exit 0
2202    ;;
2203
2204  # libtool install mode
2205  install)
2206    modename="$modename: install"
2207
2208    # There may be an optional sh(1) argument at the beginning of
2209    # install_prog (especially on Windows NT).
2210    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
2211      # Aesthetically quote it.
2212      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
2213      case "$arg" in
2214      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
2215	arg="\"$arg\""
2216	;;
2217      esac
2218      install_prog="$arg "
2219      arg="$1"
2220      shift
2221    else
2222      install_prog=
2223      arg="$nonopt"
2224    fi
2225
2226    # The real first argument should be the name of the installation program.
2227    # Aesthetically quote it.
2228    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
2229    case "$arg" in
2230    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
2231      arg="\"$arg\""
2232      ;;
2233    esac
2234    install_prog="$install_prog$arg"
2235
2236    # We need to accept at least all the BSD install flags.
2237    dest=
2238    files=
2239    opts=
2240    prev=
2241    install_type=
2242    isdir=no
2243    stripme=
2244    for arg
2245    do
2246      if test -n "$dest"; then
2247        files="$files $dest"
2248        dest="$arg"
2249        continue
2250      fi
2251
2252      case "$arg" in
2253      -d) isdir=yes ;;
2254      -f) prev="-f" ;;
2255      -g) prev="-g" ;;
2256      -m) prev="-m" ;;
2257      -o) prev="-o" ;;
2258      -s)
2259        stripme=" -s"
2260        continue
2261        ;;
2262      -*) ;;
2263
2264      *)
2265        # If the previous option needed an argument, then skip it.
2266        if test -n "$prev"; then
2267          prev=
2268        else
2269          dest="$arg"
2270          continue
2271        fi
2272        ;;
2273      esac
2274
2275      # Aesthetically quote the argument.
2276      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
2277      case "$arg" in
2278      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
2279	arg="\"$arg\""
2280	;;
2281      esac
2282      install_prog="$install_prog $arg"
2283    done
2284
2285    if test -z "$install_prog"; then
2286      $echo "$modename: you must specify an install program" 1>&2
2287      $echo "$help" 1>&2
2288      exit 1
2289    fi
2290
2291    if test -n "$prev"; then
2292      $echo "$modename: the \`$prev' option requires an argument" 1>&2
2293      $echo "$help" 1>&2
2294      exit 1
2295    fi
2296
2297    if test -z "$files"; then
2298      if test -z "$dest"; then
2299        $echo "$modename: no file or destination specified" 1>&2
2300      else
2301        $echo "$modename: you must specify a destination" 1>&2
2302      fi
2303      $echo "$help" 1>&2
2304      exit 1
2305    fi
2306
2307    # Strip any trailing slash from the destination.
2308    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
2309
2310    # Check to see that the destination is a directory.
2311    test -d "$dest" && isdir=yes
2312    if test "$isdir" = yes; then
2313      destdir="$dest"
2314      destname=
2315    else
2316      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
2317      test "X$destdir" = "X$dest" && destdir=.
2318      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
2319
2320      # Not a directory, so check to see that there is only one file specified.
2321      set dummy $files
2322      if test $# -gt 2; then
2323        $echo "$modename: \`$dest' is not a directory" 1>&2
2324        $echo "$help" 1>&2
2325        exit 1
2326      fi
2327    fi
2328    case "$destdir" in
2329    /* | [A-Za-z]:[/\\]*) ;;
2330    *)
2331      for file in $files; do
2332        case "$file" in
2333        *.lo) ;;
2334        *)
2335          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
2336          $echo "$help" 1>&2
2337          exit 1
2338          ;;
2339        esac
2340      done
2341      ;;
2342    esac
2343
2344    # This variable tells wrapper scripts just to set variables rather
2345    # than running their programs.
2346    libtool_install_magic="$magic"
2347
2348    staticlibs=
2349    future_libdirs=
2350    current_libdirs=
2351    for file in $files; do
2352
2353      # Do each installation.
2354      case "$file" in
2355      *.a | *.lib)
2356        # Do the static libraries later.
2357        staticlibs="$staticlibs $file"
2358        ;;
2359
2360      *.la)
2361        # Check to see that this really is a libtool archive.
2362        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
2363        else
2364          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
2365          $echo "$help" 1>&2
2366          exit 1
2367        fi
2368
2369        library_names=
2370        old_library=
2371        # If there is no directory component, then add one.
2372        case "$file" in
2373        */* | *\\*) . $file ;;
2374        *) . ./$file ;;
2375        esac
2376
2377        # Add the libdir to current_libdirs if it is the destination.
2378        if test "X$destdir" = "X$libdir"; then
2379          case "$current_libdirs " in
2380          *" $libdir "*) ;;
2381          *) current_libdirs="$current_libdirs $libdir" ;;
2382          esac
2383        else
2384          # Note the libdir as a future libdir.
2385          case "$future_libdirs " in
2386          *" $libdir "*) ;;
2387          *) future_libdirs="$future_libdirs $libdir" ;;
2388          esac
2389        fi
2390
2391        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
2392        test "X$dir" = "X$file/" && dir=
2393        dir="$dir$objdir"
2394
2395        # See the names of the shared library.
2396        set dummy $library_names
2397        if test -n "$2"; then
2398          realname="$2"
2399          shift
2400          shift
2401
2402          # Install the shared library and build the symlinks.
2403          $show "$install_prog $dir/$realname $destdir/$realname"
2404          $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
2405          test "X$dlname" = "X$realname" && dlname=
2406
2407          if test $# -gt 0; then
2408            # Delete the old symlinks, and create new ones.
2409            for linkname
2410            do
2411              test "X$dlname" = "X$linkname" && dlname=
2412	      if test "$linkname" != "$realname"; then
2413		$show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
2414		$run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
2415	      fi
2416            done
2417          fi
2418
2419          if test -n "$dlname"; then
2420            # Install the dynamically-loadable library.
2421            $show "$install_prog $dir/$dlname $destdir/$dlname"
2422            $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
2423          fi
2424
2425          # Do each command in the postinstall commands.
2426          lib="$destdir/$realname"
2427          eval cmds=\"$postinstall_cmds\"
2428          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
2429          for cmd in $cmds; do
2430            IFS="$save_ifs"
2431            $show "$cmd"
2432            $run eval "$cmd" || exit $?
2433          done
2434          IFS="$save_ifs"
2435        fi
2436
2437        # Install the pseudo-library for information purposes.
2438        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
2439	instname="$dir/$name"i
2440	$show "Creating $instname"
2441	$rm "$instname"
2442	sed 's/^installed=no$/installed=yes/' "$file" > "$instname"
2443        $show "$install_prog $instname $destdir/$name"
2444        $run eval "$install_prog $instname $destdir/$name" || exit $?
2445	$show "$rm $instname"
2446	$rm "$instname"
2447
2448        # Maybe install the static library, too.
2449        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
2450        ;;
2451
2452      *.lo)
2453        # Install (i.e. copy) a libtool object.
2454
2455        # Figure out destination file name, if it wasn't already specified.
2456        if test -n "$destname"; then
2457          destfile="$destdir/$destname"
2458        else
2459          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
2460          destfile="$destdir/$destfile"
2461        fi
2462
2463        # Deduce the name of the destination old-style object file.
2464        case "$destfile" in
2465        *.lo)
2466          staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
2467          ;;
2468        *.o | *.obj)
2469          staticdest="$destfile"
2470          destfile=
2471          ;;
2472        *)
2473          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
2474          $echo "$help" 1>&2
2475          exit 1
2476          ;;
2477        esac
2478
2479        # Install the libtool object if requested.
2480        if test -n "$destfile"; then
2481          $show "$install_prog $file $destfile"
2482          $run eval "$install_prog $file $destfile" || exit $?
2483        fi
2484
2485        # Install the old object if enabled.
2486        if test "$build_old_libs" = yes; then
2487          # Deduce the name of the old-style object file.
2488          staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
2489
2490          $show "$install_prog $staticobj $staticdest"
2491          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
2492        fi
2493        exit 0
2494        ;;
2495
2496      *)
2497        # Figure out destination file name, if it wasn't already specified.
2498        if test -n "$destname"; then
2499          destfile="$destdir/$destname"
2500        else
2501          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
2502          destfile="$destdir/$destfile"
2503        fi
2504
2505        # Do a test to see if this is really a libtool program.
2506        if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2507          link_against_libtool_libs=
2508          finalize_command=
2509
2510          # If there is no directory component, then add one.
2511          case "$file" in
2512          */* | *\\*) . $file ;;
2513          *) . ./$file ;;
2514          esac
2515
2516          # Check the variables that should have been set.
2517          if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
2518            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
2519            exit 1
2520          fi
2521
2522          finalize=yes
2523          for lib in $link_against_libtool_libs; do
2524            # Check to see that each library is installed.
2525            libdir=
2526            if test -f "$lib"; then
2527              # If there is no directory component, then add one.
2528              case "$lib" in
2529              */* | *\\*) . $lib ;;
2530              *) . ./$lib ;;
2531              esac
2532            fi
2533            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
2534            if test -n "$libdir" && test ! -f "$libfile"; then
2535              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
2536              finalize=no
2537            fi
2538          done
2539
2540          if test "$hardcode_action" = relink; then
2541            if test "$finalize" = yes; then
2542              $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
2543              $show "$finalize_command"
2544              if $run eval "$finalize_command"; then :
2545              else
2546                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
2547                continue
2548              fi
2549              file="$objdir/$file"T
2550            else
2551              $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
2552            fi
2553          else
2554            # Install the binary that we compiled earlier.
2555	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
2556          fi
2557        fi
2558
2559        $show "$install_prog$stripme $file $destfile"
2560        $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
2561        ;;
2562      esac
2563    done
2564
2565    for file in $staticlibs; do
2566      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
2567
2568      # Set up the ranlib parameters.
2569      oldlib="$destdir/$name"
2570
2571      $show "$install_prog $file $oldlib"
2572      $run eval "$install_prog \$file \$oldlib" || exit $?
2573
2574      # Do each command in the postinstall commands.
2575      eval cmds=\"$old_postinstall_cmds\"
2576      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
2577      for cmd in $cmds; do
2578        IFS="$save_ifs"
2579        $show "$cmd"
2580        $run eval "$cmd" || exit $?
2581      done
2582      IFS="$save_ifs"
2583    done
2584
2585    if test -n "$future_libdirs"; then
2586      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
2587    fi
2588
2589    if test -n "$current_libdirs"; then
2590      # Maybe just do a dry run.
2591      test -n "$run" && current_libdirs=" -n$current_libdirs"
2592      exec $SHELL $0 --finish$current_libdirs
2593      exit 1
2594    fi
2595
2596    exit 0
2597    ;;
2598
2599  # libtool finish mode
2600  finish)
2601    modename="$modename: finish"
2602    libdirs="$nonopt"
2603    admincmds=
2604
2605    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
2606      for dir
2607      do
2608        libdirs="$libdirs $dir"
2609      done
2610
2611      for libdir in $libdirs; do
2612	if test -n "$finish_cmds"; then
2613	  # Do each command in the finish commands.
2614	  eval cmds=\"$finish_cmds\"
2615          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
2616          for cmd in $cmds; do
2617            IFS="$save_ifs"
2618            $show "$cmd"
2619            $run eval "$cmd" || admincmds="$admincmds
2620       $cmd"
2621          done
2622          IFS="$save_ifs"
2623	fi
2624	if test -n "$finish_eval"; then
2625	  # Do the single finish_eval.
2626	  eval cmds=\"$finish_eval\"
2627	  $run eval "$cmds" || admincmds="$admincmds
2628       $cmds"
2629	fi
2630      done
2631    fi
2632
2633    # Exit here if they wanted silent mode.
2634    test "$show" = : && exit 0
2635
2636    echo "----------------------------------------------------------------------"
2637    echo "Libraries have been installed in:"
2638    for libdir in $libdirs; do
2639      echo "   $libdir"
2640    done
2641    echo
2642    echo "To link against installed libraries in a given directory, LIBDIR,"
2643    echo "you must use the \`-LLIBDIR' flag during linking."
2644    echo
2645    echo " You will also need to do at least one of the following:"
2646    if test -n "$shlibpath_var"; then
2647      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
2648      echo "     during execution"
2649    fi
2650    if test -n "$runpath_var"; then
2651      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
2652      echo "     during linking"
2653    fi
2654    if test -n "$hardcode_libdir_flag_spec"; then
2655      libdir=LIBDIR
2656      eval flag=\"$hardcode_libdir_flag_spec\"
2657
2658      echo "   - use the \`$flag' linker flag"
2659    fi
2660    if test -n "$admincmds"; then
2661      echo "   - have your system administrator run these commands:$admincmds"
2662    fi
2663    if test -f /etc/ld.so.conf; then
2664      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
2665    fi
2666    echo
2667    echo "See any operating system documentation about shared libraries for"
2668    echo "more information, such as the ld(1) and ld.so(8) manual pages."
2669    echo "----------------------------------------------------------------------"
2670    exit 0
2671    ;;
2672
2673  # libtool execute mode
2674  execute)
2675    modename="$modename: execute"
2676
2677    # The first argument is the command name.
2678    cmd="$nonopt"
2679    if test -z "$cmd"; then
2680      $echo "$modename: you must specify a COMMAND" 1>&2
2681      $echo "$help"
2682      exit 1
2683    fi
2684
2685    # Handle -dlopen flags immediately.
2686    for file in $execute_dlfiles; do
2687      if test ! -f "$file"; then
2688	$echo "$modename: \`$file' is not a file" 1>&2
2689	$echo "$help" 1>&2
2690	exit 1
2691      fi
2692
2693      dir=
2694      case "$file" in
2695      *.la)
2696        # Check to see that this really is a libtool archive.
2697        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
2698        else
2699          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
2700          $echo "$help" 1>&2
2701          exit 1
2702        fi
2703
2704	# Read the libtool library.
2705	dlname=
2706	library_names=
2707
2708        # If there is no directory component, then add one.
2709	case "$file" in
2710	*/* | *\\*) . $file ;;
2711        *) . ./$file ;;
2712	esac
2713
2714	# Skip this library if it cannot be dlopened.
2715	if test -z "$dlname"; then
2716	  # Warn if it was a shared library.
2717	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
2718	  continue
2719	fi
2720
2721	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2722	test "X$dir" = "X$file" && dir=.
2723
2724	if test -f "$dir/$objdir/$dlname"; then
2725	  dir="$dir/$objdir"
2726	else
2727	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
2728	  exit 1
2729	fi
2730	;;
2731
2732      *.lo)
2733	# Just add the directory containing the .lo file.
2734	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2735	test "X$dir" = "X$file" && dir=.
2736	;;
2737
2738      *)
2739	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
2740        continue
2741	;;
2742      esac
2743
2744      # Get the absolute pathname.
2745      absdir=`cd "$dir" && pwd`
2746      test -n "$absdir" && dir="$absdir"
2747
2748      # Now add the directory to shlibpath_var.
2749      if eval "test -z \"\$$shlibpath_var\""; then
2750	eval "$shlibpath_var=\"\$dir\""
2751      else
2752	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
2753      fi
2754    done
2755
2756    # This variable tells wrapper scripts just to set shlibpath_var
2757    # rather than running their programs.
2758    libtool_execute_magic="$magic"
2759
2760    # Check if any of the arguments is a wrapper script.
2761    args=
2762    for file
2763    do
2764      case "$file" in
2765      -*) ;;
2766      *)
2767        # Do a test to see if this is really a libtool program.
2768        if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2769	  # If there is no directory component, then add one.
2770	  case "$file" in
2771	  */* | *\\*) . $file ;;
2772	  *) . ./$file ;;
2773	  esac
2774
2775	  # Transform arg to wrapped name.
2776	  file="$progdir/$program"
2777	fi
2778        ;;
2779      esac
2780      # Quote arguments (to preserve shell metacharacters).
2781      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
2782      args="$args \"$file\""
2783    done
2784
2785    if test -z "$run"; then
2786      # Export the shlibpath_var.
2787      eval "export $shlibpath_var"
2788
2789      # Restore saved enviroment variables
2790      if test "${save_LC_ALL+set}" = set; then
2791        LC_ALL="$save_LC_ALL"; export LC_ALL
2792      fi
2793      if test "${save_LANG+set}" = set; then
2794        LANG="$save_LANG"; export LANG
2795      fi
2796
2797      # Now actually exec the command.
2798      eval "exec \$cmd$args"
2799
2800      $echo "$modename: cannot exec \$cmd$args"
2801      exit 1
2802    else
2803      # Display what would be done.
2804      eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
2805      $echo "export $shlibpath_var"
2806      $echo "$cmd$args"
2807      exit 0
2808    fi
2809    ;;
2810
2811  # libtool uninstall mode
2812  uninstall)
2813    modename="$modename: uninstall"
2814    rm="$nonopt"
2815    files=
2816
2817    for arg
2818    do
2819      case "$arg" in
2820      -*) rm="$rm $arg" ;;
2821      *) files="$files $arg" ;;
2822      esac
2823    done
2824
2825    if test -z "$rm"; then
2826      $echo "$modename: you must specify an RM program" 1>&2
2827      $echo "$help" 1>&2
2828      exit 1
2829    fi
2830
2831    for file in $files; do
2832      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2833      test "X$dir" = "X$file" && dir=.
2834      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
2835
2836      rmfiles="$file"
2837
2838      case "$name" in
2839      *.la)
2840        # Possibly a libtool archive, so verify it.
2841        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
2842          . $dir/$name
2843
2844          # Delete the libtool libraries and symlinks.
2845          for n in $library_names; do
2846            rmfiles="$rmfiles $dir/$n"
2847            test "X$n" = "X$dlname" && dlname=
2848          done
2849          test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
2850          test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
2851
2852	  $show "$rm $rmfiles"
2853	  $run $rm $rmfiles
2854
2855	  if test -n "$library_names"; then
2856	    # Do each command in the postuninstall commands.
2857	    eval cmds=\"$postuninstall_cmds\"
2858	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
2859	    for cmd in $cmds; do
2860	      IFS="$save_ifs"
2861	      $show "$cmd"
2862	      $run eval "$cmd"
2863	    done
2864	    IFS="$save_ifs"
2865	  fi
2866
2867          if test -n "$old_library"; then
2868	    # Do each command in the old_postuninstall commands.
2869	    eval cmds=\"$old_postuninstall_cmds\"
2870	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
2871	    for cmd in $cmds; do
2872	      IFS="$save_ifs"
2873	      $show "$cmd"
2874	      $run eval "$cmd"
2875	    done
2876	    IFS="$save_ifs"
2877	  fi
2878
2879          # FIXME: should reinstall the best remaining shared library.
2880        fi
2881        ;;
2882
2883      *.lo)
2884        if test "$build_old_libs" = yes; then
2885          oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
2886          rmfiles="$rmfiles $dir/$oldobj"
2887        fi
2888	$show "$rm $rmfiles"
2889	$run $rm $rmfiles
2890        ;;
2891
2892      *)
2893      	$show "$rm $rmfiles"
2894	$run $rm $rmfiles
2895	;;
2896      esac
2897    done
2898    exit 0
2899    ;;
2900
2901  "")
2902    $echo "$modename: you must specify a MODE" 1>&2
2903    $echo "$generic_help" 1>&2
2904    exit 1
2905    ;;
2906  esac
2907
2908  $echo "$modename: invalid operation mode \`$mode'" 1>&2
2909  $echo "$generic_help" 1>&2
2910  exit 1
2911fi # test -z "$show_help"
2912
2913# We need to display help for each of the modes.
2914case "$mode" in
2915"") $echo \
2916"Usage: $modename [OPTION]... [MODE-ARG]...
2917
2918Provide generalized library-building support services.
2919
2920    --config          show all configuration variables
2921    --debug           enable verbose shell tracing
2922-n, --dry-run         display commands without modifying any files
2923    --features        display basic configuration information and exit
2924    --finish          same as \`--mode=finish'
2925    --help            display this help message and exit
2926    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
2927    --quiet           same as \`--silent'
2928    --silent          don't print informational messages
2929    --version         print version information
2930
2931MODE must be one of the following:
2932
2933      compile         compile a source file into a libtool object
2934      execute         automatically set library path, then run a program
2935      finish          complete the installation of libtool libraries
2936      install         install libraries or executables
2937      link            create a library or an executable
2938      uninstall       remove libraries from an installed directory
2939
2940MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
2941a more detailed description of MODE."
2942  exit 0
2943  ;;
2944
2945compile)
2946  $echo \
2947"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
2948
2949Compile a source file into a libtool library object.
2950
2951This mode accepts the following additional options:
2952
2953  -static           always build a \`.o' file suitable for static linking
2954
2955COMPILE-COMMAND is a command to be used in creating a \`standard' object file
2956from the given SOURCEFILE.
2957
2958The output file name is determined by removing the directory component from
2959SOURCEFILE, then substituting the C source code suffix \`.c' with the
2960library object suffix, \`.lo'."
2961  ;;
2962
2963execute)
2964  $echo \
2965"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
2966
2967Automatically set library path, then run a program.
2968
2969This mode accepts the following additional options:
2970
2971  -dlopen FILE      add the directory containing FILE to the library path
2972
2973This mode sets the library path environment variable according to \`-dlopen'
2974flags.
2975
2976If any of the ARGS are libtool executable wrappers, then they are translated
2977into their corresponding uninstalled binary, and any of their required library
2978directories are added to the library path.
2979
2980Then, COMMAND is executed, with ARGS as arguments."
2981  ;;
2982
2983finish)
2984  $echo \
2985"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
2986
2987Complete the installation of libtool libraries.
2988
2989Each LIBDIR is a directory that contains libtool libraries.
2990
2991The commands that this mode executes may require superuser privileges.  Use
2992the \`--dry-run' option if you just want to see what would be executed."
2993  ;;
2994
2995install)
2996  $echo \
2997"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
2998
2999Install executables or libraries.
3000
3001INSTALL-COMMAND is the installation command.  The first component should be
3002either the \`install' or \`cp' program.
3003
3004The rest of the components are interpreted as arguments to that command (only
3005BSD-compatible install options are recognized)."
3006  ;;
3007
3008link)
3009  $echo \
3010"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
3011
3012Link object files or libraries together to form another library, or to
3013create an executable program.
3014
3015LINK-COMMAND is a command using the C compiler that you would use to create
3016a program from several object files.
3017
3018The following components of LINK-COMMAND are treated specially:
3019
3020  -all-static       do not do any dynamic linking at all
3021  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
3022  -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
3023  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
3024  -LLIBDIR          search LIBDIR for required installed libraries
3025  -lNAME            OUTPUT-FILE requires the installed library libNAME
3026  -no-undefined     declare that a library does not refer to external symbols
3027  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
3028  -release RELEASE  specify package release information
3029  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
3030  -static           do not do any dynamic linking of libtool libraries
3031  -version-info CURRENT[:REVISION[:AGE]]
3032                    specify library version info [each variable defaults to 0]
3033
3034All other options (arguments beginning with \`-') are ignored.
3035
3036Every other argument is treated as a filename.  Files ending in \`.la' are
3037treated as uninstalled libtool libraries, other files are standard or library
3038object files.
3039
3040If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
3041library objects (\`.lo' files) may be specified, and \`-rpath' is required.
3042
3043If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
3044using \`ar' and \`ranlib', or on Windows using \`lib'.
3045
3046If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
3047is created, otherwise an executable program is created."
3048  ;;
3049
3050uninstall)
3051  $echo
3052"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
3053
3054Remove libraries from an installation directory.
3055
3056RM is the name of the program to use to delete files associated with each FILE
3057(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
3058to RM.
3059
3060If FILE is a libtool library, all the files associated with it are deleted.
3061Otherwise, only FILE itself is deleted using RM."
3062  ;;
3063
3064*)
3065  $echo "$modename: invalid operation mode \`$mode'" 1>&2
3066  $echo "$help" 1>&2
3067  exit 1
3068  ;;
3069esac
3070
3071echo
3072$echo "Try \`$modename --help' for more information about other modes."
3073
3074exit 0
3075
3076# Local Variables:
3077# mode:shell-script
3078# sh-indentation:2
3079# End:
3080