~ubuntu-branches/ubuntu/raring/blitz++/raring

« back to all changes in this revision

Viewing changes to config/ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Konstantinos Margaritis
  • Date: 2005-02-28 20:25:01 UTC
  • mfrom: (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050228202501-3i4f2sknnprsqfhz
Tags: 1:0.8-4
Added missing build-depends (Closes: #297323)

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