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