source: trunk/third/libgtkhtml/ltmain.sh @ 21514

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