]> git.ozlabs.org Git - ppp.git/blob - pppd/plugins/radius/radiusclient/ltmain.sh
Minor patches as suggested by Frank Cusack <fcusack@fcusack.com> to ensure
[ppp.git] / pppd / plugins / radius / radiusclient / ltmain.sh
1 # ltmain.sh - Provide generalized library-building support services.
2 # Generated automatically from ltmain.sh.in by configure.
3 # Copyright (C) 1996, 1997 Free Software Foundation, Inc.
4 # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 #
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that program.
24
25 # The name of this program.
26 progname=`echo "$0" | sed 's%^.*/%%'`
27
28 # Constants.
29 PROGRAM=ltmain.sh
30 PACKAGE=libtool
31 VERSION=1.0
32
33 default_mode=
34 help="Try \`$progname --help' for more information."
35 magic="%%%MAGIC variable%%%"
36 mkdir="mkdir"
37 mv="mv -f"
38 objdir=.libs
39 rm="rm -f"
40
41 if test "$LTCONFIG_VERSION" != "$VERSION"; then
42   echo "$progname: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
43   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
44   exit 1
45 fi
46
47 #
48 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
49   echo "$progname: not configured to build any kind of library" 1>&2
50   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
51   exit 1
52 fi
53
54 # Global variables.
55 mode=$default_mode
56 nonopt=
57 prev=
58 prevopt=
59 run=
60 show=echo
61 show_help=
62
63 # Parse our command line options once, thoroughly.
64 while test $# -gt 0
65 do
66   arg="$1"
67   shift
68
69   case "$arg" in
70   -*=*) optarg=`echo "$arg" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
71   *) optarg= ;;
72   esac
73
74   # If the previous option needs an argument, assign it.
75   if test -n "$prev"; then
76     eval "$prev=\$arg"
77     prev=
78     prevopt=
79     continue
80   fi
81
82   # Have we seen a non-optional argument yet?
83   case "$arg" in
84   --help)
85     show_help=yes
86     ;;
87
88   --version)
89     echo "$PROGRAM (GNU $PACKAGE) $VERSION"
90     exit 0
91     ;;
92
93   --dry-run | -n)
94     run=:
95     ;;
96
97   --features)
98     echo "host: $host"
99     if test "$build_libtool_libs" = yes; then
100       echo "enable shared libraries"
101     else
102       echo "disable shared libraries"
103     fi
104     if test "$build_old_libs" = yes; then
105       echo "enable static libraries"
106     else
107       echo "disable static libraries"
108     fi
109     exit 0
110     ;;
111
112   --finish) mode="finish" ;;
113
114   --mode) prevopt="--mode" prev=mode ;;
115   --mode=*) mode="$optarg" ;;
116
117   -*)
118     echo "$progname: unrecognized option \`$arg'" 1>&2
119     echo "$help" 1>&2
120     exit 1
121     ;;
122
123   *)
124     nonopt="$arg"
125     break
126     ;;
127   esac
128 done
129
130
131 if test -n "$prevopt"; then
132   echo "$progname: option \`$prevopt' requires an argument" 1>&2
133   echo "$help" 1>&2
134   exit 1
135 fi
136
137
138 if test -z "$show_help"; then
139
140   # Infer the operation mode.
141   if test -z "$mode"; then
142     case "$nonopt" in
143     *cc)
144       mode=link
145       for arg
146       do
147         case "$arg" in
148         -c)
149            mode=compile
150            break
151            ;;
152         esac
153       done
154       ;;
155     *install*|cp)
156       mode=install
157       ;;
158     *rm)
159       mode=uninstall
160       ;;
161     *.la)
162       mode=dlname
163       ;;
164     *)
165       # Just use the default operation mode.
166       if test -z "$mode"; then
167         if test -n "$nonopt"; then
168           echo "$progname: warning: cannot infer operation mode from \`$nonopt'" 1>&2
169         else
170           echo "$progname: warning: cannot infer operation mode without MODE-ARGS" 1>&2
171         fi
172       fi
173       ;;
174     esac
175   fi
176
177   # Change the help message to a mode-specific one.
178   generic_help="$help"
179   help="Try \`$progname --help --mode=$mode' for more information."
180
181   # These modes are in order of execution frequency so that they run quickly.
182   case "$mode" in
183   # libtool compile mode
184   compile)
185     progname="$progname: compile"
186     # Get the compilation command and the source file.
187     base_compile="$nonopt"
188     lastarg=
189     srcfile=
190
191     for arg
192     do
193       # Quote any args containing shell metacharacters.
194       case "$arg" in
195       *" "*|*"  "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*|*\"*)
196          quote_arg="'$arg'" ;;
197       *) quote_arg="$arg" ;;
198       esac
199
200       base_compile="$base_compile$lastarg"
201       srcfile="$quote_arg"
202       lastarg=" $srcfile"
203     done
204
205     # Get the name of the library object.
206     libobj=`echo "$srcfile" | sed -e 's%^.*/%%'`
207
208     # Recognize several different file suffixes.
209     xform='[cCFSf]'
210     case "$libobj" in
211     *.c++) xform='c++' ;;
212     *.cc) xform=cc ;;
213     *.cpp) xform=cpp ;;
214     *.cxx) xform=cxx ;;
215     *.f90) xform=f90 ;;
216     *.for) xform='for' ;;
217     esac
218
219     libobj=`echo "$libobj" | sed -e "s/\.$xform$/.lo/"`
220
221     case "$libobj" in
222     *.lo) obj=`echo "$libobj" | sed -e 's/\.lo$/.o/'` ;;
223     *)
224       echo "$progname: cannot determine name of library object from \`$srcfile'" 1>&2
225       exit 1
226       ;;
227     esac
228
229     if test -z "$base_compile"; then
230       echo "$progname: you must specify a compilation command" 1>&2
231       echo "$help" 1>&2
232       exit 1
233     fi
234
235     # Delete any leftover library objects.
236     if test "$build_old_libs" = yes; then
237       $run $rm $obj $libobj
238       trap "$run $rm $obj $libobj; exit 1" 1 2 15
239     else
240       $run $rm $libobj
241       trap "$run $rm $libobj; exit 1" 1 2 15
242     fi
243
244     # Only build a PIC object if we are building libtool libraries.
245     if test "$build_libtool_libs" = yes; then
246       # All platforms use -DPIC, to notify preprocessed assembler code.
247       $show "$base_compile$pic_flag -DPIC $srcfile"
248       if $run eval "$base_compile$pic_flag -DPIC $srcfile"; then :
249       else
250         test -n "$obj" && $run $rm $obj
251         exit 1
252       fi
253
254       # If we have no pic_flag, then copy the object into place and finish.
255       if test -z "$pic_flag"; then
256         $show "$LN_S $obj $libobj"
257         $run $LN_S $obj $libobj
258         exit $?
259       fi
260
261       # Just move the object, then go on to compile the next one
262       $show "$mv $obj $libobj"
263       $run $mv $obj $libobj || exit 1
264     fi
265
266     # Only build a position-dependent object if we build old libraries.
267     if test "$build_old_libs" = yes; then
268       $show "$base_compile $srcfile"
269       if $run eval "$base_compile $srcfile"; then :
270       else
271         $run $rm $obj $libobj
272         exit 1
273       fi
274     fi
275
276     # Create an invalid libtool object if no PIC, so that we don't accidentally
277     # link it into a program.
278     if test "$build_libtool_libs" != yes; then
279       $show "echo timestamp > $libobj"
280       $run eval "echo timestamp > $libobj" || exit $?
281     fi
282
283     exit 0
284     ;;
285
286   # libtool link mode
287   link)
288     progname="$progname: link"
289     # Go through the arguments, transforming them on the way.
290     cc="$nonopt"
291     args="$cc"
292     allow_undefined=no
293     compile_command="$cc"
294     finalize_command="$cc"
295     compile_shlibpath=
296     finalize_shlibpath=
297     deplibs=
298     export_dynamic=no
299     hardcode_libdirs=
300     install_libdir=
301     libobjs=
302     link_against_libtool_libs=
303     link_static=
304     ltlibs=
305     objs=
306     prev=
307     prevarg=
308     perm_rpath=
309     temp_rpath=
310     vinfo=
311
312     # We need to know -static, to get the right output filenames.
313     for arg
314     do
315       case "$arg" in
316       -static)
317         build_libtool_libs=no
318         build_old_libs=yes
319         break
320         ;;
321       esac
322     done
323
324     for arg
325     do
326       # If the previous option needs an argument, assign it.
327       if test -n "$prev"; then
328         case "$prev" in
329         output)
330           compile_command="$compile_command @OUTPUT@"
331           finalize_command="$finalize_command @OUTPUT@"
332           args="$args $arg"
333           ;;
334         esac
335
336         eval "$prev=\$arg"
337         prev=
338
339         continue
340       fi
341
342       args="$args $arg"
343       prevarg="$arg"
344
345       case "$arg" in
346       -allow-undefined) allow_undefined=yes ;;
347
348       -export-dynamic)
349         export_dynamic=yes
350         compile_command="$compile_command $export_dynamic_flag"
351         finalize_command="$finalize_command $export_dynamic_flag"
352         continue
353         ;;
354
355       -L*)
356         dir=`echo "$arg" | sed 's%^-L\(.*\)$%\1%'`
357         case "$dir" in
358         /*)
359           ;;
360         *)
361           echo "$progname: \`-L$dir' cannot specify a relative directory" 1>&2
362           exit 1
363           ;;
364         esac
365         deplibs="$deplibs $arg"
366         ;;
367
368       -l*) deplibs="$deplibs $arg" ;;
369
370       -o) prev=output ;;
371
372       -rpath)
373         prev=install_libdir
374         continue
375         ;;
376
377       -static)
378         link_static="`eval echo \"$link_static_flag\"`"
379         compile_command="$compile_command $link_static"
380         continue
381         ;;
382
383       -version-file)
384         echo "$progname: \`-version-file' has been replaced by \`-version-info'" 1>&2
385         echo "$help" 1>&2
386         exit 1
387         ;;
388
389       -version-info)
390         prev=vinfo
391         continue
392         ;;
393
394       -*) cc="$cc $arg" ;; # Some other compiler flag.
395
396       *.o)
397         # A standard object.
398         objs="$objs $arg"
399         ;;
400
401       *.a)
402         # Find the relevant object directory and library name.
403         file=`echo "$arg" | sed 's%^.*/%%'`
404         dir=`echo "$arg" | sed 's%/[^/]*$%/%'`
405         test "$dir" = "$arg" && dir=
406
407         # Standard archive.
408         objs="$objs $arg"
409         ;;
410
411       *.lo)
412         # A library object.
413         libobjs="$libobjs $arg"
414         ;;
415
416       *.la)
417         # A libtool-controlled library.
418
419         libdir=
420         library_names=
421         old_library=
422
423         # Check to see that this really is a libtool archive.
424         if egrep "^# Generated by $PROGRAM" $arg >/dev/null 2>&1; then :
425         else
426           echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
427           exit 1
428         fi
429
430         # If there is no directory component, then add one.
431         case "$arg" in
432         */*) . $arg ;;
433         *) . ./$arg ;;
434         esac
435
436         if test -z "$libdir"; then
437           echo "$progname: \`$arg' contains no -rpath information" 1>&2
438           exit 1
439         fi
440
441         # Get the name of the library we link against.
442         linklib=
443         for l in $old_library $library_names; do
444           linklib="$l"
445         done
446
447         if test -z "$linklib"; then
448           echo "$progname: cannot find name of link library for \`$arg'" 1>&2
449           exit 1
450         fi
451
452         # Find the relevant object directory and library name.
453         name=`echo "$arg" | sed 's%^.*/%%; s/\.la$//; s/^lib//'`
454         dir=`echo "$arg" | sed 's%/[^/]*$%%'`
455         if test "$dir" = "$arg"; then
456           dir="$objdir"
457         else
458           dir="$dir/$objdir"
459         fi
460
461         if test "$build_libtool_libs" = yes && test -n "$library_names"; then
462           link_against_libtool_libs="$link_against_libtool_libs $arg"
463           if test -n "$shlibpath_var"; then
464             # Make sure the rpath contains only unique directories.
465             case "$temp_rpath " in
466             "* $dir *") ;;
467             *) temp_rpath="$temp_rpath $dir" ;;
468             esac
469           fi
470
471           if test -n "$hardcode_libdir_flag_spec"; then
472             if test -n "$hardcode_libdir_separator"; then
473               if test -z "$hardcode_libdirs"; then
474                 # Put the magic libdir with the hardcode flag.
475                 hardcode_libdirs="$libdir"
476                 libdir="@HARDCODE_LIBDIRS@"
477               else
478                 # Just accumulate the libdirs.
479                 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
480                 libdir=
481               fi
482             fi
483
484             if test -n "$libdir"; then
485               hardcode_libdir_flag=`eval echo \"$hardcode_libdir_flag_spec\"`
486               compile_command="$compile_command $hardcode_libdir_flag"
487               finalize_command="$finalize_command $hardcode_libdir_flag"
488             fi
489           elif test "$hardcode_runpath_var" = yes; then
490             # Do the same for the permanent run path.
491             case "$perm_rpath " in
492             "* $libdir *") ;;
493             *) perm_rpath="$perm_rpath $libdir" ;;
494             esac
495           fi
496
497
498           case "$hardcode_action" in
499           immediate)
500             if test "$hardcode_direct" = no; then
501               compile_command="$compile_command $dir/$linklib"
502             elif test "$hardcode_minus_L" = no; then
503               compile_command="$compile_command -L$dir -l$name"
504             elif test "$hardcode_shlibpath_var" = no; then
505               compile_shlibpath="$compile_shlibpath$dir:"
506               compile_command="$compile_command -l$name"
507             fi
508             ;;
509
510           relink)
511             # We need an absolute path.
512             case "$dir" in
513             /*) ;;
514             *)
515               absdir=`cd "$dir" && pwd`
516               if test -z "$absdir"; then
517                 echo "$progname: cannot determine absolute directory name of \`$dir'" 1>&2
518                 exit 1
519               fi
520               dir="$absdir"
521               ;;
522             esac
523
524             if test "$hardcode_direct" = yes; then
525               compile_command="$compile_command $dir/$linklib"
526             elif test "$hardcode_minus_L" = yes; then
527               compile_command="$compile_command -L$dir -l$name"
528             elif test "$hardcode_shlibpath_var" = yes; then
529               compile_shlibpath="$compile_shlibpath$dir:"
530               compile_command="$compile_command -l$name"
531             fi
532             ;;
533
534           *)
535             echo "$progname: \`$hardcode_action' is an unknown hardcode action" 1>&2
536             exit 1
537             ;;
538           esac
539
540           # Finalize command for both is simple: just hardcode it.
541           if test "$hardcode_direct" = yes; then
542             finalize_command="$finalize_command $libdir/$linklib"
543           elif test "$hardcode_minus_L" = yes; then
544             finalize_command="$finalize_command -L$libdir -l$name"
545           elif test "$hardcode_shlibpath_var" = yes; then
546             finalize_shlibpath="$finalize_shlibpath$libdir:"
547             finalize_command="$finalize_command -l$name"
548           else
549             # We can't seem to hardcode it, guess we'll fake it.
550             finalize_command="$finalize_command -L$libdir -l$name"
551           fi
552         else
553           # Transform directly to old archives if we don't build new libraries.
554           if test -n "$pic_flag" && test -z "$old_library"; then
555             echo "$progname: cannot find static library for \`$arg'" 1>&2
556             exit 1
557           fi
558           test -n "$old_library" && linklib="$old_library"
559           compile_command="$compile_command $dir/$linklib"
560           finalize_command="$finalize_command $dir/$linklib"
561         fi
562         continue
563         ;;
564
565       *)
566         echo "$progname: unknown file suffix for \`$arg'" 1>&2
567         echo "$help" 1>&2
568         exit 1
569         ;;
570       esac
571
572       compile_command="$compile_command $arg"
573       finalize_command="$finalize_command $arg"
574     done
575
576     if test -n "$prev"; then
577       echo "$progname: the \`$prevarg' option requires an argument" 1>&2
578       echo "$help" 1>&2
579       exit 1
580     fi
581
582     # Substitute the hardcoded libdirs into the compile commands.
583     if test "$hardcode_libdir_colon_separated" = yes; then
584       compile_command=`echo "$compile_command" | sed "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
585       finalize_command=`echo "$finalize_command" | sed "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
586     fi
587
588     oldlib=
589     oldobjs=
590     case "$output" in
591     "")
592       echo "$progname: you must specify an output file" 1>&2
593       echo "$help" 1>&2
594       exit 1
595       ;;
596
597     */*)
598       echo "$progname: output file \`$output' must have no directory components" 1>&2
599       exit 1
600       ;;
601
602     *.la)
603       libname=`echo "$output" | sed 's/\.la$//'`
604
605       # All the library-specific variables (install_libdir is set above).
606       library_names=
607       old_library=
608       dlname=
609       current=0
610       revision=0
611       age=0
612
613       if test -n "$objs"; then
614         echo "$progname: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
615         exit 1
616       fi
617
618       # How the heck are we supposed to write a wrapper for a shared library?
619       if test -n "$link_against_libtool_libs"; then
620         echo "$progname: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
621         exit 1
622       fi
623
624       if test -z "$install_libdir"; then
625         echo "$progname: you must specify an installation directory with \`-rpath'" 1>&2
626         exit 1
627       fi
628
629       # Parse the version information argument.
630       IFS="${IFS=       }"; save_ifs="$IFS"; IFS=':'
631       set dummy $vinfo
632       IFS="$save_ifs"
633
634       if test -n "$5"; then
635         echo "$progname: too many parameters to \`-version-info'" 1>&2
636         echo "$help" 1>&2
637         exit 1
638       fi
639
640       test -n "$2" && current="$2"
641       test -n "$3" && revision="$3"
642       test -n "$4" && age="$4"
643
644       # Check that each of the things are valid numbers.
645       case "$current" in
646       0 | [1-9] | [1-9][0-9]*) ;;
647       *)
648         echo "$progname: CURRENT \`$current' is not a nonnegative integer" 1>&2
649         echo "$progname: \`$vinfo' is not valid version information" 1>&2
650         exit 1
651         ;;
652       esac
653
654       case "$revision" in
655       0 | [1-9] | [1-9][0-9]*) ;;
656       *)
657         echo "$progname: REVISION \`$revision' is not a nonnegative integer" 1>&2
658         echo "$progname: \`$vinfo' is not valid version information" 1>&2
659         exit 1
660         ;;
661       esac
662
663       case "$age" in
664       0 | [1-9] | [1-9][0-9]*) ;;
665       *)
666         echo "$progname: AGE \`$age' is not a nonnegative integer" 1>&2
667         echo "$progname: \`$vinfo' is not valid version information" 1>&2
668         exit 1
669         ;;
670       esac
671
672       if test $age -gt $current; then
673         echo "$progname: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
674         echo "$progname: \`$vinfo' is not valid version information" 1>&2
675         exit 1
676       fi
677
678       # Calculate the version variables.
679       version_vars="version_type current age revision"
680       case "$version_type" in
681       none) ;;
682
683       linux)
684         version_vars="$version_vars major versuffix"
685         major=`expr $current - $age`
686         versuffix="$major.$age.$revision"
687         ;;
688
689       osf)
690         version_vars="$version_vars versuffix verstring"
691         major=`expr $current - $age`
692         versuffix="$current.$age.$revision"
693         verstring="$versuffix"
694
695         # Add in all the interfaces that we are compatible with.
696         loop=$age
697         while test $loop != 0; do
698           iface=`expr $current - $loop`
699           loop=`expr $loop - 1`
700           verstring="$verstring:${iface}.0"
701         done
702
703         # Make executables depend on our current version.
704         verstring="$verstring:${current}.0"
705         ;;
706
707       sunos)
708         version_vars="$version_vars major versuffix"
709         major="$current"
710         versuffix="$current.$revision"
711         ;;
712
713       *)
714         echo "$progname: unknown library version type \`$version_type'" 1>&2
715         echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
716         exit 1
717         ;;
718       esac
719
720       # Create the output directory, or remove our outputs if we need to.
721       if test -d $objdir; then
722         $show "$rm $objdir/$libname.*"
723         $run $rm $objdir/$libname.*
724       else
725         $show "$mkdir $objdir"
726         $run $mkdir $objdir || exit $?
727       fi
728
729       # Check to see if the archive will have undefined symbols.
730       if test "$allow_undefined" = yes; then
731         if test "$allow_undefined_flag" = unsupported; then
732           echo "$progname: warning: undefined symbols not allowed in $host shared libraries" 1>&2
733           build_libtool_libs=no
734         fi
735       else
736         # Clear the flag.
737         allow_undefined_flag=
738       fi
739
740       if test "$build_libtool_libs" = yes; then
741         # Get the real and link names of the library.
742         library_names=`eval echo \"$library_names_spec\"`
743         set dummy $library_names
744         realname="$2"
745         shift; shift
746
747         if test -n "$soname_spec"; then
748           soname=`eval echo \"$soname_spec\"`
749         else
750           soname="$realname"
751         fi
752
753         lib="$objdir/$realname"
754         linknames=
755         for link
756         do
757           linknames="$linknames $link"
758         done
759
760         # Use standard objects if they are PIC.
761         test -z "$pic_flag" && libobjs=`echo "$libobjs " | sed 's/\.lo /.o /g; s/ $//g'`
762
763         # Do each of the archive commands.
764         cmds=`eval echo \"$archive_cmds\"`
765         IFS="${IFS=     }"; save_ifs="$IFS"; IFS=';'
766         for cmd in $cmds; do
767           IFS="$save_ifs"
768           $show "$cmd"
769           $run eval "$cmd" || exit $?
770         done
771         IFS="$save_ifs"
772
773         # Create links to the real library.
774         for link in $linknames; do
775           $show "(cd $objdir && $LN_S $realname $link)"
776           $run eval "(cd $objdir && $LN_S $realname $link)" || exit $?
777         done
778
779         # If -export-dynamic was specified, set the dlname.
780         if test "$export_dynamic" = yes; then
781           # On all known operating systems, these are identical.
782           dlname="$soname"
783         fi
784       fi
785       ;;
786
787     *.lo | *.o)
788       if test -n "$link_against_libtool_libs"; then
789         echo "$progname: error: cannot link libtool libraries into reloadable objects" 1>&2
790         exit 1
791       fi
792
793       if test -n "$deplibs"; then
794         echo "$progname: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
795       fi
796
797       if test -n "$install_libdir"; then
798         echo "$progname: warning: \`-rpath' is ignored while creating objects" 1>&2
799       fi
800
801       if test -n "$vinfo"; then
802         echo "$progname: warning: \`-version-info' is ignored while creating objects" 1>&2
803       fi
804
805       case "$output" in
806       *.lo)
807         if test -n "$objs"; then
808           echo "$progname: cannot build library object \`$output' from non-libtool objects" 1>&2
809           exit 1
810         fi
811         libobj="$output"
812         obj=`echo "$output" | sed 's/\.lo$/.o/'`
813         ;;
814       *)
815         libobj=
816         obj="$output"
817         ;;
818       esac
819
820       # Delete the old objects.
821       $run $rm $obj $libobj
822
823       # Create the old-style object.
824       reload_objs="$objs"`echo "$libobjs " | sed 's/[^  ]*\.a //g; s/\.lo /.o /g; s/ $//g'`
825
826       output="$obj"
827       cmds=`eval echo \"$reload_cmds\"`
828       IFS="${IFS=       }"; save_ifs="$IFS"; IFS=';'
829       for cmd in $cmds; do
830         IFS="$save_ifs"
831         $show "$cmd"
832         $run eval "$cmd" || exit $?
833       done
834       IFS="$save_ifs"
835
836       # Exit if we aren't doing a library object file.
837       test -z "$libobj" && exit 0
838
839       if test "$build_libtool_libs" != yes; then
840         # Create an invalid libtool object if no PIC, so that we don't
841         # accidentally link it into a program.
842         $show "echo timestamp > $libobj"
843         $run eval "echo timestamp > $libobj" || exit $?
844         exit 0
845       fi
846
847       if test -n "$pic_flag"; then
848         # Only do commands if we really have different PIC objects.
849         reload_objs="$libobjs"
850         output="$libobj"
851         cmds=`eval echo \"$reload_cmds\"`
852         IFS="${IFS=     }"; save_ifs="$IFS"; IFS=';'
853         for cmd in $cmds; do
854           IFS="$save_ifs"
855           $show "$cmd"
856           $run eval "$cmd" || exit $?
857         done
858         IFS="$save_ifs"
859       else
860         # Just create a symlink.
861         $show "$LN_S $obj $libobj"
862         $run $LN_S $obj $libobj || exit 1
863       fi
864
865       exit 0
866       ;;
867
868     *)
869       if test -n "$install_libdir"; then
870         echo "$progname: warning: \`-rpath' is ignored while linking programs" 1>&2
871       fi
872
873       if test -n "$vinfo"; then
874         echo "$progname: warning: \`-version-info' is ignored while linking programs" 1>&2
875       fi
876
877       if test -n "$libobjs"; then
878         # Transform all the library objects into standard objects.
879         compile_command=`echo "$compile_command " | sed 's/\.lo /.o /g; s/ $//'`
880         finalize_command=`echo "$finalize_command " | sed 's/\.lo /.o /g; s/ $//'`
881       fi
882
883       if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
884         # Replace the output file specification.
885         compile_command=`echo "$compile_command" | sed 's%@OUTPUT@%'"$output"'%g'`
886         finalize_command=`echo "$finalize_command" | sed 's%@OUTPUT@%'"$output"'%g'`
887
888         # We have no uninstalled library dependencies, so finalize right now.
889         $show "$compile_command"
890         $run $compile_command
891         status=$?
892
893         # If we failed to link statically, then try again.
894         if test $status -ne 0 && test -n "$link_static"; then
895           echo "$progname: cannot link \`$output' statically; retrying semi-dynamically" 1>&2
896           compile_command=`echo "$compile_command " | sed "s% $link_static % %;s/ $//"`
897           $show "$finalize_command"
898           $run $finalize_command
899           status=$?
900         fi
901         exit $status
902       fi
903
904       # Replace the output file specification.
905       compile_command=`echo "$compile_command" | sed 's%@OUTPUT@%'"$objdir/$output"'%g'`
906       finalize_command=`echo "$finalize_command" | sed 's%@OUTPUT@%'"$objdir/$output"'T%g'`
907
908       # Create the binary in the object directory, then wrap it.
909       if test -d $objdir; then :
910       else
911         $show "$mkdir $objdir"
912         $run $mkdir $objdir || exit $?
913       fi
914
915       if test -n "$shlibpath_var"; then
916         # We should set the shlibpath_var
917         rpath=
918         for dir in $temp_rpath; do
919           case "$dir" in
920           /*)
921             # Absolute path.
922             rpath="$rpath$dir:"
923             ;;
924           *)
925             # Relative path: add a thisdir entry.
926             rpath="$rpath\$thisdir/$dir:"
927             ;;
928           esac
929         done
930         temp_rpath="$rpath"
931       fi
932
933       # Delete the old output file.
934       $run $rm $output
935
936       if test -n "$compile_shlibpath"; then
937         compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
938       fi
939       if test -n "$finalize_shlibpath"; then
940         finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
941       fi
942
943       if test -n "$perm_rpath"; then
944         # We should set the runpath_var.
945         rpath=
946         for dir in $perm_rpath; do
947           rpath="$rpath$dir:"
948         done
949         compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
950         finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
951       fi
952
953       case "$hardcode_action" in
954       relink)
955         # AGH! Flame the AIX and HP-UX people for me, will ya?
956         echo "$progname: warning: using a buggy system linker" 1>&2
957         echo "$progname: relinking will be required before \`$output' can be installed" 1>&2
958         ;;
959       esac
960
961       $show "$compile_command"
962       $run eval "$compile_command" || exit $?
963
964       # Now create the wrapper script.
965       echo "creating $output"
966
967       # Only actually do things if our run command is non-null.
968       if test -z "$run"; then
969         $rm $output
970         trap "$rm $output; exit 1" 1 2 15
971
972         cat > $output <<EOF
973 #! /bin/sh
974
975 # $output - temporary wrapper script for $objdir/$output
976 # Generated by $PROGRAM - GNU $PACKAGE $VERSION
977 #
978 # The $output program cannot be directly executed until all the libtool
979 # libraries that it depends on are installed.
980 #
981 # This wrapper script should never be moved out of \``pwd`'.
982 # If it is, it will not operate correctly.
983
984 # This environment variable determines our operation mode.
985 if test "\$libtool_install_magic" = "$magic"; then
986   # install mode needs the following variables:
987   link_against_libtool_libs='$link_against_libtool_libs'
988   finalize_command='$finalize_command'
989 else
990   # Find the directory that this script lives in.
991   thisdir=\`echo \$0 | sed 's%/[^/]*$%%'\`
992   test "x\$thisdir" = "x\$0" && thisdir=.
993
994   # Try to get the absolute directory name.
995   absdir=\`cd "\$thisdir" && pwd\`
996   test -n "\$absdir" && thisdir="\$absdir"
997
998   progdir="\$thisdir/$objdir"
999   program="$output"
1000
1001   if test -f "\$progdir/\$program"; then
1002     # Run the actual program with our arguments.
1003     args=
1004     for arg
1005     do
1006       # Quote arguments (to preserve shell metacharacters).
1007       args="\$args '\$arg'"
1008     done
1009
1010     # Export the path to the program.
1011     PATH="\$progdir:\$PATH"
1012     export PATH
1013 EOF
1014
1015         # Export our shlibpath_var if we have one.
1016         if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
1017           cat >> $output <<EOF
1018
1019     # Add our own library path to $shlibpath_var
1020     $shlibpath_var="$temp_rpath\$$shlibpath_var"
1021
1022     # Some systems cannot cope with colon-terminated $shlibpath_var
1023     $shlibpath_var=\`echo \$$shlibpath_var | sed -e 's/:*\$//'\`
1024
1025     export $shlibpath_var
1026 EOF
1027         fi
1028
1029         cat >> $output <<EOF
1030
1031     eval "exec \$program \$args"
1032
1033     echo "\$0: cannot exec \$program \$args"
1034     exit 1
1035   else
1036     # The program doesn't exist.
1037     echo "\$0: error: \$progdir/\$program does not exist" 1>&2
1038     echo "This script is just a wrapper for \$program." 1>&2
1039     echo "See the $PACKAGE documentation for more information." 1>&2
1040     exit 1
1041   fi
1042 fi
1043 EOF
1044         chmod +x $output
1045       fi
1046       exit 0
1047       ;;
1048     esac
1049
1050
1051     # See if we need to build an old-fashioned archive.
1052     if test "$build_old_libs" = "yes"; then
1053       # Now set the variables for building old libraries.
1054       oldlib="$objdir/$libname.a"
1055
1056       # Transform .lo files to .o files.
1057       oldobjs="$objs"`echo "$libobjs " | sed 's/[^      ]*\.a //g; s/\.lo /.o /g; s/ $//g'`
1058
1059       if test -d "$objdir"; then
1060         $show "$rm $oldlib"
1061         $run $rm $oldlib
1062       else
1063         $show "$mkdir $objdir"
1064         $run $mkdir $objdir
1065       fi
1066
1067       # Do each command in the archive commands.
1068       cmds=`eval echo \"$old_archive_cmds\"`
1069       IFS="${IFS=       }"; save_ifs="$IFS"; IFS=';'
1070       for cmd in $cmds; do
1071         IFS="$save_ifs"
1072         $show "$cmd"
1073         $run eval "$cmd" || exit $?
1074       done
1075       IFS="$save_ifs"
1076     fi
1077
1078     # Now create the libtool archive.
1079     case "$output" in
1080     *.la)
1081       old_library=
1082       test "$build_old_libs" = yes && old_library="$libname.a"
1083
1084       echo "creating $output"
1085
1086       # Only create the output if not a dry run.
1087       if test -z "$run"; then
1088         cat > $output <<EOF
1089 # $output - a libtool library file
1090 # Generated by $PROGRAM - GNU $PACKAGE $VERSION
1091
1092 # The name that we can dlopen(3).
1093 dlname='$dlname'
1094
1095 # Names of this library.
1096 library_names='$library_names'
1097
1098 # The name of the static archive.
1099 old_library='$old_library'
1100
1101 # Version information for $libname.
1102 current=$current
1103 age=$age
1104 revision=$revision
1105
1106 # Directory that this library needs to be installed in:
1107 libdir='$install_libdir'
1108 EOF
1109       fi
1110
1111       # Do a symbolic link so that the libtool archive can be found in
1112       # LD_LIBRARY_PATH before the program is installed.
1113       $show "(cd $objdir && $LN_S ../$output $output)"
1114       $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
1115       ;;
1116     esac
1117     exit 0
1118     ;;
1119
1120   # libtool install mode
1121   install)
1122     progname="$progname: install"
1123
1124     # The first argument is the name of the installation program.
1125     install_prog="$nonopt"
1126
1127     # We need to accept at least all the BSD install flags.
1128     dest=
1129     files=
1130     opts=
1131     prev=
1132     install_type=
1133     isdir=
1134     stripme=
1135     for arg
1136     do
1137       if test -n "$dest"; then
1138         files="$files $dest"
1139         dest="$arg"
1140         continue
1141       fi
1142
1143       case "$arg" in
1144       -d) isdir=yes ;;
1145       -f) prev="-f" ;;
1146       -g) prev="-g" ;;
1147       -m) prev="-m" ;;
1148       -o) prev="-o" ;;
1149       -s)
1150         stripme=" -s"
1151         continue
1152         ;;
1153       -*) ;;
1154
1155       *)
1156         # If the previous option needed an argument, then skip it.
1157         if test -n "$prev"; then
1158           prev=
1159         else
1160           dest="$arg"
1161           continue
1162         fi
1163         ;;
1164       esac
1165       install_prog="$install_prog $arg"
1166     done
1167
1168     if test -z "$install_prog"; then
1169       echo "$progname: you must specify an install program" 1>&2
1170       echo "$help" 1>&2
1171       exit 1
1172     fi
1173
1174     if test -n "$prev"; then
1175       echo "$progname: the \`$prev' option requires an argument" 1>&2
1176       echo "$help" 1>&2
1177       exit 1
1178     fi
1179
1180     if test -z "$files"; then
1181       if test -z "$dest"; then
1182         echo "$progname: no file or destination specified" 1>&2
1183       else
1184         echo "$progname: you must specify a destination" 1>&2
1185       fi
1186       echo "$help" 1>&2
1187       exit 1
1188     fi
1189
1190     # Strip any trailing slash from the destination.
1191     dest=`echo "$dest" | sed 's%/$%%'`
1192
1193     # Check to see that the destination is a directory.
1194     test -d "$dest" && isdir=yes
1195     if test -n "$isdir"; then
1196       destdir="$dest"
1197       destname=
1198     else
1199       destdir=`echo "$dest" | sed 's%/[^/]*$%%'`
1200       test "$destdir" = "$dest" && destdir=.
1201       destname=`echo "$dest" | sed 's%^.*/%%'`
1202
1203       # Not a directory, so check to see that there is only one file specified.
1204       set dummy $files
1205       if test $# -gt 2; then
1206         echo "$progname: \`$dest' is not a directory" 1>&2
1207         echo "$help" 1>&2
1208         exit 1
1209       fi
1210     fi
1211     case "$destdir" in
1212     /*) ;;
1213     *)
1214       for file in $files; do
1215         case "$file" in
1216         *.lo) ;;
1217         *)
1218           echo "$progname: \`$destdir' must be an absolute directory name" 1>&2
1219           echo "$help" 1>&2
1220           exit 1
1221           ;;
1222         esac
1223       done
1224       ;;
1225     esac
1226
1227     staticlibs=
1228     future_libdirs=
1229     current_libdirs=
1230     for file in $files; do
1231
1232       # Do each installation.
1233       case "$file" in
1234       *.a)
1235         # Do the static libraries later.
1236         staticlibs="$staticlibs $file"
1237         ;;
1238
1239       *.la)
1240         # Check to see that this really is a libtool archive.
1241         if egrep "^# Generated by $PROGRAM" $file >/dev/null 2>&1; then :
1242         else
1243           echo "$progname: \`$file' is not a valid libtool archive" 1>&2
1244           echo "$help" 1>&2
1245           exit 1
1246         fi
1247
1248         library_names=
1249         old_library=
1250         # If there is no directory component, then add one.
1251         case "$file" in
1252         */*) . $file ;;
1253         *) . ./$file ;;
1254         esac
1255
1256         # Add the libdir to current_libdirs if it is the destination.
1257         if test "$destdir" = "$libdir"; then
1258           case "$current_libdirs " in
1259           "* $libdir *") ;;
1260           *) current_libdirs="$current_libdirs $libdir" ;;
1261           esac
1262         else
1263           # Note the libdir as a future libdir.
1264           case "$future_libdirs " in
1265           "* $libdir *") ;;
1266           *) future_libdirs="$future_libdirs $libdir" ;;
1267           esac
1268         fi
1269
1270         dir="`echo "$file" | sed 's%/[^/]*$%%'`/"
1271         test "$dir" = "$file/" && dir=
1272         dir="$dir$objdir"
1273
1274         # See the names of the shared library.
1275         set dummy $library_names
1276         if test -n "$2"; then
1277           realname="$2"
1278           shift
1279           shift
1280
1281           # Install the shared library and build the symlinks.
1282           $show "$install_prog $dir/$realname $destdir/$realname"
1283           $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
1284           test "X$dlname" = "X$realname" && dlname=
1285
1286           # Support stripping libraries.
1287           if test -n "$stripme"; then
1288             if test -n "$striplib"; then
1289               $show "$striplib $destdir/$realname"
1290               $run $striplib $destdir/$realname || exit $?
1291             else
1292               echo "$progname: warning: no library stripping program" 1>&2
1293             fi
1294           fi
1295
1296           if test $# -gt 0; then
1297             # Delete the old symlinks.
1298             rmcmd="$rm"
1299             for linkname
1300             do
1301               rmcmd="$rmcmd $destdir/$linkname"
1302             done
1303             $show "$rmcmd"
1304             $run $rmcmd
1305
1306             # ... and create new ones.
1307             for linkname
1308             do
1309               test "X$dlname" = "X$linkname" && dlname=
1310               $show "(cd $destdir && $LN_S $realname $linkname)"
1311               $run eval "(cd $destdir && $LN_S $realname $linkname)"
1312             done
1313           fi
1314
1315           if test -n "$dlname"; then
1316             # Install the dynamically-loadable library.
1317             $show "$install_prog $dir/$dlname $destdir/$dlname"
1318             $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
1319           fi
1320
1321           # Do each command in the postinstall commands.
1322           lib="$destdir/$realname"
1323           cmds=`eval echo \"$postinstall_cmds\"`
1324           IFS="${IFS=   }"; save_ifs="$IFS"; IFS=';'
1325           for cmd in $cmds; do
1326             IFS="$save_ifs"
1327             $show "$cmd"
1328             $run eval "$cmd" || exit $?
1329           done
1330           IFS="$save_ifs"
1331         fi
1332
1333         # Install the pseudo-library for information purposes.
1334         name=`echo "$file" | sed 's%^.*/%%'`
1335         $show "$install_prog $file $destdir/$name"
1336         $run $install_prog $file $destdir/$name || exit $?
1337
1338         # Maybe install the static library, too.
1339         test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
1340         ;;
1341
1342       *.lo)
1343         # Install (i.e. copy) a libtool object.
1344
1345         # Figure out destination file name, if it wasn't already specified.
1346         if test -n "$destname"; then
1347           destfile="$destdir/$destname"
1348         else
1349           destfile=`echo "$file" | sed 's%^.*/%%;'`
1350           destfile="$destdir/$destfile"
1351         fi
1352
1353         # Deduce the name of the destination old-style object file.
1354         case "$destfile" in
1355         *.lo)
1356           staticdest=`echo "$destfile" | sed 's/\.lo$/\.o/;'`
1357           ;;
1358         *.o)
1359           staticdest="$destfile"
1360           destfile=
1361           ;;
1362         *)
1363           echo "$progname: cannot copy a libtool object to \`$destfile'" 1>&2
1364           echo "$help" 1>&2
1365           exit 1
1366           ;;
1367         esac
1368
1369         # Install the libtool object if requested.
1370         if test -n "$destfile"; then
1371           $show "$install_prog $file $destfile"
1372           $run $install_prog $file $destfile || exit $?
1373         fi
1374
1375         # Install the old object if enabled.
1376         if test "$build_old_libs" = yes; then
1377           # Deduce the name of the old-style object file.
1378           staticobj=`echo "$file" | sed 's/\.lo$/\.o/;'`
1379
1380           $show "$install_prog $staticobj $staticdest"
1381           $run $install_prog $staticobj $staticdest || exit $?
1382         fi
1383         exit 0
1384         ;;
1385
1386       *)
1387         # Do a test to see if this is really a libtool program.
1388         if egrep "^# Generated by $PROGRAM" $file >/dev/null 2>&1; then
1389           # This variable tells wrapper scripts just to set variables rather
1390           # than running their programs.
1391           libtool_install_magic="$magic"
1392           link_against_libtool_libs=
1393           finalize_command=
1394
1395           # If there is no directory component, then add one.
1396           case "$file" in
1397           */*) . $file ;;
1398           *) . ./$file ;;
1399           esac
1400
1401           # Check the variables that should have been set.
1402           if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
1403             echo "$progname: invalid libtool wrapper script \`$file'" 1>&2
1404             exit 1
1405           fi
1406
1407           finalize=yes
1408           for lib in $link_against_libtool_libs; do
1409             # Check to see that each library is installed.
1410             libdir=
1411             if test -f "$lib"; then
1412               # If there is no directory component, then add one.
1413               case "$lib" in
1414               */*) . $lib ;;
1415               *) . ./$lib ;;
1416               esac
1417             fi
1418             libfile="$libdir/`echo "$lib" | sed 's%^.*/%%g'`"
1419             if test -z "$libdir"; then
1420               echo "$progname: warning: \`$lib' contains no -rpath information" 1>&2
1421             elif test -f "$libfile"; then :
1422             else
1423               echo "$progname: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
1424               finalize=no
1425             fi
1426           done
1427
1428           if test "$hardcode_action" = relink; then
1429             if test "$finalize" = yes; then
1430               echo "$progname: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
1431               $show "$finalize_command"
1432               if $run $finalize_command; then :
1433               else
1434                 echo "$progname: error: relink \`$file' with the above command before installing it" 1>&2
1435                 continue
1436               fi
1437               file="$objdir/$file"T
1438             else
1439               echo "$progname: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
1440             fi
1441           else
1442             # Install the binary that we compiled earlier.
1443             dir=`echo "$file" | sed 's%/[^/]*$%%'`
1444             if test "$file" = "$dir"; then
1445               file="$objdir/$file"
1446             else
1447               file="$dir/$objdir/`echo "$file" | sed 's%^.*/%%'`"
1448             fi
1449           fi
1450         fi
1451
1452         $show "$install_prog$stripme $file $dest"
1453         $run $install_prog$stripme $file $dest || exit $?
1454         ;;
1455       esac
1456     done
1457
1458     for file in $staticlibs; do
1459       name=`echo "$file" | sed 's%^.*/%%'`
1460
1461       # Set up the ranlib parameters.
1462       oldlib="$destdir/$name"
1463
1464       $show "$install_prog $file $oldlib"
1465       $run $install_prog $file $oldlib || exit $?
1466
1467       # Support stripping libraries.
1468       if test -n "$stripme"; then
1469         if test -n "$old_striplib"; then
1470           $show "$old_striplib $oldlib"
1471           $run $old_striplib $oldlib || exit $?
1472         else
1473           echo "$progname: warning: no static library stripping program" 1>&2
1474         fi
1475       fi
1476
1477       # Do each command in the postinstall commands.
1478       cmds=`eval echo \"$old_postinstall_cmds\"`
1479       IFS="${IFS=       }"; save_ifs="$IFS"; IFS=';'
1480       for cmd in $cmds; do
1481         IFS="$save_ifs"
1482         $show "$cmd"
1483         $run eval "$cmd" || exit $?
1484       done
1485       IFS="$save_ifs"
1486     done
1487
1488     if test -n "$future_libdirs"; then
1489       echo "$progname: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
1490     fi
1491
1492     if test -n "$current_libdirs"; then
1493       # Maybe just do a dry run.
1494       test -n "$run" && current_libdirs=" -n$current_libdirs"
1495       exec $0 --finish$current_libdirs
1496       exit 1
1497     fi
1498
1499     exit 0
1500     ;;
1501
1502   # libtool dlname mode
1503   dlname)
1504     progname="$progname: dlname"
1505     ltlibs="$nonopt"
1506     for lib
1507     do
1508       ltlibs="$ltlibs $lib"
1509     done
1510
1511     if test -z "$ltlibs"; then
1512       echo "$progname: you must specify at least one LTLIBRARY" 1>&2
1513       echo "$help" 1>&2
1514       exit 1
1515     fi
1516
1517     # Now check to make sure each one is a valid libtool library.
1518     status=0
1519     for lib in $ltlibs; do
1520       dlname=
1521       libdir=
1522       library_names=
1523
1524       # Check to see that this really is a libtool archive.
1525       if egrep "^# Generated by $PROGRAM" $arg >/dev/null 2>&1; then :
1526       else
1527         echo "$progname: \`$arg' is not a valid libtool archive" 1>&2
1528         status=1
1529         continue
1530       fi
1531
1532       # If there is no directory component, then add one.
1533       case "$arg" in
1534       */*) . $arg ;;
1535       *) . ./$arg ;;
1536       esac
1537
1538       if test -z "$libdir"; then
1539         echo "$progname: \`$arg' contains no -rpath information" 1>&2
1540         status=1
1541       elif test -n "$dlname"; then
1542         echo "$libdir/$dlname"
1543       elif test -z "$library_names"; then
1544         echo "$progname: \`$arg' is not a shared library" 1>&2
1545         status=1
1546       else
1547         echo "$progname: \`$arg' was not linked with \`-export-dynamic'" 1>&2
1548         status=1
1549       fi
1550     done
1551     exit $status
1552     ;;
1553
1554   # libtool finish mode
1555   finish)
1556     progname="$progname: finish"
1557     libdirs="$nonopt"
1558
1559     if test -n "$finish_cmds" && test -n "$libdirs"; then
1560       for dir
1561       do
1562         libdirs="$libdirs $dir"
1563       done
1564
1565       for libdir in $libdirs; do
1566         # Do each command in the postinstall commands.
1567         cmds=`eval echo \"$finish_cmds\"`
1568         IFS="${IFS=     }"; save_ifs="$IFS"; IFS=';'
1569         for cmd in $cmds; do
1570           IFS="$save_ifs"
1571           $show "$cmd"
1572           $run eval "$cmd"
1573         done
1574         IFS="$save_ifs"
1575       done
1576     fi
1577
1578     echo "To link against installed libraries in LIBDIR, users may have to:"
1579     if test -n "$shlibpath_var"; then
1580       echo "   - add LIBDIR to their \`$shlibpath_var' environment variable"
1581     fi
1582     echo "   - use the \`-LLIBDIR' linker flag"
1583     exit 0
1584     ;;
1585
1586   # libtool uninstall mode
1587   uninstall)
1588     progname="$progname: uninstall"
1589     rm="$nonopt"
1590     files=
1591
1592     for arg
1593     do
1594       case "$arg" in
1595       -*) rm="$rm $arg" ;;
1596       *) files="$files $arg" ;;
1597       esac
1598     done
1599
1600     if test -z "$rm"; then
1601       echo "$progname: you must specify an RM program" 1>&2
1602       echo "$help" 1>&2
1603       exit 1
1604     fi
1605
1606     for file in $files; do
1607       dir=`echo "$file" | sed -e 's%/[^/]*$%%'`
1608       test "$dir" = "$file" && dir=.
1609       name=`echo "$file" | sed -e 's%^.*/%%'`
1610
1611       rmfiles="$file"
1612
1613       case "$name" in
1614       *.la)
1615         # Possibly a libtool archive, so verify it.
1616         if egrep "^# Generated by $PROGRAM" $file >/dev/null 2>&1; then
1617           . $dir/$name
1618
1619           # Delete the libtool libraries and symlinks.
1620           for n in $library_names; do
1621             rmfiles="$rmfiles $dir/$n"
1622             test "X$n" = "X$dlname" && dlname=
1623           done
1624           test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
1625           test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
1626
1627           # FIXME: should reinstall the best remaining shared library.
1628         fi
1629         ;;
1630
1631       *.lo)
1632         if test "$build_old_libs" = yes; then
1633           oldobj=`echo "$name" | sed 's/\.lo$/\.o/'`
1634           rmfiles="$rmfiles $dir/$oldobj"
1635         fi
1636         ;;
1637       esac
1638
1639       $show "$rm $rmfiles"
1640       $run $rm $rmfiles
1641     done
1642     exit 0
1643     ;;
1644
1645   NONE)
1646     echo "$progname: you must specify a MODE" 1>&2
1647     echo "$generic_help" 1>&2
1648     exit 1
1649     ;;
1650   esac
1651
1652   echo "$progname: invalid operation mode \`$mode'" 1>&2
1653   echo "$generic_help" 1>&2
1654   exit 1
1655 fi # test -z "$show_help"
1656
1657 # We need to display help for each of the modes.
1658 case "$mode" in
1659 NONE) cat <<EOF
1660 Usage: $progname [OPTION]... [MODE-ARG]...
1661
1662 Provide generalized library-building support services.
1663
1664 -n, --dry-run         display commands without modifying any files
1665     --features        display configuration information and exit
1666     --finish          same as \`--mode=finish'
1667     --help            display this help message and exit
1668     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
1669     --version         print version information
1670
1671 MODE must be one of the following:
1672
1673       compile         compile a source file into a libtool object
1674       dlname          print filenames to use to \`dlopen' libtool libraries
1675       finish          complete the installation of libtool libraries
1676       install         install libraries or executables
1677       link            create a library or an executable
1678       uninstall       remove libraries from an installed directory
1679
1680 MODE-ARGS vary depending on the MODE.  Try \`$progname --help --mode=MODE' for
1681 a more detailed description of MODE.
1682 EOF
1683   ;;
1684
1685 compile)
1686   cat <<EOF
1687 Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
1688
1689 Compile a source file into a libtool library object.
1690
1691 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
1692 from the given SOURCEFILE.
1693
1694 The output file name is determined by removing the directory component from
1695 SOURCEFILE, then substituting the C source code suffix \`.c' with the
1696 library object suffix, \`.lo'.
1697 EOF
1698   ;;
1699
1700 dlname)
1701   cat <<EOF
1702 Usage: $progname [OPTION]... --mode=dlname LTLIBRARY...
1703
1704 Print filenames to use to \`dlopen' libtool libraries.
1705
1706 Each LTLIBRARY is the name of a dynamically loadable libtool library (one that
1707 was linked using the \`-export-dynamic' option).
1708
1709 The names to use are printed to standard output, one per line.
1710 EOF
1711   ;;
1712
1713 finish)
1714   cat <<EOF
1715 Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
1716
1717 Complete the installation of libtool libraries.
1718
1719 Each LIBDIR is a directory that contains libtool libraries.
1720
1721 The commands that this mode executes may require superuser privileges.  Use
1722 the \`--dry-run' option if you just want to see what would be executed.
1723 EOF
1724   ;;
1725
1726 install)
1727   cat <<EOF
1728 Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
1729
1730 Install executables or libraries.
1731
1732 INSTALL-COMMAND is the installation command.  The first component should be
1733 either the \`install' or \`cp' program.
1734
1735 The rest of the components are interpreted as arguments to that command (only
1736 BSD-compatible install options are recognized).
1737 EOF
1738   ;;
1739
1740 link)
1741   cat <<EOF
1742 Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
1743
1744 Link object files or libraries together to form another library, or to
1745 create an executable program.
1746
1747 LINK-COMMAND is a command using the C compiler that you would use to create
1748 a program from several object files.
1749
1750 The following components of LINK-COMMAND are treated specially:
1751
1752   -allow-undefined  allow a libtool library to reference undefined symbols
1753   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
1754   -LLIBDIR          search LIBDIR for required installed libraries
1755   -lNAME            OUTPUT-FILE requires the installed library libNAME
1756   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
1757   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
1758   -static           do not do any dynamic linking or shared library creation
1759   -version-info CURRENT[:REVISION[:AGE]]
1760                     specify library version info [each variable defaults to 0]
1761
1762 All other options (arguments beginning with \`-') are ignored.
1763
1764 Every other argument is treated as a filename.  Files ending in \`.la' are
1765 treated as uninstalled libtool libraries, other files are standard or library
1766 object files.
1767
1768 If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
1769 library objects (\`.lo' files) may be specified, and \`-rpath' is required.
1770
1771 If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
1772 and \`ranlib'.
1773
1774 If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
1775 created, otherwise an executable program is created.
1776 EOF
1777   ;;
1778
1779 uninstall)
1780   cat <<EOF
1781 Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
1782
1783 Remove libraries from an installation directory.
1784
1785 RM is the name of the program to use to delete files associated with each FILE
1786 (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
1787 to RM.
1788
1789 If FILE is a libtool library, all the files associated with it are deleted.
1790 Otherwise, only FILE itself is deleted using RM.
1791 EOF
1792   ;;
1793
1794 *)
1795   echo "$progname: invalid operation mode \`$mode'" 1>&2
1796   echo "$help" 1>&2
1797   exit 1
1798   ;;
1799 esac
1800
1801 case "$mode" in
1802 archive|compile)
1803   echo
1804   echo "Try \`$progname --help' for more information about other modes."
1805   ;;
1806 esac
1807
1808 exit 0
1809
1810 # Local Variables:
1811 # mode:shell-script
1812 # sh-indentation:2
1813 # End: