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