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