~ubuntu-branches/ubuntu/maverick/evolution-data-server/maverick-proposed

« back to all changes in this revision

Viewing changes to libdb/dist/ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-05-17 17:02:06 UTC
  • mfrom: (1.1.79 upstream) (1.6.12 experimental)
  • Revision ID: james.westby@ubuntu.com-20100517170206-4ufr52vwrhh26yh0
Tags: 2.30.1-1ubuntu1
* Merge from debian experimental. Remaining change:
  (LP: #42199, #229669, #173703, #360344, #508494)
  + debian/control:
    - add Vcs-Bzr tag
    - don't use libgnome
    - Use Breaks instead of Conflicts against evolution 2.25 and earlier.
  + debian/evolution-data-server.install,
    debian/patches/45_libcamel_providers_version.patch:
    - use the upstream versioning, not a Debian-specific one 
  + debian/libedata-book1.2-dev.install, debian/libebackend-1.2-dev.install,
    debian/libcamel1.2-dev.install, debian/libedataserverui1.2-dev.install:
    - install html documentation
  + debian/rules:
    - don't build documentation it's shipped with the tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# ltmain.sh - Provide generalized library-building support services.
2
 
# NOTE: Changing this file will not affect anything until you rerun configure.
3
 
#
4
 
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
5
 
# Free Software Foundation, Inc.
6
 
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
7
 
#
8
 
# This program is free software; you can redistribute it and/or modify
9
 
# it under the terms of the GNU General Public License as published by
10
 
# the Free Software Foundation; either version 2 of the License, or
11
 
# (at your option) any later version.
12
 
#
13
 
# This program is distributed in the hope that it will be useful, but
14
 
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
 
# General Public License for more details.
17
 
#
18
 
# You should have received a copy of the GNU General Public License
19
 
# along with this program; if not, write to the Free Software
20
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21
 
#
22
 
# As a special exception to the GNU General Public License, if you
23
 
# distribute this file as part of a program that contains a
24
 
# configuration script generated by Autoconf, you may include it under
25
 
# the same distribution terms that you use for the rest of that program.
26
 
 
27
 
# Check that we have a working $echo.
28
 
if test "X$1" = X--no-reexec; then
29
 
  # Discard the --no-reexec flag, and continue.
30
 
  shift
31
 
elif test "X$1" = X--fallback-echo; then
32
 
  # Avoid inline document here, it may be left over
33
 
  :
34
 
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
35
 
  # Yippee, $echo works!
36
 
  :
37
 
else
38
 
  # Restart under the correct shell, and then maybe $echo will work.
39
 
  exec $SHELL "$0" --no-reexec ${1+"$@"}
40
 
fi
41
 
 
42
 
if test "X$1" = X--fallback-echo; then
43
 
  # used as fallback echo
44
 
  shift
45
 
  cat <<EOF
46
 
$*
47
 
EOF
48
 
  exit 0
49
 
fi
50
 
 
51
 
# The name of this program.
52
 
progname=`$echo "$0" | sed 's%^.*/%%'`
53
 
modename="$progname"
54
 
 
55
 
# Constants.
56
 
PROGRAM=ltmain.sh
57
 
PACKAGE=libtool
58
 
VERSION=1.4.2
59
 
TIMESTAMP=" (1.922.2.53 2001/09/11 03:18:52)"
60
 
 
61
 
default_mode=
62
 
help="Try \`$progname --help' for more information."
63
 
magic="%%%MAGIC variable%%%"
64
 
mkdir="mkdir"
65
 
mv="mv -f"
66
 
rm="rm -f"
67
 
 
68
 
# Sed substitution that helps us do robust quoting.  It backslashifies
69
 
# metacharacters that are still active within double-quoted strings.
70
 
Xsed='sed -e 1s/^X//'
71
 
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
72
 
SP2NL='tr \040 \012'
73
 
NL2SP='tr \015\012 \040\040'
74
 
 
75
 
# NLS nuisances.
76
 
# Only set LANG and LC_ALL to C if already set.
77
 
# These must not be set unconditionally because not all systems understand
78
 
# e.g. LANG=C (notably SCO).
79
 
# We save the old values to restore during execute mode.
80
 
if test "${LC_ALL+set}" = set; then
81
 
  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
82
 
fi
83
 
if test "${LANG+set}" = set; then
84
 
  save_LANG="$LANG"; LANG=C; export LANG
85
 
fi
86
 
 
87
 
# Make sure IFS has a sensible default
88
 
: ${IFS="       "}
89
 
 
90
 
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
91
 
  echo "$modename: not configured to build any kind of library" 1>&2
92
 
  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
93
 
  exit 1
94
 
fi
95
 
 
96
 
# Global variables.
97
 
mode=$default_mode
98
 
nonopt=
99
 
prev=
100
 
prevopt=
101
 
run=
102
 
show="$echo"
103
 
show_help=
104
 
execute_dlfiles=
105
 
lo2o="s/\\.lo\$/.${objext}/"
106
 
o2lo="s/\\.${objext}\$/.lo/"
107
 
 
108
 
# Parse our command line options once, thoroughly.
109
 
while test $# -gt 0
110
 
do
111
 
  arg="$1"
112
 
  shift
113
 
 
114
 
  case $arg in
115
 
  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
116
 
  *) optarg= ;;
117
 
  esac
118
 
 
119
 
  # If the previous option needs an argument, assign it.
120
 
  if test -n "$prev"; then
121
 
    case $prev in
122
 
    execute_dlfiles)
123
 
      execute_dlfiles="$execute_dlfiles $arg"
124
 
      ;;
125
 
    *)
126
 
      eval "$prev=\$arg"
127
 
      ;;
128
 
    esac
129
 
 
130
 
    prev=
131
 
    prevopt=
132
 
    continue
133
 
  fi
134
 
 
135
 
  # Have we seen a non-optional argument yet?
136
 
  case $arg in
137
 
  --help)
138
 
    show_help=yes
139
 
    ;;
140
 
 
141
 
  --version)
142
 
    echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
143
 
    exit 0
144
 
    ;;
145
 
 
146
 
  --config)
147
 
    sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
148
 
    exit 0
149
 
    ;;
150
 
 
151
 
  --debug)
152
 
    echo "$progname: enabling shell trace mode"
153
 
    set -x
154
 
    ;;
155
 
 
156
 
  --dry-run | -n)
157
 
    run=:
158
 
    ;;
159
 
 
160
 
  --features)
161
 
    echo "host: $host"
162
 
    if test "$build_libtool_libs" = yes; then
163
 
      echo "enable shared libraries"
164
 
    else
165
 
      echo "disable shared libraries"
166
 
    fi
167
 
    if test "$build_old_libs" = yes; then
168
 
      echo "enable static libraries"
169
 
    else
170
 
      echo "disable static libraries"
171
 
    fi
172
 
    exit 0
173
 
    ;;
174
 
 
175
 
  --finish) mode="finish" ;;
176
 
 
177
 
  --mode) prevopt="--mode" prev=mode ;;
178
 
  --mode=*) mode="$optarg" ;;
179
 
 
180
 
  --quiet | --silent)
181
 
    show=:
182
 
    ;;
183
 
 
184
 
  -dlopen)
185
 
    prevopt="-dlopen"
186
 
    prev=execute_dlfiles
187
 
    ;;
188
 
 
189
 
  -*)
190
 
    $echo "$modename: unrecognized option \`$arg'" 1>&2
191
 
    $echo "$help" 1>&2
192
 
    exit 1
193
 
    ;;
194
 
 
195
 
  *)
196
 
    nonopt="$arg"
197
 
    break
198
 
    ;;
199
 
  esac
200
 
done
201
 
 
202
 
if test -n "$prevopt"; then
203
 
  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
204
 
  $echo "$help" 1>&2
205
 
  exit 1
206
 
fi
207
 
 
208
 
# If this variable is set in any of the actions, the command in it
209
 
# will be execed at the end.  This prevents here-documents from being
210
 
# left over by shells.
211
 
exec_cmd=
212
 
 
213
 
if test -z "$show_help"; then
214
 
 
215
 
  # Infer the operation mode.
216
 
  if test -z "$mode"; then
217
 
    case $nonopt in
218
 
    *cc | *++ | gcc* | *-gcc*)
219
 
      mode=link
220
 
      for arg
221
 
      do
222
 
        case $arg in
223
 
        -c)
224
 
           mode=compile
225
 
           break
226
 
           ;;
227
 
        esac
228
 
      done
229
 
      ;;
230
 
    *db | *dbx | *strace | *truss)
231
 
      mode=execute
232
 
      ;;
233
 
    *install*|cp|mv)
234
 
      mode=install
235
 
      ;;
236
 
    *rm)
237
 
      mode=uninstall
238
 
      ;;
239
 
    *)
240
 
      # If we have no mode, but dlfiles were specified, then do execute mode.
241
 
      test -n "$execute_dlfiles" && mode=execute
242
 
 
243
 
      # Just use the default operation mode.
244
 
      if test -z "$mode"; then
245
 
        if test -n "$nonopt"; then
246
 
          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
247
 
        else
248
 
          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
249
 
        fi
250
 
      fi
251
 
      ;;
252
 
    esac
253
 
  fi
254
 
 
255
 
  # Only execute mode is allowed to have -dlopen flags.
256
 
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
257
 
    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
258
 
    $echo "$help" 1>&2
259
 
    exit 1
260
 
  fi
261
 
 
262
 
  # Change the help message to a mode-specific one.
263
 
  generic_help="$help"
264
 
  help="Try \`$modename --help --mode=$mode' for more information."
265
 
 
266
 
  # These modes are in order of execution frequency so that they run quickly.
267
 
  case $mode in
268
 
  # libtool compile mode
269
 
  compile)
270
 
    modename="$modename: compile"
271
 
    # Get the compilation command and the source file.
272
 
    base_compile=
273
 
    prev=
274
 
    lastarg=
275
 
    srcfile="$nonopt"
276
 
    suppress_output=
277
 
 
278
 
    user_target=no
279
 
    for arg
280
 
    do
281
 
      case $prev in
282
 
      "") ;;
283
 
      xcompiler)
284
 
        # Aesthetically quote the previous argument.
285
 
        prev=
286
 
        lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
287
 
 
288
 
        case $arg in
289
 
        # Double-quote args containing other shell metacharacters.
290
 
        # Many Bourne shells cannot handle close brackets correctly
291
 
        # in scan sets, so we specify it separately.
292
 
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
293
 
          arg="\"$arg\""
294
 
          ;;
295
 
        esac
296
 
 
297
 
        # Add the previous argument to base_compile.
298
 
        if test -z "$base_compile"; then
299
 
          base_compile="$lastarg"
300
 
        else
301
 
          base_compile="$base_compile $lastarg"
302
 
        fi
303
 
        continue
304
 
        ;;
305
 
      esac
306
 
 
307
 
      # Accept any command-line options.
308
 
      case $arg in
309
 
      -o)
310
 
        if test "$user_target" != "no"; then
311
 
          $echo "$modename: you cannot specify \`-o' more than once" 1>&2
312
 
          exit 1
313
 
        fi
314
 
        user_target=next
315
 
        ;;
316
 
 
317
 
      -static)
318
 
        build_old_libs=yes
319
 
        continue
320
 
        ;;
321
 
 
322
 
      -prefer-pic)
323
 
        pic_mode=yes
324
 
        continue
325
 
        ;;
326
 
 
327
 
      -prefer-non-pic)
328
 
        pic_mode=no
329
 
        continue
330
 
        ;;
331
 
 
332
 
      -Xcompiler)
333
 
        prev=xcompiler
334
 
        continue
335
 
        ;;
336
 
 
337
 
      -Wc,*)
338
 
        args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
339
 
        lastarg=
340
 
        save_ifs="$IFS"; IFS=','
341
 
        for arg in $args; do
342
 
          IFS="$save_ifs"
343
 
 
344
 
          # Double-quote args containing other shell metacharacters.
345
 
          # Many Bourne shells cannot handle close brackets correctly
346
 
          # in scan sets, so we specify it separately.
347
 
          case $arg in
348
 
            *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
349
 
            arg="\"$arg\""
350
 
            ;;
351
 
          esac
352
 
          lastarg="$lastarg $arg"
353
 
        done
354
 
        IFS="$save_ifs"
355
 
        lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
356
 
 
357
 
        # Add the arguments to base_compile.
358
 
        if test -z "$base_compile"; then
359
 
          base_compile="$lastarg"
360
 
        else
361
 
          base_compile="$base_compile $lastarg"
362
 
        fi
363
 
        continue
364
 
        ;;
365
 
      esac
366
 
 
367
 
      case $user_target in
368
 
      next)
369
 
        # The next one is the -o target name
370
 
        user_target=yes
371
 
        continue
372
 
        ;;
373
 
      yes)
374
 
        # We got the output file
375
 
        user_target=set
376
 
        libobj="$arg"
377
 
        continue
378
 
        ;;
379
 
      esac
380
 
 
381
 
      # Accept the current argument as the source file.
382
 
      lastarg="$srcfile"
383
 
      srcfile="$arg"
384
 
 
385
 
      # Aesthetically quote the previous argument.
386
 
 
387
 
      # Backslashify any backslashes, double quotes, and dollar signs.
388
 
      # These are the only characters that are still specially
389
 
      # interpreted inside of double-quoted scrings.
390
 
      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
391
 
 
392
 
      # Double-quote args containing other shell metacharacters.
393
 
      # Many Bourne shells cannot handle close brackets correctly
394
 
      # in scan sets, so we specify it separately.
395
 
      case $lastarg in
396
 
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
397
 
        lastarg="\"$lastarg\""
398
 
        ;;
399
 
      esac
400
 
 
401
 
      # Add the previous argument to base_compile.
402
 
      if test -z "$base_compile"; then
403
 
        base_compile="$lastarg"
404
 
      else
405
 
        base_compile="$base_compile $lastarg"
406
 
      fi
407
 
    done
408
 
 
409
 
    case $user_target in
410
 
    set)
411
 
      ;;
412
 
    no)
413
 
      # Get the name of the library object.
414
 
      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
415
 
      ;;
416
 
    *)
417
 
      $echo "$modename: you must specify a target with \`-o'" 1>&2
418
 
      exit 1
419
 
      ;;
420
 
    esac
421
 
 
422
 
    # Recognize several different file suffixes.
423
 
    # If the user specifies -o file.o, it is replaced with file.lo
424
 
    xform='[cCFSfmso]'
425
 
    case $libobj in
426
 
    *.ada) xform=ada ;;
427
 
    *.adb) xform=adb ;;
428
 
    *.ads) xform=ads ;;
429
 
    *.asm) xform=asm ;;
430
 
    *.c++) xform=c++ ;;
431
 
    *.cc) xform=cc ;;
432
 
    *.cpp) xform=cpp ;;
433
 
    *.cxx) xform=cxx ;;
434
 
    *.f90) xform=f90 ;;
435
 
    *.for) xform=for ;;
436
 
    esac
437
 
 
438
 
    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
439
 
 
440
 
    case $libobj in
441
 
    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
442
 
    *)
443
 
      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
444
 
      exit 1
445
 
      ;;
446
 
    esac
447
 
 
448
 
    if test -z "$base_compile"; then
449
 
      $echo "$modename: you must specify a compilation command" 1>&2
450
 
      $echo "$help" 1>&2
451
 
      exit 1
452
 
    fi
453
 
 
454
 
    # Delete any leftover library objects.
455
 
    if test "$build_old_libs" = yes; then
456
 
      removelist="$obj $libobj"
457
 
    else
458
 
      removelist="$libobj"
459
 
    fi
460
 
 
461
 
    $run $rm $removelist
462
 
    trap "$run $rm $removelist; exit 1" 1 2 15
463
 
 
464
 
    # On Cygwin there's no "real" PIC flag so we must build both object types
465
 
    case $host_os in
466
 
    cygwin* | mingw* | pw32* | os2*)
467
 
      pic_mode=default
468
 
      ;;
469
 
    esac
470
 
    if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
471
 
      # non-PIC code in shared libraries is not supported
472
 
      pic_mode=default
473
 
    fi
474
 
 
475
 
    # Calculate the filename of the output object if compiler does
476
 
    # not support -o with -c
477
 
    if test "$compiler_c_o" = no; then
478
 
      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
479
 
      lockfile="$output_obj.lock"
480
 
      removelist="$removelist $output_obj $lockfile"
481
 
      trap "$run $rm $removelist; exit 1" 1 2 15
482
 
    else
483
 
      need_locks=no
484
 
      lockfile=
485
 
    fi
486
 
 
487
 
    # Lock this critical section if it is needed
488
 
    # We use this script file to make the link, it avoids creating a new file
489
 
    if test "$need_locks" = yes; then
490
 
      until $run ln "$0" "$lockfile" 2>/dev/null; do
491
 
        $show "Waiting for $lockfile to be removed"
492
 
        sleep 2
493
 
      done
494
 
    elif test "$need_locks" = warn; then
495
 
      if test -f "$lockfile"; then
496
 
        echo "\
497
 
*** ERROR, $lockfile exists and contains:
498
 
`cat $lockfile 2>/dev/null`
499
 
 
500
 
This indicates that another process is trying to use the same
501
 
temporary object file, and libtool could not work around it because
502
 
your compiler does not support \`-c' and \`-o' together.  If you
503
 
repeat this compilation, it may succeed, by chance, but you had better
504
 
avoid parallel builds (make -j) in this platform, or get a better
505
 
compiler."
506
 
 
507
 
        $run $rm $removelist
508
 
        exit 1
509
 
      fi
510
 
      echo $srcfile > "$lockfile"
511
 
    fi
512
 
 
513
 
    if test -n "$fix_srcfile_path"; then
514
 
      eval srcfile=\"$fix_srcfile_path\"
515
 
    fi
516
 
 
517
 
    # Only build a PIC object if we are building libtool libraries.
518
 
    if test "$build_libtool_libs" = yes; then
519
 
      # Without this assignment, base_compile gets emptied.
520
 
      fbsd_hideous_sh_bug=$base_compile
521
 
 
522
 
      if test "$pic_mode" != no; then
523
 
        # All platforms use -DPIC, to notify preprocessed assembler code.
524
 
        command="$base_compile $srcfile $pic_flag -DPIC"
525
 
      else
526
 
        # Don't build PIC code
527
 
        command="$base_compile $srcfile"
528
 
      fi
529
 
      if test "$build_old_libs" = yes; then
530
 
        lo_libobj="$libobj"
531
 
        dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
532
 
        if test "X$dir" = "X$libobj"; then
533
 
          dir="$objdir"
534
 
        else
535
 
          dir="$dir/$objdir"
536
 
        fi
537
 
        libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
538
 
 
539
 
        if test -d "$dir"; then
540
 
          $show "$rm $libobj"
541
 
          $run $rm $libobj
542
 
        else
543
 
          $show "$mkdir $dir"
544
 
          $run $mkdir $dir
545
 
          status=$?
546
 
          if test $status -ne 0 && test ! -d $dir; then
547
 
            exit $status
548
 
          fi
549
 
        fi
550
 
      fi
551
 
      if test "$compiler_o_lo" = yes; then
552
 
        output_obj="$libobj"
553
 
        command="$command -o $output_obj"
554
 
      elif test "$compiler_c_o" = yes; then
555
 
        output_obj="$obj"
556
 
        command="$command -o $output_obj"
557
 
      fi
558
 
 
559
 
      $run $rm "$output_obj"
560
 
      $show "$command"
561
 
      if $run eval "$command"; then :
562
 
      else
563
 
        test -n "$output_obj" && $run $rm $removelist
564
 
        exit 1
565
 
      fi
566
 
 
567
 
      if test "$need_locks" = warn &&
568
 
         test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
569
 
        echo "\
570
 
*** ERROR, $lockfile contains:
571
 
`cat $lockfile 2>/dev/null`
572
 
 
573
 
but it should contain:
574
 
$srcfile
575
 
 
576
 
This indicates that another process is trying to use the same
577
 
temporary object file, and libtool could not work around it because
578
 
your compiler does not support \`-c' and \`-o' together.  If you
579
 
repeat this compilation, it may succeed, by chance, but you had better
580
 
avoid parallel builds (make -j) in this platform, or get a better
581
 
compiler."
582
 
 
583
 
        $run $rm $removelist
584
 
        exit 1
585
 
      fi
586
 
 
587
 
      # Just move the object if needed, then go on to compile the next one
588
 
      if test x"$output_obj" != x"$libobj"; then
589
 
        $show "$mv $output_obj $libobj"
590
 
        if $run $mv $output_obj $libobj; then :
591
 
        else
592
 
          error=$?
593
 
          $run $rm $removelist
594
 
          exit $error
595
 
        fi
596
 
      fi
597
 
 
598
 
      # If we have no pic_flag, then copy the object into place and finish.
599
 
      if (test -z "$pic_flag" || test "$pic_mode" != default) &&
600
 
         test "$build_old_libs" = yes; then
601
 
        # Rename the .lo from within objdir to obj
602
 
        if test -f $obj; then
603
 
          $show $rm $obj
604
 
          $run $rm $obj
605
 
        fi
606
 
 
607
 
        $show "$mv $libobj $obj"
608
 
        if $run $mv $libobj $obj; then :
609
 
        else
610
 
          error=$?
611
 
          $run $rm $removelist
612
 
          exit $error
613
 
        fi
614
 
 
615
 
        xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
616
 
        if test "X$xdir" = "X$obj"; then
617
 
          xdir="."
618
 
        else
619
 
          xdir="$xdir"
620
 
        fi
621
 
        baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
622
 
        libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
623
 
        # Now arrange that obj and lo_libobj become the same file
624
 
        $show "(cd $xdir && $LN_S $baseobj $libobj)"
625
 
        if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
626
 
          # Unlock the critical section if it was locked
627
 
          if test "$need_locks" != no; then
628
 
            $run $rm "$lockfile"
629
 
          fi
630
 
          exit 0
631
 
        else
632
 
          error=$?
633
 
          $run $rm $removelist
634
 
          exit $error
635
 
        fi
636
 
      fi
637
 
 
638
 
      # Allow error messages only from the first compilation.
639
 
      suppress_output=' >/dev/null 2>&1'
640
 
    fi
641
 
 
642
 
    # Only build a position-dependent object if we build old libraries.
643
 
    if test "$build_old_libs" = yes; then
644
 
      if test "$pic_mode" != yes; then
645
 
        # Don't build PIC code
646
 
        command="$base_compile $srcfile"
647
 
      else
648
 
        # All platforms use -DPIC, to notify preprocessed assembler code.
649
 
        command="$base_compile $srcfile $pic_flag -DPIC"
650
 
      fi
651
 
      if test "$compiler_c_o" = yes; then
652
 
        command="$command -o $obj"
653
 
        output_obj="$obj"
654
 
      fi
655
 
 
656
 
      # Suppress compiler output if we already did a PIC compilation.
657
 
      command="$command$suppress_output"
658
 
      $run $rm "$output_obj"
659
 
      $show "$command"
660
 
      if $run eval "$command"; then :
661
 
      else
662
 
        $run $rm $removelist
663
 
        exit 1
664
 
      fi
665
 
 
666
 
      if test "$need_locks" = warn &&
667
 
         test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
668
 
        echo "\
669
 
*** ERROR, $lockfile contains:
670
 
`cat $lockfile 2>/dev/null`
671
 
 
672
 
but it should contain:
673
 
$srcfile
674
 
 
675
 
This indicates that another process is trying to use the same
676
 
temporary object file, and libtool could not work around it because
677
 
your compiler does not support \`-c' and \`-o' together.  If you
678
 
repeat this compilation, it may succeed, by chance, but you had better
679
 
avoid parallel builds (make -j) in this platform, or get a better
680
 
compiler."
681
 
 
682
 
        $run $rm $removelist
683
 
        exit 1
684
 
      fi
685
 
 
686
 
      # Just move the object if needed
687
 
      if test x"$output_obj" != x"$obj"; then
688
 
        $show "$mv $output_obj $obj"
689
 
        if $run $mv $output_obj $obj; then :
690
 
        else
691
 
          error=$?
692
 
          $run $rm $removelist
693
 
          exit $error
694
 
        fi
695
 
      fi
696
 
 
697
 
      # Create an invalid libtool object if no PIC, so that we do not
698
 
      # accidentally link it into a program.
699
 
      if test "$build_libtool_libs" != yes; then
700
 
        $show "echo timestamp > $libobj"
701
 
        $run eval "echo timestamp > \$libobj" || exit $?
702
 
      else
703
 
        # Move the .lo from within objdir
704
 
        $show "$mv $libobj $lo_libobj"
705
 
        if $run $mv $libobj $lo_libobj; then :
706
 
        else
707
 
          error=$?
708
 
          $run $rm $removelist
709
 
          exit $error
710
 
        fi
711
 
      fi
712
 
    fi
713
 
 
714
 
    # Unlock the critical section if it was locked
715
 
    if test "$need_locks" != no; then
716
 
      $run $rm "$lockfile"
717
 
    fi
718
 
 
719
 
    exit 0
720
 
    ;;
721
 
 
722
 
  # libtool link mode
723
 
  link | relink)
724
 
    modename="$modename: link"
725
 
    case $host in
726
 
    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
727
 
      # It is impossible to link a dll without this setting, and
728
 
      # we shouldn't force the makefile maintainer to figure out
729
 
      # which system we are compiling for in order to pass an extra
730
 
      # flag for every libtool invokation.
731
 
      # allow_undefined=no
732
 
 
733
 
      # FIXME: Unfortunately, there are problems with the above when trying
734
 
      # to make a dll which has undefined symbols, in which case not
735
 
      # even a static library is built.  For now, we need to specify
736
 
      # -no-undefined on the libtool link line when we can be certain
737
 
      # that all symbols are satisfied, otherwise we get a static library.
738
 
      allow_undefined=yes
739
 
      ;;
740
 
    *)
741
 
      allow_undefined=yes
742
 
      ;;
743
 
    esac
744
 
    libtool_args="$nonopt"
745
 
    compile_command="$nonopt"
746
 
    finalize_command="$nonopt"
747
 
 
748
 
    compile_rpath=
749
 
    finalize_rpath=
750
 
    compile_shlibpath=
751
 
    finalize_shlibpath=
752
 
    convenience=
753
 
    old_convenience=
754
 
    deplibs=
755
 
    old_deplibs=
756
 
    compiler_flags=
757
 
    linker_flags=
758
 
    dllsearchpath=
759
 
    lib_search_path=`pwd`
760
 
 
761
 
    avoid_version=no
762
 
    dlfiles=
763
 
    dlprefiles=
764
 
    dlself=no
765
 
    export_dynamic=no
766
 
    export_symbols=
767
 
    export_symbols_regex=
768
 
    generated=
769
 
    libobjs=
770
 
    ltlibs=
771
 
    module=no
772
 
    no_install=no
773
 
    objs=
774
 
    prefer_static_libs=no
775
 
    preload=no
776
 
    prev=
777
 
    prevarg=
778
 
    release=
779
 
    rpath=
780
 
    xrpath=
781
 
    perm_rpath=
782
 
    temp_rpath=
783
 
    thread_safe=no
784
 
    vinfo=
785
 
 
786
 
    # We need to know -static, to get the right output filenames.
787
 
    for arg
788
 
    do
789
 
      case $arg in
790
 
      -all-static | -static)
791
 
        if test "X$arg" = "X-all-static"; then
792
 
          if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
793
 
            $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
794
 
          fi
795
 
          if test -n "$link_static_flag"; then
796
 
            dlopen_self=$dlopen_self_static
797
 
          fi
798
 
        else
799
 
          if test -z "$pic_flag" && test -n "$link_static_flag"; then
800
 
            dlopen_self=$dlopen_self_static
801
 
          fi
802
 
        fi
803
 
        build_libtool_libs=no
804
 
        build_old_libs=yes
805
 
        prefer_static_libs=yes
806
 
        break
807
 
        ;;
808
 
      esac
809
 
    done
810
 
 
811
 
    # See if our shared archives depend on static archives.
812
 
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
813
 
 
814
 
    # Go through the arguments, transforming them on the way.
815
 
    while test $# -gt 0; do
816
 
      arg="$1"
817
 
      shift
818
 
      case $arg in
819
 
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
820
 
        qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
821
 
        ;;
822
 
      *) qarg=$arg ;;
823
 
      esac
824
 
      libtool_args="$libtool_args $qarg"
825
 
 
826
 
      # If the previous option needs an argument, assign it.
827
 
      if test -n "$prev"; then
828
 
        case $prev in
829
 
        output)
830
 
          compile_command="$compile_command @OUTPUT@"
831
 
          finalize_command="$finalize_command @OUTPUT@"
832
 
          ;;
833
 
        esac
834
 
 
835
 
        case $prev in
836
 
        dlfiles|dlprefiles)
837
 
          if test "$preload" = no; then
838
 
            # Add the symbol object into the linking commands.
839
 
            compile_command="$compile_command @SYMFILE@"
840
 
            finalize_command="$finalize_command @SYMFILE@"
841
 
            preload=yes
842
 
          fi
843
 
          case $arg in
844
 
          *.la | *.lo) ;;  # We handle these cases below.
845
 
          force)
846
 
            if test "$dlself" = no; then
847
 
              dlself=needless
848
 
              export_dynamic=yes
849
 
            fi
850
 
            prev=
851
 
            continue
852
 
            ;;
853
 
          self)
854
 
            if test "$prev" = dlprefiles; then
855
 
              dlself=yes
856
 
            elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
857
 
              dlself=yes
858
 
            else
859
 
              dlself=needless
860
 
              export_dynamic=yes
861
 
            fi
862
 
            prev=
863
 
            continue
864
 
            ;;
865
 
          *)
866
 
            if test "$prev" = dlfiles; then
867
 
              dlfiles="$dlfiles $arg"
868
 
            else
869
 
              dlprefiles="$dlprefiles $arg"
870
 
            fi
871
 
            prev=
872
 
            continue
873
 
            ;;
874
 
          esac
875
 
          ;;
876
 
        expsyms)
877
 
          export_symbols="$arg"
878
 
          if test ! -f "$arg"; then
879
 
            $echo "$modename: symbol file \`$arg' does not exist"
880
 
            exit 1
881
 
          fi
882
 
          prev=
883
 
          continue
884
 
          ;;
885
 
        expsyms_regex)
886
 
          export_symbols_regex="$arg"
887
 
          prev=
888
 
          continue
889
 
          ;;
890
 
        release)
891
 
          release="-$arg"
892
 
          prev=
893
 
          continue
894
 
          ;;
895
 
        rpath | xrpath)
896
 
          # We need an absolute path.
897
 
          case $arg in
898
 
          [\\/]* | [A-Za-z]:[\\/]*) ;;
899
 
          *)
900
 
            $echo "$modename: only absolute run-paths are allowed" 1>&2
901
 
            exit 1
902
 
            ;;
903
 
          esac
904
 
          if test "$prev" = rpath; then
905
 
            case "$rpath " in
906
 
            *" $arg "*) ;;
907
 
            *) rpath="$rpath $arg" ;;
908
 
            esac
909
 
          else
910
 
            case "$xrpath " in
911
 
            *" $arg "*) ;;
912
 
            *) xrpath="$xrpath $arg" ;;
913
 
            esac
914
 
          fi
915
 
          prev=
916
 
          continue
917
 
          ;;
918
 
        xcompiler)
919
 
          compiler_flags="$compiler_flags $qarg"
920
 
          prev=
921
 
          compile_command="$compile_command $qarg"
922
 
          finalize_command="$finalize_command $qarg"
923
 
          continue
924
 
          ;;
925
 
        xlinker)
926
 
          linker_flags="$linker_flags $qarg"
927
 
          compiler_flags="$compiler_flags $wl$qarg"
928
 
          prev=
929
 
          compile_command="$compile_command $wl$qarg"
930
 
          finalize_command="$finalize_command $wl$qarg"
931
 
          continue
932
 
          ;;
933
 
        *)
934
 
          eval "$prev=\"\$arg\""
935
 
          prev=
936
 
          continue
937
 
          ;;
938
 
        esac
939
 
      fi # test -n $prev
940
 
 
941
 
      prevarg="$arg"
942
 
 
943
 
      case $arg in
944
 
      -all-static)
945
 
        if test -n "$link_static_flag"; then
946
 
          compile_command="$compile_command $link_static_flag"
947
 
          finalize_command="$finalize_command $link_static_flag"
948
 
        fi
949
 
        continue
950
 
        ;;
951
 
 
952
 
      -allow-undefined)
953
 
        # FIXME: remove this flag sometime in the future.
954
 
        $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
955
 
        continue
956
 
        ;;
957
 
 
958
 
      -avoid-version)
959
 
        avoid_version=yes
960
 
        continue
961
 
        ;;
962
 
 
963
 
      -dlopen)
964
 
        prev=dlfiles
965
 
        continue
966
 
        ;;
967
 
 
968
 
      -dlpreopen)
969
 
        prev=dlprefiles
970
 
        continue
971
 
        ;;
972
 
 
973
 
      -export-dynamic)
974
 
        export_dynamic=yes
975
 
        continue
976
 
        ;;
977
 
 
978
 
      -export-symbols | -export-symbols-regex)
979
 
        if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
980
 
          $echo "$modename: more than one -exported-symbols argument is not allowed"
981
 
          exit 1
982
 
        fi
983
 
        if test "X$arg" = "X-export-symbols"; then
984
 
          prev=expsyms
985
 
        else
986
 
          prev=expsyms_regex
987
 
        fi
988
 
        continue
989
 
        ;;
990
 
 
991
 
      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
992
 
      # so, if we see these flags be careful not to treat them like -L
993
 
      -L[A-Z][A-Z]*:*)
994
 
        case $with_gcc/$host in
995
 
        no/*-*-irix*)
996
 
          compile_command="$compile_command $arg"
997
 
          finalize_command="$finalize_command $arg"
998
 
          ;;
999
 
        esac
1000
 
        continue
1001
 
        ;;
1002
 
 
1003
 
      -L*)
1004
 
        dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
1005
 
        # We need an absolute path.
1006
 
        case $dir in
1007
 
        [\\/]* | [A-Za-z]:[\\/]*) ;;
1008
 
        *)
1009
 
          absdir=`cd "$dir" && pwd`
1010
 
          if test -z "$absdir"; then
1011
 
            $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1012
 
            exit 1
1013
 
          fi
1014
 
          dir="$absdir"
1015
 
          ;;
1016
 
        esac
1017
 
        case "$deplibs " in
1018
 
        *" -L$dir "*) ;;
1019
 
        *)
1020
 
          deplibs="$deplibs -L$dir"
1021
 
          lib_search_path="$lib_search_path $dir"
1022
 
          ;;
1023
 
        esac
1024
 
        case $host in
1025
 
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1026
 
          case :$dllsearchpath: in
1027
 
          *":$dir:"*) ;;
1028
 
          *) dllsearchpath="$dllsearchpath:$dir";;
1029
 
          esac
1030
 
          ;;
1031
 
        esac
1032
 
        continue
1033
 
        ;;
1034
 
 
1035
 
      -l*)
1036
 
        if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
1037
 
          case $host in
1038
 
          *-*-cygwin* | *-*-pw32* | *-*-beos*)
1039
 
            # These systems don't actually have a C or math library (as such)
1040
 
            continue
1041
 
            ;;
1042
 
          *-*-mingw* | *-*-os2*)
1043
 
            # These systems don't actually have a C library (as such)
1044
 
            test "X$arg" = "X-lc" && continue
1045
 
            ;;
1046
 
          *-*-openbsd*)
1047
 
            # Do not include libc due to us having libc/libc_r.
1048
 
            test "X$arg" = "X-lc" && continue
1049
 
            ;;
1050
 
          esac
1051
 
         elif test "X$arg" = "X-lc_r"; then
1052
 
          case $host in
1053
 
          *-*-openbsd*)
1054
 
            # Do not include libc_r directly, use -pthread flag.
1055
 
            continue
1056
 
            ;;
1057
 
          esac
1058
 
        fi
1059
 
        deplibs="$deplibs $arg"
1060
 
        continue
1061
 
        ;;
1062
 
 
1063
 
      -module)
1064
 
        module=yes
1065
 
        continue
1066
 
        ;;
1067
 
 
1068
 
      #### Local change for Sleepycat's Berkeley DB [#6117]:
1069
 
      -jnimodule)
1070
 
        module=yes
1071
 
        jnimodule=yes
1072
 
        continue
1073
 
        ;;
1074
 
 
1075
 
      -no-fast-install)
1076
 
        fast_install=no
1077
 
        continue
1078
 
        ;;
1079
 
 
1080
 
      -no-install)
1081
 
        case $host in
1082
 
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1083
 
          # The PATH hackery in wrapper scripts is required on Windows
1084
 
          # in order for the loader to find any dlls it needs.
1085
 
          $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
1086
 
          $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
1087
 
          fast_install=no
1088
 
          ;;
1089
 
        *) no_install=yes ;;
1090
 
        esac
1091
 
        continue
1092
 
        ;;
1093
 
 
1094
 
      -no-undefined)
1095
 
        allow_undefined=no
1096
 
        continue
1097
 
        ;;
1098
 
 
1099
 
      -o) prev=output ;;
1100
 
 
1101
 
      -release)
1102
 
        prev=release
1103
 
        continue
1104
 
        ;;
1105
 
 
1106
 
      -rpath)
1107
 
        prev=rpath
1108
 
        continue
1109
 
        ;;
1110
 
 
1111
 
      -R)
1112
 
        prev=xrpath
1113
 
        continue
1114
 
        ;;
1115
 
 
1116
 
      -R*)
1117
 
        dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
1118
 
        # We need an absolute path.
1119
 
        case $dir in
1120
 
        [\\/]* | [A-Za-z]:[\\/]*) ;;
1121
 
        *)
1122
 
          $echo "$modename: only absolute run-paths are allowed" 1>&2
1123
 
          exit 1
1124
 
          ;;
1125
 
        esac
1126
 
        case "$xrpath " in
1127
 
        *" $dir "*) ;;
1128
 
        *) xrpath="$xrpath $dir" ;;
1129
 
        esac
1130
 
        continue
1131
 
        ;;
1132
 
 
1133
 
      -static)
1134
 
        # The effects of -static are defined in a previous loop.
1135
 
        # We used to do the same as -all-static on platforms that
1136
 
        # didn't have a PIC flag, but the assumption that the effects
1137
 
        # would be equivalent was wrong.  It would break on at least
1138
 
        # Digital Unix and AIX.
1139
 
        continue
1140
 
        ;;
1141
 
 
1142
 
      -thread-safe)
1143
 
        thread_safe=yes
1144
 
        continue
1145
 
        ;;
1146
 
 
1147
 
      -version-info)
1148
 
        prev=vinfo
1149
 
        continue
1150
 
        ;;
1151
 
 
1152
 
      -Wc,*)
1153
 
        args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
1154
 
        arg=
1155
 
        save_ifs="$IFS"; IFS=','
1156
 
        for flag in $args; do
1157
 
          IFS="$save_ifs"
1158
 
          case $flag in
1159
 
            *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
1160
 
            flag="\"$flag\""
1161
 
            ;;
1162
 
          esac
1163
 
          arg="$arg $wl$flag"
1164
 
          compiler_flags="$compiler_flags $flag"
1165
 
        done
1166
 
        IFS="$save_ifs"
1167
 
        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1168
 
        ;;
1169
 
 
1170
 
      -Wl,*)
1171
 
        args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
1172
 
        arg=
1173
 
        save_ifs="$IFS"; IFS=','
1174
 
        for flag in $args; do
1175
 
          IFS="$save_ifs"
1176
 
          case $flag in
1177
 
            *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
1178
 
            flag="\"$flag\""
1179
 
            ;;
1180
 
          esac
1181
 
          arg="$arg $wl$flag"
1182
 
          compiler_flags="$compiler_flags $wl$flag"
1183
 
          linker_flags="$linker_flags $flag"
1184
 
        done
1185
 
        IFS="$save_ifs"
1186
 
        arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
1187
 
        ;;
1188
 
 
1189
 
      -Xcompiler)
1190
 
        prev=xcompiler
1191
 
        continue
1192
 
        ;;
1193
 
 
1194
 
      -Xlinker)
1195
 
        prev=xlinker
1196
 
        continue
1197
 
        ;;
1198
 
 
1199
 
      # Some other compiler flag.
1200
 
      -* | +*)
1201
 
        # Unknown arguments in both finalize_command and compile_command need
1202
 
        # to be aesthetically quoted because they are evaled later.
1203
 
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1204
 
        case $arg in
1205
 
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
1206
 
          arg="\"$arg\""
1207
 
          ;;
1208
 
        esac
1209
 
        ;;
1210
 
 
1211
 
      *.lo | *.$objext)
1212
 
        # A library or standard object.
1213
 
        if test "$prev" = dlfiles; then
1214
 
          # This file was specified with -dlopen.
1215
 
          if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1216
 
            dlfiles="$dlfiles $arg"
1217
 
            prev=
1218
 
            continue
1219
 
          else
1220
 
            # If libtool objects are unsupported, then we need to preload.
1221
 
            prev=dlprefiles
1222
 
          fi
1223
 
        fi
1224
 
 
1225
 
        if test "$prev" = dlprefiles; then
1226
 
          # Preload the old-style object.
1227
 
          dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
1228
 
          prev=
1229
 
        else
1230
 
          case $arg in
1231
 
          *.lo) libobjs="$libobjs $arg" ;;
1232
 
          *) objs="$objs $arg" ;;
1233
 
          esac
1234
 
        fi
1235
 
        ;;
1236
 
 
1237
 
      *.$libext)
1238
 
        # An archive.
1239
 
        deplibs="$deplibs $arg"
1240
 
        old_deplibs="$old_deplibs $arg"
1241
 
        continue
1242
 
        ;;
1243
 
 
1244
 
      *.la)
1245
 
        # A libtool-controlled library.
1246
 
 
1247
 
        if test "$prev" = dlfiles; then
1248
 
          # This library was specified with -dlopen.
1249
 
          dlfiles="$dlfiles $arg"
1250
 
          prev=
1251
 
        elif test "$prev" = dlprefiles; then
1252
 
          # The library was specified with -dlpreopen.
1253
 
          dlprefiles="$dlprefiles $arg"
1254
 
          prev=
1255
 
        else
1256
 
          deplibs="$deplibs $arg"
1257
 
        fi
1258
 
        continue
1259
 
        ;;
1260
 
 
1261
 
      # Some other compiler argument.
1262
 
      *)
1263
 
        # Unknown arguments in both finalize_command and compile_command need
1264
 
        # to be aesthetically quoted because they are evaled later.
1265
 
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1266
 
        case $arg in
1267
 
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
1268
 
          arg="\"$arg\""
1269
 
          ;;
1270
 
        esac
1271
 
        ;;
1272
 
      esac # arg
1273
 
 
1274
 
      # Now actually substitute the argument into the commands.
1275
 
      if test -n "$arg"; then
1276
 
        compile_command="$compile_command $arg"
1277
 
        finalize_command="$finalize_command $arg"
1278
 
      fi
1279
 
    done # argument parsing loop
1280
 
 
1281
 
    if test -n "$prev"; then
1282
 
      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
1283
 
      $echo "$help" 1>&2
1284
 
      exit 1
1285
 
    fi
1286
 
 
1287
 
    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
1288
 
      eval arg=\"$export_dynamic_flag_spec\"
1289
 
      compile_command="$compile_command $arg"
1290
 
      finalize_command="$finalize_command $arg"
1291
 
    fi
1292
 
 
1293
 
    # calculate the name of the file, without its directory
1294
 
    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
1295
 
    libobjs_save="$libobjs"
1296
 
 
1297
 
    if test -n "$shlibpath_var"; then
1298
 
      # get the directories listed in $shlibpath_var
1299
 
      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
1300
 
    else
1301
 
      shlib_search_path=
1302
 
    fi
1303
 
    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
1304
 
    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
1305
 
 
1306
 
    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
1307
 
    if test "X$output_objdir" = "X$output"; then
1308
 
      output_objdir="$objdir"
1309
 
    else
1310
 
      output_objdir="$output_objdir/$objdir"
1311
 
    fi
1312
 
    # Create the object directory.
1313
 
    if test ! -d $output_objdir; then
1314
 
      $show "$mkdir $output_objdir"
1315
 
      $run $mkdir $output_objdir
1316
 
      status=$?
1317
 
      if test $status -ne 0 && test ! -d $output_objdir; then
1318
 
        exit $status
1319
 
      fi
1320
 
    fi
1321
 
 
1322
 
    # Determine the type of output
1323
 
    case $output in
1324
 
    "")
1325
 
      $echo "$modename: you must specify an output file" 1>&2
1326
 
      $echo "$help" 1>&2
1327
 
      exit 1
1328
 
      ;;
1329
 
    *.$libext) linkmode=oldlib ;;
1330
 
    *.lo | *.$objext) linkmode=obj ;;
1331
 
    *.la) linkmode=lib ;;
1332
 
    *) linkmode=prog ;; # Anything else should be a program.
1333
 
    esac
1334
 
 
1335
 
    specialdeplibs=
1336
 
    libs=
1337
 
    # Find all interdependent deplibs by searching for libraries
1338
 
    # that are linked more than once (e.g. -la -lb -la)
1339
 
    for deplib in $deplibs; do
1340
 
      case "$libs " in
1341
 
      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1342
 
      esac
1343
 
      libs="$libs $deplib"
1344
 
    done
1345
 
    deplibs=
1346
 
    newdependency_libs=
1347
 
    newlib_search_path=
1348
 
    need_relink=no # whether we're linking any uninstalled libtool libraries
1349
 
    notinst_deplibs= # not-installed libtool libraries
1350
 
    notinst_path= # paths that contain not-installed libtool libraries
1351
 
    case $linkmode in
1352
 
    lib)
1353
 
        passes="conv link"
1354
 
        for file in $dlfiles $dlprefiles; do
1355
 
          case $file in
1356
 
          *.la) ;;
1357
 
          *)
1358
 
            $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
1359
 
            exit 1
1360
 
            ;;
1361
 
          esac
1362
 
        done
1363
 
        ;;
1364
 
    prog)
1365
 
        compile_deplibs=
1366
 
        finalize_deplibs=
1367
 
        alldeplibs=no
1368
 
        newdlfiles=
1369
 
        newdlprefiles=
1370
 
        passes="conv scan dlopen dlpreopen link"
1371
 
        ;;
1372
 
    *)  passes="conv"
1373
 
        ;;
1374
 
    esac
1375
 
    for pass in $passes; do
1376
 
      if test $linkmode = prog; then
1377
 
        # Determine which files to process
1378
 
        case $pass in
1379
 
        dlopen)
1380
 
          libs="$dlfiles"
1381
 
          save_deplibs="$deplibs" # Collect dlpreopened libraries
1382
 
          deplibs=
1383
 
          ;;
1384
 
        dlpreopen) libs="$dlprefiles" ;;
1385
 
        link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
1386
 
        esac
1387
 
      fi
1388
 
      for deplib in $libs; do
1389
 
        lib=
1390
 
        found=no
1391
 
        case $deplib in
1392
 
        -l*)
1393
 
          if test $linkmode = oldlib && test $linkmode = obj; then
1394
 
            $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2
1395
 
            continue
1396
 
          fi
1397
 
          if test $pass = conv; then
1398
 
            deplibs="$deplib $deplibs"
1399
 
            continue
1400
 
          fi
1401
 
          name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
1402
 
          for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
1403
 
            # Search the libtool library
1404
 
            lib="$searchdir/lib${name}.la"
1405
 
            if test -f "$lib"; then
1406
 
              found=yes
1407
 
              break
1408
 
            fi
1409
 
          done
1410
 
          if test "$found" != yes; then
1411
 
            # deplib doesn't seem to be a libtool library
1412
 
            if test "$linkmode,$pass" = "prog,link"; then
1413
 
              compile_deplibs="$deplib $compile_deplibs"
1414
 
              finalize_deplibs="$deplib $finalize_deplibs"
1415
 
            else
1416
 
              deplibs="$deplib $deplibs"
1417
 
              test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
1418
 
            fi
1419
 
            continue
1420
 
          fi
1421
 
          ;; # -l
1422
 
        -L*)
1423
 
          case $linkmode in
1424
 
          lib)
1425
 
            deplibs="$deplib $deplibs"
1426
 
            test $pass = conv && continue
1427
 
            newdependency_libs="$deplib $newdependency_libs"
1428
 
            newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
1429
 
            ;;
1430
 
          prog)
1431
 
            if test $pass = conv; then
1432
 
              deplibs="$deplib $deplibs"
1433
 
              continue
1434
 
            fi
1435
 
            if test $pass = scan; then
1436
 
              deplibs="$deplib $deplibs"
1437
 
              newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
1438
 
            else
1439
 
              compile_deplibs="$deplib $compile_deplibs"
1440
 
              finalize_deplibs="$deplib $finalize_deplibs"
1441
 
            fi
1442
 
            ;;
1443
 
          *)
1444
 
            $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2
1445
 
            ;;
1446
 
          esac # linkmode
1447
 
          continue
1448
 
          ;; # -L
1449
 
        -R*)
1450
 
          if test $pass = link; then
1451
 
            dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
1452
 
            # Make sure the xrpath contains only unique directories.
1453
 
            case "$xrpath " in
1454
 
            *" $dir "*) ;;
1455
 
            *) xrpath="$xrpath $dir" ;;
1456
 
            esac
1457
 
          fi
1458
 
          deplibs="$deplib $deplibs"
1459
 
          continue
1460
 
          ;;
1461
 
        *.la) lib="$deplib" ;;
1462
 
        *.$libext)
1463
 
          if test $pass = conv; then
1464
 
            deplibs="$deplib $deplibs"
1465
 
            continue
1466
 
          fi
1467
 
          case $linkmode in
1468
 
          lib)
1469
 
            if test "$deplibs_check_method" != pass_all; then
1470
 
              echo
1471
 
              echo "*** Warning: This library needs some functionality provided by $deplib."
1472
 
              echo "*** I have the capability to make that library automatically link in when"
1473
 
              echo "*** you link to this library.  But I can only do this if you have a"
1474
 
              echo "*** shared version of the library, which you do not appear to have."
1475
 
            else
1476
 
              echo
1477
 
              echo "*** Warning: Linking the shared library $output against the"
1478
 
              echo "*** static library $deplib is not portable!"
1479
 
              deplibs="$deplib $deplibs"
1480
 
            fi
1481
 
            continue
1482
 
            ;;
1483
 
          prog)
1484
 
            if test $pass != link; then
1485
 
              deplibs="$deplib $deplibs"
1486
 
            else
1487
 
              compile_deplibs="$deplib $compile_deplibs"
1488
 
              finalize_deplibs="$deplib $finalize_deplibs"
1489
 
            fi
1490
 
            continue
1491
 
            ;;
1492
 
          esac # linkmode
1493
 
          ;; # *.$libext
1494
 
        *.lo | *.$objext)
1495
 
          if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
1496
 
            # If there is no dlopen support or we're linking statically,
1497
 
            # we need to preload.
1498
 
            newdlprefiles="$newdlprefiles $deplib"
1499
 
            compile_deplibs="$deplib $compile_deplibs"
1500
 
            finalize_deplibs="$deplib $finalize_deplibs"
1501
 
          else
1502
 
            newdlfiles="$newdlfiles $deplib"
1503
 
          fi
1504
 
          continue
1505
 
          ;;
1506
 
        %DEPLIBS%)
1507
 
          alldeplibs=yes
1508
 
          continue
1509
 
          ;;
1510
 
        esac # case $deplib
1511
 
        if test $found = yes || test -f "$lib"; then :
1512
 
        else
1513
 
          $echo "$modename: cannot find the library \`$lib'" 1>&2
1514
 
          exit 1
1515
 
        fi
1516
 
 
1517
 
        # Check to see that this really is a libtool archive.
1518
 
        if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
1519
 
        else
1520
 
          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
1521
 
          exit 1
1522
 
        fi
1523
 
 
1524
 
        ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
1525
 
        test "X$ladir" = "X$lib" && ladir="."
1526
 
 
1527
 
        dlname=
1528
 
        dlopen=
1529
 
        dlpreopen=
1530
 
        libdir=
1531
 
        library_names=
1532
 
        old_library=
1533
 
        # If the library was installed with an old release of libtool,
1534
 
        # it will not redefine variable installed.
1535
 
        installed=yes
1536
 
 
1537
 
        # Read the .la file
1538
 
        case $lib in
1539
 
        */* | *\\*) . $lib ;;
1540
 
        *) . ./$lib ;;
1541
 
        esac
1542
 
 
1543
 
        if test "$linkmode,$pass" = "lib,link" ||
1544
 
           test "$linkmode,$pass" = "prog,scan" ||
1545
 
           { test $linkmode = oldlib && test $linkmode = obj; }; then
1546
 
           # Add dl[pre]opened files of deplib
1547
 
          test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
1548
 
          test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
1549
 
        fi
1550
 
 
1551
 
        if test $pass = conv; then
1552
 
          # Only check for convenience libraries
1553
 
          deplibs="$lib $deplibs"
1554
 
          if test -z "$libdir"; then
1555
 
            if test -z "$old_library"; then
1556
 
              $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1557
 
              exit 1
1558
 
            fi
1559
 
            # It is a libtool convenience library, so add in its objects.
1560
 
            convenience="$convenience $ladir/$objdir/$old_library"
1561
 
            old_convenience="$old_convenience $ladir/$objdir/$old_library"
1562
 
            tmp_libs=
1563
 
            for deplib in $dependency_libs; do
1564
 
              deplibs="$deplib $deplibs"
1565
 
              case "$tmp_libs " in
1566
 
              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1567
 
              esac
1568
 
              tmp_libs="$tmp_libs $deplib"
1569
 
            done
1570
 
          elif test $linkmode != prog && test $linkmode != lib; then
1571
 
            $echo "$modename: \`$lib' is not a convenience library" 1>&2
1572
 
            exit 1
1573
 
          fi
1574
 
          continue
1575
 
        fi # $pass = conv
1576
 
 
1577
 
        # Get the name of the library we link against.
1578
 
        linklib=
1579
 
        for l in $old_library $library_names; do
1580
 
          linklib="$l"
1581
 
        done
1582
 
        if test -z "$linklib"; then
1583
 
          $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
1584
 
          exit 1
1585
 
        fi
1586
 
 
1587
 
        # This library was specified with -dlopen.
1588
 
        if test $pass = dlopen; then
1589
 
          if test -z "$libdir"; then
1590
 
            $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
1591
 
            exit 1
1592
 
          fi
1593
 
          if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
1594
 
            # If there is no dlname, no dlopen support or we're linking
1595
 
            # statically, we need to preload.
1596
 
            dlprefiles="$dlprefiles $lib"
1597
 
          else
1598
 
            newdlfiles="$newdlfiles $lib"
1599
 
          fi
1600
 
          continue
1601
 
        fi # $pass = dlopen
1602
 
 
1603
 
        # We need an absolute path.
1604
 
        case $ladir in
1605
 
        [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
1606
 
        *)
1607
 
          abs_ladir=`cd "$ladir" && pwd`
1608
 
          if test -z "$abs_ladir"; then
1609
 
            $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
1610
 
            $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
1611
 
            abs_ladir="$ladir"
1612
 
          fi
1613
 
          ;;
1614
 
        esac
1615
 
        laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
1616
 
 
1617
 
        # Find the relevant object directory and library name.
1618
 
        if test "X$installed" = Xyes; then
1619
 
          if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
1620
 
            $echo "$modename: warning: library \`$lib' was moved." 1>&2
1621
 
            dir="$ladir"
1622
 
            absdir="$abs_ladir"
1623
 
            libdir="$abs_ladir"
1624
 
          else
1625
 
            dir="$libdir"
1626
 
            absdir="$libdir"
1627
 
          fi
1628
 
        else
1629
 
          dir="$ladir/$objdir"
1630
 
          absdir="$abs_ladir/$objdir"
1631
 
          # Remove this search path later
1632
 
          notinst_path="$notinst_path $abs_ladir"
1633
 
        fi # $installed = yes
1634
 
        name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
1635
 
 
1636
 
        # This library was specified with -dlpreopen.
1637
 
        if test $pass = dlpreopen; then
1638
 
          if test -z "$libdir"; then
1639
 
            $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
1640
 
            exit 1
1641
 
          fi
1642
 
          # Prefer using a static library (so that no silly _DYNAMIC symbols
1643
 
          # are required to link).
1644
 
          if test -n "$old_library"; then
1645
 
            newdlprefiles="$newdlprefiles $dir/$old_library"
1646
 
          # Otherwise, use the dlname, so that lt_dlopen finds it.
1647
 
          elif test -n "$dlname"; then
1648
 
            newdlprefiles="$newdlprefiles $dir/$dlname"
1649
 
          else
1650
 
            newdlprefiles="$newdlprefiles $dir/$linklib"
1651
 
          fi
1652
 
        fi # $pass = dlpreopen
1653
 
 
1654
 
        if test -z "$libdir"; then
1655
 
          # Link the convenience library
1656
 
          if test $linkmode = lib; then
1657
 
            deplibs="$dir/$old_library $deplibs"
1658
 
          elif test "$linkmode,$pass" = "prog,link"; then
1659
 
            compile_deplibs="$dir/$old_library $compile_deplibs"
1660
 
            finalize_deplibs="$dir/$old_library $finalize_deplibs"
1661
 
          else
1662
 
            deplibs="$lib $deplibs"
1663
 
          fi
1664
 
          continue
1665
 
        fi
1666
 
 
1667
 
        if test $linkmode = prog && test $pass != link; then
1668
 
          newlib_search_path="$newlib_search_path $ladir"
1669
 
          deplibs="$lib $deplibs"
1670
 
 
1671
 
          linkalldeplibs=no
1672
 
          if test "$link_all_deplibs" != no || test -z "$library_names" ||
1673
 
             test "$build_libtool_libs" = no; then
1674
 
            linkalldeplibs=yes
1675
 
          fi
1676
 
 
1677
 
          tmp_libs=
1678
 
          for deplib in $dependency_libs; do
1679
 
            case $deplib in
1680
 
            -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
1681
 
            esac
1682
 
            # Need to link against all dependency_libs?
1683
 
            if test $linkalldeplibs = yes; then
1684
 
              deplibs="$deplib $deplibs"
1685
 
            else
1686
 
              # Need to hardcode shared library paths
1687
 
              # or/and link against static libraries
1688
 
              newdependency_libs="$deplib $newdependency_libs"
1689
 
            fi
1690
 
            case "$tmp_libs " in
1691
 
            *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1692
 
            esac
1693
 
            tmp_libs="$tmp_libs $deplib"
1694
 
          done # for deplib
1695
 
          continue
1696
 
        fi # $linkmode = prog...
1697
 
 
1698
 
        link_static=no # Whether the deplib will be linked statically
1699
 
        if test -n "$library_names" &&
1700
 
           { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
1701
 
          # Link against this shared library
1702
 
 
1703
 
          if test "$linkmode,$pass" = "prog,link" ||
1704
 
           { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
1705
 
            # Hardcode the library path.
1706
 
            # Skip directories that are in the system default run-time
1707
 
            # search path.
1708
 
            case " $sys_lib_dlsearch_path " in
1709
 
            *" $absdir "*) ;;
1710
 
            *)
1711
 
              case "$compile_rpath " in
1712
 
              *" $absdir "*) ;;
1713
 
              *) compile_rpath="$compile_rpath $absdir"
1714
 
              esac
1715
 
              ;;
1716
 
            esac
1717
 
            case " $sys_lib_dlsearch_path " in
1718
 
            *" $libdir "*) ;;
1719
 
            *)
1720
 
              case "$finalize_rpath " in
1721
 
              *" $libdir "*) ;;
1722
 
              *) finalize_rpath="$finalize_rpath $libdir"
1723
 
              esac
1724
 
              ;;
1725
 
            esac
1726
 
            if test $linkmode = prog; then
1727
 
              # We need to hardcode the library path
1728
 
              if test -n "$shlibpath_var"; then
1729
 
                # Make sure the rpath contains only unique directories.
1730
 
                case "$temp_rpath " in
1731
 
                *" $dir "*) ;;
1732
 
                *" $absdir "*) ;;
1733
 
                *) temp_rpath="$temp_rpath $dir" ;;
1734
 
                esac
1735
 
              fi
1736
 
            fi
1737
 
          fi # $linkmode,$pass = prog,link...
1738
 
 
1739
 
          if test "$alldeplibs" = yes &&
1740
 
             { test "$deplibs_check_method" = pass_all ||
1741
 
               { test "$build_libtool_libs" = yes &&
1742
 
                 test -n "$library_names"; }; }; then
1743
 
            # We only need to search for static libraries
1744
 
            continue
1745
 
          fi
1746
 
 
1747
 
          if test "$installed" = no; then
1748
 
            notinst_deplibs="$notinst_deplibs $lib"
1749
 
            need_relink=yes
1750
 
          fi
1751
 
 
1752
 
          if test -n "$old_archive_from_expsyms_cmds"; then
1753
 
            # figure out the soname
1754
 
            set dummy $library_names
1755
 
            realname="$2"
1756
 
            shift; shift
1757
 
            libname=`eval \\$echo \"$libname_spec\"`
1758
 
            # use dlname if we got it. it's perfectly good, no?
1759
 
            if test -n "$dlname"; then
1760
 
              soname="$dlname"
1761
 
            elif test -n "$soname_spec"; then
1762
 
              # bleh windows
1763
 
              case $host in
1764
 
              *cygwin*)
1765
 
                major=`expr $current - $age`
1766
 
                versuffix="-$major"
1767
 
                ;;
1768
 
              esac
1769
 
              eval soname=\"$soname_spec\"
1770
 
            else
1771
 
              soname="$realname"
1772
 
            fi
1773
 
 
1774
 
            # Make a new name for the extract_expsyms_cmds to use
1775
 
            soroot="$soname"
1776
 
            soname=`echo $soroot | sed -e 's/^.*\///'`
1777
 
            newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a"
1778
 
 
1779
 
            # If the library has no export list, then create one now
1780
 
            if test -f "$output_objdir/$soname-def"; then :
1781
 
            else
1782
 
              $show "extracting exported symbol list from \`$soname'"
1783
 
              save_ifs="$IFS"; IFS='~'
1784
 
              eval cmds=\"$extract_expsyms_cmds\"
1785
 
              for cmd in $cmds; do
1786
 
                IFS="$save_ifs"
1787
 
                $show "$cmd"
1788
 
                $run eval "$cmd" || exit $?
1789
 
              done
1790
 
              IFS="$save_ifs"
1791
 
            fi
1792
 
 
1793
 
            # Create $newlib
1794
 
            if test -f "$output_objdir/$newlib"; then :; else
1795
 
              $show "generating import library for \`$soname'"
1796
 
              save_ifs="$IFS"; IFS='~'
1797
 
              eval cmds=\"$old_archive_from_expsyms_cmds\"
1798
 
              for cmd in $cmds; do
1799
 
                IFS="$save_ifs"
1800
 
                $show "$cmd"
1801
 
                $run eval "$cmd" || exit $?
1802
 
              done
1803
 
              IFS="$save_ifs"
1804
 
            fi
1805
 
            # make sure the library variables are pointing to the new library
1806
 
            dir=$output_objdir
1807
 
            linklib=$newlib
1808
 
          fi # test -n $old_archive_from_expsyms_cmds
1809
 
 
1810
 
          if test $linkmode = prog || test "$mode" != relink; then
1811
 
            add_shlibpath=
1812
 
            add_dir=
1813
 
            add=
1814
 
            lib_linked=yes
1815
 
            case $hardcode_action in
1816
 
            immediate | unsupported)
1817
 
              if test "$hardcode_direct" = no; then
1818
 
                add="$dir/$linklib"
1819
 
              elif test "$hardcode_minus_L" = no; then
1820
 
                case $host in
1821
 
                *-*-sunos*) add_shlibpath="$dir" ;;
1822
 
                esac
1823
 
                add_dir="-L$dir"
1824
 
                add="-l$name"
1825
 
              elif test "$hardcode_shlibpath_var" = no; then
1826
 
                add_shlibpath="$dir"
1827
 
                add="-l$name"
1828
 
              else
1829
 
                lib_linked=no
1830
 
              fi
1831
 
              ;;
1832
 
            relink)
1833
 
              if test "$hardcode_direct" = yes; then
1834
 
                add="$dir/$linklib"
1835
 
              elif test "$hardcode_minus_L" = yes; then
1836
 
                add_dir="-L$dir"
1837
 
                add="-l$name"
1838
 
              elif test "$hardcode_shlibpath_var" = yes; then
1839
 
                add_shlibpath="$dir"
1840
 
                add="-l$name"
1841
 
              else
1842
 
                lib_linked=no
1843
 
              fi
1844
 
              ;;
1845
 
            *) lib_linked=no ;;
1846
 
            esac
1847
 
 
1848
 
            if test "$lib_linked" != yes; then
1849
 
              $echo "$modename: configuration error: unsupported hardcode properties"
1850
 
              exit 1
1851
 
            fi
1852
 
 
1853
 
            if test -n "$add_shlibpath"; then
1854
 
              case :$compile_shlibpath: in
1855
 
              *":$add_shlibpath:"*) ;;
1856
 
              *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
1857
 
              esac
1858
 
            fi
1859
 
            if test $linkmode = prog; then
1860
 
              test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
1861
 
              test -n "$add" && compile_deplibs="$add $compile_deplibs"
1862
 
            else
1863
 
              test -n "$add_dir" && deplibs="$add_dir $deplibs"
1864
 
              test -n "$add" && deplibs="$add $deplibs"
1865
 
              if test "$hardcode_direct" != yes && \
1866
 
                 test "$hardcode_minus_L" != yes && \
1867
 
                 test "$hardcode_shlibpath_var" = yes; then
1868
 
                case :$finalize_shlibpath: in
1869
 
                *":$libdir:"*) ;;
1870
 
                *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
1871
 
                esac
1872
 
              fi
1873
 
            fi
1874
 
          fi
1875
 
 
1876
 
          if test $linkmode = prog || test "$mode" = relink; then
1877
 
            add_shlibpath=
1878
 
            add_dir=
1879
 
            add=
1880
 
            # Finalize command for both is simple: just hardcode it.
1881
 
            if test "$hardcode_direct" = yes; then
1882
 
              add="$libdir/$linklib"
1883
 
            elif test "$hardcode_minus_L" = yes; then
1884
 
              add_dir="-L$libdir"
1885
 
              add="-l$name"
1886
 
            elif test "$hardcode_shlibpath_var" = yes; then
1887
 
              case :$finalize_shlibpath: in
1888
 
              *":$libdir:"*) ;;
1889
 
              *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
1890
 
              esac
1891
 
              add="-l$name"
1892
 
            else
1893
 
              # We cannot seem to hardcode it, guess we'll fake it.
1894
 
              add_dir="-L$libdir"
1895
 
              add="-l$name"
1896
 
            fi
1897
 
 
1898
 
            if test $linkmode = prog; then
1899
 
              test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
1900
 
              test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
1901
 
            else
1902
 
              test -n "$add_dir" && deplibs="$add_dir $deplibs"
1903
 
              test -n "$add" && deplibs="$add $deplibs"
1904
 
            fi
1905
 
          fi
1906
 
        elif test $linkmode = prog; then
1907
 
          if test "$alldeplibs" = yes &&
1908
 
             { test "$deplibs_check_method" = pass_all ||
1909
 
               { test "$build_libtool_libs" = yes &&
1910
 
                 test -n "$library_names"; }; }; then
1911
 
            # We only need to search for static libraries
1912
 
            continue
1913
 
          fi
1914
 
 
1915
 
          # Try to link the static library
1916
 
          # Here we assume that one of hardcode_direct or hardcode_minus_L
1917
 
          # is not unsupported.  This is valid on all known static and
1918
 
          # shared platforms.
1919
 
          if test "$hardcode_direct" != unsupported; then
1920
 
            test -n "$old_library" && linklib="$old_library"
1921
 
            compile_deplibs="$dir/$linklib $compile_deplibs"
1922
 
            finalize_deplibs="$dir/$linklib $finalize_deplibs"
1923
 
          else
1924
 
            compile_deplibs="-l$name -L$dir $compile_deplibs"
1925
 
            finalize_deplibs="-l$name -L$dir $finalize_deplibs"
1926
 
          fi
1927
 
        elif test "$build_libtool_libs" = yes; then
1928
 
          # Not a shared library
1929
 
          if test "$deplibs_check_method" != pass_all; then
1930
 
            # We're trying link a shared library against a static one
1931
 
            # but the system doesn't support it.
1932
 
 
1933
 
            # Just print a warning and add the library to dependency_libs so
1934
 
            # that the program can be linked against the static library.
1935
 
            echo
1936
 
            echo "*** Warning: This library needs some functionality provided by $lib."
1937
 
            echo "*** I have the capability to make that library automatically link in when"
1938
 
            echo "*** you link to this library.  But I can only do this if you have a"
1939
 
            echo "*** shared version of the library, which you do not appear to have."
1940
 
            if test "$module" = yes; then
1941
 
              echo "*** Therefore, libtool will create a static module, that should work "
1942
 
              echo "*** as long as the dlopening application is linked with the -dlopen flag."
1943
 
              if test -z "$global_symbol_pipe"; then
1944
 
                echo
1945
 
                echo "*** However, this would only work if libtool was able to extract symbol"
1946
 
                echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
1947
 
                echo "*** not find such a program.  So, this module is probably useless."
1948
 
                echo "*** \`nm' from GNU binutils and a full rebuild may help."
1949
 
              fi
1950
 
              if test "$build_old_libs" = no; then
1951
 
                build_libtool_libs=module
1952
 
                build_old_libs=yes
1953
 
              else
1954
 
                build_libtool_libs=no
1955
 
              fi
1956
 
            fi
1957
 
          else
1958
 
            convenience="$convenience $dir/$old_library"
1959
 
            old_convenience="$old_convenience $dir/$old_library"
1960
 
            deplibs="$dir/$old_library $deplibs"
1961
 
            link_static=yes
1962
 
          fi
1963
 
        fi # link shared/static library?
1964
 
 
1965
 
        if test $linkmode = lib; then
1966
 
          if test -n "$dependency_libs" &&
1967
 
             { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
1968
 
               test $link_static = yes; }; then
1969
 
            # Extract -R from dependency_libs
1970
 
            temp_deplibs=
1971
 
            for libdir in $dependency_libs; do
1972
 
              case $libdir in
1973
 
              -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
1974
 
                   case " $xrpath " in
1975
 
                   *" $temp_xrpath "*) ;;
1976
 
                   *) xrpath="$xrpath $temp_xrpath";;
1977
 
                   esac;;
1978
 
              *) temp_deplibs="$temp_deplibs $libdir";;
1979
 
              esac
1980
 
            done
1981
 
            dependency_libs="$temp_deplibs"
1982
 
          fi
1983
 
 
1984
 
          newlib_search_path="$newlib_search_path $absdir"
1985
 
          # Link against this library
1986
 
          test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
1987
 
          # ... and its dependency_libs
1988
 
          tmp_libs=
1989
 
          for deplib in $dependency_libs; do
1990
 
            newdependency_libs="$deplib $newdependency_libs"
1991
 
            case "$tmp_libs " in
1992
 
            *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
1993
 
            esac
1994
 
            tmp_libs="$tmp_libs $deplib"
1995
 
          done
1996
 
 
1997
 
          if test $link_all_deplibs != no; then
1998
 
            # Add the search paths of all dependency libraries
1999
 
            for deplib in $dependency_libs; do
2000
 
              case $deplib in
2001
 
              -L*) path="$deplib" ;;
2002
 
              *.la)
2003
 
                dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
2004
 
                test "X$dir" = "X$deplib" && dir="."
2005
 
                # We need an absolute path.
2006
 
                case $dir in
2007
 
                [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
2008
 
                *)
2009
 
                  absdir=`cd "$dir" && pwd`
2010
 
                  if test -z "$absdir"; then
2011
 
                    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
2012
 
                    absdir="$dir"
2013
 
                  fi
2014
 
                  ;;
2015
 
                esac
2016
 
                if grep "^installed=no" $deplib > /dev/null; then
2017
 
                  path="-L$absdir/$objdir"
2018
 
                else
2019
 
                  eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
2020
 
                  if test -z "$libdir"; then
2021
 
                    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
2022
 
                    exit 1
2023
 
                  fi
2024
 
                  if test "$absdir" != "$libdir"; then
2025
 
                    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
2026
 
                  fi
2027
 
                  path="-L$absdir"
2028
 
                fi
2029
 
                ;;
2030
 
              *) continue ;;
2031
 
              esac
2032
 
              case " $deplibs " in
2033
 
              *" $path "*) ;;
2034
 
              *) deplibs="$deplibs $path" ;;
2035
 
              esac
2036
 
            done
2037
 
          fi # link_all_deplibs != no
2038
 
        fi # linkmode = lib
2039
 
      done # for deplib in $libs
2040
 
      if test $pass = dlpreopen; then
2041
 
        # Link the dlpreopened libraries before other libraries
2042
 
        for deplib in $save_deplibs; do
2043
 
          deplibs="$deplib $deplibs"
2044
 
        done
2045
 
      fi
2046
 
      if test $pass != dlopen; then
2047
 
        test $pass != scan && dependency_libs="$newdependency_libs"
2048
 
        if test $pass != conv; then
2049
 
          # Make sure lib_search_path contains only unique directories.
2050
 
          lib_search_path=
2051
 
          for dir in $newlib_search_path; do
2052
 
            case "$lib_search_path " in
2053
 
            *" $dir "*) ;;
2054
 
            *) lib_search_path="$lib_search_path $dir" ;;
2055
 
            esac
2056
 
          done
2057
 
          newlib_search_path=
2058
 
        fi
2059
 
 
2060
 
        if test "$linkmode,$pass" != "prog,link"; then
2061
 
          vars="deplibs"
2062
 
        else
2063
 
          vars="compile_deplibs finalize_deplibs"
2064
 
        fi
2065
 
        for var in $vars dependency_libs; do
2066
 
          # Add libraries to $var in reverse order
2067
 
          eval tmp_libs=\"\$$var\"
2068
 
          new_libs=
2069
 
          for deplib in $tmp_libs; do
2070
 
            case $deplib in
2071
 
            -L*) new_libs="$deplib $new_libs" ;;
2072
 
            *)
2073
 
              case " $specialdeplibs " in
2074
 
              *" $deplib "*) new_libs="$deplib $new_libs" ;;
2075
 
              *)
2076
 
                case " $new_libs " in
2077
 
                *" $deplib "*) ;;
2078
 
                *) new_libs="$deplib $new_libs" ;;
2079
 
                esac
2080
 
                ;;
2081
 
              esac
2082
 
              ;;
2083
 
            esac
2084
 
          done
2085
 
          tmp_libs=
2086
 
          for deplib in $new_libs; do
2087
 
            case $deplib in
2088
 
            -L*)
2089
 
              case " $tmp_libs " in
2090
 
              *" $deplib "*) ;;
2091
 
              *) tmp_libs="$tmp_libs $deplib" ;;
2092
 
              esac
2093
 
              ;;
2094
 
            *) tmp_libs="$tmp_libs $deplib" ;;
2095
 
            esac
2096
 
          done
2097
 
          eval $var=\"$tmp_libs\"
2098
 
        done # for var
2099
 
      fi
2100
 
      if test "$pass" = "conv" &&
2101
 
       { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then
2102
 
        libs="$deplibs" # reset libs
2103
 
        deplibs=
2104
 
      fi
2105
 
    done # for pass
2106
 
    if test $linkmode = prog; then
2107
 
      dlfiles="$newdlfiles"
2108
 
      dlprefiles="$newdlprefiles"
2109
 
    fi
2110
 
 
2111
 
    case $linkmode in
2112
 
    oldlib)
2113
 
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
2114
 
        $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
2115
 
      fi
2116
 
 
2117
 
      if test -n "$rpath"; then
2118
 
        $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
2119
 
      fi
2120
 
 
2121
 
      if test -n "$xrpath"; then
2122
 
        $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
2123
 
      fi
2124
 
 
2125
 
      if test -n "$vinfo"; then
2126
 
        $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
2127
 
      fi
2128
 
 
2129
 
      if test -n "$release"; then
2130
 
        $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
2131
 
      fi
2132
 
 
2133
 
      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
2134
 
        $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
2135
 
      fi
2136
 
 
2137
 
      # Now set the variables for building old libraries.
2138
 
      build_libtool_libs=no
2139
 
      oldlibs="$output"
2140
 
      objs="$objs$old_deplibs"
2141
 
      ;;
2142
 
 
2143
 
    lib)
2144
 
      # Make sure we only generate libraries of the form `libNAME.la'.
2145
 
      case $outputname in
2146
 
      lib*)
2147
 
        name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
2148
 
        eval libname=\"$libname_spec\"
2149
 
        ;;
2150
 
      *)
2151
 
        if test "$module" = no; then
2152
 
          $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
2153
 
          $echo "$help" 1>&2
2154
 
          exit 1
2155
 
        fi
2156
 
        if test "$need_lib_prefix" != no; then
2157
 
          # Add the "lib" prefix for modules if required
2158
 
          name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
2159
 
          eval libname=\"$libname_spec\"
2160
 
        else
2161
 
          libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
2162
 
        fi
2163
 
        ;;
2164
 
      esac
2165
 
 
2166
 
      if test -n "$objs"; then
2167
 
        if test "$deplibs_check_method" != pass_all; then
2168
 
          $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
2169
 
          exit 1
2170
 
        else
2171
 
          echo
2172
 
          echo "*** Warning: Linking the shared library $output against the non-libtool"
2173
 
          echo "*** objects $objs is not portable!"
2174
 
          libobjs="$libobjs $objs"
2175
 
        fi
2176
 
      fi
2177
 
 
2178
 
      if test "$dlself" != no; then
2179
 
        $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
2180
 
      fi
2181
 
 
2182
 
      set dummy $rpath
2183
 
      if test $# -gt 2; then
2184
 
        $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
2185
 
      fi
2186
 
      install_libdir="$2"
2187
 
 
2188
 
      oldlibs=
2189
 
      if test -z "$rpath"; then
2190
 
        if test "$build_libtool_libs" = yes; then
2191
 
          # Building a libtool convenience library.
2192
 
          libext=al
2193
 
          oldlibs="$output_objdir/$libname.$libext $oldlibs"
2194
 
          build_libtool_libs=convenience
2195
 
          build_old_libs=yes
2196
 
        fi
2197
 
 
2198
 
        if test -n "$vinfo"; then
2199
 
          $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
2200
 
        fi
2201
 
 
2202
 
        if test -n "$release"; then
2203
 
          $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
2204
 
        fi
2205
 
      else
2206
 
 
2207
 
        # Parse the version information argument.
2208
 
        save_ifs="$IFS"; IFS=':'
2209
 
        set dummy $vinfo 0 0 0
2210
 
        IFS="$save_ifs"
2211
 
 
2212
 
        if test -n "$8"; then
2213
 
          $echo "$modename: too many parameters to \`-version-info'" 1>&2
2214
 
          $echo "$help" 1>&2
2215
 
          exit 1
2216
 
        fi
2217
 
 
2218
 
        current="$2"
2219
 
        revision="$3"
2220
 
        age="$4"
2221
 
 
2222
 
        # Check that each of the things are valid numbers.
2223
 
        case $current in
2224
 
        0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
2225
 
        *)
2226
 
          $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
2227
 
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2228
 
          exit 1
2229
 
          ;;
2230
 
        esac
2231
 
 
2232
 
        case $revision in
2233
 
        0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
2234
 
        *)
2235
 
          $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
2236
 
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2237
 
          exit 1
2238
 
          ;;
2239
 
        esac
2240
 
 
2241
 
        case $age in
2242
 
        0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
2243
 
        *)
2244
 
          $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
2245
 
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2246
 
          exit 1
2247
 
          ;;
2248
 
        esac
2249
 
 
2250
 
        if test $age -gt $current; then
2251
 
          $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
2252
 
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
2253
 
          exit 1
2254
 
        fi
2255
 
 
2256
 
        # Calculate the version variables.
2257
 
        major=
2258
 
        versuffix=
2259
 
        verstring=
2260
 
        case $version_type in
2261
 
        none) ;;
2262
 
 
2263
 
        darwin)
2264
 
          # Like Linux, but with the current version available in
2265
 
          # verstring for coding it into the library header
2266
 
          major=.`expr $current - $age`
2267
 
          versuffix="$major.$age.$revision"
2268
 
          # Darwin ld doesn't like 0 for these options...
2269
 
          minor_current=`expr $current + 1`
2270
 
          verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
2271
 
          ;;
2272
 
 
2273
 
        freebsd-aout)
2274
 
          major=".$current"
2275
 
          versuffix=".$current.$revision";
2276
 
          ;;
2277
 
 
2278
 
        freebsd-elf)
2279
 
          major=".$current"
2280
 
          versuffix=".$current";
2281
 
          ;;
2282
 
 
2283
 
        irix)
2284
 
          major=`expr $current - $age + 1`
2285
 
          verstring="sgi$major.$revision"
2286
 
 
2287
 
          # Add in all the interfaces that we are compatible with.
2288
 
          loop=$revision
2289
 
          while test $loop != 0; do
2290
 
            iface=`expr $revision - $loop`
2291
 
            loop=`expr $loop - 1`
2292
 
            verstring="sgi$major.$iface:$verstring"
2293
 
          done
2294
 
 
2295
 
          # Before this point, $major must not contain `.'.
2296
 
          major=.$major
2297
 
          versuffix="$major.$revision"
2298
 
          ;;
2299
 
 
2300
 
        linux)
2301
 
          major=.`expr $current - $age`
2302
 
          versuffix="$major.$age.$revision"
2303
 
          ;;
2304
 
 
2305
 
        osf)
2306
 
          major=`expr $current - $age`
2307
 
          versuffix=".$current.$age.$revision"
2308
 
          verstring="$current.$age.$revision"
2309
 
 
2310
 
          # Add in all the interfaces that we are compatible with.
2311
 
          loop=$age
2312
 
          while test $loop != 0; do
2313
 
            iface=`expr $current - $loop`
2314
 
            loop=`expr $loop - 1`
2315
 
            verstring="$verstring:${iface}.0"
2316
 
          done
2317
 
 
2318
 
          # Make executables depend on our current version.
2319
 
          verstring="$verstring:${current}.0"
2320
 
          ;;
2321
 
 
2322
 
        sunos)
2323
 
          major=".$current"
2324
 
          versuffix=".$current.$revision"
2325
 
          ;;
2326
 
 
2327
 
        windows)
2328
 
          # Use '-' rather than '.', since we only want one
2329
 
          # extension on DOS 8.3 filesystems.
2330
 
          major=`expr $current - $age`
2331
 
          versuffix="-$major"
2332
 
          ;;
2333
 
 
2334
 
        *)
2335
 
          $echo "$modename: unknown library version type \`$version_type'" 1>&2
2336
 
          echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
2337
 
          exit 1
2338
 
          ;;
2339
 
        esac
2340
 
 
2341
 
        # Clear the version info if we defaulted, and they specified a release.
2342
 
        if test -z "$vinfo" && test -n "$release"; then
2343
 
          major=
2344
 
          verstring="0.0"
2345
 
          case $version_type in
2346
 
          darwin)
2347
 
            # we can't check for "0.0" in archive_cmds due to quoting
2348
 
            # problems, so we reset it completely
2349
 
            verstring=""
2350
 
            ;;
2351
 
          *)
2352
 
            verstring="0.0"
2353
 
            ;;
2354
 
          esac
2355
 
          if test "$need_version" = no; then
2356
 
            versuffix=
2357
 
          else
2358
 
            versuffix=".0.0"
2359
 
          fi
2360
 
        fi
2361
 
 
2362
 
        # Remove version info from name if versioning should be avoided
2363
 
        if test "$avoid_version" = yes && test "$need_version" = no; then
2364
 
          major=
2365
 
          versuffix=
2366
 
          verstring=""
2367
 
        fi
2368
 
 
2369
 
        # Check to see if the archive will have undefined symbols.
2370
 
        if test "$allow_undefined" = yes; then
2371
 
          if test "$allow_undefined_flag" = unsupported; then
2372
 
            $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
2373
 
            build_libtool_libs=no
2374
 
            build_old_libs=yes
2375
 
          fi
2376
 
        else
2377
 
          # Don't allow undefined symbols.
2378
 
          allow_undefined_flag="$no_undefined_flag"
2379
 
        fi
2380
 
      fi
2381
 
 
2382
 
      if test "$mode" != relink; then
2383
 
        # Remove our outputs.
2384
 
        $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
2385
 
        $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
2386
 
      fi
2387
 
 
2388
 
      # Now set the variables for building old libraries.
2389
 
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
2390
 
        oldlibs="$oldlibs $output_objdir/$libname.$libext"
2391
 
 
2392
 
        # Transform .lo files to .o files.
2393
 
        oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
2394
 
      fi
2395
 
 
2396
 
      # Eliminate all temporary directories.
2397
 
      for path in $notinst_path; do
2398
 
        lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'`
2399
 
        deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'`
2400
 
        dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'`
2401
 
      done
2402
 
 
2403
 
      if test -n "$xrpath"; then
2404
 
        # If the user specified any rpath flags, then add them.
2405
 
        temp_xrpath=
2406
 
        for libdir in $xrpath; do
2407
 
          temp_xrpath="$temp_xrpath -R$libdir"
2408
 
          case "$finalize_rpath " in
2409
 
          *" $libdir "*) ;;
2410
 
          *) finalize_rpath="$finalize_rpath $libdir" ;;
2411
 
          esac
2412
 
        done
2413
 
        if test $hardcode_into_libs != yes || test $build_old_libs = yes; then
2414
 
          dependency_libs="$temp_xrpath $dependency_libs"
2415
 
        fi
2416
 
      fi
2417
 
 
2418
 
      # Make sure dlfiles contains only unique files that won't be dlpreopened
2419
 
      old_dlfiles="$dlfiles"
2420
 
      dlfiles=
2421
 
      for lib in $old_dlfiles; do
2422
 
        case " $dlprefiles $dlfiles " in
2423
 
        *" $lib "*) ;;
2424
 
        *) dlfiles="$dlfiles $lib" ;;
2425
 
        esac
2426
 
      done
2427
 
 
2428
 
      # Make sure dlprefiles contains only unique files
2429
 
      old_dlprefiles="$dlprefiles"
2430
 
      dlprefiles=
2431
 
      for lib in $old_dlprefiles; do
2432
 
        case "$dlprefiles " in
2433
 
        *" $lib "*) ;;
2434
 
        *) dlprefiles="$dlprefiles $lib" ;;
2435
 
        esac
2436
 
      done
2437
 
 
2438
 
      if test "$build_libtool_libs" = yes; then
2439
 
        if test -n "$rpath"; then
2440
 
          case $host in
2441
 
          *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
2442
 
            # these systems don't actually have a c library (as such)!
2443
 
            ;;
2444
 
          *-*-rhapsody* | *-*-darwin1.[012])
2445
 
            # Rhapsody C library is in the System framework
2446
 
            deplibs="$deplibs -framework System"
2447
 
            ;;
2448
 
          *-*-netbsd*)
2449
 
            # Don't link with libc until the a.out ld.so is fixed.
2450
 
            ;;
2451
 
          *-*-openbsd*)
2452
 
            # Do not include libc due to us having libc/libc_r.
2453
 
            ;;
2454
 
          #### Local change for Sleepycat's Berkeley DB [#2380]:
2455
 
          # FreeBSD, like OpenBSD, uses libc/libc_r and should not
2456
 
          # link against libc/c_r explicitly;  the -pthread linker flag
2457
 
          # implicitly controls use of -lc and -lc_r.
2458
 
          *-*-freebsd*)
2459
 
            # Do not include libc due to us having libc/libc_r.
2460
 
            ;; 
2461
 
          *)
2462
 
            # Add libc to deplibs on all other systems if necessary.
2463
 
            if test $build_libtool_need_lc = "yes"; then
2464
 
              deplibs="$deplibs -lc"
2465
 
            fi
2466
 
            ;;
2467
 
          esac
2468
 
        fi
2469
 
 
2470
 
        # Transform deplibs into only deplibs that can be linked in shared.
2471
 
        name_save=$name
2472
 
        libname_save=$libname
2473
 
        release_save=$release
2474
 
        versuffix_save=$versuffix
2475
 
        major_save=$major
2476
 
        # I'm not sure if I'm treating the release correctly.  I think
2477
 
        # release should show up in the -l (ie -lgmp5) so we don't want to
2478
 
        # add it in twice.  Is that correct?
2479
 
        release=""
2480
 
        versuffix=""
2481
 
        major=""
2482
 
        newdeplibs=
2483
 
        droppeddeps=no
2484
 
        case $deplibs_check_method in
2485
 
        pass_all)
2486
 
          # Don't check for shared/static.  Everything works.
2487
 
          # This might be a little naive.  We might want to check
2488
 
          # whether the library exists or not.  But this is on
2489
 
          # osf3 & osf4 and I'm not really sure... Just
2490
 
          # implementing what was already the behaviour.
2491
 
          newdeplibs=$deplibs
2492
 
          ;;
2493
 
        test_compile)
2494
 
          # This code stresses the "libraries are programs" paradigm to its
2495
 
          # limits. Maybe even breaks it.  We compile a program, linking it
2496
 
          # against the deplibs as a proxy for the library.  Then we can check
2497
 
          # whether they linked in statically or dynamically with ldd.
2498
 
          $rm conftest.c
2499
 
          cat > conftest.c <<EOF
2500
 
          int main() { return 0; }
2501
 
EOF
2502
 
          $rm conftest
2503
 
          $CC -o conftest conftest.c $deplibs
2504
 
          if test $? -eq 0 ; then
2505
 
            ldd_output=`ldd conftest`
2506
 
            for i in $deplibs; do
2507
 
              name="`expr $i : '-l\(.*\)'`"
2508
 
              # If $name is empty we are operating on a -L argument.
2509
 
              if test -n "$name" && test "$name" != "0"; then
2510
 
                libname=`eval \\$echo \"$libname_spec\"`
2511
 
                deplib_matches=`eval \\$echo \"$library_names_spec\"`
2512
 
                set dummy $deplib_matches
2513
 
                deplib_match=$2
2514
 
                if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
2515
 
                  newdeplibs="$newdeplibs $i"
2516
 
                else
2517
 
                  droppeddeps=yes
2518
 
                  echo
2519
 
                  echo "*** Warning: This library needs some functionality provided by $i."
2520
 
                  echo "*** I have the capability to make that library automatically link in when"
2521
 
                  echo "*** you link to this library.  But I can only do this if you have a"
2522
 
                  echo "*** shared version of the library, which you do not appear to have."
2523
 
                fi
2524
 
              else
2525
 
                newdeplibs="$newdeplibs $i"
2526
 
              fi
2527
 
            done
2528
 
          else
2529
 
            # Error occured in the first compile.  Let's try to salvage the situation:
2530
 
            # Compile a seperate program for each library.
2531
 
            for i in $deplibs; do
2532
 
              name="`expr $i : '-l\(.*\)'`"
2533
 
             # If $name is empty we are operating on a -L argument.
2534
 
              if test -n "$name" && test "$name" != "0"; then
2535
 
                $rm conftest
2536
 
                $CC -o conftest conftest.c $i
2537
 
                # Did it work?
2538
 
                if test $? -eq 0 ; then
2539
 
                  ldd_output=`ldd conftest`
2540
 
                  libname=`eval \\$echo \"$libname_spec\"`
2541
 
                  deplib_matches=`eval \\$echo \"$library_names_spec\"`
2542
 
                  set dummy $deplib_matches
2543
 
                  deplib_match=$2
2544
 
                  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
2545
 
                    newdeplibs="$newdeplibs $i"
2546
 
                  else
2547
 
                    droppeddeps=yes
2548
 
                    echo
2549
 
                    echo "*** Warning: This library needs some functionality provided by $i."
2550
 
                    echo "*** I have the capability to make that library automatically link in when"
2551
 
                    echo "*** you link to this library.  But I can only do this if you have a"
2552
 
                    echo "*** shared version of the library, which you do not appear to have."
2553
 
                  fi
2554
 
                else
2555
 
                  droppeddeps=yes
2556
 
                  echo
2557
 
                  echo "*** Warning!  Library $i is needed by this library but I was not able to"
2558
 
                  echo "***  make it link in!  You will probably need to install it or some"
2559
 
                  echo "*** library that it depends on before this library will be fully"
2560
 
                  echo "*** functional.  Installing it before continuing would be even better."
2561
 
                fi
2562
 
              else
2563
 
                newdeplibs="$newdeplibs $i"
2564
 
              fi
2565
 
            done
2566
 
          fi
2567
 
          ;;
2568
 
        file_magic*)
2569
 
          set dummy $deplibs_check_method
2570
 
          file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2571
 
          for a_deplib in $deplibs; do
2572
 
            name="`expr $a_deplib : '-l\(.*\)'`"
2573
 
            # If $name is empty we are operating on a -L argument.
2574
 
            if test -n "$name" && test "$name" != "0"; then
2575
 
              libname=`eval \\$echo \"$libname_spec\"`
2576
 
              for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
2577
 
                    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
2578
 
                    for potent_lib in $potential_libs; do
2579
 
                      # Follow soft links.
2580
 
                      if ls -lLd "$potent_lib" 2>/dev/null \
2581
 
                         | grep " -> " >/dev/null; then
2582
 
                        continue
2583
 
                      fi
2584
 
                      # The statement above tries to avoid entering an
2585
 
                      # endless loop below, in case of cyclic links.
2586
 
                      # We might still enter an endless loop, since a link
2587
 
                      # loop can be closed while we follow links,
2588
 
                      # but so what?
2589
 
                      potlib="$potent_lib"
2590
 
                      while test -h "$potlib" 2>/dev/null; do
2591
 
                        potliblink=`ls -ld $potlib | sed 's/.* -> //'`
2592
 
                        case $potliblink in
2593
 
                        [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
2594
 
                        *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
2595
 
                        esac
2596
 
                      done
2597
 
                      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
2598
 
                         | sed 10q \
2599
 
                         | egrep "$file_magic_regex" > /dev/null; then
2600
 
                        newdeplibs="$newdeplibs $a_deplib"
2601
 
                        a_deplib=""
2602
 
                        break 2
2603
 
                      fi
2604
 
                    done
2605
 
              done
2606
 
              if test -n "$a_deplib" ; then
2607
 
                droppeddeps=yes
2608
 
                echo
2609
 
                echo "*** Warning: This library needs some functionality provided by $a_deplib."
2610
 
                echo "*** I have the capability to make that library automatically link in when"
2611
 
                echo "*** you link to this library.  But I can only do this if you have a"
2612
 
                echo "*** shared version of the library, which you do not appear to have."
2613
 
              fi
2614
 
            else
2615
 
              # Add a -L argument.
2616
 
              newdeplibs="$newdeplibs $a_deplib"
2617
 
            fi
2618
 
          done # Gone through all deplibs.
2619
 
          ;;
2620
 
        match_pattern*)
2621
 
          set dummy $deplibs_check_method
2622
 
          match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2623
 
          for a_deplib in $deplibs; do
2624
 
            name="`expr $a_deplib : '-l\(.*\)'`"
2625
 
            # If $name is empty we are operating on a -L argument.
2626
 
            if test -n "$name" && test "$name" != "0"; then
2627
 
              libname=`eval \\$echo \"$libname_spec\"`
2628
 
              for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
2629
 
                potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
2630
 
                for potent_lib in $potential_libs; do
2631
 
                  if eval echo \"$potent_lib\" 2>/dev/null \
2632
 
                      | sed 10q \
2633
 
                      | egrep "$match_pattern_regex" > /dev/null; then
2634
 
                    newdeplibs="$newdeplibs $a_deplib"
2635
 
                    a_deplib=""
2636
 
                    break 2
2637
 
                  fi
2638
 
                done
2639
 
              done
2640
 
              if test -n "$a_deplib" ; then
2641
 
                droppeddeps=yes
2642
 
                echo
2643
 
                echo "*** Warning: This library needs some functionality provided by $a_deplib."
2644
 
                echo "*** I have the capability to make that library automatically link in when"
2645
 
                echo "*** you link to this library.  But I can only do this if you have a"
2646
 
                echo "*** shared version of the library, which you do not appear to have."
2647
 
              fi
2648
 
            else
2649
 
              # Add a -L argument.
2650
 
              newdeplibs="$newdeplibs $a_deplib"
2651
 
            fi
2652
 
          done # Gone through all deplibs.
2653
 
          ;;
2654
 
        none | unknown | *)
2655
 
          newdeplibs=""
2656
 
          if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
2657
 
               -e 's/ -[LR][^ ]*//g' -e 's/[    ]//g' |
2658
 
             grep . >/dev/null; then
2659
 
            echo
2660
 
            if test "X$deplibs_check_method" = "Xnone"; then
2661
 
              echo "*** Warning: inter-library dependencies are not supported in this platform."
2662
 
            else
2663
 
              echo "*** Warning: inter-library dependencies are not known to be supported."
2664
 
            fi
2665
 
            echo "*** All declared inter-library dependencies are being dropped."
2666
 
            droppeddeps=yes
2667
 
          fi
2668
 
          ;;
2669
 
        esac
2670
 
        versuffix=$versuffix_save
2671
 
        major=$major_save
2672
 
        release=$release_save
2673
 
        libname=$libname_save
2674
 
        name=$name_save
2675
 
 
2676
 
        case $host in
2677
 
        *-*-rhapsody* | *-*-darwin1.[012])
2678
 
          # On Rhapsody replace the C library is the System framework
2679
 
          newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
2680
 
          ;;
2681
 
        esac
2682
 
 
2683
 
        if test "$droppeddeps" = yes; then
2684
 
          if test "$module" = yes; then
2685
 
            echo
2686
 
            echo "*** Warning: libtool could not satisfy all declared inter-library"
2687
 
            echo "*** dependencies of module $libname.  Therefore, libtool will create"
2688
 
            echo "*** a static module, that should work as long as the dlopening"
2689
 
            echo "*** application is linked with the -dlopen flag."
2690
 
            if test -z "$global_symbol_pipe"; then
2691
 
              echo
2692
 
              echo "*** However, this would only work if libtool was able to extract symbol"
2693
 
              echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
2694
 
              echo "*** not find such a program.  So, this module is probably useless."
2695
 
              echo "*** \`nm' from GNU binutils and a full rebuild may help."
2696
 
            fi
2697
 
            if test "$build_old_libs" = no; then
2698
 
              oldlibs="$output_objdir/$libname.$libext"
2699
 
              build_libtool_libs=module
2700
 
              build_old_libs=yes
2701
 
            else
2702
 
              build_libtool_libs=no
2703
 
            fi
2704
 
          else
2705
 
            echo "*** The inter-library dependencies that have been dropped here will be"
2706
 
            echo "*** automatically added whenever a program is linked with this library"
2707
 
            echo "*** or is declared to -dlopen it."
2708
 
 
2709
 
            if test $allow_undefined = no; then
2710
 
              echo
2711
 
              echo "*** Since this library must not contain undefined symbols,"
2712
 
              echo "*** because either the platform does not support them or"
2713
 
              echo "*** it was explicitly requested with -no-undefined,"
2714
 
              echo "*** libtool will only create a static version of it."
2715
 
              if test "$build_old_libs" = no; then
2716
 
                oldlibs="$output_objdir/$libname.$libext"
2717
 
                build_libtool_libs=module
2718
 
                build_old_libs=yes
2719
 
              else
2720
 
                build_libtool_libs=no
2721
 
              fi
2722
 
            fi
2723
 
          fi
2724
 
        fi
2725
 
        # Done checking deplibs!
2726
 
        deplibs=$newdeplibs
2727
 
      fi
2728
 
 
2729
 
      # All the library-specific variables (install_libdir is set above).
2730
 
      library_names=
2731
 
      old_library=
2732
 
      dlname=
2733
 
 
2734
 
      # Test again, we may have decided not to build it any more
2735
 
      if test "$build_libtool_libs" = yes; then
2736
 
        if test $hardcode_into_libs = yes; then
2737
 
          # Hardcode the library paths
2738
 
          hardcode_libdirs=
2739
 
          dep_rpath=
2740
 
          rpath="$finalize_rpath"
2741
 
          test "$mode" != relink && rpath="$compile_rpath$rpath"
2742
 
          for libdir in $rpath; do
2743
 
            if test -n "$hardcode_libdir_flag_spec"; then
2744
 
              if test -n "$hardcode_libdir_separator"; then
2745
 
                if test -z "$hardcode_libdirs"; then
2746
 
                  hardcode_libdirs="$libdir"
2747
 
                else
2748
 
                  # Just accumulate the unique libdirs.
2749
 
                  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
2750
 
                  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
2751
 
                    ;;
2752
 
                  *)
2753
 
                    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
2754
 
                    ;;
2755
 
                  esac
2756
 
                fi
2757
 
              else
2758
 
                eval flag=\"$hardcode_libdir_flag_spec\"
2759
 
                dep_rpath="$dep_rpath $flag"
2760
 
              fi
2761
 
            elif test -n "$runpath_var"; then
2762
 
              case "$perm_rpath " in
2763
 
              *" $libdir "*) ;;
2764
 
              *) perm_rpath="$perm_rpath $libdir" ;;
2765
 
              esac
2766
 
            fi
2767
 
          done
2768
 
          # Substitute the hardcoded libdirs into the rpath.
2769
 
          if test -n "$hardcode_libdir_separator" &&
2770
 
             test -n "$hardcode_libdirs"; then
2771
 
            libdir="$hardcode_libdirs"
2772
 
            eval dep_rpath=\"$hardcode_libdir_flag_spec\"
2773
 
          fi
2774
 
          if test -n "$runpath_var" && test -n "$perm_rpath"; then
2775
 
            # We should set the runpath_var.
2776
 
            rpath=
2777
 
            for dir in $perm_rpath; do
2778
 
              rpath="$rpath$dir:"
2779
 
            done
2780
 
            eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
2781
 
          fi
2782
 
          test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
2783
 
        fi
2784
 
 
2785
 
        shlibpath="$finalize_shlibpath"
2786
 
        test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
2787
 
        if test -n "$shlibpath"; then
2788
 
          eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
2789
 
        fi
2790
 
 
2791
 
        # Get the real and link names of the library.
2792
 
        eval library_names=\"$library_names_spec\"
2793
 
        set dummy $library_names
2794
 
        realname="$2"
2795
 
        shift; shift
2796
 
 
2797
 
        if test -n "$soname_spec"; then
2798
 
          eval soname=\"$soname_spec\"
2799
 
        else
2800
 
          soname="$realname"
2801
 
        fi
2802
 
        test -z "$dlname" && dlname=$soname
2803
 
 
2804
 
        lib="$output_objdir/$realname"
2805
 
        for link
2806
 
        do
2807
 
          linknames="$linknames $link"
2808
 
        done
2809
 
 
2810
 
        # Ensure that we have .o objects for linkers which dislike .lo
2811
 
        # (e.g. aix) in case we are running --disable-static
2812
 
        for obj in $libobjs; do
2813
 
          xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
2814
 
          if test "X$xdir" = "X$obj"; then
2815
 
            xdir="."
2816
 
          else
2817
 
            xdir="$xdir"
2818
 
          fi
2819
 
          baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
2820
 
          oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
2821
 
          if test ! -f $xdir/$oldobj; then
2822
 
            $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
2823
 
            $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
2824
 
          fi
2825
 
        done
2826
 
 
2827
 
        # Use standard objects if they are pic
2828
 
        test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
2829
 
 
2830
 
        # Prepare the list of exported symbols
2831
 
        if test -z "$export_symbols"; then
2832
 
          if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
2833
 
            $show "generating symbol list for \`$libname.la'"
2834
 
            export_symbols="$output_objdir/$libname.exp"
2835
 
            $run $rm $export_symbols
2836
 
            eval cmds=\"$export_symbols_cmds\"
2837
 
            save_ifs="$IFS"; IFS='~'
2838
 
            for cmd in $cmds; do
2839
 
              IFS="$save_ifs"
2840
 
              $show "$cmd"
2841
 
              $run eval "$cmd" || exit $?
2842
 
            done
2843
 
            IFS="$save_ifs"
2844
 
            if test -n "$export_symbols_regex"; then
2845
 
              $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
2846
 
              $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
2847
 
              $show "$mv \"${export_symbols}T\" \"$export_symbols\""
2848
 
              $run eval '$mv "${export_symbols}T" "$export_symbols"'
2849
 
            fi
2850
 
          fi
2851
 
        fi
2852
 
 
2853
 
        if test -n "$export_symbols" && test -n "$include_expsyms"; then
2854
 
          $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
2855
 
        fi
2856
 
 
2857
 
        if test -n "$convenience"; then
2858
 
          if test -n "$whole_archive_flag_spec"; then
2859
 
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
2860
 
          else
2861
 
            gentop="$output_objdir/${outputname}x"
2862
 
            $show "${rm}r $gentop"
2863
 
            $run ${rm}r "$gentop"
2864
 
            $show "mkdir $gentop"
2865
 
            $run mkdir "$gentop"
2866
 
            status=$?
2867
 
            if test $status -ne 0 && test ! -d "$gentop"; then
2868
 
              exit $status
2869
 
            fi
2870
 
            generated="$generated $gentop"
2871
 
 
2872
 
            for xlib in $convenience; do
2873
 
              # Extract the objects.
2874
 
              case $xlib in
2875
 
              [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
2876
 
              *) xabs=`pwd`"/$xlib" ;;
2877
 
              esac
2878
 
              xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
2879
 
              xdir="$gentop/$xlib"
2880
 
 
2881
 
              $show "${rm}r $xdir"
2882
 
              $run ${rm}r "$xdir"
2883
 
              $show "mkdir $xdir"
2884
 
              $run mkdir "$xdir"
2885
 
              status=$?
2886
 
              if test $status -ne 0 && test ! -d "$xdir"; then
2887
 
                exit $status
2888
 
              fi
2889
 
              $show "(cd $xdir && $AR x $xabs)"
2890
 
              $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
2891
 
 
2892
 
              libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
2893
 
            done
2894
 
          fi
2895
 
        fi
2896
 
 
2897
 
        if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
2898
 
          eval flag=\"$thread_safe_flag_spec\"
2899
 
          linker_flags="$linker_flags $flag"
2900
 
        fi
2901
 
 
2902
 
        # Make a backup of the uninstalled library when relinking
2903
 
        if test "$mode" = relink; then
2904
 
          $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
2905
 
        fi
2906
 
 
2907
 
        # Do each of the archive commands.
2908
 
        if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
2909
 
          eval cmds=\"$archive_expsym_cmds\"
2910
 
        else
2911
 
          eval cmds=\"$archive_cmds\"
2912
 
        fi
2913
 
        save_ifs="$IFS"; IFS='~'
2914
 
        for cmd in $cmds; do
2915
 
          IFS="$save_ifs"
2916
 
          $show "$cmd"
2917
 
          $run eval "$cmd" || exit $?
2918
 
        done
2919
 
        IFS="$save_ifs"
2920
 
 
2921
 
        # Restore the uninstalled library and exit
2922
 
        if test "$mode" = relink; then
2923
 
          $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
2924
 
          exit 0
2925
 
        fi
2926
 
 
2927
 
        # Create links to the real library.
2928
 
        for linkname in $linknames; do
2929
 
          if test "$realname" != "$linkname"; then
2930
 
            $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
2931
 
            $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
2932
 
          fi
2933
 
        done
2934
 
 
2935
 
        # If -module or -export-dynamic was specified, set the dlname.
2936
 
        if test "$module" = yes || test "$export_dynamic" = yes; then
2937
 
          # On all known operating systems, these are identical.
2938
 
          dlname="$soname"
2939
 
        fi
2940
 
      fi
2941
 
      ;;
2942
 
 
2943
 
    obj)
2944
 
      if test -n "$deplibs"; then
2945
 
        $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
2946
 
      fi
2947
 
 
2948
 
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
2949
 
        $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
2950
 
      fi
2951
 
 
2952
 
      if test -n "$rpath"; then
2953
 
        $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
2954
 
      fi
2955
 
 
2956
 
      if test -n "$xrpath"; then
2957
 
        $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
2958
 
      fi
2959
 
 
2960
 
      if test -n "$vinfo"; then
2961
 
        $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
2962
 
      fi
2963
 
 
2964
 
      if test -n "$release"; then
2965
 
        $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
2966
 
      fi
2967
 
 
2968
 
      case $output in
2969
 
      *.lo)
2970
 
        if test -n "$objs$old_deplibs"; then
2971
 
          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
2972
 
          exit 1
2973
 
        fi
2974
 
        libobj="$output"
2975
 
        obj=`$echo "X$output" | $Xsed -e "$lo2o"`
2976
 
        ;;
2977
 
      *)
2978
 
        libobj=
2979
 
        obj="$output"
2980
 
        ;;
2981
 
      esac
2982
 
 
2983
 
      # Delete the old objects.
2984
 
      $run $rm $obj $libobj
2985
 
 
2986
 
      # Objects from convenience libraries.  This assumes
2987
 
      # single-version convenience libraries.  Whenever we create
2988
 
      # different ones for PIC/non-PIC, this we'll have to duplicate
2989
 
      # the extraction.
2990
 
      reload_conv_objs=
2991
 
      gentop=
2992
 
      # reload_cmds runs $LD directly, so let us get rid of
2993
 
      # -Wl from whole_archive_flag_spec
2994
 
      wl=
2995
 
 
2996
 
      if test -n "$convenience"; then
2997
 
        if test -n "$whole_archive_flag_spec"; then
2998
 
          eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
2999
 
        else
3000
 
          gentop="$output_objdir/${obj}x"
3001
 
          $show "${rm}r $gentop"
3002
 
          $run ${rm}r "$gentop"
3003
 
          $show "mkdir $gentop"
3004
 
          $run mkdir "$gentop"
3005
 
          status=$?
3006
 
          if test $status -ne 0 && test ! -d "$gentop"; then
3007
 
            exit $status
3008
 
          fi
3009
 
          generated="$generated $gentop"
3010
 
 
3011
 
          for xlib in $convenience; do
3012
 
            # Extract the objects.
3013
 
            case $xlib in
3014
 
            [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
3015
 
            *) xabs=`pwd`"/$xlib" ;;
3016
 
            esac
3017
 
            xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
3018
 
            xdir="$gentop/$xlib"
3019
 
 
3020
 
            $show "${rm}r $xdir"
3021
 
            $run ${rm}r "$xdir"
3022
 
            $show "mkdir $xdir"
3023
 
            $run mkdir "$xdir"
3024
 
            status=$?
3025
 
            if test $status -ne 0 && test ! -d "$xdir"; then
3026
 
              exit $status
3027
 
            fi
3028
 
            $show "(cd $xdir && $AR x $xabs)"
3029
 
            $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
3030
 
 
3031
 
            reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
3032
 
          done
3033
 
        fi
3034
 
      fi
3035
 
 
3036
 
      # Create the old-style object.
3037
 
      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
3038
 
 
3039
 
      output="$obj"
3040
 
      eval cmds=\"$reload_cmds\"
3041
 
      save_ifs="$IFS"; IFS='~'
3042
 
      for cmd in $cmds; do
3043
 
        IFS="$save_ifs"
3044
 
        $show "$cmd"
3045
 
        $run eval "$cmd" || exit $?
3046
 
      done
3047
 
      IFS="$save_ifs"
3048
 
 
3049
 
      # Exit if we aren't doing a library object file.
3050
 
      if test -z "$libobj"; then
3051
 
        if test -n "$gentop"; then
3052
 
          $show "${rm}r $gentop"
3053
 
          $run ${rm}r $gentop
3054
 
        fi
3055
 
 
3056
 
        exit 0
3057
 
      fi
3058
 
 
3059
 
      if test "$build_libtool_libs" != yes; then
3060
 
        if test -n "$gentop"; then
3061
 
          $show "${rm}r $gentop"
3062
 
          $run ${rm}r $gentop
3063
 
        fi
3064
 
 
3065
 
        # Create an invalid libtool object if no PIC, so that we don't
3066
 
        # accidentally link it into a program.
3067
 
        $show "echo timestamp > $libobj"
3068
 
        $run eval "echo timestamp > $libobj" || exit $?
3069
 
        exit 0
3070
 
      fi
3071
 
 
3072
 
      if test -n "$pic_flag" || test "$pic_mode" != default; then
3073
 
        # Only do commands if we really have different PIC objects.
3074
 
        reload_objs="$libobjs $reload_conv_objs"
3075
 
        output="$libobj"
3076
 
        eval cmds=\"$reload_cmds\"
3077
 
        save_ifs="$IFS"; IFS='~'
3078
 
        for cmd in $cmds; do
3079
 
          IFS="$save_ifs"
3080
 
          $show "$cmd"
3081
 
          $run eval "$cmd" || exit $?
3082
 
        done
3083
 
        IFS="$save_ifs"
3084
 
      else
3085
 
        # Just create a symlink.
3086
 
        $show $rm $libobj
3087
 
        $run $rm $libobj
3088
 
        xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
3089
 
        if test "X$xdir" = "X$libobj"; then
3090
 
          xdir="."
3091
 
        else
3092
 
          xdir="$xdir"
3093
 
        fi
3094
 
        baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
3095
 
        oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
3096
 
        $show "(cd $xdir && $LN_S $oldobj $baseobj)"
3097
 
        $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
3098
 
      fi
3099
 
 
3100
 
      if test -n "$gentop"; then
3101
 
        $show "${rm}r $gentop"
3102
 
        $run ${rm}r $gentop
3103
 
      fi
3104
 
 
3105
 
      exit 0
3106
 
      ;;
3107
 
 
3108
 
    prog)
3109
 
      case $host in
3110
 
        *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;;
3111
 
      esac
3112
 
      if test -n "$vinfo"; then
3113
 
        $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
3114
 
      fi
3115
 
 
3116
 
      if test -n "$release"; then
3117
 
        $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
3118
 
      fi
3119
 
 
3120
 
      if test "$preload" = yes; then
3121
 
        if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
3122
 
           test "$dlopen_self_static" = unknown; then
3123
 
          $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
3124
 
        fi
3125
 
      fi
3126
 
 
3127
 
      case $host in
3128
 
      *-*-rhapsody* | *-*-darwin1.[012])
3129
 
        # On Rhapsody replace the C library is the System framework
3130
 
        compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
3131
 
        finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
3132
 
        ;;
3133
 
      esac
3134
 
 
3135
 
      compile_command="$compile_command $compile_deplibs"
3136
 
      finalize_command="$finalize_command $finalize_deplibs"
3137
 
 
3138
 
      if test -n "$rpath$xrpath"; then
3139
 
        # If the user specified any rpath flags, then add them.
3140
 
        for libdir in $rpath $xrpath; do
3141
 
          # This is the magic to use -rpath.
3142
 
          case "$finalize_rpath " in
3143
 
          *" $libdir "*) ;;
3144
 
          *) finalize_rpath="$finalize_rpath $libdir" ;;
3145
 
          esac
3146
 
        done
3147
 
      fi
3148
 
 
3149
 
      # Now hardcode the library paths
3150
 
      rpath=
3151
 
      hardcode_libdirs=
3152
 
      for libdir in $compile_rpath $finalize_rpath; do
3153
 
        if test -n "$hardcode_libdir_flag_spec"; then
3154
 
          if test -n "$hardcode_libdir_separator"; then
3155
 
            if test -z "$hardcode_libdirs"; then
3156
 
              hardcode_libdirs="$libdir"
3157
 
            else
3158
 
              # Just accumulate the unique libdirs.
3159
 
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
3160
 
              *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
3161
 
                ;;
3162
 
              *)
3163
 
                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
3164
 
                ;;
3165
 
              esac
3166
 
            fi
3167
 
          else
3168
 
            eval flag=\"$hardcode_libdir_flag_spec\"
3169
 
            rpath="$rpath $flag"
3170
 
          fi
3171
 
        elif test -n "$runpath_var"; then
3172
 
          case "$perm_rpath " in
3173
 
          *" $libdir "*) ;;
3174
 
          *) perm_rpath="$perm_rpath $libdir" ;;
3175
 
          esac
3176
 
        fi
3177
 
        case $host in
3178
 
        *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
3179
 
          case :$dllsearchpath: in
3180
 
          *":$libdir:"*) ;;
3181
 
          *) dllsearchpath="$dllsearchpath:$libdir";;
3182
 
          esac
3183
 
          ;;
3184
 
        esac
3185
 
      done
3186
 
      # Substitute the hardcoded libdirs into the rpath.
3187
 
      if test -n "$hardcode_libdir_separator" &&
3188
 
         test -n "$hardcode_libdirs"; then
3189
 
        libdir="$hardcode_libdirs"
3190
 
        eval rpath=\" $hardcode_libdir_flag_spec\"
3191
 
      fi
3192
 
      compile_rpath="$rpath"
3193
 
 
3194
 
      rpath=
3195
 
      hardcode_libdirs=
3196
 
      for libdir in $finalize_rpath; do
3197
 
        if test -n "$hardcode_libdir_flag_spec"; then
3198
 
          if test -n "$hardcode_libdir_separator"; then
3199
 
            if test -z "$hardcode_libdirs"; then
3200
 
              hardcode_libdirs="$libdir"
3201
 
            else
3202
 
              # Just accumulate the unique libdirs.
3203
 
              case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
3204
 
              *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
3205
 
                ;;
3206
 
              *)
3207
 
                hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
3208
 
                ;;
3209
 
              esac
3210
 
            fi
3211
 
          else
3212
 
            eval flag=\"$hardcode_libdir_flag_spec\"
3213
 
            rpath="$rpath $flag"
3214
 
          fi
3215
 
        elif test -n "$runpath_var"; then
3216
 
          case "$finalize_perm_rpath " in
3217
 
          *" $libdir "*) ;;
3218
 
          *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
3219
 
          esac
3220
 
        fi
3221
 
      done
3222
 
      # Substitute the hardcoded libdirs into the rpath.
3223
 
      if test -n "$hardcode_libdir_separator" &&
3224
 
         test -n "$hardcode_libdirs"; then
3225
 
        libdir="$hardcode_libdirs"
3226
 
        eval rpath=\" $hardcode_libdir_flag_spec\"
3227
 
      fi
3228
 
      finalize_rpath="$rpath"
3229
 
 
3230
 
      if test -n "$libobjs" && test "$build_old_libs" = yes; then
3231
 
        # Transform all the library objects into standard objects.
3232
 
        compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
3233
 
        finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
3234
 
      fi
3235
 
 
3236
 
      dlsyms=
3237
 
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
3238
 
        if test -n "$NM" && test -n "$global_symbol_pipe"; then
3239
 
          dlsyms="${outputname}S.c"
3240
 
        else
3241
 
          $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
3242
 
        fi
3243
 
      fi
3244
 
 
3245
 
      if test -n "$dlsyms"; then
3246
 
        case $dlsyms in
3247
 
        "") ;;
3248
 
        *.c)
3249
 
          # Discover the nlist of each of the dlfiles.
3250
 
          nlist="$output_objdir/${outputname}.nm"
3251
 
 
3252
 
          $show "$rm $nlist ${nlist}S ${nlist}T"
3253
 
          $run $rm "$nlist" "${nlist}S" "${nlist}T"
3254
 
 
3255
 
          # Parse the name list into a source file.
3256
 
          $show "creating $output_objdir/$dlsyms"
3257
 
 
3258
 
          test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
3259
 
/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
3260
 
/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
3261
 
 
3262
 
#ifdef __cplusplus
3263
 
extern \"C\" {
3264
 
#endif
3265
 
 
3266
 
/* Prevent the only kind of declaration conflicts we can make. */
3267
 
#define lt_preloaded_symbols some_other_symbol
3268
 
 
3269
 
/* External symbol declarations for the compiler. */\
3270
 
"
3271
 
 
3272
 
          if test "$dlself" = yes; then
3273
 
            $show "generating symbol list for \`$output'"
3274
 
 
3275
 
            test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
3276
 
 
3277
 
            # Add our own program objects to the symbol list.
3278
 
            progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
3279
 
            for arg in $progfiles; do
3280
 
              $show "extracting global C symbols from \`$arg'"
3281
 
              $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
3282
 
            done
3283
 
 
3284
 
            if test -n "$exclude_expsyms"; then
3285
 
              $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
3286
 
              $run eval '$mv "$nlist"T "$nlist"'
3287
 
            fi
3288
 
 
3289
 
            if test -n "$export_symbols_regex"; then
3290
 
              $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
3291
 
              $run eval '$mv "$nlist"T "$nlist"'
3292
 
            fi
3293
 
 
3294
 
            # Prepare the list of exported symbols
3295
 
            if test -z "$export_symbols"; then
3296
 
              export_symbols="$output_objdir/$output.exp"
3297
 
              $run $rm $export_symbols
3298
 
              $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
3299
 
            else
3300
 
              $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
3301
 
              $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
3302
 
              $run eval 'mv "$nlist"T "$nlist"'
3303
 
            fi
3304
 
          fi
3305
 
 
3306
 
          for arg in $dlprefiles; do
3307
 
            $show "extracting global C symbols from \`$arg'"
3308
 
            name=`echo "$arg" | sed -e 's%^.*/%%'`
3309
 
            $run eval 'echo ": $name " >> "$nlist"'
3310
 
            $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
3311
 
          done
3312
 
 
3313
 
          if test -z "$run"; then
3314
 
            # Make sure we have at least an empty file.
3315
 
            test -f "$nlist" || : > "$nlist"
3316
 
 
3317
 
            if test -n "$exclude_expsyms"; then
3318
 
              egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
3319
 
              $mv "$nlist"T "$nlist"
3320
 
            fi
3321
 
 
3322
 
            # Try sorting and uniquifying the output.
3323
 
            if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
3324
 
              :
3325
 
            else
3326
 
              grep -v "^: " < "$nlist" > "$nlist"S
3327
 
            fi
3328
 
 
3329
 
            if test -f "$nlist"S; then
3330
 
              eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
3331
 
            else
3332
 
              echo '/* NONE */' >> "$output_objdir/$dlsyms"
3333
 
            fi
3334
 
 
3335
 
            $echo >> "$output_objdir/$dlsyms" "\
3336
 
 
3337
 
#undef lt_preloaded_symbols
3338
 
 
3339
 
#if defined (__STDC__) && __STDC__
3340
 
# define lt_ptr void *
3341
 
#else
3342
 
# define lt_ptr char *
3343
 
# define const
3344
 
#endif
3345
 
 
3346
 
/* The mapping between symbol names and symbols. */
3347
 
const struct {
3348
 
  const char *name;
3349
 
  lt_ptr address;
3350
 
}
3351
 
lt_preloaded_symbols[] =
3352
 
{\
3353
 
"
3354
 
 
3355
 
            eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
3356
 
 
3357
 
            $echo >> "$output_objdir/$dlsyms" "\
3358
 
  {0, (lt_ptr) 0}
3359
 
};
3360
 
 
3361
 
/* This works around a problem in FreeBSD linker */
3362
 
#ifdef FREEBSD_WORKAROUND
3363
 
static const void *lt_preloaded_setup() {
3364
 
  return lt_preloaded_symbols;
3365
 
}
3366
 
#endif
3367
 
 
3368
 
#ifdef __cplusplus
3369
 
}
3370
 
#endif\
3371
 
"
3372
 
          fi
3373
 
 
3374
 
          pic_flag_for_symtable=
3375
 
          case $host in
3376
 
          # compiling the symbol table file with pic_flag works around
3377
 
          # a FreeBSD bug that causes programs to crash when -lm is
3378
 
          # linked before any other PIC object.  But we must not use
3379
 
          # pic_flag when linking with -static.  The problem exists in
3380
 
          # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
3381
 
          *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
3382
 
            case "$compile_command " in
3383
 
            *" -static "*) ;;
3384
 
            *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
3385
 
            esac;;
3386
 
          *-*-hpux*)
3387
 
            case "$compile_command " in
3388
 
            *" -static "*) ;;
3389
 
            *) pic_flag_for_symtable=" $pic_flag -DPIC";;
3390
 
            esac
3391
 
          esac
3392
 
 
3393
 
          # Now compile the dynamic symbol file.
3394
 
          $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
3395
 
          $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
3396
 
 
3397
 
          # Clean up the generated files.
3398
 
          $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
3399
 
          $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
3400
 
 
3401
 
          # Transform the symbol file into the correct name.
3402
 
          compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
3403
 
          finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
3404
 
          ;;
3405
 
        *)
3406
 
          $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
3407
 
          exit 1
3408
 
          ;;
3409
 
        esac
3410
 
      else
3411
 
        # We keep going just in case the user didn't refer to
3412
 
        # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
3413
 
        # really was required.
3414
 
 
3415
 
        # Nullify the symbol file.
3416
 
        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
3417
 
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
3418
 
      fi
3419
 
 
3420
 
      if test $need_relink = no || test "$build_libtool_libs" != yes; then
3421
 
        # Replace the output file specification.
3422
 
        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
3423
 
        link_command="$compile_command$compile_rpath"
3424
 
 
3425
 
        # We have no uninstalled library dependencies, so finalize right now.
3426
 
        $show "$link_command"
3427
 
        $run eval "$link_command"
3428
 
        status=$?
3429
 
 
3430
 
        # Delete the generated files.
3431
 
        if test -n "$dlsyms"; then
3432
 
          $show "$rm $output_objdir/${outputname}S.${objext}"
3433
 
          $run $rm "$output_objdir/${outputname}S.${objext}"
3434
 
        fi
3435
 
 
3436
 
        exit $status
3437
 
      fi
3438
 
 
3439
 
      if test -n "$shlibpath_var"; then
3440
 
        # We should set the shlibpath_var
3441
 
        rpath=
3442
 
        for dir in $temp_rpath; do
3443
 
          case $dir in
3444
 
          [\\/]* | [A-Za-z]:[\\/]*)
3445
 
            # Absolute path.
3446
 
            rpath="$rpath$dir:"
3447
 
            ;;
3448
 
          *)
3449
 
            # Relative path: add a thisdir entry.
3450
 
            rpath="$rpath\$thisdir/$dir:"
3451
 
            ;;
3452
 
          esac
3453
 
        done
3454
 
        temp_rpath="$rpath"
3455
 
      fi
3456
 
 
3457
 
      if test -n "$compile_shlibpath$finalize_shlibpath"; then
3458
 
        compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
3459
 
      fi
3460
 
      if test -n "$finalize_shlibpath"; then
3461
 
        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
3462
 
      fi
3463
 
 
3464
 
      compile_var=
3465
 
      finalize_var=
3466
 
      if test -n "$runpath_var"; then
3467
 
        if test -n "$perm_rpath"; then
3468
 
          # We should set the runpath_var.
3469
 
          rpath=
3470
 
          for dir in $perm_rpath; do
3471
 
            rpath="$rpath$dir:"
3472
 
          done
3473
 
          compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
3474
 
        fi
3475
 
        if test -n "$finalize_perm_rpath"; then
3476
 
          # We should set the runpath_var.
3477
 
          rpath=
3478
 
          for dir in $finalize_perm_rpath; do
3479
 
            rpath="$rpath$dir:"
3480
 
          done
3481
 
          finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
3482
 
        fi
3483
 
      fi
3484
 
 
3485
 
      if test "$no_install" = yes; then
3486
 
        # We don't need to create a wrapper script.
3487
 
        link_command="$compile_var$compile_command$compile_rpath"
3488
 
        # Replace the output file specification.
3489
 
        link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
3490
 
        # Delete the old output file.
3491
 
        $run $rm $output
3492
 
        # Link the executable and exit
3493
 
        $show "$link_command"
3494
 
        $run eval "$link_command" || exit $?
3495
 
        exit 0
3496
 
      fi
3497
 
 
3498
 
      if test "$hardcode_action" = relink; then
3499
 
        # Fast installation is not supported
3500
 
        link_command="$compile_var$compile_command$compile_rpath"
3501
 
        relink_command="$finalize_var$finalize_command$finalize_rpath"
3502
 
 
3503
 
        $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
3504
 
        $echo "$modename: \`$output' will be relinked during installation" 1>&2
3505
 
      else
3506
 
        if test "$fast_install" != no; then
3507
 
          link_command="$finalize_var$compile_command$finalize_rpath"
3508
 
          if test "$fast_install" = yes; then
3509
 
            relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
3510
 
          else
3511
 
            # fast_install is set to needless
3512
 
            relink_command=
3513
 
          fi
3514
 
        else
3515
 
          link_command="$compile_var$compile_command$compile_rpath"
3516
 
          relink_command="$finalize_var$finalize_command$finalize_rpath"
3517
 
        fi
3518
 
      fi
3519
 
 
3520
 
      # Replace the output file specification.
3521
 
      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
3522
 
 
3523
 
      # Delete the old output files.
3524
 
      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
3525
 
 
3526
 
      $show "$link_command"
3527
 
      $run eval "$link_command" || exit $?
3528
 
 
3529
 
      # Now create the wrapper script.
3530
 
      $show "creating $output"
3531
 
 
3532
 
      # Quote the relink command for shipping.
3533
 
      if test -n "$relink_command"; then
3534
 
        # Preserve any variables that may affect compiler behavior
3535
 
        for var in $variables_saved_for_relink; do
3536
 
          if eval test -z \"\${$var+set}\"; then
3537
 
            relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
3538
 
          elif eval var_value=\$$var; test -z "$var_value"; then
3539
 
            relink_command="$var=; export $var; $relink_command"
3540
 
          else
3541
 
            var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
3542
 
            relink_command="$var=\"$var_value\"; export $var; $relink_command"
3543
 
          fi
3544
 
        done
3545
 
        relink_command="cd `pwd`; $relink_command"
3546
 
        relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
3547
 
      fi
3548
 
 
3549
 
      # Quote $echo for shipping.
3550
 
      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
3551
 
        case $0 in
3552
 
        [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
3553
 
        *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
3554
 
        esac
3555
 
        qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
3556
 
      else
3557
 
        qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
3558
 
      fi
3559
 
 
3560
 
      # Only actually do things if our run command is non-null.
3561
 
      if test -z "$run"; then
3562
 
        # win32 will think the script is a binary if it has
3563
 
        # a .exe suffix, so we strip it off here.
3564
 
        case $output in
3565
 
          *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
3566
 
        esac
3567
 
        # test for cygwin because mv fails w/o .exe extensions
3568
 
        case $host in
3569
 
          *cygwin*) exeext=.exe ;;
3570
 
          *) exeext= ;;
3571
 
        esac
3572
 
        $rm $output
3573
 
        trap "$rm $output; exit 1" 1 2 15
3574
 
 
3575
 
        $echo > $output "\
3576
 
#! $SHELL
3577
 
 
3578
 
# $output - temporary wrapper script for $objdir/$outputname
3579
 
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
3580
 
#
3581
 
# The $output program cannot be directly executed until all the libtool
3582
 
# libraries that it depends on are installed.
3583
 
#
3584
 
# This wrapper script should never be moved out of the build directory.
3585
 
# If it is, it will not operate correctly.
3586
 
 
3587
 
# Sed substitution that helps us do robust quoting.  It backslashifies
3588
 
# metacharacters that are still active within double-quoted strings.
3589
 
Xsed='sed -e 1s/^X//'
3590
 
sed_quote_subst='$sed_quote_subst'
3591
 
 
3592
 
# The HP-UX ksh and POSIX shell print the target directory to stdout
3593
 
# if CDPATH is set.
3594
 
if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
3595
 
 
3596
 
relink_command=\"$relink_command\"
3597
 
 
3598
 
# This environment variable determines our operation mode.
3599
 
if test \"\$libtool_install_magic\" = \"$magic\"; then
3600
 
  # install mode needs the following variable:
3601
 
  notinst_deplibs='$notinst_deplibs'
3602
 
else
3603
 
  # When we are sourced in execute mode, \$file and \$echo are already set.
3604
 
  if test \"\$libtool_execute_magic\" != \"$magic\"; then
3605
 
    echo=\"$qecho\"
3606
 
    file=\"\$0\"
3607
 
    # Make sure echo works.
3608
 
    if test \"X\$1\" = X--no-reexec; then
3609
 
      # Discard the --no-reexec flag, and continue.
3610
 
      shift
3611
 
    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
3612
 
      # Yippee, \$echo works!
3613
 
      :
3614
 
    else
3615
 
      # Restart under the correct shell, and then maybe \$echo will work.
3616
 
      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
3617
 
    fi
3618
 
  fi\
3619
 
"
3620
 
        $echo >> $output "\
3621
 
 
3622
 
  # Find the directory that this script lives in.
3623
 
  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
3624
 
  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
3625
 
 
3626
 
  # Follow symbolic links until we get to the real thisdir.
3627
 
  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
3628
 
  while test -n \"\$file\"; do
3629
 
    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
3630
 
 
3631
 
    # If there was a directory component, then change thisdir.
3632
 
    if test \"x\$destdir\" != \"x\$file\"; then
3633
 
      case \"\$destdir\" in
3634
 
      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
3635
 
      *) thisdir=\"\$thisdir/\$destdir\" ;;
3636
 
      esac
3637
 
    fi
3638
 
 
3639
 
    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
3640
 
    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
3641
 
  done
3642
 
 
3643
 
  # Try to get the absolute directory name.
3644
 
  absdir=\`cd \"\$thisdir\" && pwd\`
3645
 
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
3646
 
"
3647
 
 
3648
 
        if test "$fast_install" = yes; then
3649
 
          echo >> $output "\
3650
 
  program=lt-'$outputname'$exeext
3651
 
  progdir=\"\$thisdir/$objdir\"
3652
 
 
3653
 
  if test ! -f \"\$progdir/\$program\" || \\
3654
 
     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
3655
 
       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
3656
 
 
3657
 
    file=\"\$\$-\$program\"
3658
 
 
3659
 
    if test ! -d \"\$progdir\"; then
3660
 
      $mkdir \"\$progdir\"
3661
 
    else
3662
 
      $rm \"\$progdir/\$file\"
3663
 
    fi"
3664
 
 
3665
 
          echo >> $output "\
3666
 
 
3667
 
    # relink executable if necessary
3668
 
    if test -n \"\$relink_command\"; then
3669
 
      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
3670
 
      else
3671
 
        $echo \"\$relink_command_output\" >&2
3672
 
        $rm \"\$progdir/\$file\"
3673
 
        exit 1
3674
 
      fi
3675
 
    fi
3676
 
 
3677
 
    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
3678
 
    { $rm \"\$progdir/\$program\";
3679
 
      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
3680
 
    $rm \"\$progdir/\$file\"
3681
 
  fi"
3682
 
        else
3683
 
          echo >> $output "\
3684
 
  program='$outputname'
3685
 
  progdir=\"\$thisdir/$objdir\"
3686
 
"
3687
 
        fi
3688
 
 
3689
 
        echo >> $output "\
3690
 
 
3691
 
  if test -f \"\$progdir/\$program\"; then"
3692
 
 
3693
 
        # Export our shlibpath_var if we have one.
3694
 
        if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
3695
 
          $echo >> $output "\
3696
 
    # Add our own library path to $shlibpath_var
3697
 
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
3698
 
 
3699
 
    # Some systems cannot cope with colon-terminated $shlibpath_var
3700
 
    # The second colon is a workaround for a bug in BeOS R4 sed
3701
 
    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
3702
 
 
3703
 
    export $shlibpath_var
3704
 
"
3705
 
        fi
3706
 
 
3707
 
        # fixup the dll searchpath if we need to.
3708
 
        if test -n "$dllsearchpath"; then
3709
 
          $echo >> $output "\
3710
 
    # Add the dll search path components to the executable PATH
3711
 
    PATH=$dllsearchpath:\$PATH
3712
 
"
3713
 
        fi
3714
 
 
3715
 
        $echo >> $output "\
3716
 
    if test \"\$libtool_execute_magic\" != \"$magic\"; then
3717
 
      # Run the actual program with our arguments.
3718
 
"
3719
 
        case $host in
3720
 
        # win32 systems need to use the prog path for dll
3721
 
        # lookup to work
3722
 
        *-*-cygwin* | *-*-pw32*)
3723
 
          $echo >> $output "\
3724
 
      exec \$progdir/\$program \${1+\"\$@\"}
3725
 
"
3726
 
          ;;
3727
 
 
3728
 
        # Backslashes separate directories on plain windows
3729
 
        *-*-mingw | *-*-os2*)
3730
 
          $echo >> $output "\
3731
 
      exec \$progdir\\\\\$program \${1+\"\$@\"}
3732
 
"
3733
 
          ;;
3734
 
 
3735
 
        *)
3736
 
          $echo >> $output "\
3737
 
      # Export the path to the program.
3738
 
      PATH=\"\$progdir:\$PATH\"
3739
 
      export PATH
3740
 
 
3741
 
      exec \$program \${1+\"\$@\"}
3742
 
"
3743
 
          ;;
3744
 
        esac
3745
 
        $echo >> $output "\
3746
 
      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
3747
 
      exit 1
3748
 
    fi
3749
 
  else
3750
 
    # The program doesn't exist.
3751
 
    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
3752
 
    \$echo \"This script is just a wrapper for \$program.\" 1>&2
3753
 
    echo \"See the $PACKAGE documentation for more information.\" 1>&2
3754
 
    exit 1
3755
 
  fi
3756
 
fi\
3757
 
"
3758
 
        chmod +x $output
3759
 
      fi
3760
 
      exit 0
3761
 
      ;;
3762
 
    esac
3763
 
 
3764
 
    # See if we need to build an old-fashioned archive.
3765
 
    for oldlib in $oldlibs; do
3766
 
 
3767
 
      if test "$build_libtool_libs" = convenience; then
3768
 
        oldobjs="$libobjs_save"
3769
 
        addlibs="$convenience"
3770
 
        build_libtool_libs=no
3771
 
      else
3772
 
        if test "$build_libtool_libs" = module; then
3773
 
          oldobjs="$libobjs_save"
3774
 
          build_libtool_libs=no
3775
 
        else
3776
 
          oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
3777
 
        fi
3778
 
        addlibs="$old_convenience"
3779
 
      fi
3780
 
 
3781
 
      if test -n "$addlibs"; then
3782
 
        gentop="$output_objdir/${outputname}x"
3783
 
        $show "${rm}r $gentop"
3784
 
        $run ${rm}r "$gentop"
3785
 
        $show "mkdir $gentop"
3786
 
        $run mkdir "$gentop"
3787
 
        status=$?
3788
 
        if test $status -ne 0 && test ! -d "$gentop"; then
3789
 
          exit $status
3790
 
        fi
3791
 
        generated="$generated $gentop"
3792
 
 
3793
 
        # Add in members from convenience archives.
3794
 
        for xlib in $addlibs; do
3795
 
          # Extract the objects.
3796
 
          case $xlib in
3797
 
          [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
3798
 
          *) xabs=`pwd`"/$xlib" ;;
3799
 
          esac
3800
 
          xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
3801
 
          xdir="$gentop/$xlib"
3802
 
 
3803
 
          $show "${rm}r $xdir"
3804
 
          $run ${rm}r "$xdir"
3805
 
          $show "mkdir $xdir"
3806
 
          $run mkdir "$xdir"
3807
 
          status=$?
3808
 
          if test $status -ne 0 && test ! -d "$xdir"; then
3809
 
            exit $status
3810
 
          fi
3811
 
          $show "(cd $xdir && $AR x $xabs)"
3812
 
          $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
3813
 
 
3814
 
          oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
3815
 
        done
3816
 
      fi
3817
 
 
3818
 
      # Do each command in the archive commands.
3819
 
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
3820
 
        eval cmds=\"$old_archive_from_new_cmds\"
3821
 
      else
3822
 
        # Ensure that we have .o objects in place in case we decided
3823
 
        # not to build a shared library, and have fallen back to building
3824
 
        # static libs even though --disable-static was passed!
3825
 
        for oldobj in $oldobjs; do
3826
 
          if test ! -f $oldobj; then
3827
 
            xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
3828
 
            if test "X$xdir" = "X$oldobj"; then
3829
 
              xdir="."
3830
 
            else
3831
 
              xdir="$xdir"
3832
 
            fi
3833
 
            baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
3834
 
            obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
3835
 
            $show "(cd $xdir && ${LN_S} $obj $baseobj)"
3836
 
            $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
3837
 
          fi
3838
 
        done
3839
 
 
3840
 
        eval cmds=\"$old_archive_cmds\"
3841
 
      fi
3842
 
      save_ifs="$IFS"; IFS='~'
3843
 
      for cmd in $cmds; do
3844
 
        IFS="$save_ifs"
3845
 
        $show "$cmd"
3846
 
        $run eval "$cmd" || exit $?
3847
 
      done
3848
 
      IFS="$save_ifs"
3849
 
    done
3850
 
 
3851
 
    if test -n "$generated"; then
3852
 
      $show "${rm}r$generated"
3853
 
      $run ${rm}r$generated
3854
 
    fi
3855
 
 
3856
 
    # Now create the libtool archive.
3857
 
    case $output in
3858
 
    *.la)
3859
 
      old_library=
3860
 
      test "$build_old_libs" = yes && old_library="$libname.$libext"
3861
 
      $show "creating $output"
3862
 
 
3863
 
      # Preserve any variables that may affect compiler behavior
3864
 
      for var in $variables_saved_for_relink; do
3865
 
        if eval test -z \"\${$var+set}\"; then
3866
 
          relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
3867
 
        elif eval var_value=\$$var; test -z "$var_value"; then
3868
 
          relink_command="$var=; export $var; $relink_command"
3869
 
        else
3870
 
          var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
3871
 
          relink_command="$var=\"$var_value\"; export $var; $relink_command"
3872
 
        fi
3873
 
      done
3874
 
      # Quote the link command for shipping.
3875
 
      relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args"
3876
 
      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
3877
 
 
3878
 
      # Only create the output if not a dry run.
3879
 
      if test -z "$run"; then
3880
 
        for installed in no yes; do
3881
 
          if test "$installed" = yes; then
3882
 
            if test -z "$install_libdir"; then
3883
 
              break
3884
 
            fi
3885
 
            output="$output_objdir/$outputname"i
3886
 
            # Replace all uninstalled libtool libraries with the installed ones
3887
 
            newdependency_libs=
3888
 
            for deplib in $dependency_libs; do
3889
 
              case $deplib in
3890
 
              *.la)
3891
 
                name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
3892
 
                eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
3893
 
                if test -z "$libdir"; then
3894
 
                  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
3895
 
                  exit 1
3896
 
                fi
3897
 
                newdependency_libs="$newdependency_libs $libdir/$name"
3898
 
                ;;
3899
 
              *) newdependency_libs="$newdependency_libs $deplib" ;;
3900
 
              esac
3901
 
            done
3902
 
            dependency_libs="$newdependency_libs"
3903
 
            newdlfiles=
3904
 
            for lib in $dlfiles; do
3905
 
              name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
3906
 
              eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
3907
 
              if test -z "$libdir"; then
3908
 
                $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
3909
 
                exit 1
3910
 
              fi
3911
 
              newdlfiles="$newdlfiles $libdir/$name"
3912
 
            done
3913
 
            dlfiles="$newdlfiles"
3914
 
            newdlprefiles=
3915
 
            for lib in $dlprefiles; do
3916
 
              name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
3917
 
              eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
3918
 
              if test -z "$libdir"; then
3919
 
                $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
3920
 
                exit 1
3921
 
              fi
3922
 
              newdlprefiles="$newdlprefiles $libdir/$name"
3923
 
            done
3924
 
            dlprefiles="$newdlprefiles"
3925
 
          fi
3926
 
          $rm $output
3927
 
          # place dlname in correct position for cygwin
3928
 
          tdlname=$dlname
3929
 
          case $host,$output,$installed,$module,$dlname in
3930
 
            *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
3931
 
          esac
3932
 
          $echo > $output "\
3933
 
# $outputname - a libtool library file
3934
 
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
3935
 
#
3936
 
# Please DO NOT delete this file!
3937
 
# It is necessary for linking the library.
3938
 
 
3939
 
# The name that we can dlopen(3).
3940
 
dlname='$tdlname'
3941
 
 
3942
 
# Names of this library.
3943
 
library_names='$library_names'
3944
 
 
3945
 
# The name of the static archive.
3946
 
old_library='$old_library'
3947
 
 
3948
 
# Libraries that this one depends upon.
3949
 
dependency_libs='$dependency_libs'
3950
 
 
3951
 
# Version information for $libname.
3952
 
current=$current
3953
 
age=$age
3954
 
revision=$revision
3955
 
 
3956
 
# Is this an already installed library?
3957
 
installed=$installed
3958
 
 
3959
 
# Files to dlopen/dlpreopen
3960
 
dlopen='$dlfiles'
3961
 
dlpreopen='$dlprefiles'
3962
 
 
3963
 
# Directory that this library needs to be installed in:
3964
 
libdir='$install_libdir'"
3965
 
          if test "$installed" = no && test $need_relink = yes; then
3966
 
            $echo >> $output "\
3967
 
relink_command=\"$relink_command\""
3968
 
          fi
3969
 
        done
3970
 
      fi
3971
 
 
3972
 
      # Do a symbolic link so that the libtool archive can be found in
3973
 
      # LD_LIBRARY_PATH before the program is installed.
3974
 
      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
3975
 
      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
3976
 
      ;;
3977
 
    esac
3978
 
    exit 0
3979
 
    ;;
3980
 
 
3981
 
  # libtool install mode
3982
 
  install)
3983
 
    modename="$modename: install"
3984
 
 
3985
 
    # There may be an optional sh(1) argument at the beginning of
3986
 
    # install_prog (especially on Windows NT).
3987
 
    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
3988
 
       # Allow the use of GNU shtool's install command.
3989
 
       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
3990
 
      # Aesthetically quote it.
3991
 
      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
3992
 
      case $arg in
3993
 
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
3994
 
        arg="\"$arg\""
3995
 
        ;;
3996
 
      esac
3997
 
      install_prog="$arg "
3998
 
      arg="$1"
3999
 
      shift
4000
 
    else
4001
 
      install_prog=
4002
 
      arg="$nonopt"
4003
 
    fi
4004
 
 
4005
 
    # The real first argument should be the name of the installation program.
4006
 
    # Aesthetically quote it.
4007
 
    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
4008
 
    case $arg in
4009
 
    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*)
4010
 
      arg="\"$arg\""
4011
 
      ;;
4012
 
    esac
4013
 
    install_prog="$install_prog$arg"
4014
 
 
4015
 
    # We need to accept at least all the BSD install flags.
4016
 
    dest=
4017
 
    files=
4018
 
    opts=
4019
 
    prev=
4020
 
    install_type=
4021
 
    isdir=no
4022
 
    stripme=
4023
 
    for arg
4024
 
    do
4025
 
      if test -n "$dest"; then
4026
 
        files="$files $dest"
4027
 
        dest="$arg"
4028
 
        continue
4029
 
      fi
4030
 
 
4031
 
      case $arg in
4032
 
      -d) isdir=yes ;;
4033
 
      -f) prev="-f" ;;
4034
 
      -g) prev="-g" ;;
4035
 
      -m) prev="-m" ;;
4036
 
      -o) prev="-o" ;;
4037
 
      -s)
4038
 
        stripme=" -s"
4039
 
        continue
4040
 
        ;;
4041
 
      -*) ;;
4042
 
 
4043
 
      *)
4044
 
        # If the previous option needed an argument, then skip it.
4045
 
        if test -n "$prev"; then
4046
 
          prev=
4047
 
        else
4048
 
          dest="$arg"
4049
 
          continue
4050
 
        fi
4051
 
        ;;
4052
 
      esac
4053
 
 
4054
 
      # Aesthetically quote the argument.
4055
 
      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
4056
 
      case $arg in
4057
 
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
4058
 
        arg="\"$arg\""
4059
 
        ;;
4060
 
      esac
4061
 
      install_prog="$install_prog $arg"
4062
 
    done
4063
 
 
4064
 
    if test -z "$install_prog"; then
4065
 
      $echo "$modename: you must specify an install program" 1>&2
4066
 
      $echo "$help" 1>&2
4067
 
      exit 1
4068
 
    fi
4069
 
 
4070
 
    if test -n "$prev"; then
4071
 
      $echo "$modename: the \`$prev' option requires an argument" 1>&2
4072
 
      $echo "$help" 1>&2
4073
 
      exit 1
4074
 
    fi
4075
 
 
4076
 
    if test -z "$files"; then
4077
 
      if test -z "$dest"; then
4078
 
        $echo "$modename: no file or destination specified" 1>&2
4079
 
      else
4080
 
        $echo "$modename: you must specify a destination" 1>&2
4081
 
      fi
4082
 
      $echo "$help" 1>&2
4083
 
      exit 1
4084
 
    fi
4085
 
 
4086
 
    # Strip any trailing slash from the destination.
4087
 
    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
4088
 
 
4089
 
    # Check to see that the destination is a directory.
4090
 
    test -d "$dest" && isdir=yes
4091
 
    if test "$isdir" = yes; then
4092
 
      destdir="$dest"
4093
 
      destname=
4094
 
    else
4095
 
      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
4096
 
      test "X$destdir" = "X$dest" && destdir=.
4097
 
      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
4098
 
 
4099
 
      # Not a directory, so check to see that there is only one file specified.
4100
 
      set dummy $files
4101
 
      if test $# -gt 2; then
4102
 
        $echo "$modename: \`$dest' is not a directory" 1>&2
4103
 
        $echo "$help" 1>&2
4104
 
        exit 1
4105
 
      fi
4106
 
    fi
4107
 
    case $destdir in
4108
 
    [\\/]* | [A-Za-z]:[\\/]*) ;;
4109
 
    *)
4110
 
      for file in $files; do
4111
 
        case $file in
4112
 
        *.lo) ;;
4113
 
        *)
4114
 
          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
4115
 
          $echo "$help" 1>&2
4116
 
          exit 1
4117
 
          ;;
4118
 
        esac
4119
 
      done
4120
 
      ;;
4121
 
    esac
4122
 
 
4123
 
    # This variable tells wrapper scripts just to set variables rather
4124
 
    # than running their programs.
4125
 
    libtool_install_magic="$magic"
4126
 
 
4127
 
    staticlibs=
4128
 
    future_libdirs=
4129
 
    current_libdirs=
4130
 
    for file in $files; do
4131
 
 
4132
 
      # Do each installation.
4133
 
      case $file in
4134
 
      *.$libext)
4135
 
        # Do the static libraries later.
4136
 
        staticlibs="$staticlibs $file"
4137
 
        ;;
4138
 
 
4139
 
      *.la)
4140
 
        # Check to see that this really is a libtool archive.
4141
 
        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
4142
 
        else
4143
 
          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
4144
 
          $echo "$help" 1>&2
4145
 
          exit 1
4146
 
        fi
4147
 
 
4148
 
        library_names=
4149
 
        old_library=
4150
 
        relink_command=
4151
 
        # If there is no directory component, then add one.
4152
 
        case $file in
4153
 
        */* | *\\*) . $file ;;
4154
 
        *) . ./$file ;;
4155
 
        esac
4156
 
 
4157
 
        # Add the libdir to current_libdirs if it is the destination.
4158
 
        if test "X$destdir" = "X$libdir"; then
4159
 
          case "$current_libdirs " in
4160
 
          *" $libdir "*) ;;
4161
 
          *) current_libdirs="$current_libdirs $libdir" ;;
4162
 
          esac
4163
 
        else
4164
 
          # Note the libdir as a future libdir.
4165
 
          case "$future_libdirs " in
4166
 
          *" $libdir "*) ;;
4167
 
          *) future_libdirs="$future_libdirs $libdir" ;;
4168
 
          esac
4169
 
        fi
4170
 
 
4171
 
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
4172
 
        test "X$dir" = "X$file/" && dir=
4173
 
        dir="$dir$objdir"
4174
 
 
4175
 
        if test -n "$relink_command"; then
4176
 
          $echo "$modename: warning: relinking \`$file'" 1>&2
4177
 
          $show "$relink_command"
4178
 
          if $run eval "$relink_command"; then :
4179
 
          else
4180
 
            $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
4181
 
            continue
4182
 
          fi
4183
 
        fi
4184
 
 
4185
 
        # See the names of the shared library.
4186
 
        set dummy $library_names
4187
 
        if test -n "$2"; then
4188
 
          realname="$2"
4189
 
          shift
4190
 
          shift
4191
 
 
4192
 
          srcname="$realname"
4193
 
          test -n "$relink_command" && srcname="$realname"T
4194
 
 
4195
 
          # Install the shared library and build the symlinks.
4196
 
          $show "$install_prog $dir/$srcname $destdir/$realname"
4197
 
          $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
4198
 
          if test -n "$stripme" && test -n "$striplib"; then
4199
 
            $show "$striplib $destdir/$realname"
4200
 
            $run eval "$striplib $destdir/$realname" || exit $?
4201
 
          fi
4202
 
 
4203
 
          if test $# -gt 0; then
4204
 
            # Delete the old symlinks, and create new ones.
4205
 
            for linkname
4206
 
            do
4207
 
              if test "$linkname" != "$realname"; then
4208
 
                $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
4209
 
                $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
4210
 
              fi
4211
 
            done
4212
 
          fi
4213
 
 
4214
 
          # Do each command in the postinstall commands.
4215
 
          lib="$destdir/$realname"
4216
 
          eval cmds=\"$postinstall_cmds\"
4217
 
          save_ifs="$IFS"; IFS='~'
4218
 
          for cmd in $cmds; do
4219
 
            IFS="$save_ifs"
4220
 
            $show "$cmd"
4221
 
            $run eval "$cmd" || exit $?
4222
 
          done
4223
 
          IFS="$save_ifs"
4224
 
        fi
4225
 
 
4226
 
        # Install the pseudo-library for information purposes.
4227
 
        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
4228
 
        instname="$dir/$name"i
4229
 
        $show "$install_prog $instname $destdir/$name"
4230
 
        $run eval "$install_prog $instname $destdir/$name" || exit $?
4231
 
 
4232
 
        # Maybe install the static library, too.
4233
 
        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
4234
 
        ;;
4235
 
 
4236
 
      *.lo)
4237
 
        # Install (i.e. copy) a libtool object.
4238
 
 
4239
 
        # Figure out destination file name, if it wasn't already specified.
4240
 
        if test -n "$destname"; then
4241
 
          destfile="$destdir/$destname"
4242
 
        else
4243
 
          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
4244
 
          destfile="$destdir/$destfile"
4245
 
        fi
4246
 
 
4247
 
        # Deduce the name of the destination old-style object file.
4248
 
        case $destfile in
4249
 
        *.lo)
4250
 
          staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
4251
 
          ;;
4252
 
        *.$objext)
4253
 
          staticdest="$destfile"
4254
 
          destfile=
4255
 
          ;;
4256
 
        *)
4257
 
          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
4258
 
          $echo "$help" 1>&2
4259
 
          exit 1
4260
 
          ;;
4261
 
        esac
4262
 
 
4263
 
        # Install the libtool object if requested.
4264
 
        if test -n "$destfile"; then
4265
 
          $show "$install_prog $file $destfile"
4266
 
          $run eval "$install_prog $file $destfile" || exit $?
4267
 
        fi
4268
 
 
4269
 
        # Install the old object if enabled.
4270
 
        if test "$build_old_libs" = yes; then
4271
 
          # Deduce the name of the old-style object file.
4272
 
          staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
4273
 
 
4274
 
          $show "$install_prog $staticobj $staticdest"
4275
 
          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
4276
 
        fi
4277
 
        exit 0
4278
 
        ;;
4279
 
 
4280
 
      *)
4281
 
        # Figure out destination file name, if it wasn't already specified.
4282
 
        if test -n "$destname"; then
4283
 
          destfile="$destdir/$destname"
4284
 
        else
4285
 
          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
4286
 
          destfile="$destdir/$destfile"
4287
 
        fi
4288
 
 
4289
 
        # Do a test to see if this is really a libtool program.
4290
 
        if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
4291
 
          notinst_deplibs=
4292
 
          relink_command=
4293
 
 
4294
 
          # If there is no directory component, then add one.
4295
 
          case $file in
4296
 
          */* | *\\*) . $file ;;
4297
 
          *) . ./$file ;;
4298
 
          esac
4299
 
 
4300
 
          # Check the variables that should have been set.
4301
 
          if test -z "$notinst_deplibs"; then
4302
 
            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
4303
 
            exit 1
4304
 
          fi
4305
 
 
4306
 
          finalize=yes
4307
 
          for lib in $notinst_deplibs; do
4308
 
            # Check to see that each library is installed.
4309
 
            libdir=
4310
 
            if test -f "$lib"; then
4311
 
              # If there is no directory component, then add one.
4312
 
              case $lib in
4313
 
              */* | *\\*) . $lib ;;
4314
 
              *) . ./$lib ;;
4315
 
              esac
4316
 
            fi
4317
 
            libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
4318
 
            if test -n "$libdir" && test ! -f "$libfile"; then
4319
 
              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
4320
 
              finalize=no
4321
 
            fi
4322
 
          done
4323
 
 
4324
 
          relink_command=
4325
 
          # If there is no directory component, then add one.
4326
 
          case $file in
4327
 
          */* | *\\*) . $file ;;
4328
 
          *) . ./$file ;;
4329
 
          esac
4330
 
 
4331
 
          outputname=
4332
 
          if test "$fast_install" = no && test -n "$relink_command"; then
4333
 
            if test "$finalize" = yes && test -z "$run"; then
4334
 
              tmpdir="/tmp"
4335
 
              test -n "$TMPDIR" && tmpdir="$TMPDIR"
4336
 
              tmpdir="$tmpdir/libtool-$$"
4337
 
              if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
4338
 
              else
4339
 
                $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
4340
 
                continue
4341
 
              fi
4342
 
              file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
4343
 
              outputname="$tmpdir/$file"
4344
 
              # Replace the output file specification.
4345
 
              relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
4346
 
 
4347
 
              $show "$relink_command"
4348
 
              if $run eval "$relink_command"; then :
4349
 
              else
4350
 
                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
4351
 
                ${rm}r "$tmpdir"
4352
 
                continue
4353
 
              fi
4354
 
              file="$outputname"
4355
 
            else
4356
 
              $echo "$modename: warning: cannot relink \`$file'" 1>&2
4357
 
            fi
4358
 
          else
4359
 
            # Install the binary that we compiled earlier.
4360
 
            file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
4361
 
          fi
4362
 
        fi
4363
 
 
4364
 
        # remove .exe since cygwin /usr/bin/install will append another
4365
 
        # one anyways
4366
 
        case $install_prog,$host in
4367
 
        /usr/bin/install*,*cygwin*)
4368
 
          case $file:$destfile in
4369
 
          *.exe:*.exe)
4370
 
            # this is ok
4371
 
            ;;
4372
 
          *.exe:*)
4373
 
            destfile=$destfile.exe
4374
 
            ;;
4375
 
          *:*.exe)
4376
 
            destfile=`echo $destfile | sed -e 's,.exe$,,'`
4377
 
            ;;
4378
 
          esac
4379
 
          ;;
4380
 
        esac
4381
 
        $show "$install_prog$stripme $file $destfile"
4382
 
        $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
4383
 
        test -n "$outputname" && ${rm}r "$tmpdir"
4384
 
        ;;
4385
 
      esac
4386
 
    done
4387
 
 
4388
 
    for file in $staticlibs; do
4389
 
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
4390
 
 
4391
 
      # Set up the ranlib parameters.
4392
 
      oldlib="$destdir/$name"
4393
 
 
4394
 
      $show "$install_prog $file $oldlib"
4395
 
      $run eval "$install_prog \$file \$oldlib" || exit $?
4396
 
 
4397
 
      if test -n "$stripme" && test -n "$striplib"; then
4398
 
        $show "$old_striplib $oldlib"
4399
 
        $run eval "$old_striplib $oldlib" || exit $?
4400
 
      fi
4401
 
 
4402
 
      # Do each command in the postinstall commands.
4403
 
      eval cmds=\"$old_postinstall_cmds\"
4404
 
      save_ifs="$IFS"; IFS='~'
4405
 
      for cmd in $cmds; do
4406
 
        IFS="$save_ifs"
4407
 
        $show "$cmd"
4408
 
        $run eval "$cmd" || exit $?
4409
 
      done
4410
 
      IFS="$save_ifs"
4411
 
    done
4412
 
 
4413
 
    if test -n "$future_libdirs"; then
4414
 
      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
4415
 
    fi
4416
 
 
4417
 
    if test -n "$current_libdirs"; then
4418
 
      # Maybe just do a dry run.
4419
 
      test -n "$run" && current_libdirs=" -n$current_libdirs"
4420
 
      exec_cmd='$SHELL $0 --finish$current_libdirs'
4421
 
    else
4422
 
      exit 0
4423
 
    fi
4424
 
    ;;
4425
 
 
4426
 
  # libtool finish mode
4427
 
  finish)
4428
 
    modename="$modename: finish"
4429
 
    libdirs="$nonopt"
4430
 
    admincmds=
4431
 
 
4432
 
    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
4433
 
      for dir
4434
 
      do
4435
 
        libdirs="$libdirs $dir"
4436
 
      done
4437
 
 
4438
 
      for libdir in $libdirs; do
4439
 
        if test -n "$finish_cmds"; then
4440
 
          # Do each command in the finish commands.
4441
 
          eval cmds=\"$finish_cmds\"
4442
 
          save_ifs="$IFS"; IFS='~'
4443
 
          for cmd in $cmds; do
4444
 
            IFS="$save_ifs"
4445
 
            $show "$cmd"
4446
 
            $run eval "$cmd" || admincmds="$admincmds
4447
 
       $cmd"
4448
 
          done
4449
 
          IFS="$save_ifs"
4450
 
        fi
4451
 
        if test -n "$finish_eval"; then
4452
 
          # Do the single finish_eval.
4453
 
          eval cmds=\"$finish_eval\"
4454
 
          $run eval "$cmds" || admincmds="$admincmds
4455
 
       $cmds"
4456
 
        fi
4457
 
      done
4458
 
    fi
4459
 
 
4460
 
    # Exit here if they wanted silent mode.
4461
 
    test "$show" = ":" && exit 0
4462
 
 
4463
 
    echo "----------------------------------------------------------------------"
4464
 
    echo "Libraries have been installed in:"
4465
 
    for libdir in $libdirs; do
4466
 
      echo "   $libdir"
4467
 
    done
4468
 
    echo
4469
 
    echo "If you ever happen to want to link against installed libraries"
4470
 
    echo "in a given directory, LIBDIR, you must either use libtool, and"
4471
 
    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
4472
 
    echo "flag during linking and do at least one of the following:"
4473
 
    if test -n "$shlibpath_var"; then
4474
 
      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
4475
 
      echo "     during execution"
4476
 
    fi
4477
 
    if test -n "$runpath_var"; then
4478
 
      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
4479
 
      echo "     during linking"
4480
 
    fi
4481
 
    if test -n "$hardcode_libdir_flag_spec"; then
4482
 
      libdir=LIBDIR
4483
 
      eval flag=\"$hardcode_libdir_flag_spec\"
4484
 
 
4485
 
      echo "   - use the \`$flag' linker flag"
4486
 
    fi
4487
 
    if test -n "$admincmds"; then
4488
 
      echo "   - have your system administrator run these commands:$admincmds"
4489
 
    fi
4490
 
    if test -f /etc/ld.so.conf; then
4491
 
      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
4492
 
    fi
4493
 
    echo
4494
 
    echo "See any operating system documentation about shared libraries for"
4495
 
    echo "more information, such as the ld(1) and ld.so(8) manual pages."
4496
 
    echo "----------------------------------------------------------------------"
4497
 
    exit 0
4498
 
    ;;
4499
 
 
4500
 
  # libtool execute mode
4501
 
  execute)
4502
 
    modename="$modename: execute"
4503
 
 
4504
 
    # The first argument is the command name.
4505
 
    cmd="$nonopt"
4506
 
    if test -z "$cmd"; then
4507
 
      $echo "$modename: you must specify a COMMAND" 1>&2
4508
 
      $echo "$help"
4509
 
      exit 1
4510
 
    fi
4511
 
 
4512
 
    # Handle -dlopen flags immediately.
4513
 
    for file in $execute_dlfiles; do
4514
 
      if test ! -f "$file"; then
4515
 
        $echo "$modename: \`$file' is not a file" 1>&2
4516
 
        $echo "$help" 1>&2
4517
 
        exit 1
4518
 
      fi
4519
 
 
4520
 
      dir=
4521
 
      case $file in
4522
 
      *.la)
4523
 
        # Check to see that this really is a libtool archive.
4524
 
        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
4525
 
        else
4526
 
          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
4527
 
          $echo "$help" 1>&2
4528
 
          exit 1
4529
 
        fi
4530
 
 
4531
 
        # Read the libtool library.
4532
 
        dlname=
4533
 
        library_names=
4534
 
 
4535
 
        # If there is no directory component, then add one.
4536
 
        case $file in
4537
 
        */* | *\\*) . $file ;;
4538
 
        *) . ./$file ;;
4539
 
        esac
4540
 
 
4541
 
        # Skip this library if it cannot be dlopened.
4542
 
        if test -z "$dlname"; then
4543
 
          # Warn if it was a shared library.
4544
 
          test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
4545
 
          continue
4546
 
        fi
4547
 
 
4548
 
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
4549
 
        test "X$dir" = "X$file" && dir=.
4550
 
 
4551
 
        if test -f "$dir/$objdir/$dlname"; then
4552
 
          dir="$dir/$objdir"
4553
 
        else
4554
 
          $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
4555
 
          exit 1
4556
 
        fi
4557
 
        ;;
4558
 
 
4559
 
      *.lo)
4560
 
        # Just add the directory containing the .lo file.
4561
 
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
4562
 
        test "X$dir" = "X$file" && dir=.
4563
 
        ;;
4564
 
 
4565
 
      *)
4566
 
        $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
4567
 
        continue
4568
 
        ;;
4569
 
      esac
4570
 
 
4571
 
      # Get the absolute pathname.
4572
 
      absdir=`cd "$dir" && pwd`
4573
 
      test -n "$absdir" && dir="$absdir"
4574
 
 
4575
 
      # Now add the directory to shlibpath_var.
4576
 
      if eval "test -z \"\$$shlibpath_var\""; then
4577
 
        eval "$shlibpath_var=\"\$dir\""
4578
 
      else
4579
 
        eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
4580
 
      fi
4581
 
    done
4582
 
 
4583
 
    # This variable tells wrapper scripts just to set shlibpath_var
4584
 
    # rather than running their programs.
4585
 
    libtool_execute_magic="$magic"
4586
 
 
4587
 
    # Check if any of the arguments is a wrapper script.
4588
 
    args=
4589
 
    for file
4590
 
    do
4591
 
      case $file in
4592
 
      -*) ;;
4593
 
      *)
4594
 
        # Do a test to see if this is really a libtool program.
4595
 
        if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
4596
 
          # If there is no directory component, then add one.
4597
 
          case $file in
4598
 
          */* | *\\*) . $file ;;
4599
 
          *) . ./$file ;;
4600
 
          esac
4601
 
 
4602
 
          # Transform arg to wrapped name.
4603
 
          file="$progdir/$program"
4604
 
        fi
4605
 
        ;;
4606
 
      esac
4607
 
      # Quote arguments (to preserve shell metacharacters).
4608
 
      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
4609
 
      args="$args \"$file\""
4610
 
    done
4611
 
 
4612
 
    if test -z "$run"; then
4613
 
      if test -n "$shlibpath_var"; then
4614
 
        # Export the shlibpath_var.
4615
 
        eval "export $shlibpath_var"
4616
 
      fi
4617
 
 
4618
 
      # Restore saved enviroment variables
4619
 
      if test "${save_LC_ALL+set}" = set; then
4620
 
        LC_ALL="$save_LC_ALL"; export LC_ALL
4621
 
      fi
4622
 
      if test "${save_LANG+set}" = set; then
4623
 
        LANG="$save_LANG"; export LANG
4624
 
      fi
4625
 
 
4626
 
      # Now prepare to actually exec the command.
4627
 
      exec_cmd='"$cmd"$args'
4628
 
    else
4629
 
      # Display what would be done.
4630
 
      if test -n "$shlibpath_var"; then
4631
 
        eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
4632
 
        $echo "export $shlibpath_var"
4633
 
      fi
4634
 
      $echo "$cmd$args"
4635
 
      exit 0
4636
 
    fi
4637
 
    ;;
4638
 
 
4639
 
  # libtool clean and uninstall mode
4640
 
  clean | uninstall)
4641
 
    modename="$modename: $mode"
4642
 
    rm="$nonopt"
4643
 
    files=
4644
 
    rmforce=
4645
 
    exit_status=0
4646
 
 
4647
 
    # This variable tells wrapper scripts just to set variables rather
4648
 
    # than running their programs.
4649
 
    libtool_install_magic="$magic"
4650
 
 
4651
 
    for arg
4652
 
    do
4653
 
      case $arg in
4654
 
      -f) rm="$rm $arg"; rmforce=yes ;;
4655
 
      -*) rm="$rm $arg" ;;
4656
 
      *) files="$files $arg" ;;
4657
 
      esac
4658
 
    done
4659
 
 
4660
 
    if test -z "$rm"; then
4661
 
      $echo "$modename: you must specify an RM program" 1>&2
4662
 
      $echo "$help" 1>&2
4663
 
      exit 1
4664
 
    fi
4665
 
 
4666
 
    rmdirs=
4667
 
 
4668
 
    for file in $files; do
4669
 
      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
4670
 
      if test "X$dir" = "X$file"; then
4671
 
        dir=.
4672
 
        objdir="$objdir"
4673
 
      else
4674
 
        objdir="$dir/$objdir"
4675
 
      fi
4676
 
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
4677
 
      test $mode = uninstall && objdir="$dir"
4678
 
 
4679
 
      # Remember objdir for removal later, being careful to avoid duplicates
4680
 
      if test $mode = clean; then
4681
 
        case " $rmdirs " in
4682
 
          *" $objdir "*) ;;
4683
 
          *) rmdirs="$rmdirs $objdir" ;;
4684
 
        esac
4685
 
      fi
4686
 
 
4687
 
      # Don't error if the file doesn't exist and rm -f was used.
4688
 
      if (test -L "$file") >/dev/null 2>&1 \
4689
 
        || (test -h "$file") >/dev/null 2>&1 \
4690
 
        || test -f "$file"; then
4691
 
        :
4692
 
      elif test -d "$file"; then
4693
 
        exit_status=1
4694
 
        continue
4695
 
      elif test "$rmforce" = yes; then
4696
 
        continue
4697
 
      fi
4698
 
 
4699
 
      rmfiles="$file"
4700
 
 
4701
 
      case $name in
4702
 
      *.la)
4703
 
        # Possibly a libtool archive, so verify it.
4704
 
        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
4705
 
          . $dir/$name
4706
 
 
4707
 
          # Delete the libtool libraries and symlinks.
4708
 
          for n in $library_names; do
4709
 
            rmfiles="$rmfiles $objdir/$n"
4710
 
          done
4711
 
          test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
4712
 
          test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
4713
 
 
4714
 
          if test $mode = uninstall; then
4715
 
            if test -n "$library_names"; then
4716
 
              # Do each command in the postuninstall commands.
4717
 
              eval cmds=\"$postuninstall_cmds\"
4718
 
              save_ifs="$IFS"; IFS='~'
4719
 
              for cmd in $cmds; do
4720
 
                IFS="$save_ifs"
4721
 
                $show "$cmd"
4722
 
                $run eval "$cmd"
4723
 
                if test $? != 0 && test "$rmforce" != yes; then
4724
 
                  exit_status=1
4725
 
                fi
4726
 
              done
4727
 
              IFS="$save_ifs"
4728
 
            fi
4729
 
 
4730
 
            if test -n "$old_library"; then
4731
 
              # Do each command in the old_postuninstall commands.
4732
 
              eval cmds=\"$old_postuninstall_cmds\"
4733
 
              save_ifs="$IFS"; IFS='~'
4734
 
              for cmd in $cmds; do
4735
 
                IFS="$save_ifs"
4736
 
                $show "$cmd"
4737
 
                $run eval "$cmd"
4738
 
                if test $? != 0 && test "$rmforce" != yes; then
4739
 
                  exit_status=1
4740
 
                fi
4741
 
              done
4742
 
              IFS="$save_ifs"
4743
 
            fi
4744
 
            # FIXME: should reinstall the best remaining shared library.
4745
 
          fi
4746
 
        fi
4747
 
        ;;
4748
 
 
4749
 
      *.lo)
4750
 
        if test "$build_old_libs" = yes; then
4751
 
          oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
4752
 
          rmfiles="$rmfiles $dir/$oldobj"
4753
 
        fi
4754
 
        ;;
4755
 
 
4756
 
      *)
4757
 
        # Do a test to see if this is a libtool program.
4758
 
        if test $mode = clean &&
4759
 
           (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
4760
 
          relink_command=
4761
 
          . $dir/$file
4762
 
 
4763
 
          rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
4764
 
          if test "$fast_install" = yes && test -n "$relink_command"; then
4765
 
            rmfiles="$rmfiles $objdir/lt-$name"
4766
 
          fi
4767
 
        fi
4768
 
        ;;
4769
 
      esac
4770
 
      $show "$rm $rmfiles"
4771
 
      $run $rm $rmfiles || exit_status=1
4772
 
    done
4773
 
 
4774
 
    # Try to remove the ${objdir}s in the directories where we deleted files
4775
 
    for dir in $rmdirs; do
4776
 
      if test -d "$dir"; then
4777
 
        $show "rmdir $dir"
4778
 
        $run rmdir $dir >/dev/null 2>&1
4779
 
      fi
4780
 
    done
4781
 
 
4782
 
    exit $exit_status
4783
 
    ;;
4784
 
 
4785
 
  "")
4786
 
    $echo "$modename: you must specify a MODE" 1>&2
4787
 
    $echo "$generic_help" 1>&2
4788
 
    exit 1
4789
 
    ;;
4790
 
  esac
4791
 
 
4792
 
  if test -z "$exec_cmd"; then
4793
 
    $echo "$modename: invalid operation mode \`$mode'" 1>&2
4794
 
    $echo "$generic_help" 1>&2
4795
 
    exit 1
4796
 
  fi
4797
 
fi # test -z "$show_help"
4798
 
 
4799
 
if test -n "$exec_cmd"; then
4800
 
  eval exec $exec_cmd
4801
 
  exit 1
4802
 
fi
4803
 
 
4804
 
# We need to display help for each of the modes.
4805
 
case $mode in
4806
 
"") $echo \
4807
 
"Usage: $modename [OPTION]... [MODE-ARG]...
4808
 
 
4809
 
Provide generalized library-building support services.
4810
 
 
4811
 
    --config          show all configuration variables
4812
 
    --debug           enable verbose shell tracing
4813
 
-n, --dry-run         display commands without modifying any files
4814
 
    --features        display basic configuration information and exit
4815
 
    --finish          same as \`--mode=finish'
4816
 
    --help            display this help message and exit
4817
 
    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
4818
 
    --quiet           same as \`--silent'
4819
 
    --silent          don't print informational messages
4820
 
    --version         print version information
4821
 
 
4822
 
MODE must be one of the following:
4823
 
 
4824
 
      clean           remove files from the build directory
4825
 
      compile         compile a source file into a libtool object
4826
 
      execute         automatically set library path, then run a program
4827
 
      finish          complete the installation of libtool libraries
4828
 
      install         install libraries or executables
4829
 
      link            create a library or an executable
4830
 
      uninstall       remove libraries from an installed directory
4831
 
 
4832
 
MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
4833
 
a more detailed description of MODE."
4834
 
  exit 0
4835
 
  ;;
4836
 
 
4837
 
clean)
4838
 
  $echo \
4839
 
"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
4840
 
 
4841
 
Remove files from the build directory.
4842
 
 
4843
 
RM is the name of the program to use to delete files associated with each FILE
4844
 
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
4845
 
to RM.
4846
 
 
4847
 
If FILE is a libtool library, object or program, all the files associated
4848
 
with it are deleted. Otherwise, only FILE itself is deleted using RM."
4849
 
  ;;
4850
 
 
4851
 
compile)
4852
 
  $echo \
4853
 
"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
4854
 
 
4855
 
Compile a source file into a libtool library object.
4856
 
 
4857
 
This mode accepts the following additional options:
4858
 
 
4859
 
  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
4860
 
  -prefer-pic       try to building PIC objects only
4861
 
  -prefer-non-pic   try to building non-PIC objects only
4862
 
  -static           always build a \`.o' file suitable for static linking
4863
 
 
4864
 
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
4865
 
from the given SOURCEFILE.
4866
 
 
4867
 
The output file name is determined by removing the directory component from
4868
 
SOURCEFILE, then substituting the C source code suffix \`.c' with the
4869
 
library object suffix, \`.lo'."
4870
 
  ;;
4871
 
 
4872
 
execute)
4873
 
  $echo \
4874
 
"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
4875
 
 
4876
 
Automatically set library path, then run a program.
4877
 
 
4878
 
This mode accepts the following additional options:
4879
 
 
4880
 
  -dlopen FILE      add the directory containing FILE to the library path
4881
 
 
4882
 
This mode sets the library path environment variable according to \`-dlopen'
4883
 
flags.
4884
 
 
4885
 
If any of the ARGS are libtool executable wrappers, then they are translated
4886
 
into their corresponding uninstalled binary, and any of their required library
4887
 
directories are added to the library path.
4888
 
 
4889
 
Then, COMMAND is executed, with ARGS as arguments."
4890
 
  ;;
4891
 
 
4892
 
finish)
4893
 
  $echo \
4894
 
"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
4895
 
 
4896
 
Complete the installation of libtool libraries.
4897
 
 
4898
 
Each LIBDIR is a directory that contains libtool libraries.
4899
 
 
4900
 
The commands that this mode executes may require superuser privileges.  Use
4901
 
the \`--dry-run' option if you just want to see what would be executed."
4902
 
  ;;
4903
 
 
4904
 
install)
4905
 
  $echo \
4906
 
"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
4907
 
 
4908
 
Install executables or libraries.
4909
 
 
4910
 
INSTALL-COMMAND is the installation command.  The first component should be
4911
 
either the \`install' or \`cp' program.
4912
 
 
4913
 
The rest of the components are interpreted as arguments to that command (only
4914
 
BSD-compatible install options are recognized)."
4915
 
  ;;
4916
 
 
4917
 
link)
4918
 
  $echo \
4919
 
"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
4920
 
 
4921
 
Link object files or libraries together to form another library, or to
4922
 
create an executable program.
4923
 
 
4924
 
LINK-COMMAND is a command using the C compiler that you would use to create
4925
 
a program from several object files.
4926
 
 
4927
 
The following components of LINK-COMMAND are treated specially:
4928
 
 
4929
 
  -all-static       do not do any dynamic linking at all
4930
 
  -avoid-version    do not add a version suffix if possible
4931
 
  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
4932
 
  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
4933
 
  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
4934
 
  -export-symbols SYMFILE
4935
 
                    try to export only the symbols listed in SYMFILE
4936
 
  -export-symbols-regex REGEX
4937
 
                    try to export only the symbols matching REGEX
4938
 
  -LLIBDIR          search LIBDIR for required installed libraries
4939
 
  -lNAME            OUTPUT-FILE requires the installed library libNAME
4940
 
  -jnimodule        build a library that can dlopened via Java JNI
4941
 
  -module           build a library that can dlopened
4942
 
  -no-fast-install  disable the fast-install mode
4943
 
  -no-install       link a not-installable executable
4944
 
  -no-undefined     declare that a library does not refer to external symbols
4945
 
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
4946
 
  -release RELEASE  specify package release information
4947
 
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
4948
 
  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
4949
 
  -static           do not do any dynamic linking of libtool libraries
4950
 
  -version-info CURRENT[:REVISION[:AGE]]
4951
 
                    specify library version info [each variable defaults to 0]
4952
 
 
4953
 
All other options (arguments beginning with \`-') are ignored.
4954
 
 
4955
 
Every other argument is treated as a filename.  Files ending in \`.la' are
4956
 
treated as uninstalled libtool libraries, other files are standard or library
4957
 
object files.
4958
 
 
4959
 
If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
4960
 
only library objects (\`.lo' files) may be specified, and \`-rpath' is
4961
 
required, except when creating a convenience library.
4962
 
 
4963
 
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
4964
 
using \`ar' and \`ranlib', or on Windows using \`lib'.
4965
 
 
4966
 
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
4967
 
is created, otherwise an executable program is created."
4968
 
  ;;
4969
 
 
4970
 
uninstall)
4971
 
  $echo \
4972
 
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
4973
 
 
4974
 
Remove libraries from an installation directory.
4975
 
 
4976
 
RM is the name of the program to use to delete files associated with each FILE
4977
 
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
4978
 
to RM.
4979
 
 
4980
 
If FILE is a libtool library, all the files associated with it are deleted.
4981
 
Otherwise, only FILE itself is deleted using RM."
4982
 
  ;;
4983
 
 
4984
 
*)
4985
 
  $echo "$modename: invalid operation mode \`$mode'" 1>&2
4986
 
  $echo "$help" 1>&2
4987
 
  exit 1
4988
 
  ;;
4989
 
esac
4990
 
 
4991
 
echo
4992
 
$echo "Try \`$modename --help' for more information about other modes."
4993
 
 
4994
 
exit 0
4995
 
 
4996
 
# Local Variables:
4997
 
# mode:shell-script
4998
 
# sh-indentation:2
4999
 
# End: