source: trunk/third/xalf/ltmain.sh @ 15574

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