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