~ubuntu-branches/ubuntu/oneiric/gconf/oneiric-proposed

« back to all changes in this revision

Viewing changes to ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Takuo KITAME
  • Date: 2002-03-17 01:51:39 UTC
  • Revision ID: james.westby@ubuntu.com-20020317015139-z4f8fdg1hoe049g0
Tags: upstream-1.0.9
ImportĀ upstreamĀ versionĀ 1.0.9

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