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