~ubuntu-branches/ubuntu/intrepid/groundhog/intrepid

« back to all changes in this revision

Viewing changes to ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Stephen M Moraco
  • Date: 2004-08-20 23:12:32 UTC
  • mfrom: (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20040820231232-18s0op2f9g21ag1z
Tags: 1.4-6
Update Policy Version

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