~ubuntu-branches/ubuntu/saucy/qhull/saucy

« back to all changes in this revision

Viewing changes to config/ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Rafael Laboissiere
  • Date: 2004-02-01 01:14:13 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040201011413-gok3tzufxn804osb
Tags: 2003.1-1
* New upstream release.  There are backward incompatibilities in the code
  and the soversion was bumped to libqhull5.
* debian/rules:
  - Major rewrite of build and install rules, since we are using now the
    upstream tarball generated with "make dist".
  - Added config rule.
  - Use dpatch to patch src/user.h (enable qh_QHpointer).
* debian/control:
  - Removed build-dependencies on autoconf, automake, and libtool.
  - Build-depends on dpatch.
  - Changed section of libqhull-dev package to libdevel.
* debian/libqhull-dev.files: Added usr/share/doc/libqhull5/src
  directory.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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, 2003
 
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.
 
28
if test "X$1" = X--no-reexec; then
 
29
  # Discard the --no-reexec flag, and continue.
 
30
  shift
 
31
elif test "X$1" = X--fallback-echo; then
 
32
  # Avoid inline document here, it may be left over
 
33
  :
 
34
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
 
35
  # Yippee, $echo works!
 
36
  :
 
37
else
 
38
  # Restart under the correct shell, and then maybe $echo will work.
 
39
  exec $SHELL "$0" --no-reexec ${1+"$@"}
 
40
fi
 
41
 
 
42
if test "X$1" = X--fallback-echo; then
 
43
  # used as fallback echo
 
44
  shift
 
45
  cat <<EOF
 
46
$*
 
47
EOF
 
48
  exit 0
 
49
fi
 
50
 
 
51
# The name of this program.
 
52
progname=`$echo "$0" | ${SED} 's%^.*/%%'`
 
53
modename="$progname"
 
54
 
 
55
# Constants.
 
56
PROGRAM=ltmain.sh
 
57
PACKAGE=libtool
 
58
VERSION=1.5.0a
 
59
TIMESTAMP=" (1.1220.2.35 2003/11/12 18:51:58) Debian$Rev: 179 $"
 
60
 
 
61
default_mode=
 
62
help="Try \`$progname --help' for more information."
 
63
magic="%%%MAGIC variable%%%"
 
64
mkdir="mkdir"
 
65
mv="mv -f"
 
66
rm="rm -f"
 
67
 
 
68
# Sed substitution that helps us do robust quoting.  It backslashifies
 
69
# metacharacters that are still active within double-quoted strings.
 
70
Xsed="${SED}"' -e 1s/^X//'
 
71
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 
72
# test EBCDIC or ASCII
 
73
case `echo A|tr A '\301'` in
 
74
 A) # 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
  ;;
 
82
esac
 
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.
 
89
if test "${LC_ALL+set}" = set; then
 
90
  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
 
91
fi
 
92
if test "${LANG+set}" = set; then
 
93
  save_LANG="$LANG"; LANG=C; export LANG
 
94
fi
 
95
 
 
96
# Make sure IFS has a sensible default
 
97
: ${IFS="       
 
98
"}
 
99
 
 
100
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
 
101
  $echo "$modename: not configured to build any kind of library" 1>&2
 
102
  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
 
103
  exit 1
 
104
fi
 
105
 
 
106
# Global variables.
 
107
mode=$default_mode
 
108
nonopt=
 
109
prev=
 
110
prevopt=
 
111
run=
 
112
show="$echo"
 
113
show_help=
 
114
execute_dlfiles=
 
115
lo2o="s/\\.lo\$/.${objext}/"
 
116
o2lo="s/\\.${objext}\$/.lo/"
 
117
 
 
118
#####################################
 
119
# Shell function definitions:
 
120
# This seems to be the best place for them
 
121
 
 
122
# Need a lot of goo to handle *both* DLLs and import libs
 
123
# Has to be a shell function in order to 'eat' the argument
 
124
# that is supplied when $file_magic_command is called.
 
125
win32_libid () {
 
126
  win32_libid_type="unknown"
 
127
  win32_fileres=`file -L $1 2>/dev/null`
 
128
  case $win32_fileres in
 
129
  *ar\ archive\ import\ library*) # definitely import
 
130
    win32_libid_type="x86 archive import"
 
131
    ;;
 
132
  *ar\ archive*) # could be an import, or static
 
133
    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
 
134
      grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
 
135
      win32_nmres=`eval $NM -f posix -A $1 | \
 
136
        sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'`
 
137
      if test "X$win32_nmres" = "Ximport" ; then
 
138
        win32_libid_type="x86 archive import"
 
139
      else
 
140
        win32_libid_type="x86 archive static"
 
141
      fi
 
142
    fi
 
143
    ;;
 
144
  *DLL*) 
 
145
    win32_libid_type="x86 DLL"
 
146
    ;;
 
147
  *executable*) # but shell scripts are "executable" too...
 
148
    case $win32_fileres in
 
149
    *MS\ Windows\ PE\ Intel*)
 
150
      win32_libid_type="x86 DLL"
 
151
      ;;
 
152
    esac
 
153
    ;;
 
154
  esac
 
155
  $echo $win32_libid_type
 
156
}
 
157
 
 
158
# End of Shell function definitions
 
159
#####################################
 
160
 
 
161
# Parse our command line options once, thoroughly.
 
162
while test "$#" -gt 0
 
163
do
 
164
  arg="$1"
 
165
  shift
 
166
 
 
167
  case $arg in
 
168
  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
 
169
  *) optarg= ;;
 
170
  esac
 
171
 
 
172
  # If the previous option needs an argument, assign it.
 
173
  if test -n "$prev"; then
 
174
    case $prev in
 
175
    execute_dlfiles)
 
176
      execute_dlfiles="$execute_dlfiles $arg"
 
177
      ;;
 
178
    tag)
 
179
      tagname="$arg"
 
180
      preserve_args="${preserve_args}=$arg"
 
181
 
 
182
      # Check whether tagname contains only valid characters
 
183
      case $tagname in
 
184
      *[!-_A-Za-z0-9,/]*)
 
185
        $echo "$progname: invalid tag name: $tagname" 1>&2
 
186
        exit 1
 
187
        ;;
 
188
      esac
 
189
 
 
190
      case $tagname in
 
191
      CC)
 
192
        # Don't test for the "default" C tag, as we know, it's there, but
 
193
        # not specially marked.
 
194
        ;;
 
195
      *)
 
196
        if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then
 
197
          taglist="$taglist $tagname"
 
198
          # Evaluate the configuration.
 
199
          eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`"
 
200
        else
 
201
          $echo "$progname: ignoring unknown tag $tagname" 1>&2
 
202
        fi
 
203
        ;;
 
204
      esac
 
205
      ;;
 
206
    *)
 
207
      eval "$prev=\$arg"
 
208
      ;;
 
209
    esac
 
210
 
 
211
    prev=
 
212
    prevopt=
 
213
    continue
 
214
  fi
 
215
 
 
216
  # Have we seen a non-optional argument yet?
 
217
  case $arg in
 
218
  --help)
 
219
    show_help=yes
 
220
    ;;
 
221
 
 
222
  --version)
 
223
    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
 
224
    $echo
 
225
    $echo "Copyright (C) 2003  Free Software Foundation, Inc."
 
226
    $echo "This is free software; see the source for copying conditions.  There is NO"
 
227
    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
228
    exit 0
 
229
    ;;
 
230
 
 
231
  --config)
 
232
    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
 
233
    # Now print the configurations for the tags.
 
234
    for tagname in $taglist; do
 
235
      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0"
 
236
    done
 
237
    exit 0
 
238
    ;;
 
239
 
 
240
  --debug)
 
241
    $echo "$progname: enabling shell trace mode"
 
242
    set -x
 
243
    preserve_args="$preserve_args $arg"
 
244
    ;;
 
245
 
 
246
  --dry-run | -n)
 
247
    run=:
 
248
    ;;
 
249
 
 
250
  --features)
 
251
    $echo "host: $host"
 
252
    if test "$build_libtool_libs" = yes; then
 
253
      $echo "enable shared libraries"
 
254
    else
 
255
      $echo "disable shared libraries"
 
256
    fi
 
257
    if test "$build_old_libs" = yes; then
 
258
      $echo "enable static libraries"
 
259
    else
 
260
      $echo "disable static libraries"
 
261
    fi
 
262
    exit 0
 
263
    ;;
 
264
 
 
265
  --finish) mode="finish" ;;
 
266
 
 
267
  --mode) prevopt="--mode" prev=mode ;;
 
268
  --mode=*) mode="$optarg" ;;
 
269
 
 
270
  --preserve-dup-deps) duplicate_deps="yes" ;;
 
271
 
 
272
  --quiet | --silent)
 
273
    show=:
 
274
    preserve_args="$preserve_args $arg"
 
275
    ;;
 
276
 
 
277
  --tag) prevopt="--tag" prev=tag ;;
 
278
  --tag=*)
 
279
    set tag "$optarg" ${1+"$@"}
 
280
    shift
 
281
    prev=tag
 
282
    preserve_args="$preserve_args --tag"
 
283
    ;;
 
284
 
 
285
  -dlopen)
 
286
    prevopt="-dlopen"
 
287
    prev=execute_dlfiles
 
288
    ;;
 
289
 
 
290
  -*)
 
291
    $echo "$modename: unrecognized option \`$arg'" 1>&2
 
292
    $echo "$help" 1>&2
 
293
    exit 1
 
294
    ;;
 
295
 
 
296
  *)
 
297
    nonopt="$arg"
 
298
    break
 
299
    ;;
 
300
  esac
 
301
done
 
302
 
 
303
if test -n "$prevopt"; then
 
304
  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
 
305
  $echo "$help" 1>&2
 
306
  exit 1
 
307
fi
 
308
 
 
309
# If this variable is set in any of the actions, the command in it
 
310
# will be execed at the end.  This prevents here-documents from being
 
311
# left over by shells.
 
312
exec_cmd=
 
313
 
 
314
if test -z "$show_help"; then
 
315
 
 
316
  # Infer the operation mode.
 
317
  if test -z "$mode"; then
 
318
    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
 
319
    $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2
 
320
    case $nonopt in
 
321
    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
 
322
      mode=link
 
323
      for arg
 
324
      do
 
325
        case $arg in
 
326
        -c)
 
327
           mode=compile
 
328
           break
 
329
           ;;
 
330
        esac
 
331
      done
 
332
      ;;
 
333
    *db | *dbx | *strace | *truss)
 
334
      mode=execute
 
335
      ;;
 
336
    *install*|cp|mv)
 
337
      mode=install
 
338
      ;;
 
339
    *rm)
 
340
      mode=uninstall
 
341
      ;;
 
342
    *)
 
343
      # If we have no mode, but dlfiles were specified, then do execute mode.
 
344
      test -n "$execute_dlfiles" && mode=execute
 
345
 
 
346
      # Just use the default operation mode.
 
347
      if test -z "$mode"; then
 
348
        if test -n "$nonopt"; then
 
349
          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
 
350
        else
 
351
          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
 
352
        fi
 
353
      fi
 
354
      ;;
 
355
    esac
 
356
  fi
 
357
 
 
358
  # Only execute mode is allowed to have -dlopen flags.
 
359
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
 
360
    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
 
361
    $echo "$help" 1>&2
 
362
    exit 1
 
363
  fi
 
364
 
 
365
  # Change the help message to a mode-specific one.
 
366
  generic_help="$help"
 
367
  help="Try \`$modename --help --mode=$mode' for more information."
 
368
 
 
369
  # These modes are in order of execution frequency so that they run quickly.
 
370
  case $mode in
 
371
  # libtool compile mode
 
372
  compile)
 
373
    modename="$modename: compile"
 
374
    # Get the compilation command and the source file.
 
375
    base_compile=
 
376
    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
 
377
    suppress_opt=yes
 
378
    suppress_output=
 
379
    arg_mode=normal
 
380
    libobj=
 
381
    later=
 
382
 
 
383
    for arg
 
384
    do
 
385
      case "$arg_mode" in
 
386
      arg  )
 
387
        # do not "continue".  Instead, add this to base_compile
 
388
        lastarg="$arg"
 
389
        arg_mode=normal
 
390
        ;;
 
391
 
 
392
      target )
 
393
        libobj="$arg"
 
394
        arg_mode=normal
 
395
        continue
 
396
        ;;
 
397
 
 
398
      normal )
 
399
        # Accept any command-line options.
 
400
        case $arg in
 
401
        -o)
 
402
          if test -n "$libobj" ; then
 
403
            $echo "$modename: you cannot specify \`-o' more than once" 1>&2
 
404
            exit 1
 
405
          fi
 
406
          arg_mode=target
 
407
          continue
 
408
          ;;
 
409
 
 
410
        -static | -prefer-pic | -prefer-non-pic)
 
411
          later="$later $arg"
 
412
          continue
 
413
          ;;
 
414
 
 
415
        -no-suppress)
 
416
          suppress_opt=no
 
417
          continue
 
418
          ;;
 
419
 
 
420
        -Xcompiler)
 
421
          arg_mode=arg  #  the next one goes into the "base_compile" arg list
 
422
          continue      #  The current "srcfile" will either be retained or
 
423
          ;;            #  replaced later.  I would guess that would be a bug.
 
424
 
 
425
        -Wc,*)
 
426
          args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
 
427
          lastarg=
 
428
          save_ifs="$IFS"; IFS=','
 
429
          for arg in $args; do
 
430
            IFS="$save_ifs"
 
431
 
 
432
            # Double-quote args containing other shell metacharacters.
 
433
            # Many Bourne shells cannot handle close brackets correctly
 
434
            # in scan sets, so we specify it separately.
 
435
            case $arg in
 
436
              *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
 
437
              arg="\"$arg\""
 
438
              ;;
 
439
            esac
 
440
            lastarg="$lastarg $arg"
 
441
          done
 
442
          IFS="$save_ifs"
 
443
          lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
 
444
 
 
445
          # Add the arguments to base_compile.
 
446
          base_compile="$base_compile $lastarg"
 
447
          continue
 
448
          ;;
 
449
 
 
450
        * )
 
451
          # Accept the current argument as the source file.
 
452
          # The previous "srcfile" becomes the current argument.
 
453
          #
 
454
          lastarg="$srcfile"
 
455
          srcfile="$arg"
 
456
          ;;
 
457
        esac  #  case $arg
 
458
        ;;
 
459
      esac    #  case $arg_mode
 
460
 
 
461
      # Aesthetically quote the previous argument.
 
462
      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
 
463
 
 
464
      case $lastarg in
 
465
      # Double-quote args containing other shell metacharacters.
 
466
      # Many Bourne shells cannot handle close brackets correctly
 
467
      # in scan sets, so we specify it separately.
 
468
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
 
469
        lastarg="\"$lastarg\""
 
470
        ;;
 
471
      esac
 
472
 
 
473
      base_compile="$base_compile $lastarg"
 
474
    done # for arg
 
475
 
 
476
    case $arg_mode in
 
477
    arg)
 
478
      $echo "$modename: you must specify an argument for -Xcompile"
 
479
      exit 1
 
480
      ;;
 
481
    target)
 
482
      $echo "$modename: you must specify a target with \`-o'" 1>&2
 
483
      exit 1
 
484
      ;;
 
485
    *)
 
486
      # Get the name of the library object.
 
487
      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
 
488
      ;;
 
489
    esac
 
490
 
 
491
    # Recognize several different file suffixes.
 
492
    # If the user specifies -o file.o, it is replaced with file.lo
 
493
    xform='[cCFSifmso]'
 
494
    case $libobj in
 
495
    *.ada) xform=ada ;;
 
496
    *.adb) xform=adb ;;
 
497
    *.ads) xform=ads ;;
 
498
    *.asm) xform=asm ;;
 
499
    *.c++) xform=c++ ;;
 
500
    *.cc) xform=cc ;;
 
501
    *.ii) xform=ii ;;
 
502
    *.class) xform=class ;;
 
503
    *.cpp) xform=cpp ;;
 
504
    *.cxx) xform=cxx ;;
 
505
    *.f90) xform=f90 ;;
 
506
    *.for) xform=for ;;
 
507
    *.java) xform=java ;;
 
508
    esac
 
509
 
 
510
    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
 
511
 
 
512
    case $libobj in
 
513
    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
 
514
    *)
 
515
      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
 
516
      exit 1
 
517
      ;;
 
518
    esac
 
519
 
 
520
    # Infer tagged configuration to use if any are available and
 
521
    # if one wasn't chosen via the "--tag" command line option.
 
522
    # Only attempt this if the compiler in the base compile
 
523
    # command doesn't match the default compiler.
 
524
    if test -n "$available_tags" && test -z "$tagname"; then
 
525
      case $base_compile in
 
526
      # Blanks in the command may have been stripped by the calling shell,
 
527
      # but not from the CC environment variable when configure was run.
 
528
      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;;
 
529
      # Blanks at the start of $base_compile will cause this to fail
 
530
      # if we don't check for them as well.
 
531
      *)
 
532
        for z in $available_tags; do
 
533
          if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then
 
534
            # Evaluate the configuration.
 
535
            eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`"
 
536
            case "$base_compile " in
 
537
            "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*)
 
538
              # The compiler in the base compile command matches
 
539
              # the one in the tagged configuration.
 
540
              # Assume this is the tagged configuration we want.
 
541
              tagname=$z
 
542
              break
 
543
              ;;
 
544
            esac
 
545
          fi
 
546
        done
 
547
        # If $tagname still isn't set, then no tagged configuration
 
548
        # was found and let the user know that the "--tag" command
 
549
        # line option must be used.
 
550
        if test -z "$tagname"; then
 
551
          $echo "$modename: unable to infer tagged configuration"
 
552
          $echo "$modename: specify a tag with \`--tag'" 1>&2
 
553
          exit 1
 
554
#        else
 
555
#          $echo "$modename: using $tagname tagged configuration"
 
556
        fi
 
557
        ;;
 
558
      esac
 
559
    fi
 
560
 
 
561
    for arg in $later; do
 
562
      case $arg in
 
563
      -static)
 
564
        build_old_libs=yes
 
565
        continue
 
566
        ;;
 
567
 
 
568
      -prefer-pic)
 
569
        pic_mode=yes
 
570
        continue
 
571
        ;;
 
572
 
 
573
      -prefer-non-pic)
 
574
        pic_mode=no
 
575
        continue
 
576
        ;;
 
577
      esac
 
578
    done
 
579
 
 
580
    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
 
581
    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
 
582
    if test "X$xdir" = "X$obj"; then
 
583
      xdir=
 
584
    else
 
585
      xdir=$xdir/
 
586
    fi
 
587
    lobj=${xdir}$objdir/$objname
 
588
 
 
589
    if test -z "$base_compile"; then
 
590
      $echo "$modename: you must specify a compilation command" 1>&2
 
591
      $echo "$help" 1>&2
 
592
      exit 1
 
593
    fi
 
594
 
 
595
    # Delete any leftover library objects.
 
596
    if test "$build_old_libs" = yes; then
 
597
      removelist="$obj $lobj $libobj ${libobj}T"
 
598
    else
 
599
      removelist="$lobj $libobj ${libobj}T"
 
600
    fi
 
601
 
 
602
    $run $rm $removelist
 
603
    trap "$run $rm $removelist; exit 1" 1 2 15
 
604
 
 
605
    # On Cygwin there's no "real" PIC flag so we must build both object types
 
606
    case $host_os in
 
607
    cygwin* | mingw* | pw32* | os2*)
 
608
      pic_mode=default
 
609
      ;;
 
610
    esac
 
611
    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
 
612
      # non-PIC code in shared libraries is not supported
 
613
      pic_mode=default
 
614
    fi
 
615
 
 
616
    # Calculate the filename of the output object if compiler does
 
617
    # not support -o with -c
 
618
    if test "$compiler_c_o" = no; then
 
619
      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
 
620
      lockfile="$output_obj.lock"
 
621
      removelist="$removelist $output_obj $lockfile"
 
622
      trap "$run $rm $removelist; exit 1" 1 2 15
 
623
    else
 
624
      output_obj=
 
625
      need_locks=no
 
626
      lockfile=
 
627
    fi
 
628
 
 
629
    # Lock this critical section if it is needed
 
630
    # We use this script file to make the link, it avoids creating a new file
 
631
    if test "$need_locks" = yes; then
 
632
      until $run ln "$0" "$lockfile" 2>/dev/null; do
 
633
        $show "Waiting for $lockfile to be removed"
 
634
        sleep 2
 
635
      done
 
636
    elif test "$need_locks" = warn; then
 
637
      if test -f "$lockfile"; then
 
638
        $echo "\
 
639
*** ERROR, $lockfile exists and contains:
 
640
`cat $lockfile 2>/dev/null`
 
641
 
 
642
This indicates that another process is trying to use the same
 
643
temporary object file, and libtool could not work around it because
 
644
your compiler does not support \`-c' and \`-o' together.  If you
 
645
repeat this compilation, it may succeed, by chance, but you had better
 
646
avoid parallel builds (make -j) in this platform, or get a better
 
647
compiler."
 
648
 
 
649
        $run $rm $removelist
 
650
        exit 1
 
651
      fi
 
652
      $echo $srcfile > "$lockfile"
 
653
    fi
 
654
 
 
655
    if test -n "$fix_srcfile_path"; then
 
656
      eval srcfile=\"$fix_srcfile_path\"
 
657
    fi
 
658
 
 
659
    $run $rm "$libobj" "${libobj}T"
 
660
 
 
661
    # Create a libtool object file (analogous to a ".la" file),
 
662
    # but don't create it if we're doing a dry run.
 
663
    test -z "$run" && cat > ${libobj}T <<EOF
 
664
# $libobj - a libtool object file
 
665
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
 
666
#
 
667
# Please DO NOT delete this file!
 
668
# It is necessary for linking the library.
 
669
 
 
670
# Name of the PIC object.
 
671
EOF
 
672
 
 
673
    # Only build a PIC object if we are building libtool libraries.
 
674
    if test "$build_libtool_libs" = yes; then
 
675
      # Without this assignment, base_compile gets emptied.
 
676
      fbsd_hideous_sh_bug=$base_compile
 
677
 
 
678
      if test "$pic_mode" != no; then
 
679
        command="$base_compile $srcfile $pic_flag"
 
680
      else
 
681
        # Don't build PIC code
 
682
        command="$base_compile $srcfile"
 
683
      fi
 
684
 
 
685
      if test ! -d "${xdir}$objdir"; then
 
686
        $show "$mkdir ${xdir}$objdir"
 
687
        $run $mkdir ${xdir}$objdir
 
688
        status=$?
 
689
        if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then
 
690
          exit $status
 
691
        fi
 
692
      fi
 
693
 
 
694
      if test -z "$output_obj"; then
 
695
        # Place PIC objects in $objdir
 
696
        command="$command -o $lobj"
 
697
      fi
 
698
 
 
699
      $run $rm "$lobj" "$output_obj"
 
700
 
 
701
      $show "$command"
 
702
      if $run eval "$command"; then :
 
703
      else
 
704
        test -n "$output_obj" && $run $rm $removelist
 
705
        exit 1
 
706
      fi
 
707
 
 
708
      if test "$need_locks" = warn &&
 
709
         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
 
710
        $echo "\
 
711
*** ERROR, $lockfile contains:
 
712
`cat $lockfile 2>/dev/null`
 
713
 
 
714
but it should contain:
 
715
$srcfile
 
716
 
 
717
This indicates that another process is trying to use the same
 
718
temporary object file, and libtool could not work around it because
 
719
your compiler does not support \`-c' and \`-o' together.  If you
 
720
repeat this compilation, it may succeed, by chance, but you had better
 
721
avoid parallel builds (make -j) in this platform, or get a better
 
722
compiler."
 
723
 
 
724
        $run $rm $removelist
 
725
        exit 1
 
726
      fi
 
727
 
 
728
      # Just move the object if needed, then go on to compile the next one
 
729
      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
 
730
        $show "$mv $output_obj $lobj"
 
731
        if $run $mv $output_obj $lobj; then :
 
732
        else
 
733
          error=$?
 
734
          $run $rm $removelist
 
735
          exit $error
 
736
        fi
 
737
      fi
 
738
 
 
739
      # Append the name of the PIC object to the libtool object file.
 
740
      test -z "$run" && cat >> ${libobj}T <<EOF
 
741
pic_object='$objdir/$objname'
 
742
 
 
743
EOF
 
744
 
 
745
      # Allow error messages only from the first compilation.
 
746
      if test "$suppress_opt" = yes; then
 
747
        suppress_output=' >/dev/null 2>&1'
 
748
      fi
 
749
    else
 
750
      # No PIC object so indicate it doesn't exist in the libtool
 
751
      # object file.
 
752
      test -z "$run" && cat >> ${libobj}T <<EOF
 
753
pic_object=none
 
754
 
 
755
EOF
 
756
    fi
 
757
 
 
758
    # Only build a position-dependent object if we build old libraries.
 
759
    if test "$build_old_libs" = yes; then
 
760
      if test "$pic_mode" != yes; then
 
761
        # Don't build PIC code
 
762
        command="$base_compile $srcfile"
 
763
      else
 
764
        command="$base_compile $srcfile $pic_flag"
 
765
      fi
 
766
      if test "$compiler_c_o" = yes; then
 
767
        command="$command -o $obj"
 
768
      fi
 
769
 
 
770
      # Suppress compiler output if we already did a PIC compilation.
 
771
      command="$command$suppress_output"
 
772
      $run $rm "$obj" "$output_obj"
 
773
      $show "$command"
 
774
      if $run eval "$command"; then :
 
775
      else
 
776
        $run $rm $removelist
 
777
        exit 1
 
778
      fi
 
779
 
 
780
      if test "$need_locks" = warn &&
 
781
         test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
 
782
        $echo "\
 
783
*** ERROR, $lockfile contains:
 
784
`cat $lockfile 2>/dev/null`
 
785
 
 
786
but it should contain:
 
787
$srcfile
 
788
 
 
789
This indicates that another process is trying to use the same
 
790
temporary object file, and libtool could not work around it because
 
791
your compiler does not support \`-c' and \`-o' together.  If you
 
792
repeat this compilation, it may succeed, by chance, but you had better
 
793
avoid parallel builds (make -j) in this platform, or get a better
 
794
compiler."
 
795
 
 
796
        $run $rm $removelist
 
797
        exit 1
 
798
      fi
 
799
 
 
800
      # Just move the object if needed
 
801
      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
 
802
        $show "$mv $output_obj $obj"
 
803
        if $run $mv $output_obj $obj; then :
 
804
        else
 
805
          error=$?
 
806
          $run $rm $removelist
 
807
          exit $error
 
808
        fi
 
809
      fi
 
810
 
 
811
      # Append the name of the non-PIC object the libtool object file.
 
812
      # Only append if the libtool object file exists.
 
813
      test -z "$run" && cat >> ${libobj}T <<EOF
 
814
# Name of the non-PIC object.
 
815
non_pic_object='$objname'
 
816
 
 
817
EOF
 
818
    else
 
819
      # Append the name of the non-PIC object the libtool object file.
 
820
      # Only append if the libtool object file exists.
 
821
      test -z "$run" && cat >> ${libobj}T <<EOF
 
822
# Name of the non-PIC object.
 
823
non_pic_object=none
 
824
 
 
825
EOF
 
826
    fi
 
827
 
 
828
    $run $mv "${libobj}T" "${libobj}"
 
829
 
 
830
    # Unlock the critical section if it was locked
 
831
    if test "$need_locks" != no; then
 
832
      $run $rm "$lockfile"
 
833
    fi
 
834
 
 
835
    exit 0
 
836
    ;;
 
837
 
 
838
  # libtool link mode
 
839
  link | relink)
 
840
    modename="$modename: link"
 
841
    case $host in
 
842
    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 
843
      # It is impossible to link a dll without this setting, and
 
844
      # we shouldn't force the makefile maintainer to figure out
 
845
      # which system we are compiling for in order to pass an extra
 
846
      # flag for every libtool invocation.
 
847
      # allow_undefined=no
 
848
 
 
849
      # FIXME: Unfortunately, there are problems with the above when trying
 
850
      # to make a dll which has undefined symbols, in which case not
 
851
      # even a static library is built.  For now, we need to specify
 
852
      # -no-undefined on the libtool link line when we can be certain
 
853
      # that all symbols are satisfied, otherwise we get a static library.
 
854
      allow_undefined=yes
 
855
      ;;
 
856
    *)
 
857
      allow_undefined=yes
 
858
      ;;
 
859
    esac
 
860
    libtool_args="$nonopt"
 
861
    base_compile="$nonopt $@"
 
862
    compile_command="$nonopt"
 
863
    finalize_command="$nonopt"
 
864
 
 
865
    compile_rpath=
 
866
    finalize_rpath=
 
867
    compile_shlibpath=
 
868
    finalize_shlibpath=
 
869
    convenience=
 
870
    old_convenience=
 
871
    deplibs=
 
872
    old_deplibs=
 
873
    compiler_flags=
 
874
    linker_flags=
 
875
    dllsearchpath=
 
876
    lib_search_path=`pwd`
 
877
    inst_prefix_dir=
 
878
 
 
879
    avoid_version=no
 
880
    dlfiles=
 
881
    dlprefiles=
 
882
    dlself=no
 
883
    export_dynamic=no
 
884
    export_symbols=
 
885
    export_symbols_regex=
 
886
    generated=
 
887
    libobjs=
 
888
    ltlibs=
 
889
    module=no
 
890
    no_install=no
 
891
    objs=
 
892
    non_pic_objects=
 
893
    prefer_static_libs=no
 
894
    preload=no
 
895
    prev=
 
896
    prevarg=
 
897
    release=
 
898
    rpath=
 
899
    xrpath=
 
900
    perm_rpath=
 
901
    temp_rpath=
 
902
    thread_safe=no
 
903
    vinfo=
 
904
    vinfo_number=no
 
905
 
 
906
    # Infer tagged configuration to use if any are available and
 
907
    # if one wasn't chosen via the "--tag" command line option.
 
908
    # Only attempt this if the compiler in the base link
 
909
    # command doesn't match the default compiler.
 
910
    if test -n "$available_tags" && test -z "$tagname"; then
 
911
      case $base_compile in
 
912
      # Blanks in the command may have been stripped by the calling shell,
 
913
      # but not from the CC environment variable when configure was run.
 
914
      "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;;
 
915
      # Blanks at the start of $base_compile will cause this to fail
 
916
      # if we don't check for them as well.
 
917
      *)
 
918
        for z in $available_tags; do
 
919
          if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then
 
920
            # Evaluate the configuration.
 
921
            eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`"
 
922
            case $base_compile in
 
923
            "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*)
 
924
              # The compiler in $compile_command matches
 
925
              # the one in the tagged configuration.
 
926
              # Assume this is the tagged configuration we want.
 
927
              tagname=$z
 
928
              break
 
929
              ;;
 
930
            esac
 
931
          fi
 
932
        done
 
933
        # If $tagname still isn't set, then no tagged configuration
 
934
        # was found and let the user know that the "--tag" command
 
935
        # line option must be used.
 
936
        if test -z "$tagname"; then
 
937
          $echo "$modename: unable to infer tagged configuration"
 
938
          $echo "$modename: specify a tag with \`--tag'" 1>&2
 
939
          exit 1
 
940
#       else
 
941
#         $echo "$modename: using $tagname tagged configuration"
 
942
        fi
 
943
        ;;
 
944
      esac
 
945
    fi
 
946
 
 
947
    # We need to know -static, to get the right output filenames.
 
948
    for arg
 
949
    do
 
950
      case $arg in
 
951
      -all-static | -static)
 
952
        if test "X$arg" = "X-all-static"; then
 
953
          if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
 
954
            $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
 
955
          fi
 
956
          if test -n "$link_static_flag"; then
 
957
            dlopen_self=$dlopen_self_static
 
958
          fi
 
959
        else
 
960
          if test -z "$pic_flag" && test -n "$link_static_flag"; then
 
961
            dlopen_self=$dlopen_self_static
 
962
          fi
 
963
        fi
 
964
        build_libtool_libs=no
 
965
        build_old_libs=yes
 
966
        prefer_static_libs=yes
 
967
        break
 
968
        ;;
 
969
      esac
 
970
    done
 
971
 
 
972
    # See if our shared archives depend on static archives.
 
973
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
 
974
 
 
975
    # Go through the arguments, transforming them on the way.
 
976
    while test "$#" -gt 0; do
 
977
      arg="$1"
 
978
      shift
 
979
      case $arg in
 
980
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
 
981
        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
 
982
        ;;
 
983
      *) qarg=$arg ;;
 
984
      esac
 
985
      libtool_args="$libtool_args $qarg"
 
986
 
 
987
      # If the previous option needs an argument, assign it.
 
988
      if test -n "$prev"; then
 
989
        case $prev in
 
990
        output)
 
991
          compile_command="$compile_command @OUTPUT@"
 
992
          finalize_command="$finalize_command @OUTPUT@"
 
993
          ;;
 
994
        esac
 
995
 
 
996
        case $prev in
 
997
        dlfiles|dlprefiles)
 
998
          if test "$preload" = no; then
 
999
            # Add the symbol object into the linking commands.
 
1000
            compile_command="$compile_command @SYMFILE@"
 
1001
            finalize_command="$finalize_command @SYMFILE@"
 
1002
            preload=yes
 
1003
          fi
 
1004
          case $arg in
 
1005
          *.la | *.lo) ;;  # We handle these cases below.
 
1006
          force)
 
1007
            if test "$dlself" = no; then
 
1008
              dlself=needless
 
1009
              export_dynamic=yes
 
1010
            fi
 
1011
            prev=
 
1012
            continue
 
1013
            ;;
 
1014
          self)
 
1015
            if test "$prev" = dlprefiles; then
 
1016
              dlself=yes
 
1017
            elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
 
1018
              dlself=yes
 
1019
            else
 
1020
              dlself=needless
 
1021
              export_dynamic=yes
 
1022
            fi
 
1023
            prev=
 
1024
            continue
 
1025
            ;;
 
1026
          *)
 
1027
            if test "$prev" = dlfiles; then
 
1028
              dlfiles="$dlfiles $arg"
 
1029
            else
 
1030
              dlprefiles="$dlprefiles $arg"
 
1031
            fi
 
1032
            prev=
 
1033
            continue
 
1034
            ;;
 
1035
          esac
 
1036
          ;;
 
1037
        expsyms)
 
1038
          export_symbols="$arg"
 
1039
          if test ! -f "$arg"; then
 
1040
            $echo "$modename: symbol file \`$arg' does not exist"
 
1041
            exit 1
 
1042
          fi
 
1043
          prev=
 
1044
          continue
 
1045
          ;;
 
1046
        expsyms_regex)
 
1047
          export_symbols_regex="$arg"
 
1048
          prev=
 
1049
          continue
 
1050
          ;;
 
1051
        inst_prefix)
 
1052
          inst_prefix_dir="$arg"
 
1053
          prev=
 
1054
          continue
 
1055
          ;;
 
1056
        release)
 
1057
          release="-$arg"
 
1058
          prev=
 
1059
          continue
 
1060
          ;;
 
1061
        objectlist)
 
1062
          if test -f "$arg"; then
 
1063
            save_arg=$arg
 
1064
            moreargs=
 
1065
            for fil in `cat $save_arg`
 
1066
            do
 
1067
#             moreargs="$moreargs $fil"
 
1068
              arg=$fil
 
1069
              # A libtool-controlled object.
 
1070
 
 
1071
              # Check to see that this really is a libtool object.
 
1072
              if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
1073
                pic_object=
 
1074
                non_pic_object=
 
1075
 
 
1076
                # Read the .lo file
 
1077
                # If there is no directory component, then add one.
 
1078
                case $arg in
 
1079
                */* | *\\*) . $arg ;;
 
1080
                *) . ./$arg ;;
 
1081
                esac
 
1082
 
 
1083
                if test -z "$pic_object" || \
 
1084
                   test -z "$non_pic_object" ||
 
1085
                   test "$pic_object" = none && \
 
1086
                   test "$non_pic_object" = none; then
 
1087
                  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
 
1088
                  exit 1
 
1089
                fi
 
1090
 
 
1091
                # Extract subdirectory from the argument.
 
1092
                xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
 
1093
                if test "X$xdir" = "X$arg"; then
 
1094
                  xdir=
 
1095
                else
 
1096
                  xdir="$xdir/"
 
1097
                fi
 
1098
 
 
1099
                if test "$pic_object" != none; then
 
1100
                  # Prepend the subdirectory the object is found in.
 
1101
                  pic_object="$xdir$pic_object"
 
1102
 
 
1103
                  if test "$prev" = dlfiles; then
 
1104
                    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
 
1105
                      dlfiles="$dlfiles $pic_object"
 
1106
                      prev=
 
1107
                      continue
 
1108
                    else
 
1109
                      # If libtool objects are unsupported, then we need to preload.
 
1110
                      prev=dlprefiles
 
1111
                    fi
 
1112
                  fi
 
1113
 
 
1114
                  # CHECK ME:  I think I busted this.  -Ossama
 
1115
                  if test "$prev" = dlprefiles; then
 
1116
                    # Preload the old-style object.
 
1117
                    dlprefiles="$dlprefiles $pic_object"
 
1118
                    prev=
 
1119
                  fi
 
1120
 
 
1121
                  # A PIC object.
 
1122
                  libobjs="$libobjs $pic_object"
 
1123
                  arg="$pic_object"
 
1124
                fi
 
1125
 
 
1126
                # Non-PIC object.
 
1127
                if test "$non_pic_object" != none; then
 
1128
                  # Prepend the subdirectory the object is found in.
 
1129
                  non_pic_object="$xdir$non_pic_object"
 
1130
 
 
1131
                  # A standard non-PIC object
 
1132
                  non_pic_objects="$non_pic_objects $non_pic_object"
 
1133
                  if test -z "$pic_object" || test "$pic_object" = none ; then
 
1134
                    arg="$non_pic_object"
 
1135
                  fi
 
1136
                fi
 
1137
              else
 
1138
                # Only an error if not doing a dry-run.
 
1139
                if test -z "$run"; then
 
1140
                  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
 
1141
                  exit 1
 
1142
                else
 
1143
                  # Dry-run case.
 
1144
 
 
1145
                  # Extract subdirectory from the argument.
 
1146
                  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
 
1147
                  if test "X$xdir" = "X$arg"; then
 
1148
                    xdir=
 
1149
                  else
 
1150
                    xdir="$xdir/"
 
1151
                  fi
 
1152
 
 
1153
                  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
 
1154
                  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
 
1155
                  libobjs="$libobjs $pic_object"
 
1156
                  non_pic_objects="$non_pic_objects $non_pic_object"
 
1157
                fi
 
1158
              fi
 
1159
            done
 
1160
          else
 
1161
            $echo "$modename: link input file \`$save_arg' does not exist"
 
1162
            exit 1
 
1163
          fi
 
1164
          arg=$save_arg
 
1165
          prev=
 
1166
          continue
 
1167
          ;;
 
1168
        rpath | xrpath)
 
1169
          # We need an absolute path.
 
1170
          case $arg in
 
1171
          [\\/]* | [A-Za-z]:[\\/]*) ;;
 
1172
          *)
 
1173
            $echo "$modename: only absolute run-paths are allowed" 1>&2
 
1174
            exit 1
 
1175
            ;;
 
1176
          esac
 
1177
          if test "$prev" = rpath; then
 
1178
            case "$rpath " in
 
1179
            *" $arg "*) ;;
 
1180
            *) rpath="$rpath $arg" ;;
 
1181
            esac
 
1182
          else
 
1183
            case "$xrpath " in
 
1184
            *" $arg "*) ;;
 
1185
            *) xrpath="$xrpath $arg" ;;
 
1186
            esac
 
1187
          fi
 
1188
          prev=
 
1189
          continue
 
1190
          ;;
 
1191
        xcompiler)
 
1192
          compiler_flags="$compiler_flags $qarg"
 
1193
          prev=
 
1194
          compile_command="$compile_command $qarg"
 
1195
          finalize_command="$finalize_command $qarg"
 
1196
          continue
 
1197
          ;;
 
1198
        xlinker)
 
1199
          linker_flags="$linker_flags $qarg"
 
1200
          compiler_flags="$compiler_flags $wl$qarg"
 
1201
          prev=
 
1202
          compile_command="$compile_command $wl$qarg"
 
1203
          finalize_command="$finalize_command $wl$qarg"
 
1204
          continue
 
1205
          ;;
 
1206
        xcclinker)
 
1207
          linker_flags="$linker_flags $qarg"
 
1208
          compiler_flags="$compiler_flags $qarg"
 
1209
          prev=
 
1210
          compile_command="$compile_command $qarg"
 
1211
          finalize_command="$finalize_command $qarg"
 
1212
          continue
 
1213
          ;;
 
1214
        *)
 
1215
          eval "$prev=\"\$arg\""
 
1216
          prev=
 
1217
          continue
 
1218
          ;;
 
1219
        esac
 
1220
      fi # test -n "$prev"
 
1221
 
 
1222
      prevarg="$arg"
 
1223
 
 
1224
      case $arg in
 
1225
      -all-static)
 
1226
        if test -n "$link_static_flag"; then
 
1227
          compile_command="$compile_command $link_static_flag"
 
1228
          finalize_command="$finalize_command $link_static_flag"
 
1229
        fi
 
1230
        continue
 
1231
        ;;
 
1232
 
 
1233
      -allow-undefined)
 
1234
        # FIXME: remove this flag sometime in the future.
 
1235
        $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
 
1236
        continue
 
1237
        ;;
 
1238
 
 
1239
      -avoid-version)
 
1240
        avoid_version=yes
 
1241
        continue
 
1242
        ;;
 
1243
 
 
1244
      -dlopen)
 
1245
        prev=dlfiles
 
1246
        continue
 
1247
        ;;
 
1248
 
 
1249
      -dlpreopen)
 
1250
        prev=dlprefiles
 
1251
        continue
 
1252
        ;;
 
1253
 
 
1254
      -export-dynamic)
 
1255
        export_dynamic=yes
 
1256
        continue
 
1257
        ;;
 
1258
 
 
1259
      -export-symbols | -export-symbols-regex)
 
1260
        if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
 
1261
          $echo "$modename: more than one -exported-symbols argument is not allowed"
 
1262
          exit 1
 
1263
        fi
 
1264
        if test "X$arg" = "X-export-symbols"; then
 
1265
          prev=expsyms
 
1266
        else
 
1267
          prev=expsyms_regex
 
1268
        fi
 
1269
        continue
 
1270
        ;;
 
1271
 
 
1272
      -inst-prefix-dir)
 
1273
        prev=inst_prefix
 
1274
        continue
 
1275
        ;;
 
1276
 
 
1277
      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
 
1278
      # so, if we see these flags be careful not to treat them like -L
 
1279
      -L[A-Z][A-Z]*:*)
 
1280
        case $with_gcc/$host in
 
1281
        no/*-*-irix* | /*-*-irix*)
 
1282
          compile_command="$compile_command $arg"
 
1283
          finalize_command="$finalize_command $arg"
 
1284
          ;;
 
1285
        esac
 
1286
        continue
 
1287
        ;;
 
1288
 
 
1289
      -L*)
 
1290
        dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
 
1291
        # We need an absolute path.
 
1292
        case $dir in
 
1293
        [\\/]* | [A-Za-z]:[\\/]*) ;;
 
1294
        *)
 
1295
          absdir=`cd "$dir" && pwd`
 
1296
          if test -z "$absdir"; then
 
1297
            $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
 
1298
            exit 1
 
1299
          fi
 
1300
          dir="$absdir"
 
1301
          ;;
 
1302
        esac
 
1303
        case "$deplibs " in
 
1304
        *" -L$dir "*) ;;
 
1305
        *)
 
1306
          deplibs="$deplibs -L$dir"
 
1307
          lib_search_path="$lib_search_path $dir"
 
1308
          ;;
 
1309
        esac
 
1310
        case $host in
 
1311
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 
1312
          case :$dllsearchpath: in
 
1313
          *":$dir:"*) ;;
 
1314
          *) dllsearchpath="$dllsearchpath:$dir";;
 
1315
          esac
 
1316
          ;;
 
1317
        esac
 
1318
        continue
 
1319
        ;;
 
1320
 
 
1321
      -l*)
 
1322
        if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
 
1323
          case $host in
 
1324
          *-*-cygwin* | *-*-pw32* | *-*-beos*)
 
1325
            # These systems don't actually have a C or math library (as such)
 
1326
            continue
 
1327
            ;;
 
1328
          *-*-mingw* | *-*-os2*)
 
1329
            # These systems don't actually have a C library (as such)
 
1330
            test "X$arg" = "X-lc" && continue
 
1331
            ;;
 
1332
          *-*-openbsd* | *-*-freebsd*)
 
1333
            # Do not include libc due to us having libc/libc_r.
 
1334
            test "X$arg" = "X-lc" && continue
 
1335
            ;;
 
1336
          *-*-rhapsody* | *-*-darwin1.[012])
 
1337
            # Rhapsody C and math libraries are in the System framework
 
1338
            deplibs="$deplibs -framework System"
 
1339
            continue
 
1340
          esac
 
1341
        elif test "X$arg" = "X-lc_r"; then
 
1342
         case $host in
 
1343
         *-*-openbsd* | *-*-freebsd*)
 
1344
           # Do not include libc_r directly, use -pthread flag.
 
1345
           continue
 
1346
           ;;
 
1347
         esac
 
1348
        fi
 
1349
        deplibs="$deplibs $arg"
 
1350
        continue
 
1351
        ;;
 
1352
 
 
1353
     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
 
1354
        deplibs="$deplibs $arg"
 
1355
        continue
 
1356
        ;;
 
1357
 
 
1358
      -module)
 
1359
        module=yes
 
1360
        continue
 
1361
        ;;
 
1362
 
 
1363
      # gcc -m* arguments should be passed to the linker via $compiler_flags
 
1364
      # in order to pass architecture information to the linker
 
1365
      # (e.g. 32 vs 64-bit).  This may also be accomplished via -Wl,-mfoo
 
1366
      # but this is not reliable with gcc because gcc may use -mfoo to
 
1367
      # select a different linker, different libraries, etc, while
 
1368
      # -Wl,-mfoo simply passes -mfoo to the linker.
 
1369
      -m*)
 
1370
        # Unknown arguments in both finalize_command and compile_command need
 
1371
        # to be aesthetically quoted because they are evaled later.
 
1372
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
1373
        case $arg in
 
1374
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
 
1375
          arg="\"$arg\""
 
1376
          ;;
 
1377
        esac
 
1378
        compile_command="$compile_command $arg"
 
1379
        finalize_command="$finalize_command $arg"
 
1380
        if test "$with_gcc" = "yes" ; then
 
1381
          compiler_flags="$compiler_flags $arg"
 
1382
        fi
 
1383
        continue
 
1384
        ;;
 
1385
 
 
1386
      -shrext)
 
1387
        prev=shrext
 
1388
        continue
 
1389
        ;;
 
1390
 
 
1391
      -no-fast-install)
 
1392
        fast_install=no
 
1393
        continue
 
1394
        ;;
 
1395
 
 
1396
      -no-install)
 
1397
        case $host in
 
1398
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 
1399
          # The PATH hackery in wrapper scripts is required on Windows
 
1400
          # in order for the loader to find any dlls it needs.
 
1401
          $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
 
1402
          $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
 
1403
          fast_install=no
 
1404
          ;;
 
1405
        *) no_install=yes ;;
 
1406
        esac
 
1407
        continue
 
1408
        ;;
 
1409
 
 
1410
      -no-undefined)
 
1411
        allow_undefined=no
 
1412
        continue
 
1413
        ;;
 
1414
 
 
1415
      -objectlist)
 
1416
        prev=objectlist
 
1417
        continue
 
1418
        ;;
 
1419
 
 
1420
      -o) prev=output ;;
 
1421
 
 
1422
      -release)
 
1423
        prev=release
 
1424
        continue
 
1425
        ;;
 
1426
 
 
1427
      -rpath)
 
1428
        prev=rpath
 
1429
        continue
 
1430
        ;;
 
1431
 
 
1432
      -R)
 
1433
        prev=xrpath
 
1434
        continue
 
1435
        ;;
 
1436
 
 
1437
      -R*)
 
1438
        dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
 
1439
        # We need an absolute path.
 
1440
        case $dir in
 
1441
        [\\/]* | [A-Za-z]:[\\/]*) ;;
 
1442
        *)
 
1443
          $echo "$modename: only absolute run-paths are allowed" 1>&2
 
1444
          exit 1
 
1445
          ;;
 
1446
        esac
 
1447
        case "$xrpath " in
 
1448
        *" $dir "*) ;;
 
1449
        *) xrpath="$xrpath $dir" ;;
 
1450
        esac
 
1451
        continue
 
1452
        ;;
 
1453
 
 
1454
      -static)
 
1455
        # The effects of -static are defined in a previous loop.
 
1456
        # We used to do the same as -all-static on platforms that
 
1457
        # didn't have a PIC flag, but the assumption that the effects
 
1458
        # would be equivalent was wrong.  It would break on at least
 
1459
        # Digital Unix and AIX.
 
1460
        continue
 
1461
        ;;
 
1462
 
 
1463
      -thread-safe)
 
1464
        thread_safe=yes
 
1465
        continue
 
1466
        ;;
 
1467
 
 
1468
      -version-info)
 
1469
        prev=vinfo
 
1470
        continue
 
1471
        ;;
 
1472
      -version-number)
 
1473
        prev=vinfo
 
1474
        vinfo_number=yes
 
1475
        continue
 
1476
        ;;
 
1477
 
 
1478
      -Wc,*)
 
1479
        args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
 
1480
        arg=
 
1481
        save_ifs="$IFS"; IFS=','
 
1482
        for flag in $args; do
 
1483
          IFS="$save_ifs"
 
1484
          case $flag in
 
1485
            *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
 
1486
            flag="\"$flag\""
 
1487
            ;;
 
1488
          esac
 
1489
          arg="$arg $wl$flag"
 
1490
          compiler_flags="$compiler_flags $flag"
 
1491
        done
 
1492
        IFS="$save_ifs"
 
1493
        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
 
1494
        ;;
 
1495
 
 
1496
      -Wl,*)
 
1497
        args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
 
1498
        arg=
 
1499
        save_ifs="$IFS"; IFS=','
 
1500
        for flag in $args; do
 
1501
          IFS="$save_ifs"
 
1502
          case $flag in
 
1503
            *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
 
1504
            flag="\"$flag\""
 
1505
            ;;
 
1506
          esac
 
1507
          arg="$arg $wl$flag"
 
1508
          compiler_flags="$compiler_flags $wl$flag"
 
1509
          linker_flags="$linker_flags $flag"
 
1510
        done
 
1511
        IFS="$save_ifs"
 
1512
        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
 
1513
        ;;
 
1514
 
 
1515
      -Xcompiler)
 
1516
        prev=xcompiler
 
1517
        continue
 
1518
        ;;
 
1519
 
 
1520
      -Xlinker)
 
1521
        prev=xlinker
 
1522
        continue
 
1523
        ;;
 
1524
 
 
1525
      -XCClinker)
 
1526
        prev=xcclinker
 
1527
        continue
 
1528
        ;;
 
1529
 
 
1530
      # Some other compiler flag.
 
1531
      -* | +*)
 
1532
        # Unknown arguments in both finalize_command and compile_command need
 
1533
        # to be aesthetically quoted because they are evaled later.
 
1534
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
1535
        case $arg in
 
1536
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
 
1537
          arg="\"$arg\""
 
1538
          ;;
 
1539
        esac
 
1540
        ;;
 
1541
 
 
1542
      *.$objext)
 
1543
        # A standard object.
 
1544
        objs="$objs $arg"
 
1545
        ;;
 
1546
 
 
1547
      *.lo)
 
1548
        # A libtool-controlled object.
 
1549
 
 
1550
        # Check to see that this really is a libtool object.
 
1551
        if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
1552
          pic_object=
 
1553
          non_pic_object=
 
1554
 
 
1555
          # Read the .lo file
 
1556
          # If there is no directory component, then add one.
 
1557
          case $arg in
 
1558
          */* | *\\*) . $arg ;;
 
1559
          *) . ./$arg ;;
 
1560
          esac
 
1561
 
 
1562
          if test -z "$pic_object" || \
 
1563
             test -z "$non_pic_object" ||
 
1564
             test "$pic_object" = none && \
 
1565
             test "$non_pic_object" = none; then
 
1566
            $echo "$modename: cannot find name of object for \`$arg'" 1>&2
 
1567
            exit 1
 
1568
          fi
 
1569
 
 
1570
          # Extract subdirectory from the argument.
 
1571
          xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
 
1572
          if test "X$xdir" = "X$arg"; then
 
1573
            xdir=
 
1574
          else
 
1575
            xdir="$xdir/"
 
1576
          fi
 
1577
 
 
1578
          if test "$pic_object" != none; then
 
1579
            # Prepend the subdirectory the object is found in.
 
1580
            pic_object="$xdir$pic_object"
 
1581
 
 
1582
            if test "$prev" = dlfiles; then
 
1583
              if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
 
1584
                dlfiles="$dlfiles $pic_object"
 
1585
                prev=
 
1586
                continue
 
1587
              else
 
1588
                # If libtool objects are unsupported, then we need to preload.
 
1589
                prev=dlprefiles
 
1590
              fi
 
1591
            fi
 
1592
 
 
1593
            # CHECK ME:  I think I busted this.  -Ossama
 
1594
            if test "$prev" = dlprefiles; then
 
1595
              # Preload the old-style object.
 
1596
              dlprefiles="$dlprefiles $pic_object"
 
1597
              prev=
 
1598
            fi
 
1599
 
 
1600
            # A PIC object.
 
1601
            libobjs="$libobjs $pic_object"
 
1602
            arg="$pic_object"
 
1603
          fi
 
1604
 
 
1605
          # Non-PIC object.
 
1606
          if test "$non_pic_object" != none; then
 
1607
            # Prepend the subdirectory the object is found in.
 
1608
            non_pic_object="$xdir$non_pic_object"
 
1609
 
 
1610
            # A standard non-PIC object
 
1611
            non_pic_objects="$non_pic_objects $non_pic_object"
 
1612
            if test -z "$pic_object" || test "$pic_object" = none ; then
 
1613
              arg="$non_pic_object"
 
1614
            fi
 
1615
          fi
 
1616
        else
 
1617
          # Only an error if not doing a dry-run.
 
1618
          if test -z "$run"; then
 
1619
            $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
 
1620
            exit 1
 
1621
          else
 
1622
            # Dry-run case.
 
1623
 
 
1624
            # Extract subdirectory from the argument.
 
1625
            xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
 
1626
            if test "X$xdir" = "X$arg"; then
 
1627
              xdir=
 
1628
            else
 
1629
              xdir="$xdir/"
 
1630
            fi
 
1631
 
 
1632
            pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
 
1633
            non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
 
1634
            libobjs="$libobjs $pic_object"
 
1635
            non_pic_objects="$non_pic_objects $non_pic_object"
 
1636
          fi
 
1637
        fi
 
1638
        ;;
 
1639
 
 
1640
      *.$libext)
 
1641
        # An archive.
 
1642
        deplibs="$deplibs $arg"
 
1643
        old_deplibs="$old_deplibs $arg"
 
1644
        continue
 
1645
        ;;
 
1646
 
 
1647
      *.la)
 
1648
        # A libtool-controlled library.
 
1649
 
 
1650
        if test "$prev" = dlfiles; then
 
1651
          # This library was specified with -dlopen.
 
1652
          dlfiles="$dlfiles $arg"
 
1653
          prev=
 
1654
        elif test "$prev" = dlprefiles; then
 
1655
          # The library was specified with -dlpreopen.
 
1656
          dlprefiles="$dlprefiles $arg"
 
1657
          prev=
 
1658
        else
 
1659
          deplibs="$deplibs $arg"
 
1660
        fi
 
1661
        continue
 
1662
        ;;
 
1663
 
 
1664
      # Some other compiler argument.
 
1665
      *)
 
1666
        # Unknown arguments in both finalize_command and compile_command need
 
1667
        # to be aesthetically quoted because they are evaled later.
 
1668
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
1669
        case $arg in
 
1670
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
 
1671
          arg="\"$arg\""
 
1672
          ;;
 
1673
        esac
 
1674
        ;;
 
1675
      esac # arg
 
1676
 
 
1677
      # Now actually substitute the argument into the commands.
 
1678
      if test -n "$arg"; then
 
1679
        compile_command="$compile_command $arg"
 
1680
        finalize_command="$finalize_command $arg"
 
1681
      fi
 
1682
    done # argument parsing loop
 
1683
 
 
1684
    if test -n "$prev"; then
 
1685
      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
 
1686
      $echo "$help" 1>&2
 
1687
      exit 1
 
1688
    fi
 
1689
 
 
1690
    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
 
1691
      eval arg=\"$export_dynamic_flag_spec\"
 
1692
      compile_command="$compile_command $arg"
 
1693
      finalize_command="$finalize_command $arg"
 
1694
    fi
 
1695
 
 
1696
    oldlibs=
 
1697
    # calculate the name of the file, without its directory
 
1698
    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
 
1699
    libobjs_save="$libobjs"
 
1700
 
 
1701
    if test -n "$shlibpath_var"; then
 
1702
      # get the directories listed in $shlibpath_var
 
1703
      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
 
1704
    else
 
1705
      shlib_search_path=
 
1706
    fi
 
1707
    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
 
1708
    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 
1709
 
 
1710
    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
 
1711
    if test "X$output_objdir" = "X$output"; then
 
1712
      output_objdir="$objdir"
 
1713
    else
 
1714
      output_objdir="$output_objdir/$objdir"
 
1715
    fi
 
1716
    # Create the object directory.
 
1717
    if test ! -d "$output_objdir"; then
 
1718
      $show "$mkdir $output_objdir"
 
1719
      $run $mkdir $output_objdir
 
1720
      status=$?
 
1721
      if test "$status" -ne 0 && test ! -d "$output_objdir"; then
 
1722
        exit $status
 
1723
      fi
 
1724
    fi
 
1725
 
 
1726
    # Determine the type of output
 
1727
    case $output in
 
1728
    "")
 
1729
      $echo "$modename: you must specify an output file" 1>&2
 
1730
      $echo "$help" 1>&2
 
1731
      exit 1
 
1732
      ;;
 
1733
    *.$libext) linkmode=oldlib ;;
 
1734
    *.lo | *.$objext) linkmode=obj ;;
 
1735
    *.la) linkmode=lib ;;
 
1736
    *) linkmode=prog ;; # Anything else should be a program.
 
1737
    esac
 
1738
 
 
1739
    case $host in
 
1740
    *cygwin* | *mingw* | *pw32*)
 
1741
      # don't eliminate duplcations in $postdeps and $predeps
 
1742
      duplicate_compiler_generated_deps=yes
 
1743
      ;;
 
1744
    *)
 
1745
      duplicate_compiler_generated_deps=$duplicate_deps
 
1746
      ;;
 
1747
    esac
 
1748
    specialdeplibs=
 
1749
 
 
1750
    libs=
 
1751
    # Find all interdependent deplibs by searching for libraries
 
1752
    # that are linked more than once (e.g. -la -lb -la)
 
1753
    for deplib in $deplibs; do
 
1754
      if test "X$duplicate_deps" = "Xyes" ; then
 
1755
        case "$libs " in
 
1756
        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 
1757
        esac
 
1758
      fi
 
1759
      libs="$libs $deplib"
 
1760
    done
 
1761
 
 
1762
    if test "$linkmode" = lib; then
 
1763
      libs="$predeps $libs $compiler_lib_search_path $postdeps"
 
1764
 
 
1765
      # Compute libraries that are listed more than once in $predeps
 
1766
      # $postdeps and mark them as special (i.e., whose duplicates are
 
1767
      # not to be eliminated).
 
1768
      pre_post_deps=
 
1769
      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
 
1770
        for pre_post_dep in $predeps $postdeps; do
 
1771
          case "$pre_post_deps " in
 
1772
          *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
 
1773
          esac
 
1774
          pre_post_deps="$pre_post_deps $pre_post_dep"
 
1775
        done
 
1776
      fi
 
1777
      pre_post_deps=
 
1778
    fi
 
1779
 
 
1780
    deplibs=
 
1781
    newdependency_libs=
 
1782
    newlib_search_path=
 
1783
    need_relink=no # whether we're linking any uninstalled libtool libraries
 
1784
    notinst_deplibs= # not-installed libtool libraries
 
1785
    notinst_path= # paths that contain not-installed libtool libraries
 
1786
    case $linkmode in
 
1787
    lib)
 
1788
        passes="conv link"
 
1789
        for file in $dlfiles $dlprefiles; do
 
1790
          case $file in
 
1791
          *.la) ;;
 
1792
          *)
 
1793
            $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
 
1794
            exit 1
 
1795
            ;;
 
1796
          esac
 
1797
        done
 
1798
        ;;
 
1799
    prog)
 
1800
        compile_deplibs=
 
1801
        finalize_deplibs=
 
1802
        alldeplibs=no
 
1803
        newdlfiles=
 
1804
        newdlprefiles=
 
1805
        passes="conv scan dlopen dlpreopen link"
 
1806
        ;;
 
1807
    *)  passes="conv"
 
1808
        ;;
 
1809
    esac
 
1810
    for pass in $passes; do
 
1811
      if test "$linkmode,$pass" = "lib,link" ||
 
1812
         test "$linkmode,$pass" = "prog,scan"; then
 
1813
        libs="$deplibs"
 
1814
        deplibs=
 
1815
      fi
 
1816
      if test "$linkmode" = prog; then
 
1817
        case $pass in
 
1818
        dlopen) libs="$dlfiles" ;;
 
1819
        dlpreopen) libs="$dlprefiles" ;;
 
1820
        link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
 
1821
        esac
 
1822
      fi
 
1823
      if test "$pass" = dlopen; then
 
1824
        # Collect dlpreopened libraries
 
1825
        save_deplibs="$deplibs"
 
1826
        deplibs=
 
1827
      fi
 
1828
      for deplib in $libs; do
 
1829
        lib=
 
1830
        found=no
 
1831
        case $deplib in
 
1832
        -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
 
1833
          if test "$linkmode,$pass" = "prog,link"; then
 
1834
            compile_deplibs="$deplib $compile_deplibs"
 
1835
            finalize_deplibs="$deplib $finalize_deplibs"
 
1836
          else
 
1837
            deplibs="$deplib $deplibs"
 
1838
          fi
 
1839
          continue
 
1840
          ;;
 
1841
        -l*)
 
1842
          if test "$linkmode" != lib && test "$linkmode" != prog; then
 
1843
            $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
 
1844
            continue
 
1845
          fi
 
1846
          if test "$pass" = conv; then
 
1847
            deplibs="$deplib $deplibs"
 
1848
            continue
 
1849
          fi
 
1850
          name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
 
1851
          for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
 
1852
            for search_ext in .la $shrext .so .a; do
 
1853
              # Search the libtool library
 
1854
              lib="$searchdir/lib${name}${search_ext}"
 
1855
              if test -f "$lib"; then
 
1856
                if test "$search_ext" = ".la"; then
 
1857
                  found=yes
 
1858
                else
 
1859
                  found=no
 
1860
                fi
 
1861
                break 2
 
1862
              fi
 
1863
            done
 
1864
          done
 
1865
          if test "$found" != yes; then
 
1866
            # deplib doesn't seem to be a libtool library
 
1867
            if test "$linkmode,$pass" = "prog,link"; then
 
1868
              compile_deplibs="$deplib $compile_deplibs"
 
1869
              finalize_deplibs="$deplib $finalize_deplibs"
 
1870
            else
 
1871
              deplibs="$deplib $deplibs"
 
1872
              test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
 
1873
            fi
 
1874
            continue
 
1875
          else # deplib is a libtool library
 
1876
            # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
 
1877
            # We need to do some special things here, and not later.
 
1878
            if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 
1879
              case " $predeps $postdeps " in
 
1880
              *" $deplib "*)
 
1881
                if (${SED} -e '2q' $lib |
 
1882
                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
1883
                  library_names=
 
1884
                  old_library=
 
1885
                  case $lib in
 
1886
                  */* | *\\*) . $lib ;;
 
1887
                  *) . ./$lib ;;
 
1888
                  esac
 
1889
                  for l in $old_library $library_names; do
 
1890
                    ll="$l"
 
1891
                  done
 
1892
                  if test "X$ll" = "X$old_library" ; then # only static version available
 
1893
                    found=no
 
1894
                    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
 
1895
                    test "X$ladir" = "X$lib" && ladir="."
 
1896
                    lib=$ladir/$old_library
 
1897
                    if test "$linkmode,$pass" = "prog,link"; then
 
1898
                      compile_deplibs="$deplib $compile_deplibs"
 
1899
                      finalize_deplibs="$deplib $finalize_deplibs"
 
1900
                    else
 
1901
                      deplibs="$deplib $deplibs"
 
1902
                      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
 
1903
                    fi
 
1904
                    continue
 
1905
                  fi
 
1906
                fi
 
1907
                ;;
 
1908
              *) ;;
 
1909
              esac
 
1910
            fi
 
1911
          fi
 
1912
          ;; # -l
 
1913
        -L*)
 
1914
          case $linkmode in
 
1915
          lib)
 
1916
            deplibs="$deplib $deplibs"
 
1917
            test "$pass" = conv && continue
 
1918
            newdependency_libs="$deplib $newdependency_libs"
 
1919
            newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
 
1920
            ;;
 
1921
          prog)
 
1922
            if test "$pass" = conv; then
 
1923
              deplibs="$deplib $deplibs"
 
1924
              continue
 
1925
            fi
 
1926
            if test "$pass" = scan; then
 
1927
              deplibs="$deplib $deplibs"
 
1928
              newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
 
1929
            else
 
1930
              compile_deplibs="$deplib $compile_deplibs"
 
1931
              finalize_deplibs="$deplib $finalize_deplibs"
 
1932
            fi
 
1933
            ;;
 
1934
          *)
 
1935
            $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
 
1936
            ;;
 
1937
          esac # linkmode
 
1938
          continue
 
1939
          ;; # -L
 
1940
        -R*)
 
1941
          if test "$pass" = link; then
 
1942
            dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
 
1943
            # Make sure the xrpath contains only unique directories.
 
1944
            case "$xrpath " in
 
1945
            *" $dir "*) ;;
 
1946
            *) xrpath="$xrpath $dir" ;;
 
1947
            esac
 
1948
          fi
 
1949
          deplibs="$deplib $deplibs"
 
1950
          continue
 
1951
          ;;
 
1952
        *.la) lib="$deplib" ;;
 
1953
        *.$libext)
 
1954
          if test "$pass" = conv; then
 
1955
            deplibs="$deplib $deplibs"
 
1956
            continue
 
1957
          fi
 
1958
          case $linkmode in
 
1959
          lib)
 
1960
            if test "$deplibs_check_method" != pass_all; then
 
1961
              $echo
 
1962
              $echo "*** Warning: Trying to link with static lib archive $deplib."
 
1963
              $echo "*** I have the capability to make that library automatically link in when"
 
1964
              $echo "*** you link to this library.  But I can only do this if you have a"
 
1965
              $echo "*** shared version of the library, which you do not appear to have"
 
1966
              $echo "*** because the file extensions .$libext of this argument makes me believe"
 
1967
              $echo "*** that it is just a static archive that I should not used here."
 
1968
            else
 
1969
              $echo
 
1970
              $echo "*** Warning: Linking the shared library $output against the"
 
1971
              $echo "*** static library $deplib is not portable!"
 
1972
              deplibs="$deplib $deplibs"
 
1973
            fi
 
1974
            continue
 
1975
            ;;
 
1976
          prog)
 
1977
            if test "$pass" != link; then
 
1978
              deplibs="$deplib $deplibs"
 
1979
            else
 
1980
              compile_deplibs="$deplib $compile_deplibs"
 
1981
              finalize_deplibs="$deplib $finalize_deplibs"
 
1982
            fi
 
1983
            continue
 
1984
            ;;
 
1985
          esac # linkmode
 
1986
          ;; # *.$libext
 
1987
        *.lo | *.$objext)
 
1988
          if test "$pass" = conv; then
 
1989
            deplibs="$deplib $deplibs"
 
1990
          elif test "$linkmode" = prog; then
 
1991
            if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 
1992
              # If there is no dlopen support or we're linking statically,
 
1993
              # we need to preload.
 
1994
              newdlprefiles="$newdlprefiles $deplib"
 
1995
              compile_deplibs="$deplib $compile_deplibs"
 
1996
              finalize_deplibs="$deplib $finalize_deplibs"
 
1997
            else
 
1998
              newdlfiles="$newdlfiles $deplib"
 
1999
            fi
 
2000
          fi
 
2001
          continue
 
2002
          ;;
 
2003
        %DEPLIBS%)
 
2004
          alldeplibs=yes
 
2005
          continue
 
2006
          ;;
 
2007
        esac # case $deplib
 
2008
        if test "$found" = yes || test -f "$lib"; then :
 
2009
        else
 
2010
          $echo "$modename: cannot find the library \`$lib'" 1>&2
 
2011
          exit 1
 
2012
        fi
 
2013
 
 
2014
        # Check to see that this really is a libtool archive.
 
2015
        if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 
2016
        else
 
2017
          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 
2018
          exit 1
 
2019
        fi
 
2020
 
 
2021
        ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
 
2022
        test "X$ladir" = "X$lib" && ladir="."
 
2023
 
 
2024
        dlname=
 
2025
        dlopen=
 
2026
        dlpreopen=
 
2027
        libdir=
 
2028
        library_names=
 
2029
        old_library=
 
2030
        # If the library was installed with an old release of libtool,
 
2031
        # it will not redefine variables installed, or shouldnotlink
 
2032
        installed=yes
 
2033
        shouldnotlink=no
 
2034
 
 
2035
        # Read the .la file
 
2036
        case $lib in
 
2037
        */* | *\\*) . $lib ;;
 
2038
        *) . ./$lib ;;
 
2039
        esac
 
2040
 
 
2041
        if test "$linkmode,$pass" = "lib,link" ||
 
2042
           test "$linkmode,$pass" = "prog,scan" ||
 
2043
           { test "$linkmode" != prog && test "$linkmode" != lib; }; then
 
2044
          test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
 
2045
          test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
 
2046
        fi
 
2047
 
 
2048
        if test "$pass" = conv; then
 
2049
          # Only check for convenience libraries
 
2050
          deplibs="$lib $deplibs"
 
2051
          if test -z "$libdir"; then
 
2052
            if test -z "$old_library"; then
 
2053
              $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
 
2054
              exit 1
 
2055
            fi
 
2056
            # It is a libtool convenience library, so add in its objects.
 
2057
            convenience="$convenience $ladir/$objdir/$old_library"
 
2058
            old_convenience="$old_convenience $ladir/$objdir/$old_library"
 
2059
            tmp_libs=
 
2060
            for deplib in $dependency_libs; do
 
2061
              deplibs="$deplib $deplibs"
 
2062
              if test "X$duplicate_deps" = "Xyes" ; then
 
2063
                case "$tmp_libs " in
 
2064
                *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 
2065
                esac
 
2066
              fi
 
2067
              tmp_libs="$tmp_libs $deplib"
 
2068
            done
 
2069
          elif test "$linkmode" != prog && test "$linkmode" != lib; then
 
2070
            $echo "$modename: \`$lib' is not a convenience library" 1>&2
 
2071
            exit 1
 
2072
          fi
 
2073
          continue
 
2074
        fi # $pass = conv
 
2075
 
 
2076
    
 
2077
        # Get the name of the library we link against.
 
2078
        linklib=
 
2079
        for l in $old_library $library_names; do
 
2080
          linklib="$l"
 
2081
        done
 
2082
        if test -z "$linklib"; then
 
2083
          $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
 
2084
          exit 1
 
2085
        fi
 
2086
 
 
2087
        # This library was specified with -dlopen.
 
2088
        if test "$pass" = dlopen; then
 
2089
          if test -z "$libdir"; then
 
2090
            $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
 
2091
            exit 1
 
2092
          fi
 
2093
          if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 
2094
            # If there is no dlname, no dlopen support or we're linking
 
2095
            # statically, we need to preload.  We also need to preload any
 
2096
            # dependent libraries so libltdl's deplib preloader doesn't
 
2097
            # bomb out in the load deplibs phase.
 
2098
            dlprefiles="$dlprefiles $lib $dependency_libs"
 
2099
          else
 
2100
            newdlfiles="$newdlfiles $lib"
 
2101
          fi
 
2102
          continue
 
2103
        fi # $pass = dlopen
 
2104
 
 
2105
        # We need an absolute path.
 
2106
        case $ladir in
 
2107
        [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
 
2108
        *)
 
2109
          abs_ladir=`cd "$ladir" && pwd`
 
2110
          if test -z "$abs_ladir"; then
 
2111
            $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
 
2112
            $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
 
2113
            abs_ladir="$ladir"
 
2114
          fi
 
2115
          ;;
 
2116
        esac
 
2117
        laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
 
2118
 
 
2119
        # Find the relevant object directory and library name.
 
2120
        if test "X$installed" = Xyes; then
 
2121
          if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
 
2122
            $echo "$modename: warning: library \`$lib' was moved." 1>&2
 
2123
            dir="$ladir"
 
2124
            absdir="$abs_ladir"
 
2125
            libdir="$abs_ladir"
 
2126
          else
 
2127
            dir="$libdir"
 
2128
            absdir="$libdir"
 
2129
          fi
 
2130
        else
 
2131
          dir="$ladir/$objdir"
 
2132
          absdir="$abs_ladir/$objdir"
 
2133
          # Remove this search path later
 
2134
          notinst_path="$notinst_path $abs_ladir"
 
2135
        fi # $installed = yes
 
2136
        name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 
2137
 
 
2138
        # This library was specified with -dlpreopen.
 
2139
        if test "$pass" = dlpreopen; then
 
2140
          if test -z "$libdir"; then
 
2141
            $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
 
2142
            exit 1
 
2143
          fi
 
2144
          # Prefer using a static library (so that no silly _DYNAMIC symbols
 
2145
          # are required to link).
 
2146
          if test -n "$old_library"; then
 
2147
            newdlprefiles="$newdlprefiles $dir/$old_library"
 
2148
          # Otherwise, use the dlname, so that lt_dlopen finds it.
 
2149
          elif test -n "$dlname"; then
 
2150
            newdlprefiles="$newdlprefiles $dir/$dlname"
 
2151
          else
 
2152
            newdlprefiles="$newdlprefiles $dir/$linklib"
 
2153
          fi
 
2154
        fi # $pass = dlpreopen
 
2155
 
 
2156
        if test -z "$libdir"; then
 
2157
          # Link the convenience library
 
2158
          if test "$linkmode" = lib; then
 
2159
            deplibs="$dir/$old_library $deplibs"
 
2160
          elif test "$linkmode,$pass" = "prog,link"; then
 
2161
            compile_deplibs="$dir/$old_library $compile_deplibs"
 
2162
            finalize_deplibs="$dir/$old_library $finalize_deplibs"
 
2163
          else
 
2164
            deplibs="$lib $deplibs" # used for prog,scan pass
 
2165
          fi
 
2166
          continue
 
2167
        fi
 
2168
 
 
2169
    
 
2170
        if test "$linkmode" = prog && test "$pass" != link; then
 
2171
          newlib_search_path="$newlib_search_path $ladir"
 
2172
          deplibs="$lib $deplibs"
 
2173
 
 
2174
          linkalldeplibs=no
 
2175
          if test "$link_all_deplibs" != no || test -z "$library_names" ||
 
2176
             test "$build_libtool_libs" = no; then
 
2177
            linkalldeplibs=yes
 
2178
          fi
 
2179
 
 
2180
          tmp_libs=
 
2181
          for deplib in $dependency_libs; do
 
2182
            case $deplib in
 
2183
            -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
 
2184
            esac
 
2185
            # Need to link against all dependency_libs?
 
2186
            if test "$linkalldeplibs" = yes; then
 
2187
              deplibs="$deplib $deplibs"
 
2188
            else
 
2189
              # Need to hardcode shared library paths
 
2190
              # or/and link against static libraries
 
2191
              newdependency_libs="$deplib $newdependency_libs"
 
2192
            fi
 
2193
            if test "X$duplicate_deps" = "Xyes" ; then
 
2194
              case "$tmp_libs " in
 
2195
              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 
2196
              esac
 
2197
            fi
 
2198
            tmp_libs="$tmp_libs $deplib"
 
2199
          done # for deplib
 
2200
          continue
 
2201
        fi # $linkmode = prog...
 
2202
 
 
2203
        if test "$linkmode,$pass" = "prog,link"; then
 
2204
          if test -n "$library_names" &&
 
2205
             { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
 
2206
            # We need to hardcode the library path
 
2207
            if test -n "$shlibpath_var"; then
 
2208
              # Make sure the rpath contains only unique directories.
 
2209
              case "$temp_rpath " in
 
2210
              *" $dir "*) ;;
 
2211
              *" $absdir "*) ;;
 
2212
              *) temp_rpath="$temp_rpath $dir" ;;
 
2213
              esac
 
2214
            fi
 
2215
 
 
2216
            # Hardcode the library path.
 
2217
            # Skip directories that are in the system default run-time
 
2218
            # search path.
 
2219
            case " $sys_lib_dlsearch_path " in
 
2220
            *" $absdir "*) ;;
 
2221
            *)
 
2222
              case "$compile_rpath " in
 
2223
              *" $absdir "*) ;;
 
2224
              *) compile_rpath="$compile_rpath $absdir"
 
2225
              esac
 
2226
              ;;
 
2227
            esac
 
2228
            case " $sys_lib_dlsearch_path " in
 
2229
            *" $libdir "*) ;;
 
2230
            *)
 
2231
              case "$finalize_rpath " in
 
2232
              *" $libdir "*) ;;
 
2233
              *) finalize_rpath="$finalize_rpath $libdir"
 
2234
              esac
 
2235
              ;;
 
2236
            esac
 
2237
          fi # $linkmode,$pass = prog,link...
 
2238
 
 
2239
          if test "$alldeplibs" = yes &&
 
2240
             { test "$deplibs_check_method" = pass_all ||
 
2241
               { test "$build_libtool_libs" = yes &&
 
2242
                 test -n "$library_names"; }; }; then
 
2243
            # We only need to search for static libraries
 
2244
            continue
 
2245
          fi
 
2246
        fi
 
2247
 
 
2248
        link_static=no # Whether the deplib will be linked statically
 
2249
        if test -n "$library_names" &&
 
2250
           { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
 
2251
          if test "$installed" = no; then
 
2252
            notinst_deplibs="$notinst_deplibs $lib"
 
2253
            need_relink=yes
 
2254
          fi
 
2255
          # This is a shared library
 
2256
        
 
2257
      # Warn about portability, can't link against -module's on some systems (darwin)
 
2258
      if test "$shouldnotlink" = yes && test "$pass" = link ; then
 
2259
            $echo
 
2260
            if test "$linkmode" = prog; then
 
2261
              $echo "*** Warning: Linking the executable $output against the loadable module"
 
2262
            else
 
2263
              $echo "*** Warning: Linking the shared library $output against the loadable module"
 
2264
            fi
 
2265
            $echo "*** $linklib is not portable!"    
 
2266
      fi          
 
2267
          if test "$linkmode" = lib &&
 
2268
             test "$hardcode_into_libs" = yes; then
 
2269
            # Hardcode the library path.
 
2270
            # Skip directories that are in the system default run-time
 
2271
            # search path.
 
2272
            case " $sys_lib_dlsearch_path " in
 
2273
            *" $absdir "*) ;;
 
2274
            *)
 
2275
              case "$compile_rpath " in
 
2276
              *" $absdir "*) ;;
 
2277
              *) compile_rpath="$compile_rpath $absdir"
 
2278
              esac
 
2279
              ;;
 
2280
            esac
 
2281
            case " $sys_lib_dlsearch_path " in
 
2282
            *" $libdir "*) ;;
 
2283
            *)
 
2284
              case "$finalize_rpath " in
 
2285
              *" $libdir "*) ;;
 
2286
              *) finalize_rpath="$finalize_rpath $libdir"
 
2287
              esac
 
2288
              ;;
 
2289
            esac
 
2290
          fi
 
2291
 
 
2292
          if test -n "$old_archive_from_expsyms_cmds"; then
 
2293
            # figure out the soname
 
2294
            set dummy $library_names
 
2295
            realname="$2"
 
2296
            shift; shift
 
2297
            libname=`eval \\$echo \"$libname_spec\"`
 
2298
            # use dlname if we got it. it's perfectly good, no?
 
2299
            if test -n "$dlname"; then
 
2300
              soname="$dlname"
 
2301
            elif test -n "$soname_spec"; then
 
2302
              # bleh windows
 
2303
              case $host in
 
2304
              *cygwin* | mingw*)
 
2305
                major=`expr $current - $age`
 
2306
                versuffix="-$major"
 
2307
                ;;
 
2308
              esac
 
2309
              eval soname=\"$soname_spec\"
 
2310
            else
 
2311
              soname="$realname"
 
2312
            fi
 
2313
 
 
2314
            # Make a new name for the extract_expsyms_cmds to use
 
2315
            soroot="$soname"
 
2316
            soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
 
2317
            newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
 
2318
 
 
2319
            # If the library has no export list, then create one now
 
2320
            if test -f "$output_objdir/$soname-def"; then :
 
2321
            else
 
2322
              $show "extracting exported symbol list from \`$soname'"
 
2323
              save_ifs="$IFS"; IFS='~'
 
2324
              eval cmds=\"$extract_expsyms_cmds\"
 
2325
              for cmd in $cmds; do
 
2326
                IFS="$save_ifs"
 
2327
                $show "$cmd"
 
2328
                $run eval "$cmd" || exit $?
 
2329
              done
 
2330
              IFS="$save_ifs"
 
2331
            fi
 
2332
 
 
2333
            # Create $newlib
 
2334
            if test -f "$output_objdir/$newlib"; then :; else
 
2335
              $show "generating import library for \`$soname'"
 
2336
              save_ifs="$IFS"; IFS='~'
 
2337
              eval cmds=\"$old_archive_from_expsyms_cmds\"
 
2338
              for cmd in $cmds; do
 
2339
                IFS="$save_ifs"
 
2340
                $show "$cmd"
 
2341
                $run eval "$cmd" || exit $?
 
2342
              done
 
2343
              IFS="$save_ifs"
 
2344
            fi
 
2345
            # make sure the library variables are pointing to the new library
 
2346
            dir=$output_objdir
 
2347
            linklib=$newlib
 
2348
          fi # test -n "$old_archive_from_expsyms_cmds"
 
2349
 
 
2350
          if test "$linkmode" = prog || test "$mode" != relink; then
 
2351
            add_shlibpath=
 
2352
            add_dir=
 
2353
            add=
 
2354
            lib_linked=yes
 
2355
            case $hardcode_action in
 
2356
            immediate | unsupported)
 
2357
              if test "$hardcode_direct" = no; then
 
2358
                add="$dir/$linklib"
 
2359
                case $host in
 
2360
                  *-*-sco3.2v5* ) add_dir="-L$dir" ;;
 
2361
                  *-*-darwin* )
 
2362
                    # if the lib is a module then we can not link against it, someone
 
2363
                    # is ignoring the new warnings I added
 
2364
                    if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then
 
2365
                      $echo "** Warning, lib $linklib is a module, not a shared library"
 
2366
                      if test -z "$old_library" ; then
 
2367
                        $echo
 
2368
                        $echo "** And there doesn't seem to be a static archive available"
 
2369
                        $echo "** The link will probably fail, sorry"
 
2370
                      else
 
2371
                        add="$dir/$old_library"
 
2372
                      fi 
 
2373
                    fi
 
2374
                esac
 
2375
              elif test "$hardcode_minus_L" = no; then
 
2376
                case $host in
 
2377
                *-*-sunos*) add_shlibpath="$dir" ;;
 
2378
                esac
 
2379
                add_dir="-L$dir"
 
2380
                add="-l$name"
 
2381
              elif test "$hardcode_shlibpath_var" = no; then
 
2382
                add_shlibpath="$dir"
 
2383
                add="-l$name"
 
2384
              else
 
2385
                lib_linked=no
 
2386
              fi
 
2387
              ;;
 
2388
            relink)
 
2389
              if test "$hardcode_direct" = yes; then
 
2390
                add="$dir/$linklib"
 
2391
              elif test "$hardcode_minus_L" = yes; then
 
2392
                add_dir="-L$dir"
 
2393
                # Try looking first in the location we're being installed to.
 
2394
                if test -n "$inst_prefix_dir"; then
 
2395
                  case "$libdir" in
 
2396
                    [\\/]*)
 
2397
                      add_dir="$add_dir -L$inst_prefix_dir$libdir"
 
2398
                      ;;
 
2399
                  esac
 
2400
                fi
 
2401
                add="-l$name"
 
2402
              elif test "$hardcode_shlibpath_var" = yes; then
 
2403
                add_shlibpath="$dir"
 
2404
                add="-l$name"
 
2405
              else
 
2406
                lib_linked=no
 
2407
              fi
 
2408
              ;;
 
2409
            *) lib_linked=no ;;
 
2410
            esac
 
2411
 
 
2412
            if test "$lib_linked" != yes; then
 
2413
              $echo "$modename: configuration error: unsupported hardcode properties"
 
2414
              exit 1
 
2415
            fi
 
2416
 
 
2417
            if test -n "$add_shlibpath"; then
 
2418
              case :$compile_shlibpath: in
 
2419
              *":$add_shlibpath:"*) ;;
 
2420
              *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
 
2421
              esac
 
2422
            fi
 
2423
            if test "$linkmode" = prog; then
 
2424
              test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
 
2425
              test -n "$add" && compile_deplibs="$add $compile_deplibs"
 
2426
            else
 
2427
              test -n "$add_dir" && deplibs="$add_dir $deplibs"
 
2428
              test -n "$add" && deplibs="$add $deplibs"
 
2429
              if test "$hardcode_direct" != yes && \
 
2430
                 test "$hardcode_minus_L" != yes && \
 
2431
                 test "$hardcode_shlibpath_var" = yes; then
 
2432
                case :$finalize_shlibpath: in
 
2433
                *":$libdir:"*) ;;
 
2434
                *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
 
2435
                esac
 
2436
              fi
 
2437
            fi
 
2438
          fi
 
2439
 
 
2440
          if test "$linkmode" = prog || test "$mode" = relink; then
 
2441
            add_shlibpath=
 
2442
            add_dir=
 
2443
            add=
 
2444
            # Finalize command for both is simple: just hardcode it.
 
2445
            if test "$hardcode_direct" = yes; then
 
2446
              add="$libdir/$linklib"
 
2447
            elif test "$hardcode_minus_L" = yes; then
 
2448
              add_dir="-L$libdir"
 
2449
              add="-l$name"
 
2450
            elif test "$hardcode_shlibpath_var" = yes; then
 
2451
              case :$finalize_shlibpath: in
 
2452
              *":$libdir:"*) ;;
 
2453
              *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
 
2454
              esac
 
2455
              add="-l$name"
 
2456
            elif test "$hardcode_automatic" = yes; then
 
2457
              if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then
 
2458
                add="$inst_prefix_dir$libdir/$linklib"
 
2459
              else
 
2460
                add="$libdir/$linklib"
 
2461
              fi
 
2462
            else
 
2463
              # We cannot seem to hardcode it, guess we'll fake it.
 
2464
              add_dir="-L$libdir"
 
2465
              # Try looking first in the location we're being installed to.
 
2466
              if test -n "$inst_prefix_dir"; then
 
2467
                case "$libdir" in
 
2468
                  [\\/]*)
 
2469
                    add_dir="$add_dir -L$inst_prefix_dir$libdir"
 
2470
                    ;;
 
2471
                esac
 
2472
              fi
 
2473
              add="-l$name"
 
2474
            fi
 
2475
 
 
2476
            if test "$linkmode" = prog; then
 
2477
              test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
 
2478
              test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
 
2479
            else
 
2480
              test -n "$add_dir" && deplibs="$add_dir $deplibs"
 
2481
              test -n "$add" && deplibs="$add $deplibs"
 
2482
            fi
 
2483
          fi
 
2484
        elif test "$linkmode" = prog; then
 
2485
          # Here we assume that one of hardcode_direct or hardcode_minus_L
 
2486
          # is not unsupported.  This is valid on all known static and
 
2487
          # shared platforms.
 
2488
          if test "$hardcode_direct" != unsupported; then
 
2489
            test -n "$old_library" && linklib="$old_library"
 
2490
            compile_deplibs="$dir/$linklib $compile_deplibs"
 
2491
            finalize_deplibs="$dir/$linklib $finalize_deplibs"
 
2492
          else
 
2493
            compile_deplibs="-l$name -L$dir $compile_deplibs"
 
2494
            finalize_deplibs="-l$name -L$dir $finalize_deplibs"
 
2495
          fi
 
2496
        elif test "$build_libtool_libs" = yes; then
 
2497
          # Not a shared library
 
2498
          if test "$deplibs_check_method" != pass_all; then
 
2499
            # We're trying link a shared library against a static one
 
2500
            # but the system doesn't support it.
 
2501
 
 
2502
            # Just print a warning and add the library to dependency_libs so
 
2503
            # that the program can be linked against the static library.
 
2504
            $echo
 
2505
            $echo "*** Warning: This system can not link to static lib archive $lib."
 
2506
            $echo "*** I have the capability to make that library automatically link in when"
 
2507
            $echo "*** you link to this library.  But I can only do this if you have a"
 
2508
            $echo "*** shared version of the library, which you do not appear to have."
 
2509
            if test "$module" = yes; then
 
2510
              $echo "*** But as you try to build a module library, libtool will still create "
 
2511
              $echo "*** a static module, that should work as long as the dlopening application"
 
2512
              $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
 
2513
              if test -z "$global_symbol_pipe"; then
 
2514
                $echo
 
2515
                $echo "*** However, this would only work if libtool was able to extract symbol"
 
2516
                $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
 
2517
                $echo "*** not find such a program.  So, this module is probably useless."
 
2518
                $echo "*** \`nm' from GNU binutils and a full rebuild may help."
 
2519
              fi
 
2520
              if test "$build_old_libs" = no; then
 
2521
                build_libtool_libs=module
 
2522
                build_old_libs=yes
 
2523
              else
 
2524
                build_libtool_libs=no
 
2525
              fi
 
2526
            fi
 
2527
          else
 
2528
            convenience="$convenience $dir/$old_library"
 
2529
            old_convenience="$old_convenience $dir/$old_library"
 
2530
            deplibs="$dir/$old_library $deplibs"
 
2531
            link_static=yes
 
2532
          fi
 
2533
        fi # link shared/static library?
 
2534
 
 
2535
        if test "$linkmode" = lib; then
 
2536
          if test -n "$dependency_libs" &&
 
2537
             { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes ||
 
2538
               test "$link_static" = yes; }; then
 
2539
            # Extract -R from dependency_libs
 
2540
            temp_deplibs=
 
2541
            for libdir in $dependency_libs; do
 
2542
              case $libdir in
 
2543
              -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
 
2544
                   case " $xrpath " in
 
2545
                   *" $temp_xrpath "*) ;;
 
2546
                   *) xrpath="$xrpath $temp_xrpath";;
 
2547
                   esac;;
 
2548
              *) temp_deplibs="$temp_deplibs $libdir";;
 
2549
              esac
 
2550
            done
 
2551
            dependency_libs="$temp_deplibs"
 
2552
          fi
 
2553
 
 
2554
          newlib_search_path="$newlib_search_path $absdir"
 
2555
          # Link against this library
 
2556
          test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
 
2557
          # ... and its dependency_libs
 
2558
          tmp_libs=
 
2559
          for deplib in $dependency_libs; do
 
2560
            newdependency_libs="$deplib $newdependency_libs"
 
2561
            if test "X$duplicate_deps" = "Xyes" ; then
 
2562
              case "$tmp_libs " in
 
2563
              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 
2564
              esac
 
2565
            fi
 
2566
            tmp_libs="$tmp_libs $deplib"
 
2567
          done
 
2568
 
 
2569
          if test "$link_all_deplibs" != no; then
 
2570
            # Add the search paths of all dependency libraries
 
2571
            for deplib in $dependency_libs; do
 
2572
              case $deplib in
 
2573
              -L*) path="$deplib" ;;
 
2574
              *.la)
 
2575
                dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
 
2576
                test "X$dir" = "X$deplib" && dir="."
 
2577
                # We need an absolute path.
 
2578
                case $dir in
 
2579
                [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
 
2580
                *)
 
2581
                  absdir=`cd "$dir" && pwd`
 
2582
                  if test -z "$absdir"; then
 
2583
                    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
 
2584
                    absdir="$dir"
 
2585
                  fi
 
2586
                  ;;
 
2587
                esac
 
2588
                if grep "^installed=no" $deplib > /dev/null; then
 
2589
                  path="$absdir/$objdir"
 
2590
                else
 
2591
                  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 
2592
                  if test -z "$libdir"; then
 
2593
                    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
 
2594
                    exit 1
 
2595
                  fi
 
2596
                  if test "$absdir" != "$libdir"; then
 
2597
                    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
 
2598
                  fi
 
2599
                  path="$absdir"
 
2600
                fi
 
2601
                depdepl=
 
2602
                case $host in
 
2603
                *-*-darwin*)
 
2604
                  # we do not want to link against static libs, but need to link against shared
 
2605
                  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
 
2606
                  if test -n "$deplibrary_names" ; then
 
2607
                    for tmp in $deplibrary_names ; do
 
2608
                      depdepl=$tmp
 
2609
                    done
 
2610
                    if test -f "$path/$depdepl" ; then
 
2611
                      depdepl="$path/$depdepl"
 
2612
                   fi
 
2613
                    # do not add paths which are already there
 
2614
                    case " $newlib_search_path " in
 
2615
                    *" $path "*) ;;
 
2616
                    *) newlib_search_path="$newlib_search_path $path";;
 
2617
                    esac
 
2618
                    path=""
 
2619
                  fi
 
2620
                  ;;
 
2621
                *)
 
2622
                path="-L$path"
 
2623
                ;;
 
2624
                esac 
 
2625
                
 
2626
                ;;
 
2627
                  -l*)
 
2628
                case $host in
 
2629
                *-*-darwin*)
 
2630
                 # Again, we only want to link against shared libraries
 
2631
                 eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
 
2632
                 for tmp in $newlib_search_path ; do
 
2633
                     if test -f "$tmp/lib$tmp_libs.dylib" ; then
 
2634
                       eval depdepl="$tmp/lib$tmp_libs.dylib"
 
2635
                       break
 
2636
                     fi  
 
2637
         done
 
2638
         path=""
 
2639
                  ;;
 
2640
                *) continue ;;
 
2641
                esac              
 
2642
                ;;
 
2643
              *) continue ;;
 
2644
              esac
 
2645
              case " $deplibs " in
 
2646
              *" $depdepl "*) ;;
 
2647
              *) deplibs="$deplibs $depdepl" ;;
 
2648
              esac            
 
2649
              case " $deplibs " in
 
2650
              *" $path "*) ;;
 
2651
              *) deplibs="$deplibs $path" ;;
 
2652
              esac
 
2653
            done
 
2654
          fi # link_all_deplibs != no
 
2655
        fi # linkmode = lib
 
2656
      done # for deplib in $libs
 
2657
      dependency_libs="$newdependency_libs"
 
2658
      if test "$pass" = dlpreopen; then
 
2659
        # Link the dlpreopened libraries before other libraries
 
2660
        for deplib in $save_deplibs; do
 
2661
          deplibs="$deplib $deplibs"
 
2662
        done
 
2663
      fi
 
2664
      if test "$pass" != dlopen; then
 
2665
        if test "$pass" != conv; then
 
2666
          # Make sure lib_search_path contains only unique directories.
 
2667
          lib_search_path=
 
2668
          for dir in $newlib_search_path; do
 
2669
            case "$lib_search_path " in
 
2670
            *" $dir "*) ;;
 
2671
            *) lib_search_path="$lib_search_path $dir" ;;
 
2672
            esac
 
2673
          done
 
2674
          newlib_search_path=
 
2675
        fi
 
2676
 
 
2677
        if test "$linkmode,$pass" != "prog,link"; then
 
2678
          vars="deplibs"
 
2679
        else
 
2680
          vars="compile_deplibs finalize_deplibs"
 
2681
        fi
 
2682
        for var in $vars dependency_libs; do
 
2683
          # Add libraries to $var in reverse order
 
2684
          eval tmp_libs=\"\$$var\"
 
2685
          new_libs=
 
2686
          for deplib in $tmp_libs; do
 
2687
            # FIXME: Pedantically, this is the right thing to do, so
 
2688
            #        that some nasty dependency loop isn't accidentally
 
2689
            #        broken:
 
2690
            #new_libs="$deplib $new_libs"
 
2691
            # Pragmatically, this seems to cause very few problems in
 
2692
            # practice:
 
2693
            case $deplib in
 
2694
            -L*) new_libs="$deplib $new_libs" ;;
 
2695
            -R*) ;;
 
2696
            *)
 
2697
              # And here is the reason: when a library appears more
 
2698
              # than once as an explicit dependence of a library, or
 
2699
              # is implicitly linked in more than once by the
 
2700
              # compiler, it is considered special, and multiple
 
2701
              # occurrences thereof are not removed.  Compare this
 
2702
              # with having the same library being listed as a
 
2703
              # dependency of multiple other libraries: in this case,
 
2704
              # we know (pedantically, we assume) the library does not
 
2705
              # need to be listed more than once, so we keep only the
 
2706
              # last copy.  This is not always right, but it is rare
 
2707
              # enough that we require users that really mean to play
 
2708
              # such unportable linking tricks to link the library
 
2709
              # using -Wl,-lname, so that libtool does not consider it
 
2710
              # for duplicate removal.
 
2711
              case " $specialdeplibs " in
 
2712
              *" $deplib "*) new_libs="$deplib $new_libs" ;;
 
2713
              *)
 
2714
                case " $new_libs " in
 
2715
                *" $deplib "*) ;;
 
2716
                *) new_libs="$deplib $new_libs" ;;
 
2717
                esac
 
2718
                ;;
 
2719
              esac
 
2720
              ;;
 
2721
            esac
 
2722
          done
 
2723
          tmp_libs=
 
2724
          for deplib in $new_libs; do
 
2725
            case $deplib in
 
2726
            -L*)
 
2727
              case " $tmp_libs " in
 
2728
              *" $deplib "*) ;;
 
2729
              *) tmp_libs="$tmp_libs $deplib" ;;
 
2730
              esac
 
2731
              ;;
 
2732
            *) tmp_libs="$tmp_libs $deplib" ;;
 
2733
            esac
 
2734
          done
 
2735
          eval $var=\"$tmp_libs\"
 
2736
        done # for var
 
2737
      fi
 
2738
      # Last step: remove runtime libs from dependency_libs (they stay in deplibs)
 
2739
      tmp_libs=
 
2740
      for i in $dependency_libs ; do
 
2741
        case " $predeps $postdeps $compiler_lib_search_path " in
 
2742
        *" $i "*)
 
2743
          i=""
 
2744
          ;;
 
2745
        esac
 
2746
        if test -n "$i" ; then
 
2747
          tmp_libs="$tmp_libs $i"
 
2748
        fi
 
2749
      done
 
2750
      dependency_libs=$tmp_libs
 
2751
    done # for pass
 
2752
    if test "$linkmode" = prog; then
 
2753
      dlfiles="$newdlfiles"
 
2754
      dlprefiles="$newdlprefiles"
 
2755
    fi
 
2756
 
 
2757
    case $linkmode in
 
2758
    oldlib)
 
2759
      if test -n "$deplibs"; then
 
2760
        $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
 
2761
      fi
 
2762
 
 
2763
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 
2764
        $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
 
2765
      fi
 
2766
 
 
2767
      if test -n "$rpath"; then
 
2768
        $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
 
2769
      fi
 
2770
 
 
2771
      if test -n "$xrpath"; then
 
2772
        $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
 
2773
      fi
 
2774
 
 
2775
      if test -n "$vinfo"; then
 
2776
        $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
 
2777
      fi
 
2778
 
 
2779
      if test -n "$release"; then
 
2780
        $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
 
2781
      fi
 
2782
 
 
2783
      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
 
2784
        $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
 
2785
      fi
 
2786
 
 
2787
      # Now set the variables for building old libraries.
 
2788
      build_libtool_libs=no
 
2789
      oldlibs="$output"
 
2790
      objs="$objs$old_deplibs"
 
2791
      ;;
 
2792
 
 
2793
    lib)
 
2794
      # Make sure we only generate libraries of the form `libNAME.la'.
 
2795
      case $outputname in
 
2796
      lib*)
 
2797
        name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 
2798
        eval shared_ext=\"$shrext\"
 
2799
        eval libname=\"$libname_spec\"
 
2800
        ;;
 
2801
      *)
 
2802
        if test "$module" = no; then
 
2803
          $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
 
2804
          $echo "$help" 1>&2
 
2805
          exit 1
 
2806
        fi
 
2807
        if test "$need_lib_prefix" != no; then
 
2808
          # Add the "lib" prefix for modules if required
 
2809
          name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
 
2810
          eval shared_ext=\"$shrext\"
 
2811
          eval libname=\"$libname_spec\"
 
2812
        else
 
2813
          libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
 
2814
        fi
 
2815
        ;;
 
2816
      esac
 
2817
 
 
2818
      if test -n "$objs"; then
 
2819
        if test "$deplibs_check_method" != pass_all; then
 
2820
          $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
 
2821
          exit 1
 
2822
        else
 
2823
          $echo
 
2824
          $echo "*** Warning: Linking the shared library $output against the non-libtool"
 
2825
          $echo "*** objects $objs is not portable!"
 
2826
          libobjs="$libobjs $objs"
 
2827
        fi
 
2828
      fi
 
2829
 
 
2830
      if test "$dlself" != no; then
 
2831
        $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
 
2832
      fi
 
2833
 
 
2834
      set dummy $rpath
 
2835
      if test "$#" -gt 2; then
 
2836
        $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
 
2837
      fi
 
2838
      install_libdir="$2"
 
2839
 
 
2840
      oldlibs=
 
2841
      if test -z "$rpath"; then
 
2842
        if test "$build_libtool_libs" = yes; then
 
2843
          # Building a libtool convenience library.
 
2844
          # Some compilers have problems with a `.al' extension so
 
2845
          # convenience libraries should have the same extension an
 
2846
          # archive normally would.
 
2847
          oldlibs="$output_objdir/$libname.$libext $oldlibs"
 
2848
          build_libtool_libs=convenience
 
2849
          build_old_libs=yes
 
2850
        fi
 
2851
 
 
2852
        if test -n "$vinfo"; then
 
2853
          $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
 
2854
        fi
 
2855
 
 
2856
        if test -n "$release"; then
 
2857
          $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
 
2858
        fi
 
2859
      else
 
2860
 
 
2861
        # Parse the version information argument.
 
2862
        save_ifs="$IFS"; IFS=':'
 
2863
        set dummy $vinfo 0 0 0
 
2864
        IFS="$save_ifs"
 
2865
 
 
2866
        if test -n "$8"; then
 
2867
          $echo "$modename: too many parameters to \`-version-info'" 1>&2
 
2868
          $echo "$help" 1>&2
 
2869
          exit 1
 
2870
        fi
 
2871
 
 
2872
        # convert absolute version numbers to libtool ages
 
2873
        # this retains compatibility with .la files and attempts
 
2874
        # to make the code below a bit more comprehensible
 
2875
        
 
2876
        case $vinfo_number in
 
2877
        yes)
 
2878
          number_major="$2"
 
2879
          number_minor="$3"
 
2880
          number_revision="$4"
 
2881
          #
 
2882
          # There are really only two kinds -- those that
 
2883
          # use the current revision as the major version
 
2884
          # and those that subtract age and use age as
 
2885
          # a minor version.  But, then there is irix
 
2886
          # which has an extra 1 added just for fun
 
2887
          #
 
2888
          case $version_type in
 
2889
          darwin|linux|osf|windows)
 
2890
            current=`expr $number_major + $number_minor`
 
2891
            age="$number_minor"
 
2892
            revision="$number_revision"
 
2893
            ;;
 
2894
          freebsd-aout|freebsd-elf|sunos)
 
2895
            current="$number_major"
 
2896
            revision="$number_minor"
 
2897
            age="0"
 
2898
            ;;
 
2899
          irix|nonstopux)
 
2900
            current=`expr $number_major + $number_minor - 1`
 
2901
            age="$number_minor"
 
2902
            revision="$number_minor"
 
2903
            ;;
 
2904
          esac
 
2905
          ;;
 
2906
        no)
 
2907
          current="$2"
 
2908
          revision="$3"
 
2909
          age="$4"
 
2910
          ;;
 
2911
        esac
 
2912
 
 
2913
        # Check that each of the things are valid numbers.
 
2914
        case $current in
 
2915
        0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
 
2916
        *)
 
2917
          $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
 
2918
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
2919
          exit 1
 
2920
          ;;
 
2921
        esac
 
2922
 
 
2923
        case $revision in
 
2924
        0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
 
2925
        *)
 
2926
          $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
 
2927
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
2928
          exit 1
 
2929
          ;;
 
2930
        esac
 
2931
 
 
2932
        case $age in
 
2933
        0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
 
2934
        *)
 
2935
          $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
 
2936
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
2937
          exit 1
 
2938
          ;;
 
2939
        esac
 
2940
 
 
2941
        if test "$age" -gt "$current"; then
 
2942
          $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
 
2943
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
2944
          exit 1
 
2945
        fi
 
2946
 
 
2947
        # Calculate the version variables.
 
2948
        major=
 
2949
        versuffix=
 
2950
        verstring=
 
2951
        case $version_type in
 
2952
        none) ;;
 
2953
 
 
2954
        darwin)
 
2955
          # Like Linux, but with the current version available in
 
2956
          # verstring for coding it into the library header
 
2957
          major=.`expr $current - $age`
 
2958
          versuffix="$major.$age.$revision"
 
2959
          # Darwin ld doesn't like 0 for these options...
 
2960
          minor_current=`expr $current + 1`
 
2961
          verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
 
2962
          ;;
 
2963
 
 
2964
        freebsd-aout)
 
2965
          major=".$current"
 
2966
          versuffix=".$current.$revision";
 
2967
          ;;
 
2968
 
 
2969
        freebsd-elf)
 
2970
          major=".$current"
 
2971
          versuffix=".$current";
 
2972
          ;;
 
2973
 
 
2974
        irix | nonstopux)
 
2975
          major=`expr $current - $age + 1`
 
2976
 
 
2977
          case $version_type in
 
2978
            nonstopux) verstring_prefix=nonstopux ;;
 
2979
            *)         verstring_prefix=sgi ;;
 
2980
          esac
 
2981
          verstring="$verstring_prefix$major.$revision"
 
2982
 
 
2983
          # Add in all the interfaces that we are compatible with.
 
2984
          loop=$revision
 
2985
          while test "$loop" -ne 0; do
 
2986
            iface=`expr $revision - $loop`
 
2987
            loop=`expr $loop - 1`
 
2988
            verstring="$verstring_prefix$major.$iface:$verstring"
 
2989
          done
 
2990
 
 
2991
          # Before this point, $major must not contain `.'.
 
2992
          major=.$major
 
2993
          versuffix="$major.$revision"
 
2994
          ;;
 
2995
 
 
2996
        linux)
 
2997
          major=.`expr $current - $age`
 
2998
          versuffix="$major.$age.$revision"
 
2999
          ;;
 
3000
 
 
3001
        osf)
 
3002
          major=.`expr $current - $age`
 
3003
          versuffix=".$current.$age.$revision"
 
3004
          verstring="$current.$age.$revision"
 
3005
 
 
3006
          # Add in all the interfaces that we are compatible with.
 
3007
          loop=$age
 
3008
          while test "$loop" -ne 0; do
 
3009
            iface=`expr $current - $loop`
 
3010
            loop=`expr $loop - 1`
 
3011
            verstring="$verstring:${iface}.0"
 
3012
          done
 
3013
 
 
3014
          # Make executables depend on our current version.
 
3015
          verstring="$verstring:${current}.0"
 
3016
          ;;
 
3017
 
 
3018
        sunos)
 
3019
          major=".$current"
 
3020
          versuffix=".$current.$revision"
 
3021
          ;;
 
3022
 
 
3023
        windows)
 
3024
          # Use '-' rather than '.', since we only want one
 
3025
          # extension on DOS 8.3 filesystems.
 
3026
          major=`expr $current - $age`
 
3027
          versuffix="-$major"
 
3028
          ;;
 
3029
 
 
3030
        *)
 
3031
          $echo "$modename: unknown library version type \`$version_type'" 1>&2
 
3032
          $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
 
3033
          exit 1
 
3034
          ;;
 
3035
        esac
 
3036
 
 
3037
        # Clear the version info if we defaulted, and they specified a release.
 
3038
        if test -z "$vinfo" && test -n "$release"; then
 
3039
          major=
 
3040
          case $version_type in
 
3041
          darwin)
 
3042
            # we can't check for "0.0" in archive_cmds due to quoting
 
3043
            # problems, so we reset it completely
 
3044
            verstring=
 
3045
            ;;
 
3046
          *)
 
3047
            verstring="0.0"
 
3048
            ;;
 
3049
          esac
 
3050
          if test "$need_version" = no; then
 
3051
            versuffix=
 
3052
          else
 
3053
            versuffix=".0.0"
 
3054
          fi
 
3055
        fi
 
3056
 
 
3057
        # Remove version info from name if versioning should be avoided
 
3058
        if test "$avoid_version" = yes && test "$need_version" = no; then
 
3059
          major=
 
3060
          versuffix=
 
3061
          verstring=""
 
3062
        fi
 
3063
 
 
3064
        # Check to see if the archive will have undefined symbols.
 
3065
        if test "$allow_undefined" = yes; then
 
3066
          if test "$allow_undefined_flag" = unsupported; then
 
3067
            $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
 
3068
            build_libtool_libs=no
 
3069
            build_old_libs=yes
 
3070
          fi
 
3071
        else
 
3072
          # Don't allow undefined symbols.
 
3073
          allow_undefined_flag="$no_undefined_flag"
 
3074
        fi
 
3075
      fi
 
3076
 
 
3077
      if test "$mode" != relink; then
 
3078
        # Remove our outputs, but don't remove object files since they
 
3079
        # may have been created when compiling PIC objects.
 
3080
        removelist=
 
3081
        tempremovelist=`$echo "$output_objdir/*"`
 
3082
        for p in $tempremovelist; do
 
3083
          case $p in
 
3084
            *.$objext)
 
3085
               ;;
 
3086
            $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
 
3087
               removelist="$removelist $p"
 
3088
               ;;
 
3089
            *) ;;
 
3090
          esac
 
3091
        done
 
3092
        if test -n "$removelist"; then
 
3093
          $show "${rm}r $removelist"
 
3094
          $run ${rm}r $removelist
 
3095
        fi
 
3096
      fi
 
3097
 
 
3098
      # Now set the variables for building old libraries.
 
3099
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
 
3100
        oldlibs="$oldlibs $output_objdir/$libname.$libext"
 
3101
 
 
3102
        # Transform .lo files to .o files.
 
3103
        oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
 
3104
      fi
 
3105
 
 
3106
      # Eliminate all temporary directories.
 
3107
      for path in $notinst_path; do
 
3108
        lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
 
3109
        deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
 
3110
        dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
 
3111
      done
 
3112
 
 
3113
      if test -n "$xrpath"; then
 
3114
        # If the user specified any rpath flags, then add them.
 
3115
        temp_xrpath=
 
3116
        for libdir in $xrpath; do
 
3117
          temp_xrpath="$temp_xrpath -R$libdir"
 
3118
          case "$finalize_rpath " in
 
3119
          *" $libdir "*) ;;
 
3120
          *) finalize_rpath="$finalize_rpath $libdir" ;;
 
3121
          esac
 
3122
        done
 
3123
        if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
 
3124
          dependency_libs="$temp_xrpath $dependency_libs"
 
3125
        fi
 
3126
      fi
 
3127
 
 
3128
      # Make sure dlfiles contains only unique files that won't be dlpreopened
 
3129
      old_dlfiles="$dlfiles"
 
3130
      dlfiles=
 
3131
      for lib in $old_dlfiles; do
 
3132
        case " $dlprefiles $dlfiles " in
 
3133
        *" $lib "*) ;;
 
3134
        *) dlfiles="$dlfiles $lib" ;;
 
3135
        esac
 
3136
      done
 
3137
 
 
3138
      # Make sure dlprefiles contains only unique files
 
3139
      old_dlprefiles="$dlprefiles"
 
3140
      dlprefiles=
 
3141
      for lib in $old_dlprefiles; do
 
3142
        case "$dlprefiles " in
 
3143
        *" $lib "*) ;;
 
3144
        *) dlprefiles="$dlprefiles $lib" ;;
 
3145
        esac
 
3146
      done
 
3147
 
 
3148
      if test "$build_libtool_libs" = yes; then
 
3149
        if test -n "$rpath"; then
 
3150
          case $host in
 
3151
          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
 
3152
            # these systems don't actually have a c library (as such)!
 
3153
            ;;
 
3154
          *-*-rhapsody* | *-*-darwin1.[012])
 
3155
            # Rhapsody C library is in the System framework
 
3156
            deplibs="$deplibs -framework System"
 
3157
            ;;
 
3158
          *-*-netbsd*)
 
3159
            # Don't link with libc until the a.out ld.so is fixed.
 
3160
            ;;
 
3161
          *-*-openbsd* | *-*-freebsd*)
 
3162
            # Do not include libc due to us having libc/libc_r.
 
3163
            test "X$arg" = "X-lc" && continue
 
3164
            ;;
 
3165
          *)
 
3166
            # Add libc to deplibs on all other systems if necessary.
 
3167
            if test "$build_libtool_need_lc" = "yes"; then
 
3168
              deplibs="$deplibs -lc"
 
3169
            fi
 
3170
            ;;
 
3171
          esac
 
3172
        fi
 
3173
 
 
3174
        # Transform deplibs into only deplibs that can be linked in shared.
 
3175
        name_save=$name
 
3176
        libname_save=$libname
 
3177
        release_save=$release
 
3178
        versuffix_save=$versuffix
 
3179
        major_save=$major
 
3180
        # I'm not sure if I'm treating the release correctly.  I think
 
3181
        # release should show up in the -l (ie -lgmp5) so we don't want to
 
3182
        # add it in twice.  Is that correct?
 
3183
        release=""
 
3184
        versuffix=""
 
3185
        major=""
 
3186
        newdeplibs=
 
3187
        droppeddeps=no
 
3188
        case $deplibs_check_method in
 
3189
        pass_all)
 
3190
          # Don't check for shared/static.  Everything works.
 
3191
          # This might be a little naive.  We might want to check
 
3192
          # whether the library exists or not.  But this is on
 
3193
          # osf3 & osf4 and I'm not really sure... Just
 
3194
          # implementing what was already the behavior.
 
3195
          newdeplibs=$deplibs
 
3196
          ;;
 
3197
        test_compile)
 
3198
          # This code stresses the "libraries are programs" paradigm to its
 
3199
          # limits. Maybe even breaks it.  We compile a program, linking it
 
3200
          # against the deplibs as a proxy for the library.  Then we can check
 
3201
          # whether they linked in statically or dynamically with ldd.
 
3202
          $rm conftest.c
 
3203
          cat > conftest.c <<EOF
 
3204
          int main() { return 0; }
 
3205
EOF
 
3206
          $rm conftest
 
3207
          $LTCC -o conftest conftest.c $deplibs
 
3208
          if test "$?" -eq 0 ; then
 
3209
            ldd_output=`ldd conftest`
 
3210
            for i in $deplibs; do
 
3211
              name="`expr $i : '-l\(.*\)'`"
 
3212
              # If $name is empty we are operating on a -L argument.
 
3213
              if test "$name" != "" && test "$name" -ne "0"; then
 
3214
                if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 
3215
                  case " $predeps $postdeps " in
 
3216
                  *" $i "*)
 
3217
                    newdeplibs="$newdeplibs $i"
 
3218
                    i=""
 
3219
                    ;;
 
3220
                  esac
 
3221
                fi
 
3222
                if test -n "$i" ; then
 
3223
                  libname=`eval \\$echo \"$libname_spec\"`
 
3224
                  deplib_matches=`eval \\$echo \"$library_names_spec\"`
 
3225
                  set dummy $deplib_matches
 
3226
                  deplib_match=$2
 
3227
                  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 
3228
                    newdeplibs="$newdeplibs $i"
 
3229
                  else
 
3230
                    droppeddeps=yes
 
3231
                    $echo
 
3232
                    $echo "*** Warning: dynamic linker does not accept needed library $i."
 
3233
                    $echo "*** I have the capability to make that library automatically link in when"
 
3234
                    $echo "*** you link to this library.  But I can only do this if you have a"
 
3235
                    $echo "*** shared version of the library, which I believe you do not have"
 
3236
                    $echo "*** because a test_compile did reveal that the linker did not use it for"
 
3237
                    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
 
3238
                  fi
 
3239
                fi
 
3240
              else
 
3241
                newdeplibs="$newdeplibs $i"
 
3242
              fi
 
3243
            done
 
3244
          else
 
3245
            # Error occurred in the first compile.  Let's try to salvage
 
3246
            # the situation: Compile a separate program for each library.
 
3247
            for i in $deplibs; do
 
3248
              name="`expr $i : '-l\(.*\)'`"
 
3249
              # If $name is empty we are operating on a -L argument.
 
3250
              if test "$name" != "" && test "$name" != "0"; then
 
3251
                $rm conftest
 
3252
                $LTCC -o conftest conftest.c $i
 
3253
                # Did it work?
 
3254
                if test "$?" -eq 0 ; then
 
3255
                  ldd_output=`ldd conftest`
 
3256
                  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 
3257
                    case " $predeps $postdeps " in
 
3258
                    *" $i "*)
 
3259
                      newdeplibs="$newdeplibs $i"
 
3260
                      i=""
 
3261
                      ;;
 
3262
                    esac
 
3263
                  fi
 
3264
                  if test -n "$i" ; then
 
3265
                    libname=`eval \\$echo \"$libname_spec\"`
 
3266
                    deplib_matches=`eval \\$echo \"$library_names_spec\"`
 
3267
                    set dummy $deplib_matches
 
3268
                    deplib_match=$2
 
3269
                    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 
3270
                      newdeplibs="$newdeplibs $i"
 
3271
                    else
 
3272
                      droppeddeps=yes
 
3273
                      $echo
 
3274
                      $echo "*** Warning: dynamic linker does not accept needed library $i."
 
3275
                      $echo "*** I have the capability to make that library automatically link in when"
 
3276
                      $echo "*** you link to this library.  But I can only do this if you have a"
 
3277
                      $echo "*** shared version of the library, which you do not appear to have"
 
3278
                      $echo "*** because a test_compile did reveal that the linker did not use this one"
 
3279
                      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
 
3280
                    fi
 
3281
                  fi
 
3282
                else
 
3283
                  droppeddeps=yes
 
3284
                  $echo
 
3285
                  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
 
3286
                  $echo "***  make it link in!  You will probably need to install it or some"
 
3287
                  $echo "*** library that it depends on before this library will be fully"
 
3288
                  $echo "*** functional.  Installing it before continuing would be even better."
 
3289
                fi
 
3290
              else
 
3291
                newdeplibs="$newdeplibs $i"
 
3292
              fi
 
3293
            done
 
3294
          fi
 
3295
          ;;
 
3296
        file_magic*)
 
3297
          set dummy $deplibs_check_method
 
3298
          file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
 
3299
          for a_deplib in $deplibs; do
 
3300
            name="`expr $a_deplib : '-l\(.*\)'`"
 
3301
            # If $name is empty we are operating on a -L argument.
 
3302
            if test "$name" != "" && test  "$name" != "0"; then
 
3303
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 
3304
                case " $predeps $postdeps " in
 
3305
                *" $a_deplib "*)
 
3306
                  newdeplibs="$newdeplibs $a_deplib"
 
3307
                  a_deplib=""
 
3308
                  ;;
 
3309
                esac
 
3310
              fi
 
3311
              if test -n "$a_deplib" ; then
 
3312
                libname=`eval \\$echo \"$libname_spec\"`
 
3313
                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 
3314
                  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 
3315
                  for potent_lib in $potential_libs; do
 
3316
                      # Follow soft links.
 
3317
                      if ls -lLd "$potent_lib" 2>/dev/null \
 
3318
                         | grep " -> " >/dev/null; then
 
3319
                        continue
 
3320
                      fi
 
3321
                      # The statement above tries to avoid entering an
 
3322
                      # endless loop below, in case of cyclic links.
 
3323
                      # We might still enter an endless loop, since a link
 
3324
                      # loop can be closed while we follow links,
 
3325
                      # but so what?
 
3326
                      potlib="$potent_lib"
 
3327
                      while test -h "$potlib" 2>/dev/null; do
 
3328
                        potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
 
3329
                        case $potliblink in
 
3330
                        [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
 
3331
                        *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
 
3332
                        esac
 
3333
                      done
 
3334
                      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
 
3335
                         | ${SED} 10q \
 
3336
                         | $EGREP "$file_magic_regex" > /dev/null; then
 
3337
                        newdeplibs="$newdeplibs $a_deplib"
 
3338
                        a_deplib=""
 
3339
                        break 2
 
3340
                      fi
 
3341
                  done
 
3342
                done
 
3343
              fi
 
3344
              if test -n "$a_deplib" ; then
 
3345
                droppeddeps=yes
 
3346
                $echo
 
3347
                $echo "*** Warning: linker path does not have real file for library $a_deplib."
 
3348
                $echo "*** I have the capability to make that library automatically link in when"
 
3349
                $echo "*** you link to this library.  But I can only do this if you have a"
 
3350
                $echo "*** shared version of the library, which you do not appear to have"
 
3351
                $echo "*** because I did check the linker path looking for a file starting"
 
3352
                if test -z "$potlib" ; then
 
3353
                  $echo "*** with $libname but no candidates were found. (...for file magic test)"
 
3354
                else
 
3355
                  $echo "*** with $libname and none of the candidates passed a file format test"
 
3356
                  $echo "*** using a file magic. Last file checked: $potlib"
 
3357
                fi
 
3358
              fi
 
3359
            else
 
3360
              # Add a -L argument.
 
3361
              newdeplibs="$newdeplibs $a_deplib"
 
3362
            fi
 
3363
          done # Gone through all deplibs.
 
3364
          ;;
 
3365
        match_pattern*)
 
3366
          set dummy $deplibs_check_method
 
3367
          match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
 
3368
          for a_deplib in $deplibs; do
 
3369
            name="`expr $a_deplib : '-l\(.*\)'`"
 
3370
            # If $name is empty we are operating on a -L argument.
 
3371
            if test -n "$name" && test "$name" != "0"; then
 
3372
              if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 
3373
                case " $predeps $postdeps " in
 
3374
                *" $a_deplib "*)
 
3375
                  newdeplibs="$newdeplibs $a_deplib"
 
3376
                  a_deplib=""
 
3377
                  ;;
 
3378
                esac
 
3379
              fi
 
3380
              if test -n "$a_deplib" ; then
 
3381
                libname=`eval \\$echo \"$libname_spec\"`
 
3382
                for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 
3383
                  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 
3384
                  for potent_lib in $potential_libs; do
 
3385
                    potlib="$potent_lib" # see symlink-check above in file_magic test
 
3386
                    if eval $echo \"$potent_lib\" 2>/dev/null \
 
3387
                        | ${SED} 10q \
 
3388
                        | $EGREP "$match_pattern_regex" > /dev/null; then
 
3389
                      newdeplibs="$newdeplibs $a_deplib"
 
3390
                      a_deplib=""
 
3391
                      break 2
 
3392
                    fi
 
3393
                  done
 
3394
                done
 
3395
              fi
 
3396
              if test -n "$a_deplib" ; then
 
3397
                droppeddeps=yes
 
3398
                $echo
 
3399
                $echo "*** Warning: linker path does not have real file for library $a_deplib."
 
3400
                $echo "*** I have the capability to make that library automatically link in when"
 
3401
                $echo "*** you link to this library.  But I can only do this if you have a"
 
3402
                $echo "*** shared version of the library, which you do not appear to have"
 
3403
                $echo "*** because I did check the linker path looking for a file starting"
 
3404
                if test -z "$potlib" ; then
 
3405
                  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
 
3406
                else
 
3407
                  $echo "*** with $libname and none of the candidates passed a file format test"
 
3408
                  $echo "*** using a regex pattern. Last file checked: $potlib"
 
3409
                fi
 
3410
              fi
 
3411
            else
 
3412
              # Add a -L argument.
 
3413
              newdeplibs="$newdeplibs $a_deplib"
 
3414
            fi
 
3415
          done # Gone through all deplibs.
 
3416
          ;;
 
3417
        none | unknown | *)
 
3418
          newdeplibs=""
 
3419
          tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
 
3420
            -e 's/ -[LR][^ ]*//g'`
 
3421
          if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 
3422
            for i in $predeps $postdeps ; do
 
3423
              # can't use Xsed below, because $i might contain '/'
 
3424
              tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
 
3425
            done
 
3426
          fi
 
3427
          if $echo "X $tmp_deplibs" | $Xsed -e 's/[     ]//g' \
 
3428
            | grep . >/dev/null; then
 
3429
            $echo
 
3430
            if test "X$deplibs_check_method" = "Xnone"; then
 
3431
              $echo "*** Warning: inter-library dependencies are not supported in this platform."
 
3432
            else
 
3433
              $echo "*** Warning: inter-library dependencies are not known to be supported."
 
3434
            fi
 
3435
            $echo "*** All declared inter-library dependencies are being dropped."
 
3436
            droppeddeps=yes
 
3437
          fi
 
3438
          ;;
 
3439
        esac
 
3440
        versuffix=$versuffix_save
 
3441
        major=$major_save
 
3442
        release=$release_save
 
3443
        libname=$libname_save
 
3444
        name=$name_save
 
3445
 
 
3446
        case $host in
 
3447
        *-*-rhapsody* | *-*-darwin1.[012])
 
3448
          # On Rhapsody replace the C library is the System framework
 
3449
          newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
 
3450
          ;;
 
3451
        esac
 
3452
 
 
3453
        if test "$droppeddeps" = yes; then
 
3454
          if test "$module" = yes; then
 
3455
            $echo
 
3456
            $echo "*** Warning: libtool could not satisfy all declared inter-library"
 
3457
            $echo "*** dependencies of module $libname.  Therefore, libtool will create"
 
3458
            $echo "*** a static module, that should work as long as the dlopening"
 
3459
            $echo "*** application is linked with the -dlopen flag."
 
3460
            if test -z "$global_symbol_pipe"; then
 
3461
              $echo
 
3462
              $echo "*** However, this would only work if libtool was able to extract symbol"
 
3463
              $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
 
3464
              $echo "*** not find such a program.  So, this module is probably useless."
 
3465
              $echo "*** \`nm' from GNU binutils and a full rebuild may help."
 
3466
            fi
 
3467
            if test "$build_old_libs" = no; then
 
3468
              oldlibs="$output_objdir/$libname.$libext"
 
3469
              build_libtool_libs=module
 
3470
              build_old_libs=yes
 
3471
            else
 
3472
              build_libtool_libs=no
 
3473
            fi
 
3474
          else
 
3475
            $echo "*** The inter-library dependencies that have been dropped here will be"
 
3476
            $echo "*** automatically added whenever a program is linked with this library"
 
3477
            $echo "*** or is declared to -dlopen it."
 
3478
 
 
3479
            if test "$allow_undefined" = no; then
 
3480
              $echo
 
3481
              $echo "*** Since this library must not contain undefined symbols,"
 
3482
              $echo "*** because either the platform does not support them or"
 
3483
              $echo "*** it was explicitly requested with -no-undefined,"
 
3484
              $echo "*** libtool will only create a static version of it."
 
3485
              if test "$build_old_libs" = no; then
 
3486
                oldlibs="$output_objdir/$libname.$libext"
 
3487
                build_libtool_libs=module
 
3488
                build_old_libs=yes
 
3489
              else
 
3490
                build_libtool_libs=no
 
3491
              fi
 
3492
            fi
 
3493
          fi
 
3494
        fi
 
3495
        # Done checking deplibs!
 
3496
        deplibs=$newdeplibs
 
3497
      fi
 
3498
 
 
3499
      # All the library-specific variables (install_libdir is set above).
 
3500
      library_names=
 
3501
      old_library=
 
3502
      dlname=
 
3503
 
 
3504
      # Test again, we may have decided not to build it any more
 
3505
      if test "$build_libtool_libs" = yes; then
 
3506
        if test "$hardcode_into_libs" = yes; then
 
3507
          # Hardcode the library paths
 
3508
          hardcode_libdirs=
 
3509
          dep_rpath=
 
3510
          rpath="$finalize_rpath"
 
3511
          test "$mode" != relink && rpath="$compile_rpath$rpath"
 
3512
          for libdir in $rpath; do
 
3513
            if test -n "$hardcode_libdir_flag_spec"; then
 
3514
              if test -n "$hardcode_libdir_separator"; then
 
3515
                if test -z "$hardcode_libdirs"; then
 
3516
                  hardcode_libdirs="$libdir"
 
3517
                else
 
3518
                  # Just accumulate the unique libdirs.
 
3519
                  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 
3520
                  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 
3521
                    ;;
 
3522
                  *)
 
3523
                    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 
3524
                    ;;
 
3525
                  esac
 
3526
                fi
 
3527
              else
 
3528
                eval flag=\"$hardcode_libdir_flag_spec\"
 
3529
                dep_rpath="$dep_rpath $flag"
 
3530
              fi
 
3531
            elif test -n "$runpath_var"; then
 
3532
              case "$perm_rpath " in
 
3533
              *" $libdir "*) ;;
 
3534
              *) perm_rpath="$perm_rpath $libdir" ;;
 
3535
              esac
 
3536
            fi
 
3537
          done
 
3538
          # Substitute the hardcoded libdirs into the rpath.
 
3539
          if test -n "$hardcode_libdir_separator" &&
 
3540
             test -n "$hardcode_libdirs"; then
 
3541
            libdir="$hardcode_libdirs"
 
3542
            if test -n "$hardcode_libdir_flag_spec_ld"; then
 
3543
              eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
 
3544
            else
 
3545
              eval dep_rpath=\"$hardcode_libdir_flag_spec\"
 
3546
            fi
 
3547
          fi
 
3548
          if test -n "$runpath_var" && test -n "$perm_rpath"; then
 
3549
            # We should set the runpath_var.
 
3550
            rpath=
 
3551
            for dir in $perm_rpath; do
 
3552
              rpath="$rpath$dir:"
 
3553
            done
 
3554
            eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
 
3555
          fi
 
3556
          test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
 
3557
        fi
 
3558
 
 
3559
        shlibpath="$finalize_shlibpath"
 
3560
        test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
 
3561
        if test -n "$shlibpath"; then
 
3562
          eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
 
3563
        fi
 
3564
 
 
3565
        # Get the real and link names of the library.
 
3566
        eval shared_ext=\"$shrext\"
 
3567
        eval library_names=\"$library_names_spec\"
 
3568
        set dummy $library_names
 
3569
        realname="$2"
 
3570
        shift; shift
 
3571
 
 
3572
        if test -n "$soname_spec"; then
 
3573
          eval soname=\"$soname_spec\"
 
3574
        else
 
3575
          soname="$realname"
 
3576
        fi
 
3577
        if test -z "$dlname"; then
 
3578
          dlname=$soname
 
3579
        fi
 
3580
 
 
3581
        lib="$output_objdir/$realname"
 
3582
        for link
 
3583
        do
 
3584
          linknames="$linknames $link"
 
3585
        done
 
3586
 
 
3587
        # Use standard objects if they are pic
 
3588
        test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 
3589
 
 
3590
        # Prepare the list of exported symbols
 
3591
        if test -z "$export_symbols"; then
 
3592
          if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
 
3593
            $show "generating symbol list for \`$libname.la'"
 
3594
            export_symbols="$output_objdir/$libname.exp"
 
3595
            $run $rm $export_symbols
 
3596
            eval cmds=\"$export_symbols_cmds\"
 
3597
            save_ifs="$IFS"; IFS='~'
 
3598
            for cmd in $cmds; do
 
3599
              IFS="$save_ifs"
 
3600
              if len=`expr "X$cmd" : ".*"` &&
 
3601
               test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 
3602
                $show "$cmd"
 
3603
                $run eval "$cmd" || exit $?
 
3604
                skipped_export=false
 
3605
              else
 
3606
                # The command line is too long to execute in one step.
 
3607
                $show "using reloadable object file for export list..."
 
3608
                skipped_export=:
 
3609
              fi
 
3610
            done
 
3611
            IFS="$save_ifs"
 
3612
            if test -n "$export_symbols_regex"; then
 
3613
              $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
 
3614
              $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
 
3615
              $show "$mv \"${export_symbols}T\" \"$export_symbols\""
 
3616
              $run eval '$mv "${export_symbols}T" "$export_symbols"'
 
3617
            fi
 
3618
          fi
 
3619
        fi
 
3620
 
 
3621
        if test -n "$export_symbols" && test -n "$include_expsyms"; then
 
3622
          $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
 
3623
        fi
 
3624
 
 
3625
        tmp_deplibs=
 
3626
        for test_deplib in $deplibs; do
 
3627
                case " $convenience " in
 
3628
                *" $test_deplib "*) ;;
 
3629
                *) 
 
3630
                        tmp_deplibs="$tmp_deplibs $test_deplib"
 
3631
                        ;;
 
3632
                esac
 
3633
        done
 
3634
        deplibs="$tmp_deplibs" 
 
3635
 
 
3636
        if test -n "$convenience"; then
 
3637
          if test -n "$whole_archive_flag_spec"; then
 
3638
            save_libobjs=$libobjs
 
3639
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
 
3640
          else
 
3641
            gentop="$output_objdir/${outputname}x"
 
3642
            $show "${rm}r $gentop"
 
3643
            $run ${rm}r "$gentop"
 
3644
            $show "$mkdir $gentop"
 
3645
            $run $mkdir "$gentop"
 
3646
            status=$?
 
3647
            if test "$status" -ne 0 && test ! -d "$gentop"; then
 
3648
              exit $status
 
3649
            fi
 
3650
            generated="$generated $gentop"
 
3651
 
 
3652
            for xlib in $convenience; do
 
3653
              # Extract the objects.
 
3654
              case $xlib in
 
3655
              [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
 
3656
              *) xabs=`pwd`"/$xlib" ;;
 
3657
              esac
 
3658
              xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
 
3659
              xdir="$gentop/$xlib"
 
3660
 
 
3661
              $show "${rm}r $xdir"
 
3662
              $run ${rm}r "$xdir"
 
3663
              $show "$mkdir $xdir"
 
3664
              $run $mkdir "$xdir"
 
3665
              status=$?
 
3666
              if test "$status" -ne 0 && test ! -d "$xdir"; then
 
3667
                exit $status
 
3668
              fi
 
3669
              # We will extract separately just the conflicting names and we will no
 
3670
              # longer touch any unique names. It is faster to leave these extract
 
3671
              # automatically by $AR in one run.
 
3672
              $show "(cd $xdir && $AR x $xabs)"
 
3673
              $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
 
3674
              if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
 
3675
                :
 
3676
              else
 
3677
                $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
 
3678
                $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
 
3679
                $AR t "$xabs" | sort | uniq -cd | while read -r count name
 
3680
                do
 
3681
                  i=1
 
3682
                  while test "$i" -le "$count"
 
3683
                  do
 
3684
                   # Put our $i before any first dot (extension)
 
3685
                   # Never overwrite any file
 
3686
                   name_to="$name"
 
3687
                   while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
 
3688
                   do
 
3689
                     name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
 
3690
                   done
 
3691
                   $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
 
3692
                   $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
 
3693
                   i=`expr $i + 1`
 
3694
                  done
 
3695
                done
 
3696
              fi
 
3697
 
 
3698
              libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
 
3699
            done
 
3700
          fi
 
3701
        fi
 
3702
 
 
3703
        if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
 
3704
          eval flag=\"$thread_safe_flag_spec\"
 
3705
          linker_flags="$linker_flags $flag"
 
3706
        fi
 
3707
 
 
3708
        # Make a backup of the uninstalled library when relinking
 
3709
        if test "$mode" = relink; then
 
3710
          $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
 
3711
        fi
 
3712
 
 
3713
        # Do each of the archive commands.
 
3714
        if test "$module" = yes && test -n "$module_cmds" ; then
 
3715
          if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
 
3716
            eval cmds=\"$module_expsym_cmds\"
 
3717
          else
 
3718
            eval cmds=\"$module_cmds\"
 
3719
          fi
 
3720
        else
 
3721
        if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 
3722
          eval cmds=\"$archive_expsym_cmds\"
 
3723
        else
 
3724
          eval cmds=\"$archive_cmds\"
 
3725
          fi
 
3726
        fi
 
3727
 
 
3728
        if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` &&
 
3729
           test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 
3730
          :
 
3731
        else
 
3732
          # The command line is too long to link in one step, link piecewise.
 
3733
          $echo "creating reloadable object files..."
 
3734
 
 
3735
          # Save the value of $output and $libobjs because we want to
 
3736
          # use them later.  If we have whole_archive_flag_spec, we
 
3737
          # want to use save_libobjs as it was before
 
3738
          # whole_archive_flag_spec was expanded, because we can't
 
3739
          # assume the linker understands whole_archive_flag_spec.
 
3740
          # This may have to be revisited, in case too many
 
3741
          # convenience libraries get linked in and end up exceeding
 
3742
          # the spec.
 
3743
          if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
 
3744
            save_libobjs=$libobjs
 
3745
          fi
 
3746
          save_output=$output
 
3747
 
 
3748
          # Clear the reloadable object creation command queue and
 
3749
          # initialize k to one.
 
3750
          test_cmds=
 
3751
          concat_cmds=
 
3752
          objlist=
 
3753
          delfiles=
 
3754
          last_robj=
 
3755
          k=1
 
3756
          output=$output_objdir/$save_output-${k}.$objext
 
3757
          # Loop over the list of objects to be linked.
 
3758
          for obj in $save_libobjs
 
3759
          do
 
3760
            eval test_cmds=\"$reload_cmds $objlist $last_robj\"
 
3761
            if test "X$objlist" = X ||
 
3762
               { len=`expr "X$test_cmds" : ".*"` &&
 
3763
                 test "$len" -le "$max_cmd_len"; }; then
 
3764
              objlist="$objlist $obj"
 
3765
            else
 
3766
              # The command $test_cmds is almost too long, add a
 
3767
              # command to the queue.
 
3768
              if test "$k" -eq 1 ; then
 
3769
                # The first file doesn't have a previous command to add.
 
3770
                eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
 
3771
              else
 
3772
                # All subsequent reloadable object files will link in
 
3773
                # the last one created.
 
3774
                eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
 
3775
              fi
 
3776
              last_robj=$output_objdir/$save_output-${k}.$objext
 
3777
              k=`expr $k + 1`
 
3778
              output=$output_objdir/$save_output-${k}.$objext
 
3779
              objlist=$obj
 
3780
              len=1
 
3781
            fi
 
3782
          done
 
3783
          # Handle the remaining objects by creating one last
 
3784
          # reloadable object file.  All subsequent reloadable object
 
3785
          # files will link in the last one created.
 
3786
          test -z "$concat_cmds" || concat_cmds=$concat_cmds~
 
3787
          eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
 
3788
 
 
3789
          if ${skipped_export-false}; then
 
3790
            $show "generating symbol list for \`$libname.la'"
 
3791
            export_symbols="$output_objdir/$libname.exp"
 
3792
            $run $rm $export_symbols
 
3793
            libobjs=$output
 
3794
            # Append the command to create the export file.
 
3795
            eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
 
3796
          fi
 
3797
 
 
3798
          # Set up a command to remove the reloadale object files
 
3799
          # after they are used.
 
3800
          i=0
 
3801
          while test "$i" -lt "$k"
 
3802
          do
 
3803
            i=`expr $i + 1`
 
3804
            delfiles="$delfiles $output_objdir/$save_output-${i}.$objext"
 
3805
          done
 
3806
 
 
3807
          $echo "creating a temporary reloadable object file: $output"
 
3808
 
 
3809
          # Loop through the commands generated above and execute them.
 
3810
          save_ifs="$IFS"; IFS='~'
 
3811
          for cmd in $concat_cmds; do
 
3812
            IFS="$save_ifs"
 
3813
            $show "$cmd"
 
3814
            $run eval "$cmd" || exit $?
 
3815
          done
 
3816
          IFS="$save_ifs"
 
3817
 
 
3818
          libobjs=$output
 
3819
          # Restore the value of output.
 
3820
          output=$save_output
 
3821
 
 
3822
          if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
 
3823
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
 
3824
          fi
 
3825
          # Expand the library linking commands again to reset the
 
3826
          # value of $libobjs for piecewise linking.
 
3827
 
 
3828
          # Do each of the archive commands.
 
3829
          if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 
3830
            eval cmds=\"$archive_expsym_cmds\"
 
3831
          else
 
3832
            eval cmds=\"$archive_cmds\"
 
3833
          fi
 
3834
 
 
3835
          # Append the command to remove the reloadable object files
 
3836
          # to the just-reset $cmds.
 
3837
          eval cmds=\"\$cmds~$rm $delfiles\"
 
3838
        fi
 
3839
        save_ifs="$IFS"; IFS='~'
 
3840
        for cmd in $cmds; do
 
3841
          IFS="$save_ifs"
 
3842
          $show "$cmd"
 
3843
          $run eval "$cmd" || exit $?
 
3844
        done
 
3845
        IFS="$save_ifs"
 
3846
 
 
3847
        # Restore the uninstalled library and exit
 
3848
        if test "$mode" = relink; then
 
3849
          $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
 
3850
          exit 0
 
3851
        fi
 
3852
 
 
3853
        # Create links to the real library.
 
3854
        for linkname in $linknames; do
 
3855
          if test "$realname" != "$linkname"; then
 
3856
            $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
 
3857
            $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
 
3858
          fi
 
3859
        done
 
3860
 
 
3861
        # If -module or -export-dynamic was specified, set the dlname.
 
3862
        if test "$module" = yes || test "$export_dynamic" = yes; then
 
3863
          # On all known operating systems, these are identical.
 
3864
          dlname="$soname"
 
3865
        fi
 
3866
      fi
 
3867
      ;;
 
3868
 
 
3869
    obj)
 
3870
      if test -n "$deplibs"; then
 
3871
        $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
 
3872
      fi
 
3873
 
 
3874
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 
3875
        $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
 
3876
      fi
 
3877
 
 
3878
      if test -n "$rpath"; then
 
3879
        $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
 
3880
      fi
 
3881
 
 
3882
      if test -n "$xrpath"; then
 
3883
        $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
 
3884
      fi
 
3885
 
 
3886
      if test -n "$vinfo"; then
 
3887
        $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
 
3888
      fi
 
3889
 
 
3890
      if test -n "$release"; then
 
3891
        $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
 
3892
      fi
 
3893
 
 
3894
      case $output in
 
3895
      *.lo)
 
3896
        if test -n "$objs$old_deplibs"; then
 
3897
          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
 
3898
          exit 1
 
3899
        fi
 
3900
        libobj="$output"
 
3901
        obj=`$echo "X$output" | $Xsed -e "$lo2o"`
 
3902
        ;;
 
3903
      *)
 
3904
        libobj=
 
3905
        obj="$output"
 
3906
        ;;
 
3907
      esac
 
3908
 
 
3909
      # Delete the old objects.
 
3910
      $run $rm $obj $libobj
 
3911
 
 
3912
      # Objects from convenience libraries.  This assumes
 
3913
      # single-version convenience libraries.  Whenever we create
 
3914
      # different ones for PIC/non-PIC, this we'll have to duplicate
 
3915
      # the extraction.
 
3916
      reload_conv_objs=
 
3917
      gentop=
 
3918
      # reload_cmds runs $LD directly, so let us get rid of
 
3919
      # -Wl from whole_archive_flag_spec
 
3920
      wl=
 
3921
 
 
3922
      if test -n "$convenience"; then
 
3923
        if test -n "$whole_archive_flag_spec"; then
 
3924
          eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
 
3925
        else
 
3926
          gentop="$output_objdir/${obj}x"
 
3927
          $show "${rm}r $gentop"
 
3928
          $run ${rm}r "$gentop"
 
3929
          $show "$mkdir $gentop"
 
3930
          $run $mkdir "$gentop"
 
3931
          status=$?
 
3932
          if test "$status" -ne 0 && test ! -d "$gentop"; then
 
3933
            exit $status
 
3934
          fi
 
3935
          generated="$generated $gentop"
 
3936
 
 
3937
          for xlib in $convenience; do
 
3938
            # Extract the objects.
 
3939
            case $xlib in
 
3940
            [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
 
3941
            *) xabs=`pwd`"/$xlib" ;;
 
3942
            esac
 
3943
            xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
 
3944
            xdir="$gentop/$xlib"
 
3945
 
 
3946
            $show "${rm}r $xdir"
 
3947
            $run ${rm}r "$xdir"
 
3948
            $show "$mkdir $xdir"
 
3949
            $run $mkdir "$xdir"
 
3950
            status=$?
 
3951
            if test "$status" -ne 0 && test ! -d "$xdir"; then
 
3952
              exit $status
 
3953
            fi
 
3954
            # We will extract separately just the conflicting names and we will no
 
3955
            # longer touch any unique names. It is faster to leave these extract
 
3956
            # automatically by $AR in one run.
 
3957
            $show "(cd $xdir && $AR x $xabs)"
 
3958
            $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
 
3959
            if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
 
3960
              :
 
3961
            else
 
3962
              $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
 
3963
              $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
 
3964
              $AR t "$xabs" | sort | uniq -cd | while read -r count name
 
3965
              do
 
3966
                i=1
 
3967
                while test "$i" -le "$count"
 
3968
                do
 
3969
                 # Put our $i before any first dot (extension)
 
3970
                 # Never overwrite any file
 
3971
                 name_to="$name"
 
3972
                 while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
 
3973
                 do
 
3974
                   name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
 
3975
                 done
 
3976
                 $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
 
3977
                 $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
 
3978
                 i=`expr $i + 1`
 
3979
                done
 
3980
              done
 
3981
            fi
 
3982
 
 
3983
            reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
 
3984
          done
 
3985
        fi
 
3986
      fi
 
3987
 
 
3988
      # Create the old-style object.
 
3989
      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
 
3990
 
 
3991
      output="$obj"
 
3992
      eval cmds=\"$reload_cmds\"
 
3993
      save_ifs="$IFS"; IFS='~'
 
3994
      for cmd in $cmds; do
 
3995
        IFS="$save_ifs"
 
3996
        $show "$cmd"
 
3997
        $run eval "$cmd" || exit $?
 
3998
      done
 
3999
      IFS="$save_ifs"
 
4000
 
 
4001
      # Exit if we aren't doing a library object file.
 
4002
      if test -z "$libobj"; then
 
4003
        if test -n "$gentop"; then
 
4004
          $show "${rm}r $gentop"
 
4005
          $run ${rm}r $gentop
 
4006
        fi
 
4007
 
 
4008
        exit 0
 
4009
      fi
 
4010
 
 
4011
      if test "$build_libtool_libs" != yes; then
 
4012
        if test -n "$gentop"; then
 
4013
          $show "${rm}r $gentop"
 
4014
          $run ${rm}r $gentop
 
4015
        fi
 
4016
 
 
4017
        # Create an invalid libtool object if no PIC, so that we don't
 
4018
        # accidentally link it into a program.
 
4019
        # $show "echo timestamp > $libobj"
 
4020
        # $run eval "echo timestamp > $libobj" || exit $?
 
4021
        exit 0
 
4022
      fi
 
4023
 
 
4024
      if test -n "$pic_flag" || test "$pic_mode" != default; then
 
4025
        # Only do commands if we really have different PIC objects.
 
4026
        reload_objs="$libobjs $reload_conv_objs"
 
4027
        output="$libobj"
 
4028
        eval cmds=\"$reload_cmds\"
 
4029
        save_ifs="$IFS"; IFS='~'
 
4030
        for cmd in $cmds; do
 
4031
          IFS="$save_ifs"
 
4032
          $show "$cmd"
 
4033
          $run eval "$cmd" || exit $?
 
4034
        done
 
4035
        IFS="$save_ifs"
 
4036
      fi
 
4037
 
 
4038
      if test -n "$gentop"; then
 
4039
        $show "${rm}r $gentop"
 
4040
        $run ${rm}r $gentop
 
4041
      fi
 
4042
 
 
4043
      exit 0
 
4044
      ;;
 
4045
 
 
4046
    prog)
 
4047
      case $host in
 
4048
        *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
 
4049
      esac
 
4050
      if test -n "$vinfo"; then
 
4051
        $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
 
4052
      fi
 
4053
 
 
4054
      if test -n "$release"; then
 
4055
        $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
 
4056
      fi
 
4057
 
 
4058
      if test "$preload" = yes; then
 
4059
        if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
 
4060
           test "$dlopen_self_static" = unknown; then
 
4061
          $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
 
4062
        fi
 
4063
      fi
 
4064
 
 
4065
      case $host in
 
4066
      *-*-rhapsody* | *-*-darwin1.[012])
 
4067
        # On Rhapsody replace the C library is the System framework
 
4068
        compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
 
4069
        finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
 
4070
        ;;
 
4071
      esac
 
4072
 
 
4073
      case $host in
 
4074
      *darwin*)
 
4075
        # Don't allow lazy linking, it breaks C++ global constructors
 
4076
        if test "$tagname" = CXX ; then
 
4077
        compile_command="$compile_command ${wl}-bind_at_load"
 
4078
        finalize_command="$finalize_command ${wl}-bind_at_load"
 
4079
        fi
 
4080
        ;;
 
4081
      esac
 
4082
 
 
4083
      compile_command="$compile_command $compile_deplibs"
 
4084
      finalize_command="$finalize_command $finalize_deplibs"
 
4085
 
 
4086
      if test -n "$rpath$xrpath"; then
 
4087
        # If the user specified any rpath flags, then add them.
 
4088
        for libdir in $rpath $xrpath; do
 
4089
          # This is the magic to use -rpath.
 
4090
          case "$finalize_rpath " in
 
4091
          *" $libdir "*) ;;
 
4092
          *) finalize_rpath="$finalize_rpath $libdir" ;;
 
4093
          esac
 
4094
        done
 
4095
      fi
 
4096
 
 
4097
      # Now hardcode the library paths
 
4098
      rpath=
 
4099
      hardcode_libdirs=
 
4100
      for libdir in $compile_rpath $finalize_rpath; do
 
4101
        if test -n "$hardcode_libdir_flag_spec"; then
 
4102
          if test -n "$hardcode_libdir_separator"; then
 
4103
            if test -z "$hardcode_libdirs"; then
 
4104
              hardcode_libdirs="$libdir"
 
4105
            else
 
4106
              # Just accumulate the unique libdirs.
 
4107
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 
4108
              *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 
4109
                ;;
 
4110
              *)
 
4111
                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 
4112
                ;;
 
4113
              esac
 
4114
            fi
 
4115
          else
 
4116
            eval flag=\"$hardcode_libdir_flag_spec\"
 
4117
            rpath="$rpath $flag"
 
4118
          fi
 
4119
        elif test -n "$runpath_var"; then
 
4120
          case "$perm_rpath " in
 
4121
          *" $libdir "*) ;;
 
4122
          *) perm_rpath="$perm_rpath $libdir" ;;
 
4123
          esac
 
4124
        fi
 
4125
        case $host in
 
4126
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
 
4127
          case :$dllsearchpath: in
 
4128
          *":$libdir:"*) ;;
 
4129
          *) dllsearchpath="$dllsearchpath:$libdir";;
 
4130
          esac
 
4131
          ;;
 
4132
        esac
 
4133
      done
 
4134
      # Substitute the hardcoded libdirs into the rpath.
 
4135
      if test -n "$hardcode_libdir_separator" &&
 
4136
         test -n "$hardcode_libdirs"; then
 
4137
        libdir="$hardcode_libdirs"
 
4138
        eval rpath=\" $hardcode_libdir_flag_spec\"
 
4139
      fi
 
4140
      compile_rpath="$rpath"
 
4141
 
 
4142
      rpath=
 
4143
      hardcode_libdirs=
 
4144
      for libdir in $finalize_rpath; do
 
4145
        if test -n "$hardcode_libdir_flag_spec"; then
 
4146
          if test -n "$hardcode_libdir_separator"; then
 
4147
            if test -z "$hardcode_libdirs"; then
 
4148
              hardcode_libdirs="$libdir"
 
4149
            else
 
4150
              # Just accumulate the unique libdirs.
 
4151
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
 
4152
              *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 
4153
                ;;
 
4154
              *)
 
4155
                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 
4156
                ;;
 
4157
              esac
 
4158
            fi
 
4159
          else
 
4160
            eval flag=\"$hardcode_libdir_flag_spec\"
 
4161
            rpath="$rpath $flag"
 
4162
          fi
 
4163
        elif test -n "$runpath_var"; then
 
4164
          case "$finalize_perm_rpath " in
 
4165
          *" $libdir "*) ;;
 
4166
          *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
 
4167
          esac
 
4168
        fi
 
4169
      done
 
4170
      # Substitute the hardcoded libdirs into the rpath.
 
4171
      if test -n "$hardcode_libdir_separator" &&
 
4172
         test -n "$hardcode_libdirs"; then
 
4173
        libdir="$hardcode_libdirs"
 
4174
        eval rpath=\" $hardcode_libdir_flag_spec\"
 
4175
      fi
 
4176
      finalize_rpath="$rpath"
 
4177
 
 
4178
      if test -n "$libobjs" && test "$build_old_libs" = yes; then
 
4179
        # Transform all the library objects into standard objects.
 
4180
        compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 
4181
        finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 
4182
      fi
 
4183
 
 
4184
      dlsyms=
 
4185
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 
4186
        if test -n "$NM" && test -n "$global_symbol_pipe"; then
 
4187
          dlsyms="${outputname}S.c"
 
4188
        else
 
4189
          $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
 
4190
        fi
 
4191
      fi
 
4192
 
 
4193
      if test -n "$dlsyms"; then
 
4194
        case $dlsyms in
 
4195
        "") ;;
 
4196
        *.c)
 
4197
          # Discover the nlist of each of the dlfiles.
 
4198
          nlist="$output_objdir/${outputname}.nm"
 
4199
 
 
4200
          $show "$rm $nlist ${nlist}S ${nlist}T"
 
4201
          $run $rm "$nlist" "${nlist}S" "${nlist}T"
 
4202
 
 
4203
          # Parse the name list into a source file.
 
4204
          $show "creating $output_objdir/$dlsyms"
 
4205
 
 
4206
          test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
 
4207
/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
 
4208
/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
 
4209
 
 
4210
#ifdef __cplusplus
 
4211
extern \"C\" {
 
4212
#endif
 
4213
 
 
4214
/* Prevent the only kind of declaration conflicts we can make. */
 
4215
#define lt_preloaded_symbols some_other_symbol
 
4216
 
 
4217
/* External symbol declarations for the compiler. */\
 
4218
"
 
4219
 
 
4220
          if test "$dlself" = yes; then
 
4221
            $show "generating symbol list for \`$output'"
 
4222
 
 
4223
            test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
 
4224
 
 
4225
            # Add our own program objects to the symbol list.
 
4226
            progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 
4227
            for arg in $progfiles; do
 
4228
              $show "extracting global C symbols from \`$arg'"
 
4229
              $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
 
4230
            done
 
4231
 
 
4232
            if test -n "$exclude_expsyms"; then
 
4233
              $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
 
4234
              $run eval '$mv "$nlist"T "$nlist"'
 
4235
            fi
 
4236
 
 
4237
            if test -n "$export_symbols_regex"; then
 
4238
              $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
 
4239
              $run eval '$mv "$nlist"T "$nlist"'
 
4240
            fi
 
4241
 
 
4242
            # Prepare the list of exported symbols
 
4243
            if test -z "$export_symbols"; then
 
4244
              export_symbols="$output_objdir/$output.exp"
 
4245
              $run $rm $export_symbols
 
4246
              $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
 
4247
            else
 
4248
              $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
 
4249
              $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
 
4250
              $run eval 'mv "$nlist"T "$nlist"'
 
4251
            fi
 
4252
          fi
 
4253
 
 
4254
          for arg in $dlprefiles; do
 
4255
            $show "extracting global C symbols from \`$arg'"
 
4256
            name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
 
4257
            $run eval '$echo ": $name " >> "$nlist"'
 
4258
            $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
 
4259
          done
 
4260
 
 
4261
          if test -z "$run"; then
 
4262
            # Make sure we have at least an empty file.
 
4263
            test -f "$nlist" || : > "$nlist"
 
4264
 
 
4265
            if test -n "$exclude_expsyms"; then
 
4266
              $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
 
4267
              $mv "$nlist"T "$nlist"
 
4268
            fi
 
4269
 
 
4270
            # Try sorting and uniquifying the output.
 
4271
            if grep -v "^: " < "$nlist" |
 
4272
                if sort -k 3 </dev/null >/dev/null 2>&1; then
 
4273
                  sort -k 3
 
4274
                else
 
4275
                  sort +2
 
4276
                fi |
 
4277
                uniq > "$nlist"S; then
 
4278
              :
 
4279
            else
 
4280
              grep -v "^: " < "$nlist" > "$nlist"S
 
4281
            fi
 
4282
 
 
4283
            if test -f "$nlist"S; then
 
4284
              eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
 
4285
            else
 
4286
              $echo '/* NONE */' >> "$output_objdir/$dlsyms"
 
4287
            fi
 
4288
 
 
4289
            $echo >> "$output_objdir/$dlsyms" "\
 
4290
 
 
4291
#undef lt_preloaded_symbols
 
4292
 
 
4293
#if defined (__STDC__) && __STDC__
 
4294
# define lt_ptr void *
 
4295
#else
 
4296
# define lt_ptr char *
 
4297
# define const
 
4298
#endif
 
4299
 
 
4300
/* The mapping between symbol names and symbols. */
 
4301
const struct {
 
4302
  const char *name;
 
4303
  lt_ptr address;
 
4304
}
 
4305
lt_preloaded_symbols[] =
 
4306
{\
 
4307
"
 
4308
 
 
4309
            eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
 
4310
 
 
4311
            $echo >> "$output_objdir/$dlsyms" "\
 
4312
  {0, (lt_ptr) 0}
 
4313
};
 
4314
 
 
4315
/* This works around a problem in FreeBSD linker */
 
4316
#ifdef FREEBSD_WORKAROUND
 
4317
static const void *lt_preloaded_setup() {
 
4318
  return lt_preloaded_symbols;
 
4319
}
 
4320
#endif
 
4321
 
 
4322
#ifdef __cplusplus
 
4323
}
 
4324
#endif\
 
4325
"
 
4326
          fi
 
4327
 
 
4328
          pic_flag_for_symtable=
 
4329
          case $host in
 
4330
          # compiling the symbol table file with pic_flag works around
 
4331
          # a FreeBSD bug that causes programs to crash when -lm is
 
4332
          # linked before any other PIC object.  But we must not use
 
4333
          # pic_flag when linking with -static.  The problem exists in
 
4334
          # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
 
4335
          *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 
4336
            case "$compile_command " in
 
4337
            *" -static "*) ;;
 
4338
            *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
 
4339
            esac;;
 
4340
          *-*-hpux*)
 
4341
            case "$compile_command " in
 
4342
            *" -static "*) ;;
 
4343
            *) pic_flag_for_symtable=" $pic_flag";;
 
4344
            esac
 
4345
          esac
 
4346
 
 
4347
          # Now compile the dynamic symbol file.
 
4348
          $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
 
4349
          $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
 
4350
 
 
4351
          # Clean up the generated files.
 
4352
          $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
 
4353
          $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
 
4354
 
 
4355
          # Transform the symbol file into the correct name.
 
4356
          compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
 
4357
          finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
 
4358
          ;;
 
4359
        *)
 
4360
          $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
 
4361
          exit 1
 
4362
          ;;
 
4363
        esac
 
4364
      else
 
4365
        # We keep going just in case the user didn't refer to
 
4366
        # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
 
4367
        # really was required.
 
4368
 
 
4369
        # Nullify the symbol file.
 
4370
        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
 
4371
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
 
4372
      fi
 
4373
 
 
4374
      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
 
4375
        # Replace the output file specification.
 
4376
        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 
4377
        link_command="$compile_command$compile_rpath"
 
4378
 
 
4379
        # We have no uninstalled library dependencies, so finalize right now.
 
4380
        $show "$link_command"
 
4381
        $run eval "$link_command"
 
4382
        status=$?
 
4383
 
 
4384
        # Delete the generated files.
 
4385
        if test -n "$dlsyms"; then
 
4386
          $show "$rm $output_objdir/${outputname}S.${objext}"
 
4387
          $run $rm "$output_objdir/${outputname}S.${objext}"
 
4388
        fi
 
4389
 
 
4390
        exit $status
 
4391
      fi
 
4392
 
 
4393
      if test -n "$shlibpath_var"; then
 
4394
        # We should set the shlibpath_var
 
4395
        rpath=
 
4396
        for dir in $temp_rpath; do
 
4397
          case $dir in
 
4398
          [\\/]* | [A-Za-z]:[\\/]*)
 
4399
            # Absolute path.
 
4400
            rpath="$rpath$dir:"
 
4401
            ;;
 
4402
          *)
 
4403
            # Relative path: add a thisdir entry.
 
4404
            rpath="$rpath\$thisdir/$dir:"
 
4405
            ;;
 
4406
          esac
 
4407
        done
 
4408
        temp_rpath="$rpath"
 
4409
      fi
 
4410
 
 
4411
      if test -n "$compile_shlibpath$finalize_shlibpath"; then
 
4412
        compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
 
4413
      fi
 
4414
      if test -n "$finalize_shlibpath"; then
 
4415
        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
 
4416
      fi
 
4417
 
 
4418
      compile_var=
 
4419
      finalize_var=
 
4420
      if test -n "$runpath_var"; then
 
4421
        if test -n "$perm_rpath"; then
 
4422
          # We should set the runpath_var.
 
4423
          rpath=
 
4424
          for dir in $perm_rpath; do
 
4425
            rpath="$rpath$dir:"
 
4426
          done
 
4427
          compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
 
4428
        fi
 
4429
        if test -n "$finalize_perm_rpath"; then
 
4430
          # We should set the runpath_var.
 
4431
          rpath=
 
4432
          for dir in $finalize_perm_rpath; do
 
4433
            rpath="$rpath$dir:"
 
4434
          done
 
4435
          finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
 
4436
        fi
 
4437
      fi
 
4438
 
 
4439
      if test "$no_install" = yes; then
 
4440
        # We don't need to create a wrapper script.
 
4441
        link_command="$compile_var$compile_command$compile_rpath"
 
4442
        # Replace the output file specification.
 
4443
        link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 
4444
        # Delete the old output file.
 
4445
        $run $rm $output
 
4446
        # Link the executable and exit
 
4447
        $show "$link_command"
 
4448
        $run eval "$link_command" || exit $?
 
4449
        exit 0
 
4450
      fi
 
4451
 
 
4452
      if test "$hardcode_action" = relink; then
 
4453
        # Fast installation is not supported
 
4454
        link_command="$compile_var$compile_command$compile_rpath"
 
4455
        relink_command="$finalize_var$finalize_command$finalize_rpath"
 
4456
 
 
4457
        $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
 
4458
        $echo "$modename: \`$output' will be relinked during installation" 1>&2
 
4459
      else
 
4460
        if test "$fast_install" != no; then
 
4461
          link_command="$finalize_var$compile_command$finalize_rpath"
 
4462
          if test "$fast_install" = yes; then
 
4463
            relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
 
4464
          else
 
4465
            # fast_install is set to needless
 
4466
            relink_command=
 
4467
          fi
 
4468
        else
 
4469
          link_command="$compile_var$compile_command$compile_rpath"
 
4470
          relink_command="$finalize_var$finalize_command$finalize_rpath"
 
4471
        fi
 
4472
      fi
 
4473
 
 
4474
      # Replace the output file specification.
 
4475
      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 
4476
 
 
4477
      # Delete the old output files.
 
4478
      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
 
4479
 
 
4480
      $show "$link_command"
 
4481
      $run eval "$link_command" || exit $?
 
4482
 
 
4483
      # Now create the wrapper script.
 
4484
      $show "creating $output"
 
4485
 
 
4486
      # Quote the relink command for shipping.
 
4487
      if test -n "$relink_command"; then
 
4488
        # Preserve any variables that may affect compiler behavior
 
4489
        for var in $variables_saved_for_relink; do
 
4490
          if eval test -z \"\${$var+set}\"; then
 
4491
            relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
 
4492
          elif eval var_value=\$$var; test -z "$var_value"; then
 
4493
            relink_command="$var=; export $var; $relink_command"
 
4494
          else
 
4495
            var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
 
4496
            relink_command="$var=\"$var_value\"; export $var; $relink_command"
 
4497
          fi
 
4498
        done
 
4499
        relink_command="(cd `pwd`; $relink_command)"
 
4500
        relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
 
4501
      fi
 
4502
 
 
4503
      # Quote $echo for shipping.
 
4504
      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
 
4505
        case $0 in
 
4506
        [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
 
4507
        *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
 
4508
        esac
 
4509
        qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
 
4510
      else
 
4511
        qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
 
4512
      fi
 
4513
 
 
4514
      # Only actually do things if our run command is non-null.
 
4515
      if test -z "$run"; then
 
4516
        # win32 will think the script is a binary if it has
 
4517
        # a .exe suffix, so we strip it off here.
 
4518
        case $output in
 
4519
          *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
 
4520
        esac
 
4521
        # test for cygwin because mv fails w/o .exe extensions
 
4522
        case $host in
 
4523
          *cygwin*)
 
4524
            exeext=.exe
 
4525
            outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
 
4526
          *) exeext= ;;
 
4527
        esac
 
4528
        case $host in
 
4529
          *cygwin* | *mingw* )
 
4530
            cwrappersource=`$echo ${objdir}/lt-${output}.c`
 
4531
            cwrapper=`$echo ${output}.exe`
 
4532
            $rm $cwrappersource $cwrapper
 
4533
            trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15
 
4534
 
 
4535
            cat > $cwrappersource <<EOF
 
4536
 
 
4537
/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
 
4538
   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
 
4539
 
 
4540
   The $output program cannot be directly executed until all the libtool
 
4541
   libraries that it depends on are installed.
 
4542
   
 
4543
   This wrapper executable should never be moved out of the build directory.
 
4544
   If it is, it will not operate correctly.
 
4545
 
 
4546
   Currently, it simply execs the wrapper *script* "/bin/sh $output",
 
4547
   but could eventually absorb all of the scripts functionality and
 
4548
   exec $objdir/$outputname directly.
 
4549
*/
 
4550
EOF
 
4551
            cat >> $cwrappersource<<"EOF"
 
4552
#include <stdio.h>
 
4553
#include <stdlib.h>
 
4554
#include <unistd.h>
 
4555
#include <malloc.h>
 
4556
#include <stdarg.h>
 
4557
#include <assert.h>
 
4558
 
 
4559
#if defined(PATH_MAX)
 
4560
# define LT_PATHMAX PATH_MAX
 
4561
#elif defined(MAXPATHLEN)
 
4562
# define LT_PATHMAX MAXPATHLEN
 
4563
#else
 
4564
# define LT_PATHMAX 1024
 
4565
#endif
 
4566
 
 
4567
#ifndef DIR_SEPARATOR
 
4568
#define DIR_SEPARATOR '/'
 
4569
#endif
 
4570
 
 
4571
#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
 
4572
  defined (__OS2__)
 
4573
#define HAVE_DOS_BASED_FILE_SYSTEM
 
4574
#ifndef DIR_SEPARATOR_2 
 
4575
#define DIR_SEPARATOR_2 '\\'
 
4576
#endif
 
4577
#endif
 
4578
 
 
4579
#ifndef DIR_SEPARATOR_2
 
4580
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
 
4581
#else /* DIR_SEPARATOR_2 */
 
4582
# define IS_DIR_SEPARATOR(ch) \
 
4583
        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
 
4584
#endif /* DIR_SEPARATOR_2 */
 
4585
 
 
4586
#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 
4587
#define XFREE(stale) do { \
 
4588
  if (stale) { free ((void *) stale); stale = 0; } \
 
4589
} while (0)
 
4590
 
 
4591
const char *program_name = NULL;
 
4592
 
 
4593
void * xmalloc (size_t num);
 
4594
char * xstrdup (const char *string);
 
4595
char * basename (const char *name);
 
4596
char * fnqualify(const char *path);
 
4597
char * strendzap(char *str, const char *pat);
 
4598
void lt_fatal (const char *message, ...);
 
4599
 
 
4600
int
 
4601
main (int argc, char *argv[])
 
4602
{
 
4603
  char **newargz;
 
4604
  int i;
 
4605
  
 
4606
  program_name = (char *) xstrdup ((char *) basename (argv[0]));
 
4607
  newargz = XMALLOC(char *, argc+2);
 
4608
EOF
 
4609
 
 
4610
            cat >> $cwrappersource <<EOF
 
4611
  newargz[0] = "$SHELL";
 
4612
EOF
 
4613
 
 
4614
            cat >> $cwrappersource <<"EOF"
 
4615
  newargz[1] = fnqualify(argv[0]);
 
4616
  /* we know the script has the same name, without the .exe */
 
4617
  /* so make sure newargz[1] doesn't end in .exe */
 
4618
  strendzap(newargz[1],".exe"); 
 
4619
  for (i = 1; i < argc; i++)
 
4620
    newargz[i+1] = xstrdup(argv[i]);
 
4621
  newargz[argc+1] = NULL;
 
4622
EOF
 
4623
 
 
4624
            cat >> $cwrappersource <<EOF
 
4625
  execv("$SHELL",newargz);
 
4626
EOF
 
4627
 
 
4628
            cat >> $cwrappersource <<"EOF"
 
4629
}
 
4630
 
 
4631
void *
 
4632
xmalloc (size_t num)
 
4633
{
 
4634
  void * p = (void *) malloc (num);
 
4635
  if (!p)
 
4636
    lt_fatal ("Memory exhausted");
 
4637
 
 
4638
  return p;
 
4639
}
 
4640
 
 
4641
char * 
 
4642
xstrdup (const char *string)
 
4643
{
 
4644
  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
 
4645
;
 
4646
}
 
4647
 
 
4648
char *
 
4649
basename (const char *name)
 
4650
{
 
4651
  const char *base;
 
4652
 
 
4653
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
 
4654
  /* Skip over the disk name in MSDOS pathnames. */
 
4655
  if (isalpha (name[0]) && name[1] == ':') 
 
4656
    name += 2;
 
4657
#endif
 
4658
 
 
4659
  for (base = name; *name; name++)
 
4660
    if (IS_DIR_SEPARATOR (*name))
 
4661
      base = name + 1;
 
4662
  return (char *) base;
 
4663
}
 
4664
 
 
4665
char * 
 
4666
fnqualify(const char *path)
 
4667
{
 
4668
  size_t size;
 
4669
  char *p;
 
4670
  char tmp[LT_PATHMAX + 1];
 
4671
 
 
4672
  assert(path != NULL);
 
4673
 
 
4674
  /* Is it qualified already? */
 
4675
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
 
4676
  if (isalpha (path[0]) && path[1] == ':')
 
4677
    return xstrdup (path);
 
4678
#endif
 
4679
  if (IS_DIR_SEPARATOR (path[0]))
 
4680
    return xstrdup (path);
 
4681
 
 
4682
  /* prepend the current directory */
 
4683
  /* doesn't handle '~' */
 
4684
  if (getcwd (tmp, LT_PATHMAX) == NULL)
 
4685
    lt_fatal ("getcwd failed");
 
4686
  size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */
 
4687
  p = XMALLOC(char, size);
 
4688
  sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path);
 
4689
  return p;
 
4690
}
 
4691
 
 
4692
char *
 
4693
strendzap(char *str, const char *pat) 
 
4694
{
 
4695
  size_t len, patlen;
 
4696
 
 
4697
  assert(str != NULL);
 
4698
  assert(pat != NULL);
 
4699
 
 
4700
  len = strlen(str);
 
4701
  patlen = strlen(pat);
 
4702
 
 
4703
  if (patlen <= len)
 
4704
  {
 
4705
    str += len - patlen;
 
4706
    if (strcmp(str, pat) == 0)
 
4707
      *str = '\0';
 
4708
  }
 
4709
  return str;
 
4710
}
 
4711
 
 
4712
static void
 
4713
lt_error_core (int exit_status, const char * mode, 
 
4714
          const char * message, va_list ap)
 
4715
{
 
4716
  fprintf (stderr, "%s: %s: ", program_name, mode);
 
4717
  vfprintf (stderr, message, ap);
 
4718
  fprintf (stderr, ".\n");
 
4719
 
 
4720
  if (exit_status >= 0)
 
4721
    exit (exit_status);
 
4722
}
 
4723
 
 
4724
void
 
4725
lt_fatal (const char *message, ...)
 
4726
{
 
4727
  va_list ap;
 
4728
  va_start (ap, message);
 
4729
  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
 
4730
  va_end (ap);
 
4731
}
 
4732
EOF
 
4733
          # we should really use a build-platform specific compiler
 
4734
          # here, but OTOH, the wrappers (shell script and this C one)
 
4735
          # are only useful if you want to execute the "real" binary.
 
4736
          # Since the "real" binary is built for $host, then this
 
4737
          # wrapper might as well be built for $host, too.
 
4738
          $run $LTCC -s -o $cwrapper $cwrappersource
 
4739
          ;;
 
4740
        esac
 
4741
        $rm $output
 
4742
        trap "$rm $output; exit 1" 1 2 15
 
4743
 
 
4744
        $echo > $output "\
 
4745
#! $SHELL
 
4746
 
 
4747
# $output - temporary wrapper script for $objdir/$outputname
 
4748
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
 
4749
#
 
4750
# The $output program cannot be directly executed until all the libtool
 
4751
# libraries that it depends on are installed.
 
4752
#
 
4753
# This wrapper script should never be moved out of the build directory.
 
4754
# If it is, it will not operate correctly.
 
4755
 
 
4756
# Sed substitution that helps us do robust quoting.  It backslashifies
 
4757
# metacharacters that are still active within double-quoted strings.
 
4758
Xsed='${SED} -e 1s/^X//'
 
4759
sed_quote_subst='$sed_quote_subst'
 
4760
 
 
4761
# The HP-UX ksh and POSIX shell print the target directory to stdout
 
4762
# if CDPATH is set.
 
4763
if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
 
4764
 
 
4765
relink_command=\"$relink_command\"
 
4766
 
 
4767
# This environment variable determines our operation mode.
 
4768
if test \"\$libtool_install_magic\" = \"$magic\"; then
 
4769
  # install mode needs the following variable:
 
4770
  notinst_deplibs='$notinst_deplibs'
 
4771
else
 
4772
  # When we are sourced in execute mode, \$file and \$echo are already set.
 
4773
  if test \"\$libtool_execute_magic\" != \"$magic\"; then
 
4774
    echo=\"$qecho\"
 
4775
    file=\"\$0\"
 
4776
    # Make sure echo works.
 
4777
    if test \"X\$1\" = X--no-reexec; then
 
4778
      # Discard the --no-reexec flag, and continue.
 
4779
      shift
 
4780
    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
 
4781
      # Yippee, \$echo works!
 
4782
      :
 
4783
    else
 
4784
      # Restart under the correct shell, and then maybe \$echo will work.
 
4785
      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
 
4786
    fi
 
4787
  fi\
 
4788
"
 
4789
        $echo >> $output "\
 
4790
 
 
4791
  # Find the directory that this script lives in.
 
4792
  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
 
4793
  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 
4794
 
 
4795
  # Follow symbolic links until we get to the real thisdir.
 
4796
  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
 
4797
  while test -n \"\$file\"; do
 
4798
    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
 
4799
 
 
4800
    # If there was a directory component, then change thisdir.
 
4801
    if test \"x\$destdir\" != \"x\$file\"; then
 
4802
      case \"\$destdir\" in
 
4803
      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
 
4804
      *) thisdir=\"\$thisdir/\$destdir\" ;;
 
4805
      esac
 
4806
    fi
 
4807
 
 
4808
    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
 
4809
    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
 
4810
  done
 
4811
 
 
4812
  # Try to get the absolute directory name.
 
4813
  absdir=\`cd \"\$thisdir\" && pwd\`
 
4814
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
 
4815
"
 
4816
 
 
4817
        if test "$fast_install" = yes; then
 
4818
          $echo >> $output "\
 
4819
  program=lt-'$outputname'$exeext
 
4820
  progdir=\"\$thisdir/$objdir\"
 
4821
 
 
4822
  if test ! -f \"\$progdir/\$program\" || \\
 
4823
     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
 
4824
       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
 
4825
 
 
4826
    file=\"\$\$-\$program\"
 
4827
 
 
4828
    if test ! -d \"\$progdir\"; then
 
4829
      $mkdir \"\$progdir\"
 
4830
    else
 
4831
      $rm \"\$progdir/\$file\"
 
4832
    fi"
 
4833
 
 
4834
          $echo >> $output "\
 
4835
 
 
4836
    # relink executable if necessary
 
4837
    if test -n \"\$relink_command\"; then
 
4838
      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
 
4839
      else
 
4840
        $echo \"\$relink_command_output\" >&2
 
4841
        $rm \"\$progdir/\$file\"
 
4842
        exit 1
 
4843
      fi
 
4844
    fi
 
4845
 
 
4846
    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
 
4847
    { $rm \"\$progdir/\$program\";
 
4848
      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
 
4849
    $rm \"\$progdir/\$file\"
 
4850
  fi"
 
4851
        else
 
4852
          $echo >> $output "\
 
4853
  program='$outputname'
 
4854
  progdir=\"\$thisdir/$objdir\"
 
4855
"
 
4856
        fi
 
4857
 
 
4858
        $echo >> $output "\
 
4859
 
 
4860
  if test -f \"\$progdir/\$program\"; then"
 
4861
 
 
4862
        # Export our shlibpath_var if we have one.
 
4863
        if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
 
4864
          $echo >> $output "\
 
4865
    # Add our own library path to $shlibpath_var
 
4866
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 
4867
 
 
4868
    # Some systems cannot cope with colon-terminated $shlibpath_var
 
4869
    # The second colon is a workaround for a bug in BeOS R4 sed
 
4870
    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
 
4871
 
 
4872
    export $shlibpath_var
 
4873
"
 
4874
        fi
 
4875
 
 
4876
        # fixup the dll searchpath if we need to.
 
4877
        if test -n "$dllsearchpath"; then
 
4878
          $echo >> $output "\
 
4879
    # Add the dll search path components to the executable PATH
 
4880
    PATH=$dllsearchpath:\$PATH
 
4881
"
 
4882
        fi
 
4883
 
 
4884
        $echo >> $output "\
 
4885
    if test \"\$libtool_execute_magic\" != \"$magic\"; then
 
4886
      # Run the actual program with our arguments.
 
4887
"
 
4888
        case $host in
 
4889
        # Backslashes separate directories on plain windows
 
4890
        *-*-mingw | *-*-os2*)
 
4891
          $echo >> $output "\
 
4892
      exec \$progdir\\\\\$program \${1+\"\$@\"}
 
4893
"
 
4894
          ;;
 
4895
 
 
4896
        *)
 
4897
          $echo >> $output "\
 
4898
      exec \$progdir/\$program \${1+\"\$@\"}
 
4899
"
 
4900
          ;;
 
4901
        esac
 
4902
        $echo >> $output "\
 
4903
      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
 
4904
      exit 1
 
4905
    fi
 
4906
  else
 
4907
    # The program doesn't exist.
 
4908
    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
 
4909
    \$echo \"This script is just a wrapper for \$program.\" 1>&2
 
4910
    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
 
4911
    exit 1
 
4912
  fi
 
4913
fi\
 
4914
"
 
4915
        chmod +x $output
 
4916
      fi
 
4917
      exit 0
 
4918
      ;;
 
4919
    esac
 
4920
 
 
4921
    # See if we need to build an old-fashioned archive.
 
4922
    for oldlib in $oldlibs; do
 
4923
 
 
4924
      if test "$build_libtool_libs" = convenience; then
 
4925
        oldobjs="$libobjs_save"
 
4926
        addlibs="$convenience"
 
4927
        build_libtool_libs=no
 
4928
      else
 
4929
        if test "$build_libtool_libs" = module; then
 
4930
          oldobjs="$libobjs_save"
 
4931
          build_libtool_libs=no
 
4932
        else
 
4933
          oldobjs="$old_deplibs $non_pic_objects"
 
4934
        fi
 
4935
        addlibs="$old_convenience"
 
4936
      fi
 
4937
 
 
4938
      if test -n "$addlibs"; then
 
4939
        gentop="$output_objdir/${outputname}x"
 
4940
        $show "${rm}r $gentop"
 
4941
        $run ${rm}r "$gentop"
 
4942
        $show "$mkdir $gentop"
 
4943
        $run $mkdir "$gentop"
 
4944
        status=$?
 
4945
        if test "$status" -ne 0 && test ! -d "$gentop"; then
 
4946
          exit $status
 
4947
        fi
 
4948
        generated="$generated $gentop"
 
4949
 
 
4950
        # Add in members from convenience archives.
 
4951
        for xlib in $addlibs; do
 
4952
          # Extract the objects.
 
4953
          case $xlib in
 
4954
          [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
 
4955
          *) xabs=`pwd`"/$xlib" ;;
 
4956
          esac
 
4957
          xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
 
4958
          xdir="$gentop/$xlib"
 
4959
 
 
4960
          $show "${rm}r $xdir"
 
4961
          $run ${rm}r "$xdir"
 
4962
          $show "$mkdir $xdir"
 
4963
          $run $mkdir "$xdir"
 
4964
          status=$?
 
4965
          if test "$status" -ne 0 && test ! -d "$xdir"; then
 
4966
            exit $status
 
4967
          fi
 
4968
          # We will extract separately just the conflicting names and we will no
 
4969
          # longer touch any unique names. It is faster to leave these extract
 
4970
          # automatically by $AR in one run.
 
4971
          $show "(cd $xdir && $AR x $xabs)"
 
4972
          $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
 
4973
          if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then
 
4974
            :
 
4975
          else
 
4976
            $echo "$modename: warning: object name conflicts; renaming object files" 1>&2
 
4977
            $echo "$modename: warning: to ensure that they will not overwrite" 1>&2
 
4978
            $AR t "$xabs" | sort | uniq -cd | while read -r count name
 
4979
            do
 
4980
              i=1
 
4981
              while test "$i" -le "$count"
 
4982
              do
 
4983
               # Put our $i before any first dot (extension)
 
4984
               # Never overwrite any file
 
4985
               name_to="$name"
 
4986
               while test "X$name_to" = "X$name" || test -f "$xdir/$name_to"
 
4987
               do
 
4988
                 name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"`
 
4989
               done
 
4990
               $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')"
 
4991
               $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $?
 
4992
               i=`expr $i + 1`
 
4993
              done
 
4994
            done
 
4995
          fi
 
4996
 
 
4997
          oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
 
4998
        done
 
4999
      fi
 
5000
 
 
5001
      # Do each command in the archive commands.
 
5002
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
 
5003
        eval cmds=\"$old_archive_from_new_cmds\"
 
5004
      else
 
5005
        eval cmds=\"$old_archive_cmds\"
 
5006
 
 
5007
        if len=`expr "X$cmds" : ".*"` &&
 
5008
             test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 
5009
          :
 
5010
        else
 
5011
          # the command line is too long to link in one step, link in parts
 
5012
          $echo "using piecewise archive linking..."
 
5013
          save_RANLIB=$RANLIB
 
5014
          RANLIB=:
 
5015
          objlist=
 
5016
          concat_cmds=
 
5017
          save_oldobjs=$oldobjs
 
5018
          # GNU ar 2.10+ was changed to match POSIX; thus no paths are
 
5019
          # encoded into archives.  This makes 'ar r' malfunction in
 
5020
          # this piecewise linking case whenever conflicting object
 
5021
          # names appear in distinct ar calls; check, warn and compensate.
 
5022
            if (for obj in $save_oldobjs
 
5023
            do
 
5024
              $echo "X$obj" | $Xsed -e 's%^.*/%%'
 
5025
            done | sort | sort -uc >/dev/null 2>&1); then
 
5026
            :
 
5027
          else
 
5028
            $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2
 
5029
            $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2
 
5030
            AR_FLAGS=cq
 
5031
          fi
 
5032
          # Is there a better way of finding the last object in the list?
 
5033
          for obj in $save_oldobjs
 
5034
          do
 
5035
            last_oldobj=$obj
 
5036
          done  
 
5037
          for obj in $save_oldobjs
 
5038
          do
 
5039
            oldobjs="$objlist $obj"
 
5040
            objlist="$objlist $obj"
 
5041
            eval test_cmds=\"$old_archive_cmds\"
 
5042
            if len=`expr "X$test_cmds" : ".*"` &&
 
5043
               test "$len" -le "$max_cmd_len"; then
 
5044
              :
 
5045
            else
 
5046
              # the above command should be used before it gets too long
 
5047
              oldobjs=$objlist
 
5048
              if test "$obj" = "$last_oldobj" ; then
 
5049
                RANLIB=$save_RANLIB
 
5050
              fi  
 
5051
              test -z "$concat_cmds" || concat_cmds=$concat_cmds~
 
5052
              eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
 
5053
              objlist=
 
5054
            fi
 
5055
          done
 
5056
          RANLIB=$save_RANLIB
 
5057
          oldobjs=$objlist
 
5058
          if test "X$oldobjs" = "X" ; then
 
5059
            eval cmds=\"\$concat_cmds\"
 
5060
          else
 
5061
            eval cmds=\"\$concat_cmds~$old_archive_cmds\"
 
5062
          fi
 
5063
        fi
 
5064
      fi
 
5065
      save_ifs="$IFS"; IFS='~'
 
5066
      for cmd in $cmds; do
 
5067
        IFS="$save_ifs"
 
5068
        $show "$cmd"
 
5069
        $run eval "$cmd" || exit $?
 
5070
      done
 
5071
      IFS="$save_ifs"
 
5072
    done
 
5073
 
 
5074
    if test -n "$generated"; then
 
5075
      $show "${rm}r$generated"
 
5076
      $run ${rm}r$generated
 
5077
    fi
 
5078
 
 
5079
    # Now create the libtool archive.
 
5080
    case $output in
 
5081
    *.la)
 
5082
      old_library=
 
5083
      test "$build_old_libs" = yes && old_library="$libname.$libext"
 
5084
      $show "creating $output"
 
5085
 
 
5086
      # Preserve any variables that may affect compiler behavior
 
5087
      for var in $variables_saved_for_relink; do
 
5088
        if eval test -z \"\${$var+set}\"; then
 
5089
          relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
 
5090
        elif eval var_value=\$$var; test -z "$var_value"; then
 
5091
          relink_command="$var=; export $var; $relink_command"
 
5092
        else
 
5093
          var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
 
5094
          relink_command="$var=\"$var_value\"; export $var; $relink_command"
 
5095
        fi
 
5096
      done
 
5097
      # Quote the link command for shipping.
 
5098
      relink_command="(cd `pwd`; $SHELL $0 $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
 
5099
      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
 
5100
      if test "$hardcode_automatic" = yes ; then
 
5101
        relink_command=
 
5102
      fi  
 
5103
      # Only create the output if not a dry run.
 
5104
      if test -z "$run"; then
 
5105
        for installed in no yes; do
 
5106
          if test "$installed" = yes; then
 
5107
            if test -z "$install_libdir"; then
 
5108
              break
 
5109
            fi
 
5110
            output="$output_objdir/$outputname"i
 
5111
            # Replace all uninstalled libtool libraries with the installed ones
 
5112
            newdependency_libs=
 
5113
            for deplib in $dependency_libs; do
 
5114
              case $deplib in
 
5115
              *.la)
 
5116
                name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
 
5117
                eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 
5118
                if test -z "$libdir"; then
 
5119
                  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
 
5120
                  exit 1
 
5121
                fi
 
5122
                newdependency_libs="$newdependency_libs $libdir/$name"
 
5123
                ;;
 
5124
              *) newdependency_libs="$newdependency_libs $deplib" ;;
 
5125
              esac
 
5126
            done
 
5127
            dependency_libs="$newdependency_libs"
 
5128
            newdlfiles=
 
5129
            for lib in $dlfiles; do
 
5130
              name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
 
5131
              eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 
5132
              if test -z "$libdir"; then
 
5133
                $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 
5134
                exit 1
 
5135
              fi
 
5136
              newdlfiles="$newdlfiles $libdir/$name"
 
5137
            done
 
5138
            dlfiles="$newdlfiles"
 
5139
            newdlprefiles=
 
5140
            for lib in $dlprefiles; do
 
5141
              name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
 
5142
              eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 
5143
              if test -z "$libdir"; then
 
5144
                $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 
5145
                exit 1
 
5146
              fi
 
5147
              newdlprefiles="$newdlprefiles $libdir/$name"
 
5148
            done
 
5149
            dlprefiles="$newdlprefiles"
 
5150
          else
 
5151
            newdlfiles=
 
5152
            for lib in $dlfiles; do
 
5153
              case $lib in 
 
5154
                [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 
5155
                *) abs=`pwd`"/$lib" ;;
 
5156
              esac
 
5157
              newdlfiles="$newdlfiles $abs"
 
5158
            done
 
5159
            dlfiles="$newdlfiles"
 
5160
            newdlprefiles=
 
5161
            for lib in $dlprefiles; do
 
5162
              case $lib in 
 
5163
                [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 
5164
                *) abs=`pwd`"/$lib" ;;
 
5165
              esac
 
5166
              newdlprefiles="$newdlprefiles $abs"
 
5167
            done
 
5168
            dlprefiles="$newdlprefiles"
 
5169
          fi
 
5170
          $rm $output
 
5171
          # place dlname in correct position for cygwin
 
5172
          tdlname=$dlname
 
5173
          case $host,$output,$installed,$module,$dlname in
 
5174
            *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
 
5175
          esac
 
5176
          $echo > $output "\
 
5177
# $outputname - a libtool library file
 
5178
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
 
5179
#
 
5180
# Please DO NOT delete this file!
 
5181
# It is necessary for linking the library.
 
5182
 
 
5183
# The name that we can dlopen(3).
 
5184
dlname='$tdlname'
 
5185
 
 
5186
# Names of this library.
 
5187
library_names='$library_names'
 
5188
 
 
5189
# The name of the static archive.
 
5190
old_library='$old_library'
 
5191
 
 
5192
# Libraries that this one depends upon.
 
5193
dependency_libs='$dependency_libs'
 
5194
 
 
5195
# Version information for $libname.
 
5196
current=$current
 
5197
age=$age
 
5198
revision=$revision
 
5199
 
 
5200
# Is this an already installed library?
 
5201
installed=$installed
 
5202
 
 
5203
# Should we warn about portability when linking against -modules?
 
5204
shouldnotlink=$module
 
5205
 
 
5206
# Files to dlopen/dlpreopen
 
5207
dlopen='$dlfiles'
 
5208
dlpreopen='$dlprefiles'
 
5209
 
 
5210
# Directory that this library needs to be installed in:
 
5211
libdir='$install_libdir'"
 
5212
          if test "$installed" = no && test "$need_relink" = yes; then
 
5213
            $echo >> $output "\
 
5214
relink_command=\"$relink_command\""
 
5215
          fi
 
5216
        done
 
5217
      fi
 
5218
 
 
5219
      # Do a symbolic link so that the libtool archive can be found in
 
5220
      # LD_LIBRARY_PATH before the program is installed.
 
5221
      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
 
5222
      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
 
5223
      ;;
 
5224
    esac
 
5225
    exit 0
 
5226
    ;;
 
5227
 
 
5228
  # libtool install mode
 
5229
  install)
 
5230
    modename="$modename: install"
 
5231
 
 
5232
    # There may be an optional sh(1) argument at the beginning of
 
5233
    # install_prog (especially on Windows NT).
 
5234
    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
 
5235
       # Allow the use of GNU shtool's install command.
 
5236
       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
 
5237
      # Aesthetically quote it.
 
5238
      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
 
5239
      case $arg in
 
5240
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
 
5241
        arg="\"$arg\""
 
5242
        ;;
 
5243
      esac
 
5244
      install_prog="$arg "
 
5245
      arg="$1"
 
5246
      shift
 
5247
    else
 
5248
      install_prog=
 
5249
      arg="$nonopt"
 
5250
    fi
 
5251
 
 
5252
    # The real first argument should be the name of the installation program.
 
5253
    # Aesthetically quote it.
 
5254
    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
5255
    case $arg in
 
5256
    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*)
 
5257
      arg="\"$arg\""
 
5258
      ;;
 
5259
    esac
 
5260
    install_prog="$install_prog$arg"
 
5261
 
 
5262
    # We need to accept at least all the BSD install flags.
 
5263
    dest=
 
5264
    files=
 
5265
    opts=
 
5266
    prev=
 
5267
    install_type=
 
5268
    isdir=no
 
5269
    stripme=
 
5270
    for arg
 
5271
    do
 
5272
      if test -n "$dest"; then
 
5273
        files="$files $dest"
 
5274
        dest="$arg"
 
5275
        continue
 
5276
      fi
 
5277
 
 
5278
      case $arg in
 
5279
      -d) isdir=yes ;;
 
5280
      -f) prev="-f" ;;
 
5281
      -g) prev="-g" ;;
 
5282
      -m) prev="-m" ;;
 
5283
      -o) prev="-o" ;;
 
5284
      -s)
 
5285
        stripme=" -s"
 
5286
        continue
 
5287
        ;;
 
5288
      -*) ;;
 
5289
 
 
5290
      *)
 
5291
        # If the previous option needed an argument, then skip it.
 
5292
        if test -n "$prev"; then
 
5293
          prev=
 
5294
        else
 
5295
          dest="$arg"
 
5296
          continue
 
5297
        fi
 
5298
        ;;
 
5299
      esac
 
5300
 
 
5301
      # Aesthetically quote the argument.
 
5302
      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
5303
      case $arg in
 
5304
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
 
5305
        arg="\"$arg\""
 
5306
        ;;
 
5307
      esac
 
5308
      install_prog="$install_prog $arg"
 
5309
    done
 
5310
 
 
5311
    if test -z "$install_prog"; then
 
5312
      $echo "$modename: you must specify an install program" 1>&2
 
5313
      $echo "$help" 1>&2
 
5314
      exit 1
 
5315
    fi
 
5316
 
 
5317
    if test -n "$prev"; then
 
5318
      $echo "$modename: the \`$prev' option requires an argument" 1>&2
 
5319
      $echo "$help" 1>&2
 
5320
      exit 1
 
5321
    fi
 
5322
 
 
5323
    if test -z "$files"; then
 
5324
      if test -z "$dest"; then
 
5325
        $echo "$modename: no file or destination specified" 1>&2
 
5326
      else
 
5327
        $echo "$modename: you must specify a destination" 1>&2
 
5328
      fi
 
5329
      $echo "$help" 1>&2
 
5330
      exit 1
 
5331
    fi
 
5332
 
 
5333
    # Strip any trailing slash from the destination.
 
5334
    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
 
5335
 
 
5336
    # Check to see that the destination is a directory.
 
5337
    test -d "$dest" && isdir=yes
 
5338
    if test "$isdir" = yes; then
 
5339
      destdir="$dest"
 
5340
      destname=
 
5341
    else
 
5342
      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
 
5343
      test "X$destdir" = "X$dest" && destdir=.
 
5344
      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
 
5345
 
 
5346
      # Not a directory, so check to see that there is only one file specified.
 
5347
      set dummy $files
 
5348
      if test "$#" -gt 2; then
 
5349
        $echo "$modename: \`$dest' is not a directory" 1>&2
 
5350
        $echo "$help" 1>&2
 
5351
        exit 1
 
5352
      fi
 
5353
    fi
 
5354
    case $destdir in
 
5355
    [\\/]* | [A-Za-z]:[\\/]*) ;;
 
5356
    *)
 
5357
      for file in $files; do
 
5358
        case $file in
 
5359
        *.lo) ;;
 
5360
        *)
 
5361
          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
 
5362
          $echo "$help" 1>&2
 
5363
          exit 1
 
5364
          ;;
 
5365
        esac
 
5366
      done
 
5367
      ;;
 
5368
    esac
 
5369
 
 
5370
    # This variable tells wrapper scripts just to set variables rather
 
5371
    # than running their programs.
 
5372
    libtool_install_magic="$magic"
 
5373
 
 
5374
    staticlibs=
 
5375
    future_libdirs=
 
5376
    current_libdirs=
 
5377
    for file in $files; do
 
5378
 
 
5379
      # Do each installation.
 
5380
      case $file in
 
5381
      *.$libext)
 
5382
        # Do the static libraries later.
 
5383
        staticlibs="$staticlibs $file"
 
5384
        ;;
 
5385
 
 
5386
      *.la)
 
5387
        # Check to see that this really is a libtool archive.
 
5388
        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 
5389
        else
 
5390
          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
 
5391
          $echo "$help" 1>&2
 
5392
          exit 1
 
5393
        fi
 
5394
 
 
5395
        library_names=
 
5396
        old_library=
 
5397
        relink_command=
 
5398
        # If there is no directory component, then add one.
 
5399
        case $file in
 
5400
        */* | *\\*) . $file ;;
 
5401
        *) . ./$file ;;
 
5402
        esac
 
5403
 
 
5404
        # Add the libdir to current_libdirs if it is the destination.
 
5405
        if test "X$destdir" = "X$libdir"; then
 
5406
          case "$current_libdirs " in
 
5407
          *" $libdir "*) ;;
 
5408
          *) current_libdirs="$current_libdirs $libdir" ;;
 
5409
          esac
 
5410
        else
 
5411
          # Note the libdir as a future libdir.
 
5412
          case "$future_libdirs " in
 
5413
          *" $libdir "*) ;;
 
5414
          *) future_libdirs="$future_libdirs $libdir" ;;
 
5415
          esac
 
5416
        fi
 
5417
 
 
5418
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
 
5419
        test "X$dir" = "X$file/" && dir=
 
5420
        dir="$dir$objdir"
 
5421
 
 
5422
        if test -n "$relink_command"; then
 
5423
          # Determine the prefix the user has applied to our future dir.
 
5424
          inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
 
5425
 
 
5426
          # Don't allow the user to place us outside of our expected
 
5427
          # location b/c this prevents finding dependent libraries that
 
5428
          # are installed to the same prefix.
 
5429
          # At present, this check doesn't affect windows .dll's that
 
5430
          # are installed into $libdir/../bin (currently, that works fine)
 
5431
          # but it's something to keep an eye on.
 
5432
          if test "$inst_prefix_dir" = "$destdir"; then
 
5433
            $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
 
5434
            exit 1
 
5435
          fi
 
5436
 
 
5437
          if test -n "$inst_prefix_dir"; then
 
5438
            # Stick the inst_prefix_dir data into the link command.
 
5439
            relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
 
5440
          else
 
5441
            relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
 
5442
          fi
 
5443
 
 
5444
          $echo "$modename: warning: relinking \`$file'" 1>&2
 
5445
          $show "$relink_command"
 
5446
          if $run eval "$relink_command"; then :
 
5447
          else
 
5448
            $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
 
5449
            exit 1
 
5450
          fi
 
5451
        fi
 
5452
 
 
5453
        # See the names of the shared library.
 
5454
        set dummy $library_names
 
5455
        if test -n "$2"; then
 
5456
          realname="$2"
 
5457
          shift
 
5458
          shift
 
5459
 
 
5460
          srcname="$realname"
 
5461
          test -n "$relink_command" && srcname="$realname"T
 
5462
 
 
5463
          # Install the shared library and build the symlinks.
 
5464
          $show "$install_prog $dir/$srcname $destdir/$realname"
 
5465
          $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
 
5466
          if test -n "$stripme" && test -n "$striplib"; then
 
5467
            $show "$striplib $destdir/$realname"
 
5468
            $run eval "$striplib $destdir/$realname" || exit $?
 
5469
          fi
 
5470
 
 
5471
          if test "$#" -gt 0; then
 
5472
            # Delete the old symlinks, and create new ones.
 
5473
            for linkname
 
5474
            do
 
5475
              if test "$linkname" != "$realname"; then
 
5476
                $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
 
5477
                $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
 
5478
              fi
 
5479
            done
 
5480
          fi
 
5481
 
 
5482
          # Do each command in the postinstall commands.
 
5483
          lib="$destdir/$realname"
 
5484
          eval cmds=\"$postinstall_cmds\"
 
5485
          save_ifs="$IFS"; IFS='~'
 
5486
          for cmd in $cmds; do
 
5487
            IFS="$save_ifs"
 
5488
            $show "$cmd"
 
5489
            $run eval "$cmd" || exit $?
 
5490
          done
 
5491
          IFS="$save_ifs"
 
5492
        fi
 
5493
 
 
5494
        # Install the pseudo-library for information purposes.
 
5495
        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
5496
        instname="$dir/$name"i
 
5497
        $show "$install_prog $instname $destdir/$name"
 
5498
        $run eval "$install_prog $instname $destdir/$name" || exit $?
 
5499
 
 
5500
        # Maybe install the static library, too.
 
5501
        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
 
5502
        ;;
 
5503
 
 
5504
      *.lo)
 
5505
        # Install (i.e. copy) a libtool object.
 
5506
 
 
5507
        # Figure out destination file name, if it wasn't already specified.
 
5508
        if test -n "$destname"; then
 
5509
          destfile="$destdir/$destname"
 
5510
        else
 
5511
          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
5512
          destfile="$destdir/$destfile"
 
5513
        fi
 
5514
 
 
5515
        # Deduce the name of the destination old-style object file.
 
5516
        case $destfile in
 
5517
        *.lo)
 
5518
          staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
 
5519
          ;;
 
5520
        *.$objext)
 
5521
          staticdest="$destfile"
 
5522
          destfile=
 
5523
          ;;
 
5524
        *)
 
5525
          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
 
5526
          $echo "$help" 1>&2
 
5527
          exit 1
 
5528
          ;;
 
5529
        esac
 
5530
 
 
5531
        # Install the libtool object if requested.
 
5532
        if test -n "$destfile"; then
 
5533
          $show "$install_prog $file $destfile"
 
5534
          $run eval "$install_prog $file $destfile" || exit $?
 
5535
        fi
 
5536
 
 
5537
        # Install the old object if enabled.
 
5538
        if test "$build_old_libs" = yes; then
 
5539
          # Deduce the name of the old-style object file.
 
5540
          staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
 
5541
 
 
5542
          $show "$install_prog $staticobj $staticdest"
 
5543
          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
 
5544
        fi
 
5545
        exit 0
 
5546
        ;;
 
5547
 
 
5548
      *)
 
5549
        # Figure out destination file name, if it wasn't already specified.
 
5550
        if test -n "$destname"; then
 
5551
          destfile="$destdir/$destname"
 
5552
        else
 
5553
          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
5554
          destfile="$destdir/$destfile"
 
5555
        fi
 
5556
 
 
5557
        # If the file is missing, and there is a .exe on the end, strip it
 
5558
        # because it is most likely a libtool script we actually want to
 
5559
        # install
 
5560
        stripped_ext=""
 
5561
        case $file in
 
5562
          *.exe)
 
5563
            if test ! -f "$file"; then
 
5564
              file=`$echo $file|${SED} 's,.exe$,,'`
 
5565
              stripped_ext=".exe"
 
5566
            fi
 
5567
            ;;
 
5568
        esac
 
5569
 
 
5570
        # Do a test to see if this is really a libtool program.
 
5571
        case $host in
 
5572
        *cygwin*|*mingw*)
 
5573
            wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
 
5574
            ;;
 
5575
        *)
 
5576
            wrapper=$file
 
5577
            ;;
 
5578
        esac
 
5579
        if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
 
5580
          notinst_deplibs=
 
5581
          relink_command=
 
5582
 
 
5583
          # To insure that "foo" is sourced, and not "foo.exe",
 
5584
          # finese the cygwin/MSYS system by explicitly sourcing "foo."
 
5585
          # which disallows the automatic-append-.exe behavior.
 
5586
          case $build in
 
5587
          *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
 
5588
          *) wrapperdot=${wrapper} ;;
 
5589
          esac
 
5590
          # If there is no directory component, then add one.
 
5591
          case $file in
 
5592
          */* | *\\*) . ${wrapperdot} ;;
 
5593
          *) . ./${wrapperdot} ;;
 
5594
          esac
 
5595
 
 
5596
          # Check the variables that should have been set.
 
5597
          if test -z "$notinst_deplibs"; then
 
5598
            $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
 
5599
            exit 1
 
5600
          fi
 
5601
 
 
5602
          finalize=yes
 
5603
          for lib in $notinst_deplibs; do
 
5604
            # Check to see that each library is installed.
 
5605
            libdir=
 
5606
            if test -f "$lib"; then
 
5607
              # If there is no directory component, then add one.
 
5608
              case $lib in
 
5609
              */* | *\\*) . $lib ;;
 
5610
              *) . ./$lib ;;
 
5611
              esac
 
5612
            fi
 
5613
            libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
 
5614
            if test -n "$libdir" && test ! -f "$libfile"; then
 
5615
              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
 
5616
              finalize=no
 
5617
            fi
 
5618
          done
 
5619
 
 
5620
          relink_command=
 
5621
          # To insure that "foo" is sourced, and not "foo.exe",
 
5622
          # finese the cygwin/MSYS system by explicitly sourcing "foo."
 
5623
          # which disallows the automatic-append-.exe behavior.
 
5624
          case $build in
 
5625
          *cygwin* | *mingw*) wrapperdot=${wrapper}. ;;
 
5626
          *) wrapperdot=${wrapper} ;;
 
5627
          esac
 
5628
          # If there is no directory component, then add one.
 
5629
          case $file in
 
5630
          */* | *\\*) . ${wrapperdot} ;;
 
5631
          *) . ./${wrapperdot} ;;
 
5632
          esac
 
5633
 
 
5634
          outputname=
 
5635
          if test "$fast_install" = no && test -n "$relink_command"; then
 
5636
            if test "$finalize" = yes && test -z "$run"; then
 
5637
              tmpdir="/tmp"
 
5638
              test -n "$TMPDIR" && tmpdir="$TMPDIR"
 
5639
              tmpdir="$tmpdir/libtool-$$"
 
5640
              if $mkdir "$tmpdir" && chmod 700 "$tmpdir"; then :
 
5641
              else
 
5642
                $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
 
5643
                continue
 
5644
              fi
 
5645
              file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
 
5646
              outputname="$tmpdir/$file"
 
5647
              # Replace the output file specification.
 
5648
              relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
 
5649
 
 
5650
              $show "$relink_command"
 
5651
              if $run eval "$relink_command"; then :
 
5652
              else
 
5653
                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
 
5654
                ${rm}r "$tmpdir"
 
5655
                continue
 
5656
              fi
 
5657
              file="$outputname"
 
5658
            else
 
5659
              $echo "$modename: warning: cannot relink \`$file'" 1>&2
 
5660
            fi
 
5661
          else
 
5662
            # Install the binary that we compiled earlier.
 
5663
            file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
 
5664
          fi
 
5665
        fi
 
5666
 
 
5667
        # remove .exe since cygwin /usr/bin/install will append another
 
5668
        # one anyways
 
5669
        case $install_prog,$host in
 
5670
        */usr/bin/install*,*cygwin*)
 
5671
          case $file:$destfile in
 
5672
          *.exe:*.exe)
 
5673
            # this is ok
 
5674
            ;;
 
5675
          *.exe:*)
 
5676
            destfile=$destfile.exe
 
5677
            ;;
 
5678
          *:*.exe)
 
5679
            destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
 
5680
            ;;
 
5681
          esac
 
5682
          ;;
 
5683
        esac
 
5684
        $show "$install_prog$stripme $file $destfile"
 
5685
        $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
 
5686
        test -n "$outputname" && ${rm}r "$tmpdir"
 
5687
        ;;
 
5688
      esac
 
5689
    done
 
5690
 
 
5691
    for file in $staticlibs; do
 
5692
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
5693
 
 
5694
      # Set up the ranlib parameters.
 
5695
      oldlib="$destdir/$name"
 
5696
 
 
5697
      $show "$install_prog $file $oldlib"
 
5698
      $run eval "$install_prog \$file \$oldlib" || exit $?
 
5699
 
 
5700
      if test -n "$stripme" && test -n "$striplib"; then
 
5701
        $show "$old_striplib $oldlib"
 
5702
        $run eval "$old_striplib $oldlib" || exit $?
 
5703
      fi
 
5704
 
 
5705
      # Do each command in the postinstall commands.
 
5706
      eval cmds=\"$old_postinstall_cmds\"
 
5707
      save_ifs="$IFS"; IFS='~'
 
5708
      for cmd in $cmds; do
 
5709
        IFS="$save_ifs"
 
5710
        $show "$cmd"
 
5711
        $run eval "$cmd" || exit $?
 
5712
      done
 
5713
      IFS="$save_ifs"
 
5714
    done
 
5715
 
 
5716
    if test -n "$future_libdirs"; then
 
5717
      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
 
5718
    fi
 
5719
 
 
5720
    if test -n "$current_libdirs"; then
 
5721
      # Maybe just do a dry run.
 
5722
      test -n "$run" && current_libdirs=" -n$current_libdirs"
 
5723
      exec_cmd='$SHELL $0 $preserve_args --finish$current_libdirs'
 
5724
    else
 
5725
      exit 0
 
5726
    fi
 
5727
    ;;
 
5728
 
 
5729
  # libtool finish mode
 
5730
  finish)
 
5731
    modename="$modename: finish"
 
5732
    libdirs="$nonopt"
 
5733
    admincmds=
 
5734
 
 
5735
    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
 
5736
      for dir
 
5737
      do
 
5738
        libdirs="$libdirs $dir"
 
5739
      done
 
5740
 
 
5741
      for libdir in $libdirs; do
 
5742
        if test -n "$finish_cmds"; then
 
5743
          # Do each command in the finish commands.
 
5744
          eval cmds=\"$finish_cmds\"
 
5745
          save_ifs="$IFS"; IFS='~'
 
5746
          for cmd in $cmds; do
 
5747
            IFS="$save_ifs"
 
5748
            $show "$cmd"
 
5749
            $run eval "$cmd" || admincmds="$admincmds
 
5750
       $cmd"
 
5751
          done
 
5752
          IFS="$save_ifs"
 
5753
        fi
 
5754
        if test -n "$finish_eval"; then
 
5755
          # Do the single finish_eval.
 
5756
          eval cmds=\"$finish_eval\"
 
5757
          $run eval "$cmds" || admincmds="$admincmds
 
5758
       $cmds"
 
5759
        fi
 
5760
      done
 
5761
    fi
 
5762
 
 
5763
    # Exit here if they wanted silent mode.
 
5764
    test "$show" = : && exit 0
 
5765
 
 
5766
    $echo "----------------------------------------------------------------------"
 
5767
    $echo "Libraries have been installed in:"
 
5768
    for libdir in $libdirs; do
 
5769
      $echo "   $libdir"
 
5770
    done
 
5771
    $echo
 
5772
    $echo "If you ever happen to want to link against installed libraries"
 
5773
    $echo "in a given directory, LIBDIR, you must either use libtool, and"
 
5774
    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
 
5775
    $echo "flag during linking and do at least one of the following:"
 
5776
    if test -n "$shlibpath_var"; then
 
5777
      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
 
5778
      $echo "     during execution"
 
5779
    fi
 
5780
    if test -n "$runpath_var"; then
 
5781
      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
 
5782
      $echo "     during linking"
 
5783
    fi
 
5784
    if test -n "$hardcode_libdir_flag_spec"; then
 
5785
      libdir=LIBDIR
 
5786
      eval flag=\"$hardcode_libdir_flag_spec\"
 
5787
 
 
5788
      $echo "   - use the \`$flag' linker flag"
 
5789
    fi
 
5790
    if test -n "$admincmds"; then
 
5791
      $echo "   - have your system administrator run these commands:$admincmds"
 
5792
    fi
 
5793
    if test -f /etc/ld.so.conf; then
 
5794
      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
 
5795
    fi
 
5796
    $echo
 
5797
    $echo "See any operating system documentation about shared libraries for"
 
5798
    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
 
5799
    $echo "----------------------------------------------------------------------"
 
5800
    exit 0
 
5801
    ;;
 
5802
 
 
5803
  # libtool execute mode
 
5804
  execute)
 
5805
    modename="$modename: execute"
 
5806
 
 
5807
    # The first argument is the command name.
 
5808
    cmd="$nonopt"
 
5809
    if test -z "$cmd"; then
 
5810
      $echo "$modename: you must specify a COMMAND" 1>&2
 
5811
      $echo "$help"
 
5812
      exit 1
 
5813
    fi
 
5814
 
 
5815
    # Handle -dlopen flags immediately.
 
5816
    for file in $execute_dlfiles; do
 
5817
      if test ! -f "$file"; then
 
5818
        $echo "$modename: \`$file' is not a file" 1>&2
 
5819
        $echo "$help" 1>&2
 
5820
        exit 1
 
5821
      fi
 
5822
 
 
5823
      dir=
 
5824
      case $file in
 
5825
      *.la)
 
5826
        # Check to see that this really is a libtool archive.
 
5827
        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 
5828
        else
 
5829
          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 
5830
          $echo "$help" 1>&2
 
5831
          exit 1
 
5832
        fi
 
5833
 
 
5834
        # Read the libtool library.
 
5835
        dlname=
 
5836
        library_names=
 
5837
 
 
5838
        # If there is no directory component, then add one.
 
5839
        case $file in
 
5840
        */* | *\\*) . $file ;;
 
5841
        *) . ./$file ;;
 
5842
        esac
 
5843
 
 
5844
        # Skip this library if it cannot be dlopened.
 
5845
        if test -z "$dlname"; then
 
5846
          # Warn if it was a shared library.
 
5847
          test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
 
5848
          continue
 
5849
        fi
 
5850
 
 
5851
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 
5852
        test "X$dir" = "X$file" && dir=.
 
5853
 
 
5854
        if test -f "$dir/$objdir/$dlname"; then
 
5855
          dir="$dir/$objdir"
 
5856
        else
 
5857
          $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
 
5858
          exit 1
 
5859
        fi
 
5860
        ;;
 
5861
 
 
5862
      *.lo)
 
5863
        # Just add the directory containing the .lo file.
 
5864
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 
5865
        test "X$dir" = "X$file" && dir=.
 
5866
        ;;
 
5867
 
 
5868
      *)
 
5869
        $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
 
5870
        continue
 
5871
        ;;
 
5872
      esac
 
5873
 
 
5874
      # Get the absolute pathname.
 
5875
      absdir=`cd "$dir" && pwd`
 
5876
      test -n "$absdir" && dir="$absdir"
 
5877
 
 
5878
      # Now add the directory to shlibpath_var.
 
5879
      if eval "test -z \"\$$shlibpath_var\""; then
 
5880
        eval "$shlibpath_var=\"\$dir\""
 
5881
      else
 
5882
        eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
 
5883
      fi
 
5884
    done
 
5885
 
 
5886
    # This variable tells wrapper scripts just to set shlibpath_var
 
5887
    # rather than running their programs.
 
5888
    libtool_execute_magic="$magic"
 
5889
 
 
5890
    # Check if any of the arguments is a wrapper script.
 
5891
    args=
 
5892
    for file
 
5893
    do
 
5894
      case $file in
 
5895
      -*) ;;
 
5896
      *)
 
5897
        # Do a test to see if this is really a libtool program.
 
5898
        if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
5899
          # If there is no directory component, then add one.
 
5900
          case $file in
 
5901
          */* | *\\*) . $file ;;
 
5902
          *) . ./$file ;;
 
5903
          esac
 
5904
 
 
5905
          # Transform arg to wrapped name.
 
5906
          file="$progdir/$program"
 
5907
        fi
 
5908
        ;;
 
5909
      esac
 
5910
      # Quote arguments (to preserve shell metacharacters).
 
5911
      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
 
5912
      args="$args \"$file\""
 
5913
    done
 
5914
 
 
5915
    if test -z "$run"; then
 
5916
      if test -n "$shlibpath_var"; then
 
5917
        # Export the shlibpath_var.
 
5918
        eval "export $shlibpath_var"
 
5919
      fi
 
5920
 
 
5921
      # Restore saved environment variables
 
5922
      if test "${save_LC_ALL+set}" = set; then
 
5923
        LC_ALL="$save_LC_ALL"; export LC_ALL
 
5924
      fi
 
5925
      if test "${save_LANG+set}" = set; then
 
5926
        LANG="$save_LANG"; export LANG
 
5927
      fi
 
5928
 
 
5929
      # Now prepare to actually exec the command.
 
5930
      exec_cmd="\$cmd$args"
 
5931
    else
 
5932
      # Display what would be done.
 
5933
      if test -n "$shlibpath_var"; then
 
5934
        eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
 
5935
        $echo "export $shlibpath_var"
 
5936
      fi
 
5937
      $echo "$cmd$args"
 
5938
      exit 0
 
5939
    fi
 
5940
    ;;
 
5941
 
 
5942
  # libtool clean and uninstall mode
 
5943
  clean | uninstall)
 
5944
    modename="$modename: $mode"
 
5945
    rm="$nonopt"
 
5946
    files=
 
5947
    rmforce=
 
5948
    exit_status=0
 
5949
 
 
5950
    # This variable tells wrapper scripts just to set variables rather
 
5951
    # than running their programs.
 
5952
    libtool_install_magic="$magic"
 
5953
 
 
5954
    for arg
 
5955
    do
 
5956
      case $arg in
 
5957
      -f) rm="$rm $arg"; rmforce=yes ;;
 
5958
      -*) rm="$rm $arg" ;;
 
5959
      *) files="$files $arg" ;;
 
5960
      esac
 
5961
    done
 
5962
 
 
5963
    if test -z "$rm"; then
 
5964
      $echo "$modename: you must specify an RM program" 1>&2
 
5965
      $echo "$help" 1>&2
 
5966
      exit 1
 
5967
    fi
 
5968
 
 
5969
    rmdirs=
 
5970
 
 
5971
    origobjdir="$objdir"
 
5972
    for file in $files; do
 
5973
      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 
5974
      if test "X$dir" = "X$file"; then
 
5975
        dir=.
 
5976
        objdir="$origobjdir"
 
5977
      else
 
5978
        objdir="$dir/$origobjdir"
 
5979
      fi
 
5980
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
5981
      test "$mode" = uninstall && objdir="$dir"
 
5982
 
 
5983
      # Remember objdir for removal later, being careful to avoid duplicates
 
5984
      if test "$mode" = clean; then
 
5985
        case " $rmdirs " in
 
5986
          *" $objdir "*) ;;
 
5987
          *) rmdirs="$rmdirs $objdir" ;;
 
5988
        esac
 
5989
      fi
 
5990
 
 
5991
      # Don't error if the file doesn't exist and rm -f was used.
 
5992
      if (test -L "$file") >/dev/null 2>&1 \
 
5993
        || (test -h "$file") >/dev/null 2>&1 \
 
5994
        || test -f "$file"; then
 
5995
        :
 
5996
      elif test -d "$file"; then
 
5997
        exit_status=1
 
5998
        continue
 
5999
      elif test "$rmforce" = yes; then
 
6000
        continue
 
6001
      fi
 
6002
 
 
6003
      rmfiles="$file"
 
6004
 
 
6005
      case $name in
 
6006
      *.la)
 
6007
        # Possibly a libtool archive, so verify it.
 
6008
        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
6009
          . $dir/$name
 
6010
 
 
6011
          # Delete the libtool libraries and symlinks.
 
6012
          for n in $library_names; do
 
6013
            rmfiles="$rmfiles $objdir/$n"
 
6014
          done
 
6015
          test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
 
6016
          test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
 
6017
 
 
6018
          if test "$mode" = uninstall; then
 
6019
            if test -n "$library_names"; then
 
6020
              # Do each command in the postuninstall commands.
 
6021
              eval cmds=\"$postuninstall_cmds\"
 
6022
              save_ifs="$IFS"; IFS='~'
 
6023
              for cmd in $cmds; do
 
6024
                IFS="$save_ifs"
 
6025
                $show "$cmd"
 
6026
                $run eval "$cmd"
 
6027
                if test "$?" -ne 0 && test "$rmforce" != yes; then
 
6028
                  exit_status=1
 
6029
                fi
 
6030
              done
 
6031
              IFS="$save_ifs"
 
6032
            fi
 
6033
 
 
6034
            if test -n "$old_library"; then
 
6035
              # Do each command in the old_postuninstall commands.
 
6036
              eval cmds=\"$old_postuninstall_cmds\"
 
6037
              save_ifs="$IFS"; IFS='~'
 
6038
              for cmd in $cmds; do
 
6039
                IFS="$save_ifs"
 
6040
                $show "$cmd"
 
6041
                $run eval "$cmd"
 
6042
                if test "$?" -ne 0 && test "$rmforce" != yes; then
 
6043
                  exit_status=1
 
6044
                fi
 
6045
              done
 
6046
              IFS="$save_ifs"
 
6047
            fi
 
6048
            # FIXME: should reinstall the best remaining shared library.
 
6049
          fi
 
6050
        fi
 
6051
        ;;
 
6052
 
 
6053
      *.lo)
 
6054
        # Possibly a libtool object, so verify it.
 
6055
        if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
6056
 
 
6057
          # Read the .lo file
 
6058
          . $dir/$name
 
6059
 
 
6060
          # Add PIC object to the list of files to remove.
 
6061
          if test -n "$pic_object" \
 
6062
             && test "$pic_object" != none; then
 
6063
            rmfiles="$rmfiles $dir/$pic_object"
 
6064
          fi
 
6065
 
 
6066
          # Add non-PIC object to the list of files to remove.
 
6067
          if test -n "$non_pic_object" \
 
6068
             && test "$non_pic_object" != none; then
 
6069
            rmfiles="$rmfiles $dir/$non_pic_object"
 
6070
          fi
 
6071
        fi
 
6072
        ;;
 
6073
 
 
6074
      *)
 
6075
        if test "$mode" = clean ; then
 
6076
          noexename=$name
 
6077
          case $file in
 
6078
          *.exe) 
 
6079
            file=`$echo $file|${SED} 's,.exe$,,'`
 
6080
            noexename=`$echo $name|${SED} 's,.exe$,,'`
 
6081
            # $file with .exe has already been added to rmfiles,
 
6082
            # add $file without .exe
 
6083
            rmfiles="$rmfiles $file"
 
6084
            ;;
 
6085
          esac
 
6086
          # Do a test to see if this is a libtool program.
 
6087
          if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
6088
            relink_command=
 
6089
            . $dir/$noexename
 
6090
 
 
6091
            # note $name still contains .exe if it was in $file originally
 
6092
            # as does the version of $file that was added into $rmfiles
 
6093
            rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
 
6094
            if test "$fast_install" = yes && test -n "$relink_command"; then
 
6095
              rmfiles="$rmfiles $objdir/lt-$name"
 
6096
            fi
 
6097
            if test "X$noexename" != "X$name" ; then
 
6098
              rmfiles="$rmfiles $objdir/lt-${noexename}.c"
 
6099
            fi
 
6100
          fi
 
6101
        fi
 
6102
        ;;
 
6103
      esac
 
6104
      $show "$rm $rmfiles"
 
6105
      $run $rm $rmfiles || exit_status=1
 
6106
    done
 
6107
    objdir="$origobjdir"
 
6108
 
 
6109
    # Try to remove the ${objdir}s in the directories where we deleted files
 
6110
    for dir in $rmdirs; do
 
6111
      if test -d "$dir"; then
 
6112
        $show "rmdir $dir"
 
6113
        $run rmdir $dir >/dev/null 2>&1
 
6114
      fi
 
6115
    done
 
6116
 
 
6117
    exit $exit_status
 
6118
    ;;
 
6119
 
 
6120
  "")
 
6121
    $echo "$modename: you must specify a MODE" 1>&2
 
6122
    $echo "$generic_help" 1>&2
 
6123
    exit 1
 
6124
    ;;
 
6125
  esac
 
6126
 
 
6127
  if test -z "$exec_cmd"; then
 
6128
    $echo "$modename: invalid operation mode \`$mode'" 1>&2
 
6129
    $echo "$generic_help" 1>&2
 
6130
    exit 1
 
6131
  fi
 
6132
fi # test -z "$show_help"
 
6133
 
 
6134
if test -n "$exec_cmd"; then
 
6135
  eval exec $exec_cmd
 
6136
  exit 1
 
6137
fi
 
6138
 
 
6139
# We need to display help for each of the modes.
 
6140
case $mode in
 
6141
"") $echo \
 
6142
"Usage: $modename [OPTION]... [MODE-ARG]...
 
6143
 
 
6144
Provide generalized library-building support services.
 
6145
 
 
6146
    --config          show all configuration variables
 
6147
    --debug           enable verbose shell tracing
 
6148
-n, --dry-run         display commands without modifying any files
 
6149
    --features        display basic configuration information and exit
 
6150
    --finish          same as \`--mode=finish'
 
6151
    --help            display this help message and exit
 
6152
    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
 
6153
    --quiet           same as \`--silent'
 
6154
    --silent          don't print informational messages
 
6155
    --tag=TAG         use configuration variables from tag TAG
 
6156
    --version         print version information
 
6157
 
 
6158
MODE must be one of the following:
 
6159
 
 
6160
      clean           remove files from the build directory
 
6161
      compile         compile a source file into a libtool object
 
6162
      execute         automatically set library path, then run a program
 
6163
      finish          complete the installation of libtool libraries
 
6164
      install         install libraries or executables
 
6165
      link            create a library or an executable
 
6166
      uninstall       remove libraries from an installed directory
 
6167
 
 
6168
MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
 
6169
a more detailed description of MODE.
 
6170
 
 
6171
Report bugs to <bug-libtool@gnu.org>."
 
6172
  exit 0
 
6173
  ;;
 
6174
 
 
6175
clean)
 
6176
  $echo \
 
6177
"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
 
6178
 
 
6179
Remove files from the build directory.
 
6180
 
 
6181
RM is the name of the program to use to delete files associated with each FILE
 
6182
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
 
6183
to RM.
 
6184
 
 
6185
If FILE is a libtool library, object or program, all the files associated
 
6186
with it are deleted. Otherwise, only FILE itself is deleted using RM."
 
6187
  ;;
 
6188
 
 
6189
compile)
 
6190
  $echo \
 
6191
"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
 
6192
 
 
6193
Compile a source file into a libtool library object.
 
6194
 
 
6195
This mode accepts the following additional options:
 
6196
 
 
6197
  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
 
6198
  -prefer-pic       try to building PIC objects only
 
6199
  -prefer-non-pic   try to building non-PIC objects only
 
6200
  -static           always build a \`.o' file suitable for static linking
 
6201
 
 
6202
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 
6203
from the given SOURCEFILE.
 
6204
 
 
6205
The output file name is determined by removing the directory component from
 
6206
SOURCEFILE, then substituting the C source code suffix \`.c' with the
 
6207
library object suffix, \`.lo'."
 
6208
  ;;
 
6209
 
 
6210
execute)
 
6211
  $echo \
 
6212
"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
 
6213
 
 
6214
Automatically set library path, then run a program.
 
6215
 
 
6216
This mode accepts the following additional options:
 
6217
 
 
6218
  -dlopen FILE      add the directory containing FILE to the library path
 
6219
 
 
6220
This mode sets the library path environment variable according to \`-dlopen'
 
6221
flags.
 
6222
 
 
6223
If any of the ARGS are libtool executable wrappers, then they are translated
 
6224
into their corresponding uninstalled binary, and any of their required library
 
6225
directories are added to the library path.
 
6226
 
 
6227
Then, COMMAND is executed, with ARGS as arguments."
 
6228
  ;;
 
6229
 
 
6230
finish)
 
6231
  $echo \
 
6232
"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
 
6233
 
 
6234
Complete the installation of libtool libraries.
 
6235
 
 
6236
Each LIBDIR is a directory that contains libtool libraries.
 
6237
 
 
6238
The commands that this mode executes may require superuser privileges.  Use
 
6239
the \`--dry-run' option if you just want to see what would be executed."
 
6240
  ;;
 
6241
 
 
6242
install)
 
6243
  $echo \
 
6244
"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
 
6245
 
 
6246
Install executables or libraries.
 
6247
 
 
6248
INSTALL-COMMAND is the installation command.  The first component should be
 
6249
either the \`install' or \`cp' program.
 
6250
 
 
6251
The rest of the components are interpreted as arguments to that command (only
 
6252
BSD-compatible install options are recognized)."
 
6253
  ;;
 
6254
 
 
6255
link)
 
6256
  $echo \
 
6257
"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
 
6258
 
 
6259
Link object files or libraries together to form another library, or to
 
6260
create an executable program.
 
6261
 
 
6262
LINK-COMMAND is a command using the C compiler that you would use to create
 
6263
a program from several object files.
 
6264
 
 
6265
The following components of LINK-COMMAND are treated specially:
 
6266
 
 
6267
  -all-static       do not do any dynamic linking at all
 
6268
  -avoid-version    do not add a version suffix if possible
 
6269
  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
 
6270
  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
 
6271
  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
 
6272
  -export-symbols SYMFILE
 
6273
                    try to export only the symbols listed in SYMFILE
 
6274
  -export-symbols-regex REGEX
 
6275
                    try to export only the symbols matching REGEX
 
6276
  -LLIBDIR          search LIBDIR for required installed libraries
 
6277
  -lNAME            OUTPUT-FILE requires the installed library libNAME
 
6278
  -module           build a library that can dlopened
 
6279
  -no-fast-install  disable the fast-install mode
 
6280
  -no-install       link a not-installable executable
 
6281
  -no-undefined     declare that a library does not refer to external symbols
 
6282
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
 
6283
  -objectlist FILE  Use a list of object files found in FILE to specify objects
 
6284
  -release RELEASE  specify package release information
 
6285
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
 
6286
  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
 
6287
  -static           do not do any dynamic linking of libtool libraries
 
6288
  -version-info CURRENT[:REVISION[:AGE]]
 
6289
                    specify library version info [each variable defaults to 0]
 
6290
 
 
6291
All other options (arguments beginning with \`-') are ignored.
 
6292
 
 
6293
Every other argument is treated as a filename.  Files ending in \`.la' are
 
6294
treated as uninstalled libtool libraries, other files are standard or library
 
6295
object files.
 
6296
 
 
6297
If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
 
6298
only library objects (\`.lo' files) may be specified, and \`-rpath' is
 
6299
required, except when creating a convenience library.
 
6300
 
 
6301
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
 
6302
using \`ar' and \`ranlib', or on Windows using \`lib'.
 
6303
 
 
6304
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
 
6305
is created, otherwise an executable program is created."
 
6306
  ;;
 
6307
 
 
6308
uninstall)
 
6309
  $echo \
 
6310
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
 
6311
 
 
6312
Remove libraries from an installation directory.
 
6313
 
 
6314
RM is the name of the program to use to delete files associated with each FILE
 
6315
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
 
6316
to RM.
 
6317
 
 
6318
If FILE is a libtool library, all the files associated with it are deleted.
 
6319
Otherwise, only FILE itself is deleted using RM."
 
6320
  ;;
 
6321
 
 
6322
*)
 
6323
  $echo "$modename: invalid operation mode \`$mode'" 1>&2
 
6324
  $echo "$help" 1>&2
 
6325
  exit 1
 
6326
  ;;
 
6327
esac
 
6328
 
 
6329
$echo
 
6330
$echo "Try \`$modename --help' for more information about other modes."
 
6331
 
 
6332
exit 0
 
6333
 
 
6334
# The TAGs below are defined such that we never get into a situation
 
6335
# in which we disable both kinds of libraries.  Given conflicting
 
6336
# choices, we go for a static library, that is the most portable,
 
6337
# since we can't tell whether shared libraries were disabled because
 
6338
# the user asked for that or because the platform doesn't support
 
6339
# them.  This is particularly important on AIX, because we don't
 
6340
# support having both static and shared libraries enabled at the same
 
6341
# time on that platform, so we default to a shared-only configuration.
 
6342
# If a disable-shared tag is given, we'll fallback to a static-only
 
6343
# configuration.  But we'll never go from static-only to shared-only.
 
6344
 
 
6345
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
 
6346
build_libtool_libs=no
 
6347
build_old_libs=yes
 
6348
# ### END LIBTOOL TAG CONFIG: disable-shared
 
6349
 
 
6350
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
 
6351
build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
 
6352
# ### END LIBTOOL TAG CONFIG: disable-static
 
6353
 
 
6354
# Local Variables:
 
6355
# mode:shell-script
 
6356
# sh-indentation:2
 
6357
# End: