~ubuntu-branches/ubuntu/quantal/rhythmbox/quantal

« back to all changes in this revision

Viewing changes to ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2005-03-25 23:58:54 UTC
  • Revision ID: james.westby@ubuntu.com-20050325235854-2212vevw1u4074w8
Tags: upstream-0.8.8
ImportĀ upstreamĀ versionĀ 0.8.8

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