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