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