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