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