~ubuntu-branches/ubuntu/warty/fluxbox/warty

« back to all changes in this revision

Viewing changes to ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Matt Hope
  • Date: 2002-04-12 22:08:52 UTC
  • Revision ID: james.westby@ubuntu.com-20020412220852-0gbqxr57mgu63qdh
Tags: upstream-0.1.7
ImportĀ upstreamĀ versionĀ 0.1.7

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