source: trunk/third/gtk-thinice-engine/ltmain.sh @ 18878

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