/[debian]/cdck/trunk/ltmain.sh
ViewVC logotype

Annotation of /cdck/trunk/ltmain.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1930 - (hide annotations)
Fri Nov 6 20:38:47 2009 UTC (11 years, 8 months ago) by gregoa
File MIME type: application/x-sh
File size: 138911 byte(s)
  - libtool.patch:
    + new patch to split out changes to aclocal.m4 and ltmain.sh
    + add a lintian override for the warning about the ancient ltmain.sh in
      the source package
1 gregoa 199 # ltmain.sh - Provide generalized library-building support services.
2     # NOTE: Changing this file will not affect anything until you rerun configure.
3     #
4 gregoa 1930 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
5 gregoa 199 # Free Software Foundation, Inc.
6     # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
7     #
8     # This program is free software; you can redistribute it and/or modify
9     # it under the terms of the GNU General Public License as published by
10     # the Free Software Foundation; either version 2 of the License, or
11     # (at your option) any later version.
12     #
13     # This program is distributed in the hope that it will be useful, but
14     # WITHOUT ANY WARRANTY; without even the implied warranty of
15     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16     # General Public License for more details.
17     #
18     # You should have received a copy of the GNU General Public License
19     # along with this program; if not, write to the Free Software
20 gregoa 1930 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 gregoa 199 #
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 gregoa 1930 exec $SHELL "$0" --no-reexec ${1+"$@"}
40 gregoa 199 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 gregoa 1930 exit 0
49 gregoa 199 fi
50    
51 gregoa 1930 # The name of this program.
52     progname=`$echo "$0" | sed 's%^.*/%%'`
53     modename="$progname"
54    
55     # Constants.
56     PROGRAM=ltmain.sh
57     PACKAGE=libtool
58     VERSION=1.4.2
59     TIMESTAMP=" (1.922.2.53 2001/09/11 03:18:52)"
60    
61 gregoa 199 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 gregoa 1930 Xsed='sed -e 1s/^X//'
71 gregoa 199 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
72 gregoa 1930 SP2NL='tr \040 \012'
73     NL2SP='tr \015\012 \040\040'
74 gregoa 199
75     # NLS nuisances.
76     # Only set LANG and LC_ALL to C if already set.
77     # These must not be set unconditionally because not all systems understand
78     # e.g. LANG=C (notably SCO).
79     # We save the old values to restore during execute mode.
80     if test "${LC_ALL+set}" = set; then
81     save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
82     fi
83     if test "${LANG+set}" = set; then
84     save_LANG="$LANG"; LANG=C; export LANG
85     fi
86    
87     # Make sure IFS has a sensible default
88 gregoa 1930 : ${IFS=" "}
89 gregoa 199
90     if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
91 gregoa 1930 echo "$modename: not configured to build any kind of library" 1>&2
92     echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
93     exit 1
94 gregoa 199 fi
95    
96     # Global variables.
97     mode=$default_mode
98     nonopt=
99     prev=
100     prevopt=
101     run=
102     show="$echo"
103     show_help=
104     execute_dlfiles=
105     lo2o="s/\\.lo\$/.${objext}/"
106     o2lo="s/\\.${objext}\$/.lo/"
107    
108     # Parse our command line options once, thoroughly.
109 gregoa 1930 while test $# -gt 0
110 gregoa 199 do
111     arg="$1"
112     shift
113    
114     case $arg in
115     -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
116     *) optarg= ;;
117     esac
118    
119     # If the previous option needs an argument, assign it.
120     if test -n "$prev"; then
121     case $prev in
122     execute_dlfiles)
123     execute_dlfiles="$execute_dlfiles $arg"
124     ;;
125     *)
126     eval "$prev=\$arg"
127     ;;
128     esac
129    
130     prev=
131     prevopt=
132     continue
133     fi
134    
135     # Have we seen a non-optional argument yet?
136     case $arg in
137     --help)
138     show_help=yes
139     ;;
140    
141     --version)
142 gregoa 1930 echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
143     exit 0
144 gregoa 199 ;;
145    
146     --config)
147 gregoa 1930 sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
148     exit 0
149 gregoa 199 ;;
150    
151     --debug)
152 gregoa 1930 echo "$progname: enabling shell trace mode"
153 gregoa 199 set -x
154     ;;
155    
156     --dry-run | -n)
157     run=:
158     ;;
159    
160     --features)
161 gregoa 1930 echo "host: $host"
162 gregoa 199 if test "$build_libtool_libs" = yes; then
163 gregoa 1930 echo "enable shared libraries"
164 gregoa 199 else
165 gregoa 1930 echo "disable shared libraries"
166 gregoa 199 fi
167     if test "$build_old_libs" = yes; then
168 gregoa 1930 echo "enable static libraries"
169 gregoa 199 else
170 gregoa 1930 echo "disable static libraries"
171 gregoa 199 fi
172 gregoa 1930 exit 0
173 gregoa 199 ;;
174    
175     --finish) mode="finish" ;;
176    
177     --mode) prevopt="--mode" prev=mode ;;
178     --mode=*) mode="$optarg" ;;
179    
180     --quiet | --silent)
181     show=:
182     ;;
183    
184     -dlopen)
185     prevopt="-dlopen"
186     prev=execute_dlfiles
187     ;;
188    
189     -*)
190     $echo "$modename: unrecognized option \`$arg'" 1>&2
191     $echo "$help" 1>&2
192 gregoa 1930 exit 1
193 gregoa 199 ;;
194    
195     *)
196     nonopt="$arg"
197     break
198     ;;
199     esac
200     done
201    
202     if test -n "$prevopt"; then
203     $echo "$modename: option \`$prevopt' requires an argument" 1>&2
204     $echo "$help" 1>&2
205 gregoa 1930 exit 1
206 gregoa 199 fi
207    
208     # If this variable is set in any of the actions, the command in it
209     # will be execed at the end. This prevents here-documents from being
210     # left over by shells.
211     exec_cmd=
212    
213     if test -z "$show_help"; then
214    
215     # Infer the operation mode.
216     if test -z "$mode"; then
217     case $nonopt in
218 gregoa 1930 *cc | *++ | gcc* | *-gcc*)
219 gregoa 199 mode=link
220     for arg
221     do
222     case $arg in
223     -c)
224     mode=compile
225     break
226     ;;
227     esac
228     done
229     ;;
230     *db | *dbx | *strace | *truss)
231     mode=execute
232     ;;
233     *install*|cp|mv)
234     mode=install
235     ;;
236     *rm)
237     mode=uninstall
238     ;;
239     *)
240     # If we have no mode, but dlfiles were specified, then do execute mode.
241     test -n "$execute_dlfiles" && mode=execute
242    
243     # Just use the default operation mode.
244     if test -z "$mode"; then
245     if test -n "$nonopt"; then
246     $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
247     else
248     $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
249     fi
250     fi
251     ;;
252     esac
253     fi
254    
255     # Only execute mode is allowed to have -dlopen flags.
256     if test -n "$execute_dlfiles" && test "$mode" != execute; then
257     $echo "$modename: unrecognized option \`-dlopen'" 1>&2
258     $echo "$help" 1>&2
259 gregoa 1930 exit 1
260 gregoa 199 fi
261    
262     # Change the help message to a mode-specific one.
263     generic_help="$help"
264     help="Try \`$modename --help --mode=$mode' for more information."
265    
266     # These modes are in order of execution frequency so that they run quickly.
267     case $mode in
268     # libtool compile mode
269     compile)
270     modename="$modename: compile"
271     # Get the compilation command and the source file.
272     base_compile=
273 gregoa 1930 prev=
274     lastarg=
275     srcfile="$nonopt"
276 gregoa 199 suppress_output=
277    
278 gregoa 1930 user_target=no
279 gregoa 199 for arg
280     do
281 gregoa 1930 case $prev in
282     "") ;;
283     xcompiler)
284     # Aesthetically quote the previous argument.
285     prev=
286     lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
287 gregoa 199
288 gregoa 1930 case $arg in
289     # Double-quote args containing other shell metacharacters.
290     # Many Bourne shells cannot handle close brackets correctly
291     # in scan sets, so we specify it separately.
292     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
293     arg="\"$arg\""
294     ;;
295     esac
296    
297     # Add the previous argument to base_compile.
298     if test -z "$base_compile"; then
299     base_compile="$lastarg"
300     else
301     base_compile="$base_compile $lastarg"
302     fi
303 gregoa 199 continue
304     ;;
305 gregoa 1930 esac
306 gregoa 199
307 gregoa 1930 # Accept any command-line options.
308     case $arg in
309     -o)
310     if test "$user_target" != "no"; then
311     $echo "$modename: you cannot specify \`-o' more than once" 1>&2
312     exit 1
313     fi
314     user_target=next
315     ;;
316 gregoa 199
317 gregoa 1930 -static)
318     build_old_libs=yes
319     continue
320     ;;
321 gregoa 199
322 gregoa 1930 -prefer-pic)
323     pic_mode=yes
324     continue
325     ;;
326 gregoa 199
327 gregoa 1930 -prefer-non-pic)
328     pic_mode=no
329     continue
330     ;;
331 gregoa 199
332 gregoa 1930 -Xcompiler)
333     prev=xcompiler
334     continue
335     ;;
336 gregoa 199
337 gregoa 1930 -Wc,*)
338     args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
339     lastarg=
340     save_ifs="$IFS"; IFS=','
341     for arg in $args; do
342 gregoa 199 IFS="$save_ifs"
343    
344 gregoa 1930 # Double-quote args containing other shell metacharacters.
345     # Many Bourne shells cannot handle close brackets correctly
346     # in scan sets, so we specify it separately.
347     case $arg in
348     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
349     arg="\"$arg\""
350     ;;
351     esac
352     lastarg="$lastarg $arg"
353     done
354     IFS="$save_ifs"
355     lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
356    
357     # Add the arguments to base_compile.
358     if test -z "$base_compile"; then
359     base_compile="$lastarg"
360     else
361 gregoa 199 base_compile="$base_compile $lastarg"
362 gregoa 1930 fi
363     continue
364     ;;
365     esac
366 gregoa 199
367 gregoa 1930 case $user_target in
368     next)
369     # The next one is the -o target name
370     user_target=yes
371     continue
372 gregoa 199 ;;
373 gregoa 1930 yes)
374     # We got the output file
375     user_target=set
376     libobj="$arg"
377     continue
378     ;;
379     esac
380 gregoa 199
381 gregoa 1930 # Accept the current argument as the source file.
382     lastarg="$srcfile"
383     srcfile="$arg"
384    
385 gregoa 199 # Aesthetically quote the previous argument.
386 gregoa 1930
387     # Backslashify any backslashes, double quotes, and dollar signs.
388     # These are the only characters that are still specially
389     # interpreted inside of double-quoted scrings.
390 gregoa 199 lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
391    
392     # Double-quote args containing other shell metacharacters.
393     # Many Bourne shells cannot handle close brackets correctly
394 gregoa 1930 # in scan sets, so we specify it separately.
395     case $lastarg in
396 gregoa 199 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
397     lastarg="\"$lastarg\""
398     ;;
399     esac
400    
401 gregoa 1930 # Add the previous argument to base_compile.
402     if test -z "$base_compile"; then
403     base_compile="$lastarg"
404     else
405     base_compile="$base_compile $lastarg"
406     fi
407     done
408 gregoa 199
409 gregoa 1930 case $user_target in
410     set)
411 gregoa 199 ;;
412 gregoa 1930 no)
413     # Get the name of the library object.
414     libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
415 gregoa 199 ;;
416     *)
417 gregoa 1930 $echo "$modename: you must specify a target with \`-o'" 1>&2
418     exit 1
419 gregoa 199 ;;
420     esac
421    
422     # Recognize several different file suffixes.
423     # If the user specifies -o file.o, it is replaced with file.lo
424 gregoa 1930 xform='[cCFSfmso]'
425 gregoa 199 case $libobj in
426     *.ada) xform=ada ;;
427     *.adb) xform=adb ;;
428     *.ads) xform=ads ;;
429     *.asm) xform=asm ;;
430     *.c++) xform=c++ ;;
431     *.cc) xform=cc ;;
432     *.cpp) xform=cpp ;;
433     *.cxx) xform=cxx ;;
434     *.f90) xform=f90 ;;
435     *.for) xform=for ;;
436     esac
437    
438     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
439    
440     case $libobj in
441     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
442     *)
443     $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
444 gregoa 1930 exit 1
445 gregoa 199 ;;
446     esac
447    
448     if test -z "$base_compile"; then
449     $echo "$modename: you must specify a compilation command" 1>&2
450     $echo "$help" 1>&2
451 gregoa 1930 exit 1
452 gregoa 199 fi
453    
454     # Delete any leftover library objects.
455     if test "$build_old_libs" = yes; then
456 gregoa 1930 removelist="$obj $libobj"
457 gregoa 199 else
458 gregoa 1930 removelist="$libobj"
459 gregoa 199 fi
460    
461     $run $rm $removelist
462 gregoa 1930 trap "$run $rm $removelist; exit 1" 1 2 15
463 gregoa 199
464     # On Cygwin there's no "real" PIC flag so we must build both object types
465     case $host_os in
466     cygwin* | mingw* | pw32* | os2*)
467     pic_mode=default
468     ;;
469     esac
470 gregoa 1930 if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
471 gregoa 199 # non-PIC code in shared libraries is not supported
472     pic_mode=default
473     fi
474    
475     # Calculate the filename of the output object if compiler does
476     # not support -o with -c
477     if test "$compiler_c_o" = no; then
478     output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
479     lockfile="$output_obj.lock"
480     removelist="$removelist $output_obj $lockfile"
481 gregoa 1930 trap "$run $rm $removelist; exit 1" 1 2 15
482 gregoa 199 else
483     need_locks=no
484     lockfile=
485     fi
486    
487     # Lock this critical section if it is needed
488     # We use this script file to make the link, it avoids creating a new file
489     if test "$need_locks" = yes; then
490 gregoa 1930 until $run ln "$0" "$lockfile" 2>/dev/null; do
491 gregoa 199 $show "Waiting for $lockfile to be removed"
492     sleep 2
493     done
494     elif test "$need_locks" = warn; then
495     if test -f "$lockfile"; then
496 gregoa 1930 echo "\
497 gregoa 199 *** ERROR, $lockfile exists and contains:
498     `cat $lockfile 2>/dev/null`
499    
500     This indicates that another process is trying to use the same
501     temporary object file, and libtool could not work around it because
502     your compiler does not support \`-c' and \`-o' together. If you
503     repeat this compilation, it may succeed, by chance, but you had better
504     avoid parallel builds (make -j) in this platform, or get a better
505     compiler."
506    
507     $run $rm $removelist
508 gregoa 1930 exit 1
509 gregoa 199 fi
510 gregoa 1930 echo $srcfile > "$lockfile"
511 gregoa 199 fi
512    
513     if test -n "$fix_srcfile_path"; then
514     eval srcfile=\"$fix_srcfile_path\"
515     fi
516    
517     # Only build a PIC object if we are building libtool libraries.
518     if test "$build_libtool_libs" = yes; then
519     # Without this assignment, base_compile gets emptied.
520     fbsd_hideous_sh_bug=$base_compile
521    
522     if test "$pic_mode" != no; then
523 gregoa 1930 # All platforms use -DPIC, to notify preprocessed assembler code.
524     command="$base_compile $srcfile $pic_flag -DPIC"
525 gregoa 199 else
526     # Don't build PIC code
527 gregoa 1930 command="$base_compile $srcfile"
528 gregoa 199 fi
529 gregoa 1930 if test "$build_old_libs" = yes; then
530     lo_libobj="$libobj"
531     dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
532     if test "X$dir" = "X$libobj"; then
533     dir="$objdir"
534     else
535     dir="$dir/$objdir"
536     fi
537     libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
538 gregoa 199
539 gregoa 1930 if test -d "$dir"; then
540     $show "$rm $libobj"
541     $run $rm $libobj
542     else
543     $show "$mkdir $dir"
544     $run $mkdir $dir
545     status=$?
546     if test $status -ne 0 && test ! -d $dir; then
547     exit $status
548     fi
549 gregoa 199 fi
550     fi
551 gregoa 1930 if test "$compiler_o_lo" = yes; then
552     output_obj="$libobj"
553     command="$command -o $output_obj"
554     elif test "$compiler_c_o" = yes; then
555     output_obj="$obj"
556     command="$command -o $output_obj"
557 gregoa 199 fi
558    
559 gregoa 1930 $run $rm "$output_obj"
560 gregoa 199 $show "$command"
561     if $run eval "$command"; then :
562     else
563     test -n "$output_obj" && $run $rm $removelist
564 gregoa 1930 exit 1
565 gregoa 199 fi
566    
567     if test "$need_locks" = warn &&
568 gregoa 1930 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
569     echo "\
570 gregoa 199 *** ERROR, $lockfile contains:
571     `cat $lockfile 2>/dev/null`
572    
573     but it should contain:
574     $srcfile
575    
576     This indicates that another process is trying to use the same
577     temporary object file, and libtool could not work around it because
578     your compiler does not support \`-c' and \`-o' together. If you
579     repeat this compilation, it may succeed, by chance, but you had better
580     avoid parallel builds (make -j) in this platform, or get a better
581     compiler."
582    
583     $run $rm $removelist
584 gregoa 1930 exit 1
585 gregoa 199 fi
586    
587     # Just move the object if needed, then go on to compile the next one
588 gregoa 1930 if test x"$output_obj" != x"$libobj"; then
589     $show "$mv $output_obj $libobj"
590     if $run $mv $output_obj $libobj; then :
591 gregoa 199 else
592     error=$?
593     $run $rm $removelist
594     exit $error
595     fi
596     fi
597    
598 gregoa 1930 # If we have no pic_flag, then copy the object into place and finish.
599     if (test -z "$pic_flag" || test "$pic_mode" != default) &&
600     test "$build_old_libs" = yes; then
601     # Rename the .lo from within objdir to obj
602     if test -f $obj; then
603     $show $rm $obj
604     $run $rm $obj
605     fi
606 gregoa 199
607 gregoa 1930 $show "$mv $libobj $obj"
608     if $run $mv $libobj $obj; then :
609     else
610     error=$?
611     $run $rm $removelist
612     exit $error
613     fi
614 gregoa 199
615 gregoa 1930 xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
616     if test "X$xdir" = "X$obj"; then
617     xdir="."
618     else
619     xdir="$xdir"
620     fi
621     baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
622     libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
623     # Now arrange that obj and lo_libobj become the same file
624     $show "(cd $xdir && $LN_S $baseobj $libobj)"
625     if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
626     # Unlock the critical section if it was locked
627     if test "$need_locks" != no; then
628     $run $rm "$lockfile"
629     fi
630     exit 0
631     else
632     error=$?
633     $run $rm $removelist
634     exit $error
635     fi
636 gregoa 199 fi
637    
638 gregoa 1930 # Allow error messages only from the first compilation.
639     suppress_output=' >/dev/null 2>&1'
640 gregoa 199 fi
641    
642     # Only build a position-dependent object if we build old libraries.
643     if test "$build_old_libs" = yes; then
644     if test "$pic_mode" != yes; then
645     # Don't build PIC code
646 gregoa 1930 command="$base_compile $srcfile"
647 gregoa 199 else
648 gregoa 1930 # All platforms use -DPIC, to notify preprocessed assembler code.
649     command="$base_compile $srcfile $pic_flag -DPIC"
650 gregoa 199 fi
651     if test "$compiler_c_o" = yes; then
652     command="$command -o $obj"
653 gregoa 1930 output_obj="$obj"
654 gregoa 199 fi
655    
656     # Suppress compiler output if we already did a PIC compilation.
657     command="$command$suppress_output"
658 gregoa 1930 $run $rm "$output_obj"
659 gregoa 199 $show "$command"
660     if $run eval "$command"; then :
661     else
662     $run $rm $removelist
663 gregoa 1930 exit 1
664 gregoa 199 fi
665    
666     if test "$need_locks" = warn &&
667 gregoa 1930 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
668     echo "\
669 gregoa 199 *** ERROR, $lockfile contains:
670     `cat $lockfile 2>/dev/null`
671    
672     but it should contain:
673     $srcfile
674    
675     This indicates that another process is trying to use the same
676     temporary object file, and libtool could not work around it because
677     your compiler does not support \`-c' and \`-o' together. If you
678     repeat this compilation, it may succeed, by chance, but you had better
679     avoid parallel builds (make -j) in this platform, or get a better
680     compiler."
681    
682     $run $rm $removelist
683 gregoa 1930 exit 1
684 gregoa 199 fi
685    
686     # Just move the object if needed
687 gregoa 1930 if test x"$output_obj" != x"$obj"; then
688 gregoa 199 $show "$mv $output_obj $obj"
689     if $run $mv $output_obj $obj; then :
690     else
691     error=$?
692     $run $rm $removelist
693     exit $error
694     fi
695     fi
696    
697 gregoa 1930 # Create an invalid libtool object if no PIC, so that we do not
698     # accidentally link it into a program.
699     if test "$build_libtool_libs" != yes; then
700     $show "echo timestamp > $libobj"
701     $run eval "echo timestamp > \$libobj" || exit $?
702     else
703     # Move the .lo from within objdir
704     $show "$mv $libobj $lo_libobj"
705     if $run $mv $libobj $lo_libobj; then :
706     else
707     error=$?
708     $run $rm $removelist
709     exit $error
710     fi
711     fi
712 gregoa 199 fi
713    
714     # Unlock the critical section if it was locked
715     if test "$need_locks" != no; then
716     $run $rm "$lockfile"
717     fi
718    
719 gregoa 1930 exit 0
720 gregoa 199 ;;
721    
722     # libtool link mode
723     link | relink)
724     modename="$modename: link"
725     case $host in
726     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
727     # It is impossible to link a dll without this setting, and
728     # we shouldn't force the makefile maintainer to figure out
729     # which system we are compiling for in order to pass an extra
730 gregoa 1930 # flag for every libtool invokation.
731 gregoa 199 # allow_undefined=no
732    
733     # FIXME: Unfortunately, there are problems with the above when trying
734     # to make a dll which has undefined symbols, in which case not
735     # even a static library is built. For now, we need to specify
736     # -no-undefined on the libtool link line when we can be certain
737     # that all symbols are satisfied, otherwise we get a static library.
738     allow_undefined=yes
739     ;;
740     *)
741     allow_undefined=yes
742     ;;
743     esac
744     libtool_args="$nonopt"
745     compile_command="$nonopt"
746     finalize_command="$nonopt"
747    
748     compile_rpath=
749     finalize_rpath=
750     compile_shlibpath=
751     finalize_shlibpath=
752     convenience=
753     old_convenience=
754     deplibs=
755     old_deplibs=
756     compiler_flags=
757     linker_flags=
758     dllsearchpath=
759     lib_search_path=`pwd`
760    
761     avoid_version=no
762     dlfiles=
763     dlprefiles=
764     dlself=no
765     export_dynamic=no
766     export_symbols=
767     export_symbols_regex=
768     generated=
769     libobjs=
770     ltlibs=
771     module=no
772     no_install=no
773     objs=
774     prefer_static_libs=no
775     preload=no
776     prev=
777     prevarg=
778     release=
779     rpath=
780     xrpath=
781     perm_rpath=
782     temp_rpath=
783     thread_safe=no
784     vinfo=
785    
786     # We need to know -static, to get the right output filenames.
787     for arg
788     do
789     case $arg in
790     -all-static | -static)
791     if test "X$arg" = "X-all-static"; then
792     if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
793     $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
794     fi
795     if test -n "$link_static_flag"; then
796     dlopen_self=$dlopen_self_static
797     fi
798     else
799     if test -z "$pic_flag" && test -n "$link_static_flag"; then
800     dlopen_self=$dlopen_self_static
801     fi
802     fi
803     build_libtool_libs=no
804     build_old_libs=yes
805 gregoa 1930 prefer_static_libs=yes
806 gregoa 199 break
807     ;;
808     esac
809     done
810    
811     # See if our shared archives depend on static archives.
812     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
813    
814     # Go through the arguments, transforming them on the way.
815 gregoa 1930 while test $# -gt 0; do
816 gregoa 199 arg="$1"
817     shift
818     case $arg in
819     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
820     qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
821     ;;
822     *) qarg=$arg ;;
823     esac
824     libtool_args="$libtool_args $qarg"
825    
826     # If the previous option needs an argument, assign it.
827     if test -n "$prev"; then
828     case $prev in
829     output)
830     compile_command="$compile_command @OUTPUT@"
831     finalize_command="$finalize_command @OUTPUT@"
832     ;;
833     esac
834    
835     case $prev in
836     dlfiles|dlprefiles)
837     if test "$preload" = no; then
838     # Add the symbol object into the linking commands.
839     compile_command="$compile_command @SYMFILE@"
840     finalize_command="$finalize_command @SYMFILE@"
841     preload=yes
842     fi
843     case $arg in
844     *.la | *.lo) ;; # We handle these cases below.
845     force)
846     if test "$dlself" = no; then
847     dlself=needless
848     export_dynamic=yes
849     fi
850     prev=
851     continue
852     ;;
853     self)
854     if test "$prev" = dlprefiles; then
855     dlself=yes
856     elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
857     dlself=yes
858     else
859     dlself=needless
860     export_dynamic=yes
861     fi
862     prev=
863     continue
864     ;;
865     *)
866     if test "$prev" = dlfiles; then
867     dlfiles="$dlfiles $arg"
868     else
869     dlprefiles="$dlprefiles $arg"
870     fi
871     prev=
872     continue
873     ;;
874     esac
875     ;;
876     expsyms)
877     export_symbols="$arg"
878     if test ! -f "$arg"; then
879     $echo "$modename: symbol file \`$arg' does not exist"
880 gregoa 1930 exit 1
881 gregoa 199 fi
882     prev=
883     continue
884     ;;
885     expsyms_regex)
886     export_symbols_regex="$arg"
887     prev=
888     continue
889     ;;
890     release)
891     release="-$arg"
892     prev=
893     continue
894     ;;
895     rpath | xrpath)
896     # We need an absolute path.
897     case $arg in
898     [\\/]* | [A-Za-z]:[\\/]*) ;;
899     *)
900     $echo "$modename: only absolute run-paths are allowed" 1>&2
901 gregoa 1930 exit 1
902 gregoa 199 ;;
903     esac
904     if test "$prev" = rpath; then
905     case "$rpath " in
906     *" $arg "*) ;;
907     *) rpath="$rpath $arg" ;;
908     esac
909     else
910     case "$xrpath " in
911     *" $arg "*) ;;
912     *) xrpath="$xrpath $arg" ;;
913     esac
914     fi
915     prev=
916     continue
917     ;;
918     xcompiler)
919     compiler_flags="$compiler_flags $qarg"
920     prev=
921     compile_command="$compile_command $qarg"
922     finalize_command="$finalize_command $qarg"
923     continue
924     ;;
925     xlinker)
926     linker_flags="$linker_flags $qarg"
927     compiler_flags="$compiler_flags $wl$qarg"
928     prev=
929     compile_command="$compile_command $wl$qarg"
930     finalize_command="$finalize_command $wl$qarg"
931     continue
932     ;;
933     *)
934     eval "$prev=\"\$arg\""
935     prev=
936     continue
937     ;;
938     esac
939 gregoa 1930 fi # test -n $prev
940 gregoa 199
941     prevarg="$arg"
942    
943     case $arg in
944     -all-static)
945     if test -n "$link_static_flag"; then
946     compile_command="$compile_command $link_static_flag"
947     finalize_command="$finalize_command $link_static_flag"
948     fi
949     continue
950     ;;
951    
952     -allow-undefined)
953     # FIXME: remove this flag sometime in the future.
954     $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
955     continue
956     ;;
957    
958     -avoid-version)
959     avoid_version=yes
960     continue
961     ;;
962    
963     -dlopen)
964     prev=dlfiles
965     continue
966     ;;
967    
968     -dlpreopen)
969     prev=dlprefiles
970     continue
971     ;;
972    
973     -export-dynamic)
974     export_dynamic=yes
975     continue
976     ;;
977    
978     -export-symbols | -export-symbols-regex)
979     if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
980     $echo "$modename: more than one -exported-symbols argument is not allowed"
981 gregoa 1930 exit 1
982 gregoa 199 fi
983     if test "X$arg" = "X-export-symbols"; then
984     prev=expsyms
985     else
986     prev=expsyms_regex
987     fi
988     continue
989     ;;
990    
991     # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
992     # so, if we see these flags be careful not to treat them like -L
993     -L[A-Z][A-Z]*:*)
994     case $with_gcc/$host in
995 gregoa 1930 no/*-*-irix*)
996 gregoa 199 compile_command="$compile_command $arg"
997     finalize_command="$finalize_command $arg"
998     ;;
999     esac
1000     continue
1001     ;;
1002    
1003     -L*)
1004     dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
1005     # We need an absolute path.
1006     case $dir in
1007     [\\/]* | [A-Za-z]:[\\/]*) ;;
1008     *)
1009     absdir=`cd "$dir" && pwd`
1010     if test -z "$absdir"; then
1011     $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1012 gregoa 1930 exit 1
1013 gregoa 199 fi
1014     dir="$absdir"
1015     ;;
1016     esac
1017     case "$deplibs " in
1018     *" -L$dir "*) ;;
1019     *)
1020     deplibs="$deplibs -L$dir"
1021     lib_search_path="$lib_search_path $dir"
1022     ;;
1023     esac
1024     case $host in
1025     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1026     case :$dllsearchpath: in
1027     *":$dir:"*) ;;
1028     *) dllsearchpath="$dllsearchpath:$dir";;
1029     esac
1030     ;;
1031     esac
1032     continue
1033     ;;
1034    
1035     -l*)
1036     if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
1037     case $host in
1038 gregoa 1930 *-*-cygwin* | *-*-pw32* | *-*-beos*)
1039 gregoa 199 # These systems don't actually have a C or math library (as such)
1040     continue
1041     ;;
1042 gregoa 1930 *-*-mingw* | *-*-os2*)
1043 gregoa 199 # These systems don't actually have a C library (as such)
1044     test "X$arg" = "X-lc" && continue
1045     ;;
1046 gregoa 1930 *-*-openbsd*)
1047 gregoa 199 # Do not include libc due to us having libc/libc_r.
1048     test "X$arg" = "X-lc" && continue
1049     ;;
1050 gregoa 1930 esac
1051     elif test "X$arg" = "X-lc_r"; then
1052     case $host in
1053     *-*-openbsd*)
1054     # Do not include libc_r directly, use -pthread flag.
1055 gregoa 199 continue
1056     ;;
1057     esac
1058     fi
1059     deplibs="$deplibs $arg"
1060     continue
1061     ;;
1062    
1063     -module)
1064     module=yes
1065     continue
1066     ;;
1067    
1068     -no-fast-install)
1069     fast_install=no
1070     continue
1071     ;;
1072    
1073     -no-install)
1074     case $host in
1075     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1076     # The PATH hackery in wrapper scripts is required on Windows
1077     # in order for the loader to find any dlls it needs.
1078     $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
1079     $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
1080     fast_install=no
1081     ;;
1082     *) no_install=yes ;;
1083     esac
1084     continue
1085     ;;
1086    
1087     -no-undefined)
1088     allow_undefined=no
1089     continue
1090     ;;
1091    
1092     -o) prev=output ;;
1093    
1094     -release)
1095     prev=release
1096     continue
1097     ;;
1098    
1099     -rpath)
1100     prev=rpath
1101     continue
1102     ;;
1103    
1104     -R)
1105     prev=xrpath
1106     continue
1107     ;;
1108    
1109     -R*)
1110     dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
1111     # We need an absolute path.
1112     case $dir in
1113     [\\/]* | [A-Za-z]:[\\/]*) ;;
1114     *)
1115     $echo "$modename: only absolute run-paths are allowed" 1>&2
1116 gregoa 1930 exit 1
1117 gregoa 199 ;;
1118     esac
1119     case "$xrpath " in
1120     *" $dir "*) ;;
1121     *) xrpath="$xrpath $dir" ;;
1122     esac
1123     continue
1124     ;;
1125    
1126     -static)
1127     # The effects of -static are defined in a previous loop.
1128     # We used to do the same as -all-static on platforms that
1129     # didn't have a PIC flag, but the assumption that the effects
1130     # would be equivalent was wrong. It would break on at least
1131     # Digital Unix and AIX.
1132     continue
1133     ;;
1134    
1135     -thread-safe)
1136     thread_safe=yes
1137     continue
1138     ;;
1139    
1140     -version-info)
1141     prev=vinfo
1142     continue
1143     ;;
1144    
1145     -Wc,*)
1146     args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
1147     arg=
1148     save_ifs="$IFS"; IFS=','
1149     for flag in $args; do
1150     IFS="$save_ifs"
1151     case $flag in
1152     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1153     flag="\"$flag\""
1154     ;;
1155     esac
1156     arg="$arg $wl$flag"
1157     compiler_flags="$compiler_flags $flag"
1158     done
1159     IFS="$save_ifs"
1160     arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1161     ;;
1162    
1163     -Wl,*)
1164     args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
1165     arg=
1166     save_ifs="$IFS"; IFS=','
1167     for flag in $args; do
1168     IFS="$save_ifs"
1169     case $flag in
1170     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1171     flag="\"$flag\""
1172     ;;
1173     esac
1174     arg="$arg $wl$flag"
1175     compiler_flags="$compiler_flags $wl$flag"
1176     linker_flags="$linker_flags $flag"
1177     done
1178     IFS="$save_ifs"
1179     arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1180     ;;
1181    
1182     -Xcompiler)
1183     prev=xcompiler
1184     continue
1185     ;;
1186    
1187     -Xlinker)
1188     prev=xlinker
1189     continue
1190     ;;
1191    
1192     # Some other compiler flag.
1193     -* | +*)
1194     # Unknown arguments in both finalize_command and compile_command need
1195     # to be aesthetically quoted because they are evaled later.
1196     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1197     case $arg in
1198     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1199     arg="\"$arg\""
1200     ;;
1201     esac
1202     ;;
1203    
1204 gregoa 1930 *.lo | *.$objext)
1205     # A library or standard object.
1206     if test "$prev" = dlfiles; then
1207     # This file was specified with -dlopen.
1208     if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1209     dlfiles="$dlfiles $arg"
1210     prev=
1211     continue
1212     else
1213     # If libtool objects are unsupported, then we need to preload.
1214     prev=dlprefiles
1215     fi
1216     fi
1217 gregoa 303
1218 gregoa 1930 if test "$prev" = dlprefiles; then
1219     # Preload the old-style object.
1220     dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
1221     prev=
1222     else
1223 gregoa 303 case $arg in
1224 gregoa 1930 *.lo) libobjs="$libobjs $arg" ;;
1225     *) objs="$objs $arg" ;;
1226 gregoa 303 esac
1227 gregoa 199 fi
1228     ;;
1229    
1230     *.$libext)
1231     # An archive.
1232     deplibs="$deplibs $arg"
1233     old_deplibs="$old_deplibs $arg"
1234     continue
1235     ;;
1236    
1237     *.la)
1238     # A libtool-controlled library.
1239    
1240     if test "$prev" = dlfiles; then
1241     # This library was specified with -dlopen.
1242     dlfiles="$dlfiles $arg"
1243     prev=
1244     elif test "$prev" = dlprefiles; then
1245     # The library was specified with -dlpreopen.
1246     dlprefiles="$dlprefiles $arg"
1247     prev=
1248     else
1249     deplibs="$deplibs $arg"
1250     fi
1251     continue
1252     ;;
1253    
1254     # Some other compiler argument.
1255     *)
1256     # Unknown arguments in both finalize_command and compile_command need
1257     # to be aesthetically quoted because they are evaled later.
1258     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1259     case $arg in
1260     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1261     arg="\"$arg\""
1262     ;;
1263     esac
1264     ;;
1265     esac # arg
1266    
1267     # Now actually substitute the argument into the commands.
1268     if test -n "$arg"; then
1269     compile_command="$compile_command $arg"
1270     finalize_command="$finalize_command $arg"
1271     fi
1272     done # argument parsing loop
1273    
1274     if test -n "$prev"; then
1275     $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
1276     $echo "$help" 1>&2
1277 gregoa 1930 exit 1
1278 gregoa 199 fi
1279    
1280     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
1281     eval arg=\"$export_dynamic_flag_spec\"
1282     compile_command="$compile_command $arg"
1283     finalize_command="$finalize_command $arg"
1284     fi
1285    
1286     # calculate the name of the file, without its directory
1287     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
1288     libobjs_save="$libobjs"
1289    
1290     if test -n "$shlibpath_var"; then
1291     # get the directories listed in $shlibpath_var
1292     eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
1293     else
1294     shlib_search_path=
1295     fi
1296     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
1297     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
1298    
1299     output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
1300     if test "X$output_objdir" = "X$output"; then
1301     output_objdir="$objdir"
1302     else
1303     output_objdir="$output_objdir/$objdir"
1304     fi
1305     # Create the object directory.
1306 gregoa 1930 if test ! -d $output_objdir; then
1307 gregoa 199 $show "$mkdir $output_objdir"
1308     $run $mkdir $output_objdir
1309 gregoa 1930 status=$?
1310     if test $status -ne 0 && test ! -d $output_objdir; then
1311     exit $status
1312 gregoa 199 fi
1313     fi
1314    
1315     # Determine the type of output
1316     case $output in
1317     "")
1318     $echo "$modename: you must specify an output file" 1>&2
1319     $echo "$help" 1>&2
1320 gregoa 1930 exit 1
1321 gregoa 199 ;;
1322     *.$libext) linkmode=oldlib ;;
1323     *.lo | *.$objext) linkmode=obj ;;
1324     *.la) linkmode=lib ;;
1325     *) linkmode=prog ;; # Anything else should be a program.
1326     esac
1327    
1328     specialdeplibs=
1329     libs=
1330     # Find all interdependent deplibs by searching for libraries
1331     # that are linked more than once (e.g. -la -lb -la)
1332     for deplib in $deplibs; do
1333 gregoa 1930 case "$libs " in
1334     *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1335     esac
1336 gregoa 199 libs="$libs $deplib"
1337     done
1338     deplibs=
1339     newdependency_libs=
1340     newlib_search_path=
1341     need_relink=no # whether we're linking any uninstalled libtool libraries
1342     notinst_deplibs= # not-installed libtool libraries
1343 gregoa 1930 notinst_path= # paths that contain not-installed libtool libraries
1344 gregoa 199 case $linkmode in
1345     lib)
1346     passes="conv link"
1347     for file in $dlfiles $dlprefiles; do
1348     case $file in
1349     *.la) ;;
1350     *)
1351     $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
1352 gregoa 1930 exit 1
1353 gregoa 199 ;;
1354     esac
1355     done
1356     ;;
1357     prog)
1358     compile_deplibs=
1359     finalize_deplibs=
1360     alldeplibs=no
1361     newdlfiles=
1362     newdlprefiles=
1363     passes="conv scan dlopen dlpreopen link"
1364     ;;
1365     *) passes="conv"
1366     ;;
1367     esac
1368     for pass in $passes; do
1369 gregoa 1930 if test $linkmode = prog; then
1370     # Determine which files to process
1371 gregoa 199 case $pass in
1372 gregoa 1930 dlopen)
1373     libs="$dlfiles"
1374     save_deplibs="$deplibs" # Collect dlpreopened libraries
1375     deplibs=
1376     ;;
1377 gregoa 303 dlpreopen) libs="$dlprefiles" ;;
1378 gregoa 1930 link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
1379 gregoa 199 esac
1380     fi
1381     for deplib in $libs; do
1382     lib=
1383     found=no
1384     case $deplib in
1385     -l*)
1386 gregoa 1930 if test $linkmode = oldlib && test $linkmode = obj; then
1387     $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2
1388 gregoa 199 continue
1389     fi
1390 gregoa 1930 if test $pass = conv; then
1391     deplibs="$deplib $deplibs"
1392     continue
1393     fi
1394 gregoa 199 name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
1395     for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
1396 gregoa 1930 # Search the libtool library
1397     lib="$searchdir/lib${name}.la"
1398     if test -f "$lib"; then
1399     found=yes
1400     break
1401     fi
1402 gregoa 199 done
1403     if test "$found" != yes; then
1404     # deplib doesn't seem to be a libtool library
1405     if test "$linkmode,$pass" = "prog,link"; then
1406     compile_deplibs="$deplib $compile_deplibs"
1407     finalize_deplibs="$deplib $finalize_deplibs"
1408     else
1409     deplibs="$deplib $deplibs"
1410 gregoa 1930 test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
1411 gregoa 199 fi
1412     continue
1413     fi
1414     ;; # -l
1415     -L*)
1416     case $linkmode in
1417     lib)
1418     deplibs="$deplib $deplibs"
1419 gregoa 1930 test $pass = conv && continue
1420 gregoa 199 newdependency_libs="$deplib $newdependency_libs"
1421     newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
1422     ;;
1423     prog)
1424 gregoa 1930 if test $pass = conv; then
1425 gregoa 199 deplibs="$deplib $deplibs"
1426     continue
1427     fi
1428 gregoa 1930 if test $pass = scan; then
1429 gregoa 199 deplibs="$deplib $deplibs"
1430 gregoa 1930 newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
1431 gregoa 199 else
1432     compile_deplibs="$deplib $compile_deplibs"
1433     finalize_deplibs="$deplib $finalize_deplibs"
1434     fi
1435     ;;
1436     *)
1437 gregoa 1930 $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2
1438 gregoa 199 ;;
1439     esac # linkmode
1440     continue
1441     ;; # -L
1442     -R*)
1443 gregoa 1930 if test $pass = link; then
1444 gregoa 199 dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
1445     # Make sure the xrpath contains only unique directories.
1446     case "$xrpath " in
1447     *" $dir "*) ;;
1448     *) xrpath="$xrpath $dir" ;;
1449     esac
1450     fi
1451     deplibs="$deplib $deplibs"
1452     continue
1453     ;;
1454     *.la) lib="$deplib" ;;
1455     *.$libext)
1456 gregoa 1930 if test $pass = conv; then
1457 gregoa 199 deplibs="$deplib $deplibs"
1458     continue
1459     fi
1460     case $linkmode in
1461     lib)
1462 gregoa 1930 if test "$deplibs_check_method" != pass_all; then
1463     echo
1464     echo "*** Warning: This library needs some functionality provided by $deplib."
1465     echo "*** I have the capability to make that library automatically link in when"
1466     echo "*** you link to this library. But I can only do this if you have a"
1467     echo "*** shared version of the library, which you do not appear to have."
1468 gregoa 199 else
1469 gregoa 1930 echo
1470     echo "*** Warning: Linking the shared library $output against the"
1471     echo "*** static library $deplib is not portable!"
1472 gregoa 199 deplibs="$deplib $deplibs"
1473     fi
1474     continue
1475     ;;
1476     prog)
1477 gregoa 1930 if test $pass != link; then
1478 gregoa 199 deplibs="$deplib $deplibs"
1479     else
1480     compile_deplibs="$deplib $compile_deplibs"
1481     finalize_deplibs="$deplib $finalize_deplibs"
1482     fi
1483     continue
1484     ;;
1485     esac # linkmode
1486     ;; # *.$libext
1487     *.lo | *.$objext)
1488 gregoa 1930 if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
1489     # If there is no dlopen support or we're linking statically,
1490     # we need to preload.
1491     newdlprefiles="$newdlprefiles $deplib"
1492     compile_deplibs="$deplib $compile_deplibs"
1493     finalize_deplibs="$deplib $finalize_deplibs"
1494     else
1495     newdlfiles="$newdlfiles $deplib"
1496 gregoa 199 fi
1497     continue
1498     ;;
1499     %DEPLIBS%)
1500     alldeplibs=yes
1501     continue
1502     ;;
1503     esac # case $deplib
1504 gregoa 1930 if test $found = yes || test -f "$lib"; then :
1505 gregoa 199 else
1506 gregoa 1930 $echo "$modename: cannot find the library \`$lib'" 1>&2
1507     exit 1
1508 gregoa 199 fi
1509    
1510     # Check to see that this really is a libtool archive.
1511 gregoa 1930 if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1512 gregoa 199 else
1513     $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1514 gregoa 1930 exit 1
1515 gregoa 199 fi
1516    
1517     ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
1518     test "X$ladir" = "X$lib" && ladir="."
1519    
1520     dlname=
1521     dlopen=
1522     dlpreopen=
1523     libdir=
1524     library_names=
1525     old_library=
1526     # If the library was installed with an old release of libtool,
1527 gregoa 1930 # it will not redefine variable installed.
1528 gregoa 199 installed=yes
1529    
1530     # Read the .la file
1531     case $lib in
1532     */* | *\\*) . $lib ;;
1533     *) . ./$lib ;;
1534     esac
1535    
1536     if test "$linkmode,$pass" = "lib,link" ||
1537     test "$linkmode,$pass" = "prog,scan" ||
1538 gregoa 1930 { test $linkmode = oldlib && test $linkmode = obj; }; then
1539     # Add dl[pre]opened files of deplib
1540 gregoa 199 test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
1541     test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
1542     fi
1543    
1544 gregoa 1930 if test $pass = conv; then
1545 gregoa 199 # Only check for convenience libraries
1546     deplibs="$lib $deplibs"
1547     if test -z "$libdir"; then
1548     if test -z "$old_library"; then
1549     $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1550 gregoa 1930 exit 1
1551 gregoa 199 fi
1552     # It is a libtool convenience library, so add in its objects.
1553     convenience="$convenience $ladir/$objdir/$old_library"
1554     old_convenience="$old_convenience $ladir/$objdir/$old_library"
1555     tmp_libs=
1556     for deplib in $dependency_libs; do
1557     deplibs="$deplib $deplibs"
1558 gregoa 1930 case "$tmp_libs " in
1559     *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1560     esac
1561 gregoa 199 tmp_libs="$tmp_libs $deplib"
1562     done
1563 gregoa 1930 elif test $linkmode != prog && test $linkmode != lib; then
1564 gregoa 199 $echo "$modename: \`$lib' is not a convenience library" 1>&2
1565 gregoa 1930 exit 1
1566 gregoa 199 fi
1567     continue
1568     fi # $pass = conv
1569    
1570     # Get the name of the library we link against.
1571     linklib=
1572     for l in $old_library $library_names; do
1573     linklib="$l"
1574     done
1575     if test -z "$linklib"; then
1576     $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1577 gregoa 1930 exit 1
1578 gregoa 199 fi
1579    
1580     # This library was specified with -dlopen.
1581 gregoa 1930 if test $pass = dlopen; then
1582 gregoa 199 if test -z "$libdir"; then
1583     $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
1584 gregoa 1930 exit 1
1585 gregoa 199 fi
1586 gregoa 1930 if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
1587 gregoa 199 # If there is no dlname, no dlopen support or we're linking
1588 gregoa 1930 # statically, we need to preload.
1589     dlprefiles="$dlprefiles $lib"
1590 gregoa 199 else
1591     newdlfiles="$newdlfiles $lib"
1592     fi
1593     continue
1594     fi # $pass = dlopen
1595    
1596     # We need an absolute path.
1597     case $ladir in
1598     [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
1599     *)
1600     abs_ladir=`cd "$ladir" && pwd`
1601     if test -z "$abs_ladir"; then
1602     $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
1603     $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
1604     abs_ladir="$ladir"
1605     fi
1606     ;;
1607     esac
1608     laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
1609    
1610     # Find the relevant object directory and library name.
1611     if test "X$installed" = Xyes; then
1612     if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
1613     $echo "$modename: warning: library \`$lib' was moved." 1>&2
1614     dir="$ladir"
1615     absdir="$abs_ladir"
1616     libdir="$abs_ladir"
1617     else
1618     dir="$libdir"
1619     absdir="$libdir"
1620     fi
1621     else
1622 gregoa 1930 dir="$ladir/$objdir"
1623     absdir="$abs_ladir/$objdir"
1624     # Remove this search path later
1625     notinst_path="$notinst_path $abs_ladir"
1626 gregoa 199 fi # $installed = yes
1627     name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
1628    
1629     # This library was specified with -dlpreopen.
1630 gregoa 1930 if test $pass = dlpreopen; then
1631 gregoa 199 if test -z "$libdir"; then
1632     $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
1633 gregoa 1930 exit 1
1634 gregoa 199 fi
1635     # Prefer using a static library (so that no silly _DYNAMIC symbols
1636     # are required to link).
1637     if test -n "$old_library"; then
1638     newdlprefiles="$newdlprefiles $dir/$old_library"
1639     # Otherwise, use the dlname, so that lt_dlopen finds it.
1640     elif test -n "$dlname"; then
1641     newdlprefiles="$newdlprefiles $dir/$dlname"
1642     else
1643     newdlprefiles="$newdlprefiles $dir/$linklib"
1644     fi
1645     fi # $pass = dlpreopen
1646    
1647     if test -z "$libdir"; then
1648     # Link the convenience library
1649 gregoa 1930 if test $linkmode = lib; then
1650 gregoa 199 deplibs="$dir/$old_library $deplibs"
1651     elif test "$linkmode,$pass" = "prog,link"; then
1652     compile_deplibs="$dir/$old_library $compile_deplibs"
1653     finalize_deplibs="$dir/$old_library $finalize_deplibs"
1654     else
1655 gregoa 1930 deplibs="$lib $deplibs"
1656 gregoa 199 fi
1657     continue
1658     fi
1659    
1660 gregoa 1930 if test $linkmode = prog && test $pass != link; then
1661 gregoa 199 newlib_search_path="$newlib_search_path $ladir"
1662     deplibs="$lib $deplibs"
1663    
1664     linkalldeplibs=no
1665     if test "$link_all_deplibs" != no || test -z "$library_names" ||
1666     test "$build_libtool_libs" = no; then
1667     linkalldeplibs=yes
1668     fi
1669    
1670     tmp_libs=
1671     for deplib in $dependency_libs; do
1672     case $deplib in
1673     -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
1674     esac
1675     # Need to link against all dependency_libs?
1676 gregoa 1930 if test $linkalldeplibs = yes; then
1677 gregoa 199 deplibs="$deplib $deplibs"
1678     else
1679     # Need to hardcode shared library paths
1680     # or/and link against static libraries
1681     newdependency_libs="$deplib $newdependency_libs"
1682     fi
1683 gregoa 1930 case "$tmp_libs " in
1684     *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1685     esac
1686 gregoa 199 tmp_libs="$tmp_libs $deplib"
1687     done # for deplib
1688     continue
1689     fi # $linkmode = prog...
1690    
1691 gregoa 1930 link_static=no # Whether the deplib will be linked statically
1692     if test -n "$library_names" &&
1693     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
1694     # Link against this shared library
1695 gregoa 199
1696 gregoa 1930 if test "$linkmode,$pass" = "prog,link" ||
1697     { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
1698 gregoa 199 # Hardcode the library path.
1699     # Skip directories that are in the system default run-time
1700     # search path.
1701     case " $sys_lib_dlsearch_path " in
1702     *" $absdir "*) ;;
1703     *)
1704     case "$compile_rpath " in
1705     *" $absdir "*) ;;
1706     *) compile_rpath="$compile_rpath $absdir"
1707     esac
1708     ;;
1709     esac
1710     case " $sys_lib_dlsearch_path " in
1711     *" $libdir "*) ;;
1712     *)
1713     case "$finalize_rpath " in
1714     *" $libdir "*) ;;
1715     *) finalize_rpath="$finalize_rpath $libdir"
1716     esac
1717     ;;
1718     esac
1719 gregoa 1930 if test $linkmode = prog; then
1720     # We need to hardcode the library path
1721     if test -n "$shlibpath_var"; then
1722     # Make sure the rpath contains only unique directories.
1723     case "$temp_rpath " in
1724     *" $dir "*) ;;
1725     *" $absdir "*) ;;
1726     *) temp_rpath="$temp_rpath $dir" ;;
1727     esac
1728     fi
1729     fi
1730 gregoa 199 fi # $linkmode,$pass = prog,link...
1731    
1732     if test "$alldeplibs" = yes &&
1733     { test "$deplibs_check_method" = pass_all ||
1734     { test "$build_libtool_libs" = yes &&
1735     test -n "$library_names"; }; }; then
1736     # We only need to search for static libraries
1737     continue
1738     fi
1739    
1740     if test "$installed" = no; then
1741     notinst_deplibs="$notinst_deplibs $lib"
1742     need_relink=yes
1743     fi
1744    
1745     if test -n "$old_archive_from_expsyms_cmds"; then
1746     # figure out the soname
1747     set dummy $library_names
1748     realname="$2"
1749     shift; shift
1750     libname=`eval \\$echo \"$libname_spec\"`
1751     # use dlname if we got it. it's perfectly good, no?
1752     if test -n "$dlname"; then
1753     soname="$dlname"
1754     elif test -n "$soname_spec"; then
1755     # bleh windows
1756     case $host in
1757 gregoa 1930 *cygwin*)
1758 gregoa 199 major=`expr $current - $age`
1759     versuffix="-$major"
1760     ;;
1761     esac
1762     eval soname=\"$soname_spec\"
1763     else
1764     soname="$realname"
1765     fi
1766    
1767     # Make a new name for the extract_expsyms_cmds to use
1768     soroot="$soname"
1769 gregoa 1930 soname=`echo $soroot | sed -e 's/^.*\///'`
1770     newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a"
1771 gregoa 199
1772     # If the library has no export list, then create one now
1773     if test -f "$output_objdir/$soname-def"; then :
1774     else
1775     $show "extracting exported symbol list from \`$soname'"
1776     save_ifs="$IFS"; IFS='~'
1777 gregoa 1930 eval cmds=\"$extract_expsyms_cmds\"
1778 gregoa 199 for cmd in $cmds; do
1779     IFS="$save_ifs"
1780     $show "$cmd"
1781     $run eval "$cmd" || exit $?
1782     done
1783     IFS="$save_ifs"
1784     fi
1785    
1786     # Create $newlib
1787     if test -f "$output_objdir/$newlib"; then :; else
1788     $show "generating import library for \`$soname'"
1789     save_ifs="$IFS"; IFS='~'
1790 gregoa 1930 eval cmds=\"$old_archive_from_expsyms_cmds\"
1791 gregoa 199 for cmd in $cmds; do
1792     IFS="$save_ifs"
1793     $show "$cmd"
1794     $run eval "$cmd" || exit $?
1795     done
1796     IFS="$save_ifs"
1797     fi
1798     # make sure the library variables are pointing to the new library
1799     dir=$output_objdir
1800     linklib=$newlib
1801 gregoa 1930 fi # test -n $old_archive_from_expsyms_cmds
1802 gregoa 199
1803 gregoa 1930 if test $linkmode = prog || test "$mode" != relink; then
1804 gregoa 199 add_shlibpath=
1805     add_dir=
1806     add=
1807     lib_linked=yes
1808     case $hardcode_action in
1809     immediate | unsupported)
1810     if test "$hardcode_direct" = no; then
1811     add="$dir/$linklib"
1812     elif test "$hardcode_minus_L" = no; then
1813     case $host in
1814     *-*-sunos*) add_shlibpath="$dir" ;;
1815     esac
1816     add_dir="-L$dir"
1817     add="-l$name"
1818     elif test "$hardcode_shlibpath_var" = no; then
1819     add_shlibpath="$dir"
1820     add="-l$name"
1821     else
1822     lib_linked=no
1823     fi
1824     ;;
1825     relink)
1826     if test "$hardcode_direct" = yes; then
1827     add="$dir/$linklib"
1828     elif test "$hardcode_minus_L" = yes; then
1829     add_dir="-L$dir"
1830     add="-l$name"
1831     elif test "$hardcode_shlibpath_var" = yes; then
1832     add_shlibpath="$dir"
1833     add="-l$name"
1834     else
1835     lib_linked=no
1836     fi
1837     ;;
1838     *) lib_linked=no ;;
1839     esac
1840    
1841     if test "$lib_linked" != yes; then
1842     $echo "$modename: configuration error: unsupported hardcode properties"
1843 gregoa 1930 exit 1
1844 gregoa 199 fi
1845    
1846     if test -n "$add_shlibpath"; then
1847     case :$compile_shlibpath: in
1848     *":$add_shlibpath:"*) ;;
1849     *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
1850     esac
1851     fi
1852 gregoa 1930 if test $linkmode = prog; then
1853 gregoa 199 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
1854     test -n "$add" && compile_deplibs="$add $compile_deplibs"
1855     else
1856     test -n "$add_dir" && deplibs="$add_dir $deplibs"
1857     test -n "$add" && deplibs="$add $deplibs"
1858     if test "$hardcode_direct" != yes && \
1859     test "$hardcode_minus_L" != yes && \
1860     test "$hardcode_shlibpath_var" = yes; then
1861     case :$finalize_shlibpath: in
1862     *":$libdir:"*) ;;
1863     *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
1864     esac
1865     fi
1866     fi
1867     fi
1868    
1869 gregoa 1930 if test $linkmode = prog || test "$mode" = relink; then
1870 gregoa 199 add_shlibpath=
1871     add_dir=
1872     add=
1873     # Finalize command for both is simple: just hardcode it.
1874     if test "$hardcode_direct" = yes; then
1875     add="$libdir/$linklib"
1876     elif test "$hardcode_minus_L" = yes; then
1877     add_dir="-L$libdir"
1878     add="-l$name"
1879     elif test "$hardcode_shlibpath_var" = yes; then
1880     case :$finalize_shlibpath: in
1881     *":$libdir:"*) ;;
1882     *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
1883     esac
1884     add="-l$name"
1885     else
1886     # We cannot seem to hardcode it, guess we'll fake it.
1887     add_dir="-L$libdir"
1888     add="-l$name"
1889     fi
1890    
1891 gregoa 1930 if test $linkmode = prog; then
1892 gregoa 199 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
1893     test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
1894     else
1895     test -n "$add_dir" && deplibs="$add_dir $deplibs"
1896     test -n "$add" && deplibs="$add $deplibs"
1897     fi
1898     fi
1899 gregoa 1930 elif test $linkmode = prog; then
1900     if test "$alldeplibs" = yes &&
1901     { test "$deplibs_check_method" = pass_all ||
1902     { test "$build_libtool_libs" = yes &&
1903     test -n "$library_names"; }; }; then
1904     # We only need to search for static libraries
1905     continue
1906     fi
1907    
1908     # Try to link the static library
1909 gregoa 199 # Here we assume that one of hardcode_direct or hardcode_minus_L
1910     # is not unsupported. This is valid on all known static and
1911     # shared platforms.
1912     if test "$hardcode_direct" != unsupported; then
1913     test -n "$old_library" && linklib="$old_library"
1914     compile_deplibs="$dir/$linklib $compile_deplibs"
1915     finalize_deplibs="$dir/$linklib $finalize_deplibs"
1916     else
1917     compile_deplibs="-l$name -L$dir $compile_deplibs"
1918     finalize_deplibs="-l$name -L$dir $finalize_deplibs"
1919     fi
1920     elif test "$build_libtool_libs" = yes; then
1921     # Not a shared library
1922     if test "$deplibs_check_method" != pass_all; then
1923     # We're trying link a shared library against a static one
1924     # but the system doesn't support it.
1925    
1926     # Just print a warning and add the library to dependency_libs so
1927     # that the program can be linked against the static library.
1928 gregoa 1930 echo
1929     echo "*** Warning: This library needs some functionality provided by $lib."
1930     echo "*** I have the capability to make that library automatically link in when"
1931     echo "*** you link to this library. But I can only do this if you have a"
1932     echo "*** shared version of the library, which you do not appear to have."
1933 gregoa 199 if test "$module" = yes; then
1934 gregoa 1930 echo "*** Therefore, libtool will create a static module, that should work "
1935     echo "*** as long as the dlopening application is linked with the -dlopen flag."
1936 gregoa 199 if test -z "$global_symbol_pipe"; then
1937 gregoa 1930 echo
1938     echo "*** However, this would only work if libtool was able to extract symbol"
1939     echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
1940     echo "*** not find such a program. So, this module is probably useless."
1941     echo "*** \`nm' from GNU binutils and a full rebuild may help."
1942 gregoa 199 fi
1943     if test "$build_old_libs" = no; then
1944     build_libtool_libs=module
1945     build_old_libs=yes
1946     else
1947     build_libtool_libs=no
1948     fi
1949     fi
1950     else
1951 gregoa 1930 convenience="$convenience $dir/$old_library"
1952     old_convenience="$old_convenience $dir/$old_library"
1953 gregoa 199 deplibs="$dir/$old_library $deplibs"
1954     link_static=yes
1955     fi
1956     fi # link shared/static library?
1957    
1958 gregoa 1930 if test $linkmode = lib; then
1959 gregoa 199 if test -n "$dependency_libs" &&
1960 gregoa 1930 { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
1961     test $link_static = yes; }; then
1962 gregoa 199 # Extract -R from dependency_libs
1963     temp_deplibs=
1964     for libdir in $dependency_libs; do
1965     case $libdir in
1966     -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
1967     case " $xrpath " in
1968     *" $temp_xrpath "*) ;;
1969     *) xrpath="$xrpath $temp_xrpath";;
1970     esac;;
1971     *) temp_deplibs="$temp_deplibs $libdir";;
1972     esac
1973     done
1974     dependency_libs="$temp_deplibs"
1975     fi
1976    
1977     newlib_search_path="$newlib_search_path $absdir"
1978     # Link against this library
1979     test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
1980     # ... and its dependency_libs
1981     tmp_libs=
1982     for deplib in $dependency_libs; do
1983     newdependency_libs="$deplib $newdependency_libs"
1984 gregoa 1930 case "$tmp_libs " in
1985     *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1986     esac
1987 gregoa 199 tmp_libs="$tmp_libs $deplib"
1988     done
1989    
1990 gregoa 1930 if test $link_all_deplibs != no; then
1991 gregoa 199 # Add the search paths of all dependency libraries
1992     for deplib in $dependency_libs; do
1993     case $deplib in
1994     -L*) path="$deplib" ;;
1995     *.la)
1996     dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
1997     test "X$dir" = "X$deplib" && dir="."
1998     # We need an absolute path.
1999     case $dir in
2000     [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
2001     *)
2002     absdir=`cd "$dir" && pwd`
2003     if test -z "$absdir"; then
2004     $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
2005     absdir="$dir"
2006     fi
2007     ;;
2008     esac
2009     if grep "^installed=no" $deplib > /dev/null; then
2010 gregoa 1930 path="-L$absdir/$objdir"
2011 gregoa 199 else
2012 gregoa 1930 eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
2013 gregoa 199 if test -z "$libdir"; then
2014     $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
2015 gregoa 1930 exit 1
2016 gregoa 199 fi
2017     if test "$absdir" != "$libdir"; then
2018     $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
2019     fi
2020 gregoa 1930 path="-L$absdir"
2021 gregoa 199 fi
2022     ;;
2023     *) continue ;;
2024     esac
2025     case " $deplibs " in
2026     *" $path "*) ;;
2027 gregoa 1930 *) deplibs="$deplibs $path" ;;
2028 gregoa 199 esac
2029     done
2030     fi # link_all_deplibs != no
2031     fi # linkmode = lib
2032     done # for deplib in $libs
2033 gregoa 1930 if test $pass = dlpreopen; then
2034 gregoa 199 # Link the dlpreopened libraries before other libraries
2035     for deplib in $save_deplibs; do
2036     deplibs="$deplib $deplibs"
2037     done
2038     fi
2039 gregoa 1930 if test $pass != dlopen; then
2040     test $pass != scan && dependency_libs="$newdependency_libs"
2041     if test $pass != conv; then
2042 gregoa 199 # Make sure lib_search_path contains only unique directories.
2043     lib_search_path=
2044     for dir in $newlib_search_path; do
2045     case "$lib_search_path " in
2046     *" $dir "*) ;;
2047     *) lib_search_path="$lib_search_path $dir" ;;
2048     esac
2049     done
2050     newlib_search_path=
2051     fi
2052    
2053     if test "$linkmode,$pass" != "prog,link"; then
2054     vars="deplibs"
2055     else
2056     vars="compile_deplibs finalize_deplibs"
2057     fi
2058     for var in $vars dependency_libs; do
2059     # Add libraries to $var in reverse order
2060     eval tmp_libs=\"\$$var\"
2061     new_libs=
2062     for deplib in $tmp_libs; do
2063     case $deplib in
2064     -L*) new_libs="$deplib $new_libs" ;;
2065     *)
2066     case " $specialdeplibs " in
2067     *" $deplib "*) new_libs="$deplib $new_libs" ;;
2068     *)
2069     case " $new_libs " in
2070     *" $deplib "*) ;;
2071     *) new_libs="$deplib $new_libs" ;;
2072     esac
2073     ;;
2074     esac
2075     ;;
2076     esac
2077     done
2078     tmp_libs=
2079     for deplib in $new_libs; do
2080     case $deplib in
2081     -L*)
2082     case " $tmp_libs " in
2083     *" $deplib "*) ;;
2084     *) tmp_libs="$tmp_libs $deplib" ;;
2085     esac
2086     ;;
2087     *) tmp_libs="$tmp_libs $deplib" ;;
2088     esac
2089     done
2090     eval $var=\"$tmp_libs\"
2091     done # for var
2092     fi
2093 gregoa 1930 if test "$pass" = "conv" &&
2094     { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then
2095     libs="$deplibs" # reset libs
2096     deplibs=
2097     fi
2098 gregoa 199 done # for pass
2099 gregoa 1930 if test $linkmode = prog; then
2100 gregoa 199 dlfiles="$newdlfiles"
2101     dlprefiles="$newdlprefiles"
2102     fi
2103    
2104     case $linkmode in
2105     oldlib)
2106     if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
2107     $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
2108     fi
2109    
2110     if test -n "$rpath"; then
2111     $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
2112     fi
2113    
2114     if test -n "$xrpath"; then
2115     $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
2116     fi
2117    
2118     if test -n "$vinfo"; then
2119 gregoa 1930 $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
2120 gregoa 199 fi
2121    
2122     if test -n "$release"; then
2123     $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
2124     fi
2125    
2126     if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
2127     $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
2128     fi
2129    
2130     # Now set the variables for building old libraries.
2131     build_libtool_libs=no
2132     oldlibs="$output"
2133     objs="$objs$old_deplibs"
2134     ;;
2135    
2136     lib)
2137     # Make sure we only generate libraries of the form `libNAME.la'.
2138     case $outputname in
2139     lib*)
2140     name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
2141     eval libname=\"$libname_spec\"
2142     ;;
2143     *)
2144     if test "$module" = no; then
2145     $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
2146     $echo "$help" 1>&2
2147 gregoa 1930 exit 1
2148 gregoa 199 fi
2149     if test "$need_lib_prefix" != no; then
2150     # Add the "lib" prefix for modules if required
2151     name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
2152     eval libname=\"$libname_spec\"
2153     else
2154     libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
2155     fi
2156     ;;
2157     esac
2158    
2159     if test -n "$objs"; then
2160     if test "$deplibs_check_method" != pass_all; then
2161     $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
2162 gregoa 1930 exit 1
2163 gregoa 199 else
2164 gregoa 1930 echo
2165     echo "*** Warning: Linking the shared library $output against the non-libtool"
2166     echo "*** objects $objs is not portable!"
2167 gregoa 199 libobjs="$libobjs $objs"
2168     fi
2169     fi
2170    
2171     if test "$dlself" != no; then
2172     $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
2173     fi
2174    
2175     set dummy $rpath
2176 gregoa 1930 if test $# -gt 2; then
2177 gregoa 199 $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
2178     fi
2179     install_libdir="$2"
2180    
2181     oldlibs=
2182     if test -z "$rpath"; then
2183     if test "$build_libtool_libs" = yes; then
2184     # Building a libtool convenience library.
2185 gregoa 1930 libext=al
2186 gregoa 199 oldlibs="$output_objdir/$libname.$libext $oldlibs"
2187     build_libtool_libs=convenience
2188     build_old_libs=yes
2189     fi
2190    
2191     if test -n "$vinfo"; then
2192 gregoa 1930 $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
2193 gregoa 199 fi
2194    
2195     if test -n "$release"; then
2196     $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
2197     fi
2198     else
2199    
2200     # Parse the version information argument.
2201     save_ifs="$IFS"; IFS=':'
2202     set dummy $vinfo 0 0 0
2203     IFS="$save_ifs"
2204    
2205     if test -n "$8"; then
2206     $echo "$modename: too many parameters to \`-version-info'" 1>&2
2207     $echo "$help" 1>&2
2208 gregoa 1930 exit 1
2209 gregoa 199 fi
2210    
2211 gregoa 1930 current="$2"
2212     revision="$3"
2213     age="$4"
2214 gregoa 199
2215     # Check that each of the things are valid numbers.
2216     case $current in
2217 gregoa 1930 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
2218 gregoa 199 *)
2219 gregoa 1930 $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
2220 gregoa 199 $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2221 gregoa 1930 exit 1
2222 gregoa 199 ;;
2223     esac
2224    
2225     case $revision in
2226 gregoa 1930 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
2227 gregoa 199 *)
2228 gregoa 1930 $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
2229 gregoa 199 $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2230 gregoa 1930 exit 1
2231 gregoa 199 ;;
2232     esac
2233    
2234     case $age in
2235 gregoa 1930 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
2236 gregoa 199 *)
2237 gregoa 1930 $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
2238 gregoa 199 $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2239 gregoa 1930 exit 1
2240 gregoa 199 ;;
2241     esac
2242    
2243 gregoa 1930 if test $age -gt $current; then
2244 gregoa 199 $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
2245     $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2246 gregoa 1930 exit 1
2247 gregoa 199 fi
2248    
2249     # Calculate the version variables.
2250     major=
2251     versuffix=
2252     verstring=
2253     case $version_type in
2254     none) ;;
2255    
2256     darwin)
2257     # Like Linux, but with the current version available in
2258     # verstring for coding it into the library header
2259     major=.`expr $current - $age`
2260     versuffix="$major.$age.$revision"
2261     # Darwin ld doesn't like 0 for these options...
2262     minor_current=`expr $current + 1`
2263 gregoa 1930 verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
2264 gregoa 199 ;;
2265    
2266     freebsd-aout)
2267     major=".$current"
2268     versuffix=".$current.$revision";
2269     ;;
2270    
2271     freebsd-elf)
2272     major=".$current"
2273     versuffix=".$current";
2274     ;;
2275    
2276 gregoa 1930 irix)
2277 gregoa 199 major=`expr $current - $age + 1`
2278 gregoa 1930 verstring="sgi$major.$revision"
2279 gregoa 199
2280     # Add in all the interfaces that we are compatible with.
2281     loop=$revision
2282 gregoa 1930 while test $loop != 0; do
2283 gregoa 199 iface=`expr $revision - $loop`
2284     loop=`expr $loop - 1`
2285 gregoa 1930 verstring="sgi$major.$iface:$verstring"
2286 gregoa 199 done
2287    
2288     # Before this point, $major must not contain `.'.
2289     major=.$major
2290     versuffix="$major.$revision"
2291     ;;
2292    
2293     linux)
2294     major=.`expr $current - $age`
2295     versuffix="$major.$age.$revision"
2296     ;;
2297    
2298     osf)
2299 gregoa 1930 major=`expr $current - $age`
2300 gregoa 199 versuffix=".$current.$age.$revision"
2301     verstring="$current.$age.$revision"
2302    
2303     # Add in all the interfaces that we are compatible with.
2304     loop=$age
2305 gregoa 1930 while test $loop != 0; do
2306 gregoa 199 iface=`expr $current - $loop`
2307     loop=`expr $loop - 1`
2308     verstring="$verstring:${iface}.0"
2309     done
2310    
2311     # Make executables depend on our current version.
2312     verstring="$verstring:${current}.0"
2313     ;;
2314    
2315     sunos)
2316     major=".$current"
2317     versuffix=".$current.$revision"
2318     ;;
2319    
2320     windows)
2321     # Use '-' rather than '.', since we only want one
2322     # extension on DOS 8.3 filesystems.
2323     major=`expr $current - $age`
2324     versuffix="-$major"
2325     ;;
2326    
2327     *)
2328     $echo "$modename: unknown library version type \`$version_type'" 1>&2
2329 gregoa 1930 echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
2330     exit 1
2331 gregoa 199 ;;
2332     esac
2333    
2334     # Clear the version info if we defaulted, and they specified a release.
2335     if test -z "$vinfo" && test -n "$release"; then
2336     major=
2337 gregoa 1930 verstring="0.0"
2338 gregoa 199 case $version_type in
2339     darwin)
2340     # we can't check for "0.0" in archive_cmds due to quoting
2341     # problems, so we reset it completely
2342 gregoa 1930 verstring=""
2343 gregoa 199 ;;
2344     *)
2345     verstring="0.0"
2346     ;;
2347     esac
2348     if test "$need_version" = no; then
2349     versuffix=
2350     else
2351     versuffix=".0.0"
2352     fi
2353     fi
2354    
2355     # Remove version info from name if versioning should be avoided
2356     if test "$avoid_version" = yes && test "$need_version" = no; then
2357     major=
2358     versuffix=
2359     verstring=""
2360     fi
2361    
2362     # Check to see if the archive will have undefined symbols.
2363     if test "$allow_undefined" = yes; then
2364     if test "$allow_undefined_flag" = unsupported; then
2365     $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
2366     build_libtool_libs=no
2367     build_old_libs=yes
2368     fi
2369     else
2370     # Don't allow undefined symbols.
2371     allow_undefined_flag="$no_undefined_flag"
2372     fi
2373     fi
2374    
2375     if test "$mode" != relink; then
2376 gregoa 1930 # Remove our outputs.
2377     $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
2378     $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
2379 gregoa 199 fi
2380    
2381     # Now set the variables for building old libraries.
2382     if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
2383     oldlibs="$oldlibs $output_objdir/$libname.$libext"
2384    
2385     # Transform .lo files to .o files.
2386     oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
2387     fi
2388    
2389     # Eliminate all temporary directories.
2390     for path in $notinst_path; do
2391 gregoa 1930 lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'`
2392     deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'`
2393     dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'`
2394 gregoa 199 done
2395    
2396     if test -n "$xrpath"; then
2397     # If the user specified any rpath flags, then add them.
2398     temp_xrpath=
2399     for libdir in $xrpath; do
2400     temp_xrpath="$temp_xrpath -R$libdir"
2401     case "$finalize_rpath " in
2402     *" $libdir "*) ;;
2403     *) finalize_rpath="$finalize_rpath $libdir" ;;
2404     esac
2405     done
2406 gregoa 1930 if test $hardcode_into_libs != yes || test $build_old_libs = yes; then
2407 gregoa 199 dependency_libs="$temp_xrpath $dependency_libs"
2408     fi
2409     fi
2410    
2411     # Make sure dlfiles contains only unique files that won't be dlpreopened
2412     old_dlfiles="$dlfiles"
2413     dlfiles=
2414     for lib in $old_dlfiles; do
2415     case " $dlprefiles $dlfiles " in
2416     *" $lib "*) ;;
2417     *) dlfiles="$dlfiles $lib" ;;
2418     esac
2419     done
2420    
2421     # Make sure dlprefiles contains only unique files
2422     old_dlprefiles="$dlprefiles"
2423     dlprefiles=
2424     for lib in $old_dlprefiles; do
2425     case "$dlprefiles " in
2426     *" $lib "*) ;;
2427     *) dlprefiles="$dlprefiles $lib" ;;
2428     esac
2429     done
2430    
2431     if test "$build_libtool_libs" = yes; then
2432     if test -n "$rpath"; then
2433     case $host in
2434     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
2435     # these systems don't actually have a c library (as such)!
2436     ;;
2437     *-*-rhapsody* | *-*-darwin1.[012])
2438     # Rhapsody C library is in the System framework
2439     deplibs="$deplibs -framework System"
2440     ;;
2441     *-*-netbsd*)
2442     # Don't link with libc until the a.out ld.so is fixed.
2443     ;;
2444 gregoa 1930 *-*-openbsd*)
2445 gregoa 199 # Do not include libc due to us having libc/libc_r.
2446     ;;
2447 gregoa 1930 *)
2448 gregoa 199 # Add libc to deplibs on all other systems if necessary.
2449 gregoa 1930 if test $build_libtool_need_lc = "yes"; then
2450 gregoa 199 deplibs="$deplibs -lc"
2451     fi
2452     ;;
2453     esac
2454     fi
2455    
2456     # Transform deplibs into only deplibs that can be linked in shared.
2457     name_save=$name
2458     libname_save=$libname
2459     release_save=$release
2460     versuffix_save=$versuffix
2461     major_save=$major
2462     # I'm not sure if I'm treating the release correctly. I think
2463     # release should show up in the -l (ie -lgmp5) so we don't want to
2464     # add it in twice. Is that correct?
2465     release=""
2466     versuffix=""
2467     major=""
2468     newdeplibs=
2469     droppeddeps=no
2470     case $deplibs_check_method in
2471     pass_all)
2472     # Don't check for shared/static. Everything works.
2473     # This might be a little naive. We might want to check
2474     # whether the library exists or not. But this is on
2475     # osf3 & osf4 and I'm not really sure... Just
2476 gregoa 1930 # implementing what was already the behaviour.
2477 gregoa 199 newdeplibs=$deplibs
2478     ;;
2479     test_compile)
2480     # This code stresses the "libraries are programs" paradigm to its
2481     # limits. Maybe even breaks it. We compile a program, linking it
2482     # against the deplibs as a proxy for the library. Then we can check
2483     # whether they linked in statically or dynamically with ldd.
2484     $rm conftest.c
2485     cat > conftest.c <<EOF
2486     int main() { return 0; }
2487     EOF
2488     $rm conftest
2489 gregoa 1930 $CC -o conftest conftest.c $deplibs
2490     if test $? -eq 0 ; then
2491 gregoa 199 ldd_output=`ldd conftest`
2492     for i in $deplibs; do
2493 gregoa 1930 name="`expr $i : '-l\(.*\)'`"
2494 gregoa 199 # If $name is empty we are operating on a -L argument.
2495 gregoa 1930 if test -n "$name" && test "$name" != "0"; then
2496     libname=`eval \\$echo \"$libname_spec\"`
2497     deplib_matches=`eval \\$echo \"$library_names_spec\"`
2498     set dummy $deplib_matches
2499     deplib_match=$2
2500     if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
2501     newdeplibs="$newdeplibs $i"
2502     else
2503     droppeddeps=yes
2504     echo
2505     echo "*** Warning: This library needs some functionality provided by $i."
2506     echo "*** I have the capability to make that library automatically link in when"
2507     echo "*** you link to this library. But I can only do this if you have a"
2508     echo "*** shared version of the library, which you do not appear to have."
2509 gregoa 199 fi
2510     else
2511     newdeplibs="$newdeplibs $i"
2512     fi
2513     done
2514     else
2515 gregoa 1930 # Error occured in the first compile. Let's try to salvage the situation:
2516     # Compile a seperate program for each library.
2517 gregoa 199 for i in $deplibs; do
2518 gregoa 1930 name="`expr $i : '-l\(.*\)'`"
2519     # If $name is empty we are operating on a -L argument.
2520     if test -n "$name" && test "$name" != "0"; then
2521 gregoa 199 $rm conftest
2522 gregoa 1930 $CC -o conftest conftest.c $i
2523 gregoa 199 # Did it work?
2524 gregoa 1930 if test $? -eq 0 ; then
2525 gregoa 199 ldd_output=`ldd conftest`
2526 gregoa 1930 libname=`eval \\$echo \"$libname_spec\"`
2527     deplib_matches=`eval \\$echo \"$library_names_spec\"`
2528     set dummy $deplib_matches
2529     deplib_match=$2
2530     if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
2531     newdeplibs="$newdeplibs $i"
2532     else
2533     droppeddeps=yes
2534     echo
2535     echo "*** Warning: This library needs some functionality provided by $i."
2536     echo "*** I have the capability to make that library automatically link in when"
2537     echo "*** you link to this library. But I can only do this if you have a"
2538     echo "*** shared version of the library, which you do not appear to have."
2539 gregoa 199 fi
2540     else
2541     droppeddeps=yes
2542 gregoa 1930 echo
2543     echo "*** Warning! Library $i is needed by this library but I was not able to"
2544     echo "*** make it link in! You will probably need to install it or some"
2545     echo "*** library that it depends on before this library will be fully"
2546     echo "*** functional. Installing it before continuing would be even better."
2547 gregoa 199 fi
2548     else
2549     newdeplibs="$newdeplibs $i"
2550     fi
2551     done
2552     fi
2553     ;;
2554     file_magic*)
2555     set dummy $deplibs_check_method
2556     file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2557     for a_deplib in $deplibs; do
2558 gregoa 1930 name="`expr $a_deplib : '-l\(.*\)'`"
2559 gregoa 199 # If $name is empty we are operating on a -L argument.
2560 gregoa 1930 if test -n "$name" && test "$name" != "0"; then
2561     libname=`eval \\$echo \"$libname_spec\"`
2562     for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
2563     potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
2564     for potent_lib in $potential_libs; do
2565 gregoa 199 # Follow soft links.
2566     if ls -lLd "$potent_lib" 2>/dev/null \
2567     | grep " -> " >/dev/null; then
2568     continue
2569     fi
2570     # The statement above tries to avoid entering an
2571     # endless loop below, in case of cyclic links.
2572     # We might still enter an endless loop, since a link
2573     # loop can be closed while we follow links,
2574     # but so what?
2575     potlib="$potent_lib"
2576     while test -h "$potlib" 2>/dev/null; do
2577 gregoa 1930 potliblink=`ls -ld $potlib | sed 's/.* -> //'`
2578 gregoa 199 case $potliblink in
2579     [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
2580     *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
2581     esac
2582     done
2583     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
2584 gregoa 1930 | sed 10q \
2585     | egrep "$file_magic_regex" > /dev/null; then
2586 gregoa 199 newdeplibs="$newdeplibs $a_deplib"
2587     a_deplib=""
2588     break 2
2589     fi
2590 gregoa 1930 done
2591     done
2592 gregoa 199 if test -n "$a_deplib" ; then
2593     droppeddeps=yes
2594 gregoa 1930 echo
2595     echo "*** Warning: This library needs some functionality provided by $a_deplib."
2596     echo "*** I have the capability to make that library automatically link in when"
2597     echo "*** you link to this library. But I can only do this if you have a"
2598     echo "*** shared version of the library, which you do not appear to have."
2599 gregoa 199 fi
2600     else
2601     # Add a -L argument.
2602     newdeplibs="$newdeplibs $a_deplib"
2603     fi
2604     done # Gone through all deplibs.
2605     ;;
2606     match_pattern*)
2607     set dummy $deplibs_check_method
2608     match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2609     for a_deplib in $deplibs; do
2610 gregoa 1930 name="`expr $a_deplib : '-l\(.*\)'`"
2611 gregoa 199 # If $name is empty we are operating on a -L argument.
2612     if test -n "$name" && test "$name" != "0"; then
2613 gregoa 1930 libname=`eval \\$echo \"$libname_spec\"`
2614     for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
2615     potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
2616     for potent_lib in $potential_libs; do
2617     if eval echo \"$potent_lib\" 2>/dev/null \
2618     | sed 10q \
2619     | egrep "$match_pattern_regex" > /dev/null; then
2620     newdeplibs="$newdeplibs $a_deplib"
2621     a_deplib=""
2622     break 2
2623     fi
2624 gregoa 199 done
2625 gregoa 1930 done
2626 gregoa 199 if test -n "$a_deplib" ; then
2627     droppeddeps=yes
2628 gregoa 1930 echo
2629     echo "*** Warning: This library needs some functionality provided by $a_deplib."
2630     echo "*** I have the capability to make that library automatically link in when"
2631     echo "*** you link to this library. But I can only do this if you have a"
2632     echo "*** shared version of the library, which you do not appear to have."
2633 gregoa 199 fi
2634     else
2635     # Add a -L argument.
2636     newdeplibs="$newdeplibs $a_deplib"
2637     fi
2638     done # Gone through all deplibs.
2639     ;;
2640     none | unknown | *)
2641     newdeplibs=""
2642 gregoa 1930 if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
2643     -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' |
2644     grep . >/dev/null; then
2645     echo
2646 gregoa 199 if test "X$deplibs_check_method" = "Xnone"; then
2647 gregoa 1930 echo "*** Warning: inter-library dependencies are not supported in this platform."
2648 gregoa 199 else
2649 gregoa 1930 echo "*** Warning: inter-library dependencies are not known to be supported."
2650 gregoa 199 fi
2651 gregoa 1930 echo "*** All declared inter-library dependencies are being dropped."
2652 gregoa 199 droppeddeps=yes
2653     fi
2654     ;;
2655     esac
2656     versuffix=$versuffix_save
2657     major=$major_save
2658     release=$release_save
2659     libname=$libname_save
2660     name=$name_save
2661    
2662     case $host in
2663     *-*-rhapsody* | *-*-darwin1.[012])
2664     # On Rhapsody replace the C library is the System framework
2665     newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
2666     ;;
2667     esac
2668    
2669     if test "$droppeddeps" = yes; then
2670     if test "$module" = yes; then
2671 gregoa 1930 echo
2672     echo "*** Warning: libtool could not satisfy all declared inter-library"
2673     echo "*** dependencies of module $libname. Therefore, libtool will create"
2674     echo "*** a static module, that should work as long as the dlopening"
2675     echo "*** application is linked with the -dlopen flag."
2676 gregoa 199 if test -z "$global_symbol_pipe"; then
2677 gregoa 1930 echo
2678     echo "*** However, this would only work if libtool was able to extract symbol"
2679     echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
2680     echo "*** not find such a program. So, this module is probably useless."
2681     echo "*** \`nm' from GNU binutils and a full rebuild may help."
2682 gregoa 199 fi
2683     if test "$build_old_libs" = no; then
2684     oldlibs="$output_objdir/$libname.$libext"
2685     build_libtool_libs=module
2686     build_old_libs=yes
2687     else
2688     build_libtool_libs=no
2689     fi
2690     else
2691 gregoa 1930 echo "*** The inter-library dependencies that have been dropped here will be"
2692     echo "*** automatically added whenever a program is linked with this library"
2693     echo "*** or is declared to -dlopen it."
2694 gregoa 199
2695 gregoa 1930 if test $allow_undefined = no; then
2696     echo
2697     echo "*** Since this library must not contain undefined symbols,"
2698     echo "*** because either the platform does not support them or"
2699     echo "*** it was explicitly requested with -no-undefined,"
2700     echo "*** libtool will only create a static version of it."
2701 gregoa 199 if test "$build_old_libs" = no; then
2702     oldlibs="$output_objdir/$libname.$libext"
2703     build_libtool_libs=module
2704     build_old_libs=yes
2705     else
2706     build_libtool_libs=no
2707     fi
2708     fi
2709     fi
2710     fi
2711     # Done checking deplibs!
2712     deplibs=$newdeplibs
2713     fi
2714    
2715     # All the library-specific variables (install_libdir is set above).
2716     library_names=
2717     old_library=
2718     dlname=
2719    
2720     # Test again, we may have decided not to build it any more
2721     if test "$build_libtool_libs" = yes; then
2722 gregoa