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