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