/[svn]/libgig/tags/start/ltmain.sh
ViewVC logotype

Annotation of /libgig/tags/start/ltmain.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (hide annotations) (download) (as text)
Sat Oct 25 20:15:04 2003 UTC (20 years, 6 months ago) by schoenebeck
Original Path: libgig/trunk/ltmain.sh
File MIME type: application/x-sh
File size: 139132 byte(s)
Initial revision

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

  ViewVC Help
Powered by ViewVC