~kroq-gar78/ubuntu/precise/ace-of-penguins/fix-978446

« back to all changes in this revision

Viewing changes to ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Jari Aalto
  • Date: 2009-08-05 11:39:32 UTC
  • Revision ID: james.westby@ubuntu.com-20090805113932-5u4zxr5hoh38pu3o
Tags: 1.2-9
* GENRAL INFORMATION:
  - Summary: the whole package is now patch based.
  - The orginal sources were restored and patches accumulated
    to it were extracted and moved to /debian/patches
  - The original sources were upgraded to latest automake by
    re-libtoolizing with 'autoreconf -fi'. The results were then
    turned into patches. See debian/README.source
* debian/*.desktop:
  - New files. Files submitted by Daniel Dickinson <cshore@wightman.ca>.
    Closes: #478847.
* debian/*.pod
  - Fix incorrect =item tag.
* debian/*.lintian-overrides:
  - Ignore autoreconf and library notes.
* debian/copyright:
  - Update to new dh-make layout.
  - Add Debian packaging copyrights.
  - Change upstream URL to point to freshmeat.
  - Explicitly spell v2 or any later version (lintian).
* debian/compat:
  - update to 7.
* debian/control:
  - (Build-Depends): debhelper (>= 7), was 4. Add dpatch.
  - (Description): Replace term 'Unix/X' with 'graphical'.
  - (Vcs-*): Add new fields.
  - (Homepage): Add new field.
  - (Standards-Version): Update to 3.8.2.
  - (Build-Depends): Remove non-used dpatch.
* debian/debian-vars.mk:
  - Many new variables like CFLAGS, MAKE_FLAGS
  - By default use -j<CPU_COUNT> for make.
* debian/rules:
  - Add dpatch.
  - (binary-arch): Add dh_compress and adjust the manual page
    installation. Remove obsolete dh_desktop.
  - (build-man): New.
  - (clean): Fix lintian checks about -$(MAKE). Clean editors' temporary
    files.
  - (clean-man): New.
  - (install): install *.desktop files. Change programs' prefix form
    ace_* to ace-*. Change 'dh_clean -k' with dh_prep. Install lintian
    override file.
  - (test): New target.
* debian/README.source:
  - Explain autconf 2.64 re-libtoolize process
  - Explain debian/rules specifics concerning libtoolize.
* games/taipei.html:
  - Revert Bug#327185. According to the upstream,
    every game can be won. Explain this in page.

Show diffs side-by-side

added added

removed removed

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