~ubuntu-branches/ubuntu/precise/dspam/precise

« back to all changes in this revision

Viewing changes to ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Julien Valroff, Julien Valroff, Thomas Preud'homme
  • Date: 2011-05-08 13:43:52 UTC
  • mfrom: (1.2.1 upstream) (8.2.2 experimental)
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: james.westby@ubuntu.com-20110508134352-dxjx9m6tx1cbzlhq
Tags: 3.9.1~rc1+git20110419.29261fb+dfsg-1
[ Julien Valroff ]
* New git snapshot
* Install all dspam_* tools setgid so that they can be used by standard
  users
* Add symbols file for libdspam7
* Upload to unstable

[ Thomas Preud'homme ]
* Fix permissions on dspam_stats and missing opt-{in,out} directories
  (Closes: #394443)

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