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