/[public]/psiconv/trunk/ltmain.sh
ViewVC logotype

Annotation of /psiconv/trunk/ltmain.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 116 - (hide annotations)
Sun Jun 17 18:44:28 2001 UTC (22 years, 10 months ago) by frodo
File MIME type: application/x-sh
File size: 138312 byte(s)
(Frodo) Update to libtool-1.4, autoconf-2.50

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

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26