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