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