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