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