~ubuntu-branches/debian/sid/gsmlib/sid

« back to all changes in this revision

Viewing changes to scripts/ltmain.sh

  • Committer: Bazaar Package Importer
  • Author(s): Mikael Hedin
  • Date: 2002-01-24 12:59:07 UTC
  • Revision ID: james.westby@ubuntu.com-20020124125907-b7qkpokx5283jdpu
Tags: upstream-1.8
ImportĀ upstreamĀ versionĀ 1.8

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 ltconfig.
 
3
#
 
4
# Copyright (C) 1996-1998 Free Software Foundation, Inc.
 
5
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 
6
#
 
7
# This program is free software; you can redistribute it and/or modify
 
8
# it under the terms of the GNU General Public License as published by
 
9
# the Free Software Foundation; either version 2 of the License, or
 
10
# (at your option) any later version.
 
11
#
 
12
# This program is distributed in the hope that it will be useful, but
 
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
15
# General Public License for more details.
 
16
#
 
17
# You should have received a copy of the GNU General Public License
 
18
# along with this program; if not, write to the Free Software
 
19
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
20
#
 
21
# As a special exception to the GNU General Public License, if you
 
22
# distribute this file as part of a program that contains a
 
23
# configuration script generated by Autoconf, you may include it under
 
24
# the same distribution terms that you use for the rest of that program.
 
25
 
 
26
# Check that we have a working $echo.
 
27
if test "X$1" = X--no-reexec; then
 
28
  # Discard the --no-reexec flag, and continue.
 
29
  shift
 
30
elif test "X$1" = X--fallback-echo; then
 
31
  # used as fallback echo
 
32
  shift
 
33
  cat <<EOF
 
34
$*
 
35
EOF
 
36
  exit 0
 
37
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
 
38
  # Yippee, $echo works!
 
39
  :
 
40
else
 
41
  # Restart under the correct shell, and then maybe $echo will work.
 
42
  exec $SHELL "$0" --no-reexec ${1+"$@"}
 
43
fi
 
44
 
 
45
# The name of this program.
 
46
progname=`$echo "$0" | sed 's%^.*/%%'`
 
47
modename="$progname"
 
48
 
 
49
# Constants.
 
50
PROGRAM=ltmain.sh
 
51
PACKAGE=libtool
 
52
VERSION=1.2d
 
53
 
 
54
default_mode=
 
55
help="Try \`$progname --help' for more information."
 
56
magic="%%%MAGIC variable%%%"
 
57
mkdir="mkdir"
 
58
mv="mv -f"
 
59
rm="rm -f"
 
60
 
 
61
# Sed substitution that helps us do robust quoting.  It backslashifies
 
62
# metacharacters that are still active within double-quoted strings.
 
63
Xsed='sed -e s/^X//'
 
64
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
 
65
 
 
66
# NLS nuisances.
 
67
# Only set LANG and LC_ALL to C if already set.
 
68
# These must not be set unconditionally because not all systems understand
 
69
# e.g. LANG=C (notably SCO).
 
70
# We save the old values to restore during execute mode.
 
71
if test "${LC_ALL+set}" = set; then
 
72
  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
 
73
fi
 
74
if test "${LANG+set}" = set; then
 
75
  save_LANG="$LANG"; LANG=C; export LANG
 
76
fi
 
77
 
 
78
if test "$LTCONFIG_VERSION" != "$VERSION"; then
 
79
  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
 
80
  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
 
81
  exit 1
 
82
fi
 
83
 
 
84
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
 
85
  echo "$modename: not configured to build any kind of library" 1>&2
 
86
  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
 
87
  exit 1
 
88
fi
 
89
 
 
90
# Global variables.
 
91
mode=$default_mode
 
92
nonopt=
 
93
prev=
 
94
prevopt=
 
95
run=
 
96
show="$echo"
 
97
show_help=
 
98
execute_dlfiles=
 
99
lo2o="s/\\.lo\$/.${objext}/"
 
100
los2o="s/\\.lo /.${objext} /g"
 
101
 
 
102
# Parse our command line options once, thoroughly.
 
103
while test $# -gt 0
 
104
do
 
105
  arg="$1"
 
106
  shift
 
107
 
 
108
  case "$arg" in
 
109
  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
 
110
  *) optarg= ;;
 
111
  esac
 
112
 
 
113
  # If the previous option needs an argument, assign it.
 
114
  if test -n "$prev"; then
 
115
    case "$prev" in
 
116
    execute_dlfiles)
 
117
      eval "$prev=\"\$$prev \$arg\""
 
118
      ;;
 
119
    *)
 
120
      eval "$prev=\$arg"
 
121
      ;;
 
122
    esac
 
123
 
 
124
    prev=
 
125
    prevopt=
 
126
    continue
 
127
  fi
 
128
 
 
129
  # Have we seen a non-optional argument yet?
 
130
  case "$arg" in
 
131
  --help)
 
132
    show_help=yes
 
133
    ;;
 
134
 
 
135
  --version)
 
136
    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
 
137
    exit 0
 
138
    ;;
 
139
 
 
140
  --config)
 
141
    sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
 
142
    exit 0
 
143
    ;;
 
144
 
 
145
  --debug)
 
146
    echo "$progname: enabling shell trace mode"
 
147
    set -x
 
148
    ;;
 
149
 
 
150
  --dry-run | -n)
 
151
    run=:
 
152
    ;;
 
153
 
 
154
  --features)
 
155
    echo "host: $host"
 
156
    if test "$build_libtool_libs" = yes; then
 
157
      echo "enable shared libraries"
 
158
    else
 
159
      echo "disable shared libraries"
 
160
    fi
 
161
    if test "$build_old_libs" = yes; then
 
162
      echo "enable static libraries"
 
163
    else
 
164
      echo "disable static libraries"
 
165
    fi
 
166
    exit 0
 
167
    ;;
 
168
 
 
169
  --finish) mode="finish" ;;
 
170
 
 
171
  --mode) prevopt="--mode" prev=mode ;;
 
172
  --mode=*) mode="$optarg" ;;
 
173
 
 
174
  --quiet | --silent)
 
175
    show=:
 
176
    ;;
 
177
 
 
178
  -dlopen)
 
179
    prevopt="-dlopen"
 
180
    prev=execute_dlfiles
 
181
    ;;
 
182
 
 
183
  -*)
 
184
    $echo "$modename: unrecognized option \`$arg'" 1>&2
 
185
    $echo "$help" 1>&2
 
186
    exit 1
 
187
    ;;
 
188
 
 
189
  *)
 
190
    nonopt="$arg"
 
191
    break
 
192
    ;;
 
193
  esac
 
194
done
 
195
 
 
196
if test -n "$prevopt"; then
 
197
  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
 
198
  $echo "$help" 1>&2
 
199
  exit 1
 
200
fi
 
201
 
 
202
if test -z "$show_help"; then
 
203
 
 
204
  # Infer the operation mode.
 
205
  if test -z "$mode"; then
 
206
    case "$nonopt" in
 
207
    *cc | *++ | gcc* | *-gcc*)
 
208
      mode=link
 
209
      for arg
 
210
      do
 
211
        case "$arg" in
 
212
        -c)
 
213
           mode=compile
 
214
           break
 
215
           ;;
 
216
        esac
 
217
      done
 
218
      ;;
 
219
    *db | *dbx | *strace | *truss)
 
220
      mode=execute
 
221
      ;;
 
222
    *install*|cp|mv)
 
223
      mode=install
 
224
      ;;
 
225
    *rm)
 
226
      mode=uninstall
 
227
      ;;
 
228
    *)
 
229
      # If we have no mode, but dlfiles were specified, then do execute mode.
 
230
      test -n "$execute_dlfiles" && mode=execute
 
231
 
 
232
      # Just use the default operation mode.
 
233
      if test -z "$mode"; then
 
234
        if test -n "$nonopt"; then
 
235
          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
 
236
        else
 
237
          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
 
238
        fi
 
239
      fi
 
240
      ;;
 
241
    esac
 
242
  fi
 
243
 
 
244
  # Only execute mode is allowed to have -dlopen flags.
 
245
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
 
246
    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
 
247
    $echo "$help" 1>&2
 
248
    exit 1
 
249
  fi
 
250
 
 
251
  # Change the help message to a mode-specific one.
 
252
  generic_help="$help"
 
253
  help="Try \`$modename --help --mode=$mode' for more information."
 
254
 
 
255
  # These modes are in order of execution frequency so that they run quickly.
 
256
  case "$mode" in
 
257
  # libtool compile mode
 
258
  compile)
 
259
    modename="$modename: compile"
 
260
    # Get the compilation command and the source file.
 
261
    base_compile=
 
262
    lastarg=
 
263
    srcfile="$nonopt"
 
264
    suppress_output=
 
265
    force_static=no
 
266
 
 
267
    user_target=no
 
268
    for arg
 
269
    do
 
270
      # Accept any command-line options.
 
271
      case "$arg" in
 
272
      -o)
 
273
        if test "$user_target" != "no"; then
 
274
          $echo "$modename: you cannot specify \`-o' more than once" 1>&2
 
275
          exit 1
 
276
        fi
 
277
        user_target=next
 
278
        ;;
 
279
 
 
280
      -force-static)
 
281
        force_static=yes
 
282
        continue
 
283
        ;;
 
284
        
 
285
      -static)
 
286
        build_old_libs=yes
 
287
        continue
 
288
        ;;
 
289
      esac
 
290
 
 
291
      case "$user_target" in
 
292
      next)
 
293
        # The next one is the -o target name
 
294
        user_target=yes
 
295
        continue
 
296
        ;;
 
297
      yes)
 
298
        # We got the output file
 
299
        user_target=set
 
300
        libobj="$arg"
 
301
        continue
 
302
        ;;
 
303
      esac
 
304
 
 
305
      # Accept the current argument as the source file.
 
306
      lastarg="$srcfile"
 
307
      srcfile="$arg"
 
308
 
 
309
      # Aesthetically quote the previous argument.
 
310
 
 
311
      # Backslashify any backslashes, double quotes, and dollar signs.
 
312
      # These are the only characters that are still specially
 
313
      # interpreted inside of double-quoted scrings.
 
314
      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
 
315
 
 
316
      # Double-quote args containing other shell metacharacters.
 
317
      # Many Bourne shells cannot handle close brackets correctly in scan
 
318
      # sets, so we specify it separately.
 
319
      case "$lastarg" in
 
320
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
 
321
        lastarg="\"$lastarg\""
 
322
        ;;
 
323
      esac
 
324
 
 
325
      # Add the previous argument to base_compile.
 
326
      if test -z "$base_compile"; then
 
327
        base_compile="$lastarg"
 
328
      else
 
329
        base_compile="$base_compile $lastarg"
 
330
      fi
 
331
    done
 
332
 
 
333
    case "$user_target" in
 
334
    set)
 
335
      ;;
 
336
    no)
 
337
      # Get the name of the library object.
 
338
      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
 
339
      ;;
 
340
    *)
 
341
      $echo "$modename: you must specify a target with \`-o'" 1>&2
 
342
      exit 1
 
343
      ;;
 
344
    esac
 
345
 
 
346
    # Recognize several different file suffixes.
 
347
    # If the user specifies -o file.o, it is replaced with file.lo
 
348
    xform='[cCFSfmso]'
 
349
    case "$libobj" in
 
350
    *.ada) xform=ada ;;
 
351
    *.adb) xform=adb ;;
 
352
    *.ads) xform=ads ;;
 
353
    *.asm) xform=asm ;;
 
354
    *.c++) xform=c++ ;;
 
355
    *.cc) xform=cc ;;
 
356
    *.cpp) xform=cpp ;;
 
357
    *.cxx) xform=cxx ;;
 
358
    *.f90) xform=f90 ;;
 
359
    *.for) xform=for ;;
 
360
    esac
 
361
 
 
362
    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
 
363
 
 
364
    case "$libobj" in
 
365
    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
 
366
    *)
 
367
      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
 
368
      exit 1
 
369
      ;;
 
370
    esac
 
371
 
 
372
    if test -z "$base_compile"; then
 
373
      $echo "$modename: you must specify a compilation command" 1>&2
 
374
      $echo "$help" 1>&2
 
375
      exit 1
 
376
    fi
 
377
 
 
378
    # Delete any leftover library objects.
 
379
    if test "$build_old_libs" = yes; then
 
380
      removelist="$obj $libobj $lockfile"
 
381
    else
 
382
      removelist="$libobj $lockfile"
 
383
    fi
 
384
 
 
385
    $run $rm $removelist
 
386
    trap "$run $rm $removelist; exit 1" 1 2 15
 
387
 
 
388
    # Calculate the filename of the output object if compiler does
 
389
    # not support -o with -c
 
390
    if test "$compiler_c_o" = no; then
 
391
      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
 
392
      lockfile="$output_obj.lock"
 
393
      removelist="$removelist $output_obj $lockfile"
 
394
      trap "$run $rm $removelist; exit 1" 1 2 15
 
395
    else
 
396
      need_locks=no
 
397
      lockfile=
 
398
    fi
 
399
 
 
400
    # Lock this critical section if it is needed
 
401
    # We use this script file to make the link, it avoids creating a new file
 
402
    if test "$need_locks" = yes; then
 
403
      until ln "$0" "$lockfile" 2>/dev/null; do
 
404
        $show "Waiting for $lockfile to be removed"
 
405
        sleep 2
 
406
      done
 
407
    elif test "$need_locks" = warn; then
 
408
      if test -f "$lockfile"; then
 
409
        echo "\
 
410
*** ERROR, $lockfile exists and contains:
 
411
`cat $lockfile 2>/dev/null`
 
412
 
 
413
This indicates that another process is trying to use the same
 
414
temporary object file, and libtool could not work around it because
 
415
your compiler does not support \`-c' and \`-o' together.  If you
 
416
repeat this compilation, it may succeed, by chance, but you had better
 
417
avoid parallel builds (make -j) in this platform, or get a better
 
418
compiler."
 
419
 
 
420
        $run $rm $removelist
 
421
        exit 1
 
422
      fi
 
423
      echo $srcfile > "$lockfile"
 
424
    fi
 
425
 
 
426
    if test -n "$fix_srcfile_path"; then
 
427
      eval srcfile=\"$fix_srcfile_path\"
 
428
    fi
 
429
 
 
430
    # Only build a PIC object if we are building libtool libraries.
 
431
    if test "$build_libtool_libs" = yes; then
 
432
      # Without this assignment, base_compile gets emptied.
 
433
      fbsd_hideous_sh_bug=$base_compile
 
434
 
 
435
      # All platforms use -DPIC, to notify preprocessed assembler code.
 
436
      command="$base_compile$pic_flag -DPIC $srcfile"
 
437
      if test "$compiler_o_lo" = yes; then
 
438
        command="$command -o $libobj"
 
439
        output_obj="$libobj"
 
440
      elif test "$compiler_c_o" = yes; then
 
441
        command="$command -o $obj"
 
442
        output_obj="$obj"
 
443
      fi
 
444
 
 
445
      $show "$command"
 
446
      if $run eval "$command"; then :
 
447
      else
 
448
        test -n "$output_obj" && $run $rm $removelist
 
449
        exit 1
 
450
      fi
 
451
 
 
452
      if test "$need_locks" = warn &&
 
453
         test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
 
454
        echo "\
 
455
*** ERROR, $lockfile contains:
 
456
`cat $lockfile 2>/dev/null`
 
457
 
 
458
but it should contain:
 
459
$srcfile
 
460
 
 
461
This indicates that another process is trying to use the same
 
462
temporary object file, and libtool could not work around it because
 
463
your compiler does not support \`-c' and \`-o' together.  If you
 
464
repeat this compilation, it may succeed, by chance, but you had better
 
465
avoid parallel builds (make -j) in this platform, or get a better
 
466
compiler."
 
467
 
 
468
        $run $rm $removelist
 
469
        exit 1
 
470
      fi
 
471
 
 
472
      # Just move the object if needed, then go on to compile the next one
 
473
      if test "$compiler_o_lo" = no && test x"$output_obj" != x"$libobj"; then
 
474
        $show "$mv $output_obj $libobj"
 
475
        if $run $mv $output_obj $libobj; then :
 
476
        else
 
477
          error=$?
 
478
          $run $rm $removelist
 
479
          exit $error
 
480
        fi
 
481
      fi
 
482
 
 
483
      # If we have no pic_flag and do not have -force-static, 
 
484
      # then copy the object into place and finish.
 
485
      if test -z "$pic_flag" && test "$force_static" = no; then
 
486
        $show "$LN_S $libobj $obj"
 
487
        if $run $LN_S $libobj $obj; then
 
488
          exit 0
 
489
        else
 
490
          error=$?
 
491
          $run $rm $removelist
 
492
          exit $error
 
493
        fi
 
494
      fi
 
495
 
 
496
      # Allow error messages only from the first compilation.
 
497
      suppress_output=' >/dev/null 2>&1'
 
498
    fi
 
499
 
 
500
    # Only build a position-dependent object if we build old libraries.
 
501
    if test "$build_old_libs" = yes; then
 
502
      command="$base_compile $srcfile"
 
503
      if test "$force_static" = yes; then
 
504
        command="$command -DLIBTOOL_STATIC"
 
505
      fi
 
506
      if test "$compiler_c_o" = yes; then
 
507
        command="$command -o $obj"
 
508
        output_obj="$obj"
 
509
      fi
 
510
 
 
511
      # Suppress compiler output if we already did a PIC compilation.
 
512
      command="$command$suppress_output"
 
513
      $show "$command"
 
514
      if $run eval "$command"; then :
 
515
      else
 
516
        $run $rm $removelist
 
517
        exit 1
 
518
      fi
 
519
 
 
520
      if test "$need_locks" = warn &&
 
521
         test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
 
522
        echo "\
 
523
*** ERROR, $lockfile contains:
 
524
`cat $lockfile 2>/dev/null`
 
525
 
 
526
but it should contain:
 
527
$srcfile
 
528
 
 
529
This indicates that another process is trying to use the same
 
530
temporary object file, and libtool could not work around it because
 
531
your compiler does not support \`-c' and \`-o' together.  If you
 
532
repeat this compilation, it may succeed, by chance, but you had better
 
533
avoid parallel builds (make -j) in this platform, or get a better
 
534
compiler."
 
535
 
 
536
        $run $rm $removelist
 
537
        exit 1
 
538
      fi
 
539
 
 
540
      # Just move the object if needed
 
541
      if test "$compiler_c_o" = no && test x"$output_obj" != x"$obj"; then
 
542
        $show "$mv $output_obj $obj"
 
543
        if $run $mv $output_obj $obj; then :
 
544
        else
 
545
          error=$?
 
546
          $run $rm $removelist
 
547
          exit $error
 
548
        fi
 
549
      fi
 
550
    fi
 
551
 
 
552
    # Unlock the critical section if it was locked
 
553
    if test "$need_locks" != no; then
 
554
      $rm "$lockfile"
 
555
    fi
 
556
 
 
557
    # Create an invalid libtool object if no PIC, so that we do not
 
558
    # accidentally link it into a program.
 
559
    if test "$build_libtool_libs" != yes; then
 
560
      $show "echo timestamp > $libobj"
 
561
      $run eval "echo timestamp > \$libobj" || exit $?
 
562
    fi
 
563
 
 
564
    exit 0
 
565
    ;;
 
566
 
 
567
  # libtool link mode
 
568
  link)
 
569
    modename="$modename: link"
 
570
    C_compiler="$CC" # save it, to compile generated C sources
 
571
    CC="$nonopt"
 
572
    allow_undefined=yes
 
573
    compile_command="$CC"
 
574
    finalize_command="$CC"
 
575
 
 
576
    compile_shlibpath=
 
577
    finalize_shlibpath=
 
578
    convenience=
 
579
    old_convenience=
 
580
    deplibs=
 
581
    eval lib_search_path=\"$sys_lib_search_path\"
 
582
    
 
583
    dlfiles=
 
584
    dlprefiles=
 
585
    export_dynamic=no
 
586
    export_symbols=
 
587
    generated=
 
588
    hardcode_libdirs=
 
589
    libobjs=
 
590
    link_against_libtool_libs=
 
591
    ltlibs=
 
592
    module=no
 
593
    objs=
 
594
    prev=
 
595
    prevarg=
 
596
    release=
 
597
    rpath=
 
598
    perm_rpath=
 
599
    temp_rpath=
 
600
    vinfo=
 
601
 
 
602
    # We need to know -static, to get the right output filenames.
 
603
    for arg
 
604
    do
 
605
      case "$arg" in
 
606
      -all-static | -static)
 
607
        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
 
608
            $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
 
609
        fi
 
610
        build_libtool_libs=no
 
611
        build_old_libs=yes
 
612
        break
 
613
        ;;
 
614
      esac
 
615
    done
 
616
 
 
617
    # See if our shared archives depend on static archives.
 
618
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
 
619
 
 
620
    # Go through the arguments, transforming them on the way.
 
621
    while test $# -gt 0; do
 
622
      arg="$1"
 
623
      shift
 
624
 
 
625
      # If the previous option needs an argument, assign it.
 
626
      if test -n "$prev"; then
 
627
        case "$prev" in
 
628
        output)
 
629
          compile_command="$compile_command @OUTPUT@"
 
630
          finalize_command="$finalize_command @OUTPUT@"
 
631
          ;;
 
632
        esac
 
633
 
 
634
        case "$prev" in
 
635
        dlfiles|dlprefiles)
 
636
          case "$arg" in
 
637
          *.la | *.lo) ;;  # We handle these cases below.
 
638
          *)
 
639
            dlprefiles="$dlprefiles $arg"
 
640
            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
 
641
            prev=
 
642
            ;;
 
643
          esac
 
644
          ;;
 
645
        exportsyms)
 
646
          export_symbols="$arg"
 
647
          if test ! -f "$arg"; then
 
648
            $echo "$modename: symbol file \`$arg' does not exist"
 
649
            exit 1
 
650
          fi
 
651
          prev=
 
652
          ;;
 
653
        release)
 
654
          release="-$arg"
 
655
          prev=
 
656
          continue
 
657
          ;;
 
658
        rpath)
 
659
          rpath="$rpath $arg"
 
660
          prev=
 
661
          continue
 
662
          ;;
 
663
        *)
 
664
          eval "$prev=\"\$arg\""
 
665
          prev=
 
666
          continue
 
667
          ;;
 
668
        esac
 
669
      fi
 
670
 
 
671
      prevarg="$arg"
 
672
 
 
673
      case "$arg" in
 
674
      -all-static)
 
675
        if test -n "$link_static_flag"; then
 
676
          compile_command="$compile_command $link_static_flag"
 
677
          finalize_command="$finalize_command $link_static_flag"
 
678
        fi
 
679
        continue
 
680
        ;;
 
681
 
 
682
      -allow-undefined)
 
683
        # FIXME: remove this flag sometime in the future.
 
684
        $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
 
685
        continue
 
686
        ;;
 
687
 
 
688
      -dlopen)
 
689
        prev=dlfiles
 
690
        continue
 
691
        ;;
 
692
 
 
693
      -dlpreopen)
 
694
        prev=dlprefiles
 
695
        continue
 
696
        ;;
 
697
 
 
698
      -export-dynamic)
 
699
        if test "$export_dynamic" != yes; then
 
700
          export_dynamic=yes
 
701
          if test -n "$export_dynamic_flag_spec"; then
 
702
            eval arg=\"$export_dynamic_flag_spec\"
 
703
          else
 
704
            arg=
 
705
          fi
 
706
 
 
707
          # Add the symbol object into the linking commands.
 
708
          compile_command="$compile_command @SYMFILE@"
 
709
          finalize_command="$finalize_command @SYMFILE@"
 
710
        fi
 
711
        ;;
 
712
 
 
713
      -export-symbols)
 
714
        if test -n "$export_symbols"; then
 
715
          $echo "$modename: cannot have more than one -exported-symbols"
 
716
          exit 1
 
717
        fi
 
718
        prev=exportsyms
 
719
        continue
 
720
        ;;
 
721
 
 
722
      -L*)
 
723
        dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
 
724
        case "$dir" in
 
725
        /* | [A-Za-z]:[/\\]*)
 
726
          # Add the corresponding hardcode_libdir_flag, if it is not identical.
 
727
          ;;
 
728
        *)
 
729
          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
 
730
          exit 1
 
731
          ;;
 
732
        esac
 
733
        deplibs="$deplibs $arg"
 
734
        lib_search_path="$lib_search_path `expr $arg : '-L\(.*\)'`"
 
735
        ;;
 
736
 
 
737
      -l*) deplibs="$deplibs $arg" ;;
 
738
 
 
739
      -module)
 
740
        if test "$module" != yes; then
 
741
          module=yes
 
742
          if test -n "$export_dynamic_flag_spec"; then
 
743
            eval arg=\"$export_dynamic_flag_spec\"
 
744
          else
 
745
            arg=
 
746
          fi
 
747
        fi
 
748
        ;;
 
749
        
 
750
      -no-undefined)
 
751
        allow_undefined=no
 
752
        continue
 
753
        ;;
 
754
 
 
755
      -o) prev=output ;;
 
756
 
 
757
      -release)
 
758
        prev=release
 
759
        continue
 
760
        ;;
 
761
 
 
762
      -rpath)
 
763
        prev=rpath
 
764
        continue
 
765
        ;;
 
766
 
 
767
      -static)
 
768
        # If we have no pic_flag, then this is the same as -all-static.
 
769
        if test -z "$pic_flag" && test -n "$link_static_flag"; then
 
770
          compile_command="$compile_command $link_static_flag"
 
771
          finalize_command="$finalize_command $link_static_flag"
 
772
        fi
 
773
        continue
 
774
        ;;
 
775
 
 
776
      -version-info)
 
777
        prev=vinfo
 
778
        continue
 
779
        ;;
 
780
 
 
781
      # Some other compiler flag.
 
782
      -* | +*)
 
783
        # Unknown arguments in both finalize_command and compile_command need
 
784
        # to be aesthetically quoted because they are evaled later.
 
785
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
786
        case "$arg" in
 
787
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
 
788
          arg="\"$arg\""
 
789
          ;;
 
790
        esac
 
791
        ;;
 
792
 
 
793
      *.o | *.obj | *.a | *.lib)
 
794
        # A standard object.
 
795
        objs="$objs $arg"
 
796
        ;;
 
797
 
 
798
      *.lo)
 
799
        # A library object.
 
800
        if test "$prev" = dlfiles; then
 
801
          dlfiles="$dlfiles $arg"
 
802
          if test "$build_libtool_libs" = yes; then
 
803
            prev=
 
804
            continue
 
805
          else
 
806
            # If libtool objects are unsupported, then we need to preload.
 
807
            prev=dlprefiles
 
808
          fi
 
809
        fi
 
810
 
 
811
        if test "$prev" = dlprefiles; then
 
812
          # Preload the old-style object.
 
813
          dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
 
814
          prev=
 
815
        fi
 
816
        libobjs="$libobjs $arg"
 
817
        ;;
 
818
 
 
819
      *.la)
 
820
        # A libtool-controlled library.
 
821
 
 
822
        dlname=
 
823
        libdir=
 
824
        library_names=
 
825
        old_library=
 
826
 
 
827
        # Check to see that this really is a libtool archive.
 
828
        if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 
829
        else
 
830
          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
 
831
          exit 1
 
832
        fi
 
833
 
 
834
        # If the library was installed with an old release of libtool,
 
835
        # it will not redefine variable installed.
 
836
        installed=yes
 
837
 
 
838
        # If there is no directory component, then add one.
 
839
        case "$arg" in
 
840
        */* | *\\*) . $arg ;;
 
841
        *) . ./$arg ;;
 
842
        esac
 
843
 
 
844
        # Get the name of the library we link against.
 
845
        linklib=
 
846
        for l in $old_library $library_names; do
 
847
          linklib="$l"
 
848
        done
 
849
 
 
850
        if test -z "$linklib"; then
 
851
          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
 
852
          exit 1
 
853
        fi
 
854
 
 
855
        # Find the relevant object directory and library name.
 
856
        name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
 
857
 
 
858
        if test "X$installed" = Xyes; then
 
859
          dir="$libdir"
 
860
        else
 
861
          dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
 
862
          if test "X$dir" = "X$arg"; then
 
863
            dir="$objdir"
 
864
          else
 
865
            dir="$dir/$objdir"
 
866
          fi
 
867
        fi
 
868
 
 
869
        if test -z "$libdir"; then
 
870
          # It is a libtool convenience library, so add in its objects.
 
871
          convenience="$convenience $dir/$old_library"
 
872
          old_convenience="$old_convenience $dir/$old_library"
 
873
          deplibs="$deplibs$dependency_libs"
 
874
          compile_command="$compile_command $dir/$old_library$dependency_libs"
 
875
          finalize_command="$finalize_command $dir/$old_library$dependency_libs"
 
876
          continue
 
877
        fi
 
878
 
 
879
        # This library was specified with -dlopen.
 
880
        if test "$prev" = dlfiles; then
 
881
          dlfiles="$dlfiles $arg"
 
882
          if test -z "$dlname" || test "$build_libtool_libs" = no; then
 
883
            # If there is no dlname or we're linking statically,
 
884
            # we need to preload.
 
885
            prev=dlprefiles
 
886
          else
 
887
            # We should not create a dependency on this library, but we
 
888
            # may need any libraries it requires.
 
889
            compile_command="$compile_command$dependency_libs"
 
890
            finalize_command="$finalize_command$dependency_libs"
 
891
            prev=
 
892
            continue
 
893
          fi
 
894
        fi
 
895
 
 
896
        # The library was specified with -dlpreopen.
 
897
        if test "$prev" = dlprefiles; then
 
898
          # Prefer using a static library (so that no silly _DYNAMIC symbols
 
899
          # are required to link).
 
900
          if test -n "$old_library"; then
 
901
            dlprefiles="$dlprefiles $dir/$old_library"
 
902
          else
 
903
            dlprefiles="$dlprefiles $dir/$linklib"
 
904
          fi
 
905
          prev=
 
906
        fi
 
907
 
 
908
        if test "$build_libtool_libs" = yes && test -n "$library_names"; then
 
909
          link_against_libtool_libs="$link_against_libtool_libs $arg"
 
910
          if test -n "$shlibpath_var"; then
 
911
            # Make sure the rpath contains only unique directories.
 
912
            case "$temp_rpath " in
 
913
            *" $dir "*) ;;
 
914
            *) temp_rpath="$temp_rpath $dir" ;;
 
915
            esac
 
916
          fi
 
917
 
 
918
          # This is the magic to use -rpath.
 
919
          if test -n "$hardcode_libdir_flag_spec"; then
 
920
            if test -n "$hardcode_libdir_separator"; then
 
921
              if test -z "$hardcode_libdirs"; then
 
922
                # Put the magic libdir with the hardcode flag.
 
923
                hardcode_libdirs="$libdir"
 
924
                libdir="@HARDCODE_LIBDIRS@"
 
925
              else
 
926
                # Just accumulate the unique libdirs.
 
927
                case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
 
928
                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 
929
                  ;;
 
930
                *)
 
931
                  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 
932
                  ;;
 
933
                esac
 
934
                libdir=
 
935
              fi
 
936
            fi
 
937
 
 
938
            if test -n "$libdir"; then
 
939
              eval flag=\"$hardcode_libdir_flag_spec\"
 
940
 
 
941
              compile_command="$compile_command $flag"
 
942
              finalize_command="$finalize_command $flag"
 
943
            fi
 
944
          elif test -n "$runpath_var"; then
 
945
            # Do the same for the permanent run path.
 
946
            case "$perm_rpath " in
 
947
            *" $libdir "*) ;;
 
948
            *) perm_rpath="$perm_rpath $libdir" ;;
 
949
            esac
 
950
          fi
 
951
 
 
952
 
 
953
          lib_linked=yes
 
954
          case "$hardcode_action" in
 
955
          immediate | unsupported)
 
956
            if test "$hardcode_direct" = no; then
 
957
              compile_command="$compile_command $dir/$linklib"
 
958
            elif test "$hardcode_minus_L" = no; then
 
959
              case "$host" in
 
960
              *-*-sunos*)
 
961
                compile_shlibpath="$compile_shlibpath$dir:"
 
962
                ;;
 
963
              esac
 
964
              compile_command="$compile_command -L$dir -l$name"
 
965
            elif test "$hardcode_shlibpath_var" = no; then
 
966
              compile_shlibpath="$compile_shlibpath$dir:"
 
967
              compile_command="$compile_command -l$name"
 
968
            else
 
969
              lib_linked=no
 
970
            fi
 
971
            ;;
 
972
 
 
973
          relink)
 
974
            # We need an absolute path.
 
975
            case "$dir" in
 
976
            /* | [A-Za-z]:[/\\]*) ;;
 
977
            *)
 
978
              absdir=`cd "$dir" && pwd`
 
979
              if test -z "$absdir"; then
 
980
                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
 
981
                exit 1
 
982
              fi
 
983
              dir="$absdir"
 
984
              ;;
 
985
            esac
 
986
 
 
987
            if test "$hardcode_direct" = yes; then
 
988
              compile_command="$compile_command $dir/$linklib"
 
989
            elif test "$hardcode_minus_L" = yes; then
 
990
              compile_command="$compile_command -L$dir -l$name"
 
991
            elif test "$hardcode_shlibpath_var" = yes; then
 
992
              compile_shlibpath="$compile_shlibpath$dir:"
 
993
              compile_command="$compile_command -l$name"
 
994
            else
 
995
              lib_linked=no
 
996
            fi
 
997
            ;;
 
998
 
 
999
          *)
 
1000
            lib_linked=no
 
1001
            ;;
 
1002
          esac
 
1003
 
 
1004
          if test "$lib_linked" != yes; then
 
1005
            $echo "$modename: configuration error: unsupported hardcode properties"
 
1006
            exit 1
 
1007
          fi
 
1008
 
 
1009
          # Finalize command for both is simple: just hardcode it.
 
1010
          if test "$hardcode_direct" = yes; then
 
1011
            finalize_command="$finalize_command $libdir/$linklib"
 
1012
          elif test "$hardcode_minus_L" = yes; then
 
1013
            finalize_command="$finalize_command -L$libdir -l$name"
 
1014
          elif test "$hardcode_shlibpath_var" = yes; then
 
1015
            finalize_shlibpath="$finalize_shlibpath$libdir:"
 
1016
            finalize_command="$finalize_command -l$name"
 
1017
          else
 
1018
            # We cannot seem to hardcode it, guess we'll fake it.
 
1019
            finalize_command="$finalize_command -L$libdir -l$name"
 
1020
          fi
 
1021
        else
 
1022
          # Transform directly to old archives if we don't build new libraries.
 
1023
          if test -n "$pic_flag" && test -z "$old_library"; then
 
1024
            $echo "$modename: cannot find static library for \`$arg'" 1>&2
 
1025
            exit 1
 
1026
          fi
 
1027
 
 
1028
          # Here we assume that one of hardcode_direct or hardcode_minus_L
 
1029
          # is not unsupported.  This is valid on all known static and
 
1030
          # shared platforms.
 
1031
          if test "$hardcode_direct" != unsupported; then
 
1032
            test -n "$old_library" && linklib="$old_library"
 
1033
            compile_command="$compile_command $dir/$linklib"
 
1034
            finalize_command="$finalize_command $dir/$linklib"
 
1035
          else
 
1036
            compile_command="$compile_command -L$dir -l$name"
 
1037
            finalize_command="$finalize_command -L$dir -l$name"
 
1038
          fi
 
1039
        fi
 
1040
 
 
1041
        # Add in any libraries that this one depends upon.
 
1042
        compile_command="$compile_command$dependency_libs"
 
1043
        finalize_command="$finalize_command$dependency_libs"
 
1044
        continue
 
1045
        ;;
 
1046
 
 
1047
      # Some other compiler argument.
 
1048
      *)
 
1049
        # Unknown arguments in both finalize_command and compile_command need
 
1050
        # to be aesthetically quoted because they are evaled later.
 
1051
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
1052
        case "$arg" in
 
1053
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
 
1054
          arg="\"$arg\""
 
1055
          ;;
 
1056
        esac
 
1057
        ;;
 
1058
      esac
 
1059
 
 
1060
      # Now actually substitute the argument into the commands.
 
1061
      if test -n "$arg"; then
 
1062
        compile_command="$compile_command $arg"
 
1063
        finalize_command="$finalize_command $arg"
 
1064
      fi
 
1065
    done
 
1066
 
 
1067
    if test -n "$prev"; then
 
1068
      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
 
1069
      $echo "$help" 1>&2
 
1070
      exit 1
 
1071
    fi
 
1072
 
 
1073
    if test -n "$export_symbols" && test "$module" = yes; then
 
1074
      $echo "$modename: \`-export-symbols' is not supported for modules"
 
1075
      exit 1
 
1076
    fi
 
1077
    
 
1078
    oldlibs=
 
1079
    # calculate the name of the file, without its directory
 
1080
    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
 
1081
 
 
1082
    case "$output" in
 
1083
    "")
 
1084
      $echo "$modename: you must specify an output file" 1>&2
 
1085
      $echo "$help" 1>&2
 
1086
      exit 1
 
1087
      ;;
 
1088
 
 
1089
    *.a | *.lib)
 
1090
      if test -n "$link_against_libtool_libs"; then
 
1091
        $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
 
1092
        exit 1
 
1093
      fi
 
1094
 
 
1095
      if test -n "$deplibs"; then
 
1096
        $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
 
1097
      fi
 
1098
 
 
1099
      if test -n "$dlfiles$dlprefiles"; then
 
1100
        $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
 
1101
      fi
 
1102
 
 
1103
      if test -n "$rpath"; then
 
1104
        $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
 
1105
      fi
 
1106
 
 
1107
      if test -n "$vinfo"; then
 
1108
        $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
 
1109
      fi
 
1110
 
 
1111
      if test -n "$release"; then
 
1112
        $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
 
1113
      fi
 
1114
 
 
1115
      if test -n "$export_symbols"; then
 
1116
        $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
 
1117
      fi
 
1118
 
 
1119
      # Now set the variables for building old libraries.
 
1120
      build_libtool_libs=no
 
1121
      oldlibs="$output"
 
1122
      ;;
 
1123
 
 
1124
    *.la)
 
1125
      # Make sure we only generate libraries of the form `libNAME.la'.
 
1126
      case "$outputname" in
 
1127
      lib*) ;;
 
1128
      *)
 
1129
        $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
 
1130
        $echo "$help" 1>&2
 
1131
        exit 1
 
1132
        ;;
 
1133
      esac
 
1134
 
 
1135
      name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 
1136
      eval libname=\"$libname_spec\"
 
1137
 
 
1138
      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
 
1139
      if test "X$output_objdir" = "X$output"; then
 
1140
        output_objdir="$objdir"
 
1141
      else
 
1142
        output_objdir="$output_objdir/$objdir"
 
1143
      fi
 
1144
 
 
1145
      # All the library-specific variables (install_libdir is set above).
 
1146
      library_names=
 
1147
      old_library=
 
1148
      dlname=
 
1149
 
 
1150
      if test -n "$objs"; then
 
1151
        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
 
1152
        exit 1
 
1153
      fi
 
1154
 
 
1155
      # How the heck are we supposed to write a wrapper for a shared library?
 
1156
      if test -n "$link_against_libtool_libs"; then
 
1157
        $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
 
1158
        exit 1
 
1159
      fi
 
1160
 
 
1161
      if test -n "$dlfiles$dlprefiles"; then
 
1162
        $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
 
1163
      fi
 
1164
 
 
1165
      set dummy $rpath
 
1166
      if test $# -gt 2; then
 
1167
        $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
 
1168
      fi
 
1169
      install_libdir="$2"
 
1170
 
 
1171
      oldlibs=
 
1172
      if test -z "$rpath"; then
 
1173
        # Building a libtool convenience library.
 
1174
        libext=al
 
1175
        oldlibs="$output_objdir/$libname.$libext $oldlibs"
 
1176
        build_libtool_libs=convenience
 
1177
        dependency_libs="$deplibs"
 
1178
 
 
1179
        if test -n "$vinfo"; then
 
1180
          $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
 
1181
        fi
 
1182
 
 
1183
        if test -n "$release"; then
 
1184
          $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
 
1185
        fi
 
1186
      else
 
1187
 
 
1188
        # Parse the version information argument.
 
1189
        IFS="${IFS=     }"; save_ifs="$IFS"; IFS=':'
 
1190
        set dummy $vinfo 0 0 0
 
1191
        IFS="$save_ifs"
 
1192
 
 
1193
        if test -n "$8"; then
 
1194
          $echo "$modename: too many parameters to \`-version-info'" 1>&2
 
1195
          $echo "$help" 1>&2
 
1196
          exit 1
 
1197
        fi
 
1198
 
 
1199
        current="$2"
 
1200
        revision="$3"
 
1201
        age="$4"
 
1202
 
 
1203
        # Check that each of the things are valid numbers.
 
1204
        case "$current" in
 
1205
        0 | [1-9] | [1-9][0-9]*) ;;
 
1206
        *)
 
1207
          $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
 
1208
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
1209
          exit 1
 
1210
          ;;
 
1211
        esac
 
1212
 
 
1213
        case "$revision" in
 
1214
        0 | [1-9] | [1-9][0-9]*) ;;
 
1215
        *)
 
1216
          $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
 
1217
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
1218
          exit 1
 
1219
          ;;
 
1220
        esac
 
1221
 
 
1222
        case "$age" in
 
1223
        0 | [1-9] | [1-9][0-9]*) ;;
 
1224
        *)
 
1225
          $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
 
1226
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
1227
          exit 1
 
1228
          ;;
 
1229
        esac
 
1230
 
 
1231
        if test $age -gt $current; then
 
1232
          $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
 
1233
          $echo "$modename: \`$vinfo' is not valid version information" 1>&2
 
1234
          exit 1
 
1235
        fi
 
1236
 
 
1237
        # Calculate the version variables.
 
1238
        major=
 
1239
        versuffix=
 
1240
        verstring=
 
1241
        case "$version_type" in
 
1242
        none) ;;
 
1243
 
 
1244
        linux)
 
1245
          major=.`expr $current - $age`
 
1246
          versuffix="$major.$age.$revision"
 
1247
          ;;
 
1248
 
 
1249
        osf)
 
1250
          major=`expr $current - $age`
 
1251
          versuffix=".$current.$age.$revision"
 
1252
          verstring="$current.$age.$revision"
 
1253
 
 
1254
          # Add in all the interfaces that we are compatible with.
 
1255
          loop=$age
 
1256
          while test $loop != 0; do
 
1257
            iface=`expr $current - $loop`
 
1258
            loop=`expr $loop - 1`
 
1259
            verstring="$verstring:${iface}.0"
 
1260
          done
 
1261
 
 
1262
          # Make executables depend on our current version.
 
1263
          verstring="$verstring:${current}.0"
 
1264
          ;;
 
1265
 
 
1266
        sunos)
 
1267
          major=".$current"
 
1268
          versuffix=".$current.$revision"
 
1269
          ;;
 
1270
 
 
1271
        freebsd-aout)
 
1272
          major=".$current"
 
1273
          versuffix=".$current.$revision";
 
1274
          ;;
 
1275
 
 
1276
        freebsd-elf)
 
1277
          major=".$current"
 
1278
          versuffix=".$current";
 
1279
          ;;
 
1280
 
 
1281
        windows)
 
1282
          # Like Linux, but with '-' rather than '.', since we only
 
1283
          # want one extension on Windows 95.
 
1284
          major=`expr $current - $age`
 
1285
          versuffix="-$major-$age-$revision"
 
1286
          ;;
 
1287
 
 
1288
        *)
 
1289
          $echo "$modename: unknown library version type \`$version_type'" 1>&2
 
1290
          echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
 
1291
          exit 1
 
1292
          ;;
 
1293
        esac
 
1294
 
 
1295
        # Clear the version info if we defaulted, and they specified a release.
 
1296
        if test -z "$vinfo" && test -n "$release"; then
 
1297
          major=
 
1298
          versuffix=
 
1299
          verstring="0.0"
 
1300
          case "$host" in
 
1301
          *-*-sunos*)
 
1302
            versuffix=".0.0"
 
1303
            ;;
 
1304
          esac
 
1305
        fi
 
1306
 
 
1307
        # Check to see if the archive will have undefined symbols.
 
1308
        if test "$allow_undefined" = yes; then
 
1309
          if test "$allow_undefined_flag" = unsupported; then
 
1310
            $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
 
1311
            build_libtool_libs=no
 
1312
            build_old_libs=yes
 
1313
          fi
 
1314
        else
 
1315
          # Don't allow undefined symbols.
 
1316
          allow_undefined_flag="$no_undefined_flag"
 
1317
        fi
 
1318
 
 
1319
        # Add libc to deplibs on all systems.
 
1320
        dependency_libs="$deplibs"
 
1321
        deplibs="$deplibs -lc"
 
1322
      fi
 
1323
 
 
1324
      # Create the output directory, or remove our outputs if we need to.
 
1325
      if test -d $output_objdir; then
 
1326
        $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
 
1327
        $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
 
1328
      else
 
1329
        $show "$mkdir $output_objdir"
 
1330
        $run $mkdir $output_objdir
 
1331
        status=$?
 
1332
        if test $status -ne 0 && test ! -d $output_objdir; then
 
1333
          exit $status
 
1334
        fi
 
1335
      fi
 
1336
 
 
1337
      # Now set the variables for building old libraries.
 
1338
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
 
1339
        oldlibs="$oldlibs $output_objdir/$libname.$libext"
 
1340
 
 
1341
        # Transform .lo files to .o files.
 
1342
        oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.'${libext}' //g' -e "$los2o" -e 's/ $//g'`
 
1343
      fi
 
1344
 
 
1345
      if test "$build_libtool_libs" = yes; then
 
1346
        # Transform deplibs into only deplibs that can be linked in shared.
 
1347
        ## Gordon: Do you check for the existence of the libraries in deplibs
 
1348
        ## on the system?  That should maybe be merged in here someplace....
 
1349
        ## Actually: I think test_compile and file_magic do this... file_regex
 
1350
        ## sorta does this. Only pas_all needs to be changed.  -Toshio
 
1351
        name_save=$name
 
1352
        libname_save=$libname
 
1353
        release_save=$release
 
1354
        versuffix_save=$versuffix
 
1355
        major_save=$major
 
1356
        # I'm not sure if I'm treating the release correctly.  I think
 
1357
        # release should show up in the -l (ie -lgmp5) so we don't want to
 
1358
        # add it in twice.  Is that correct?
 
1359
        release=""
 
1360
        versuffix=""
 
1361
        major=""
 
1362
        newdeplibs=
 
1363
        case "$check_shared_deplibs_method" in
 
1364
        pass_all)  
 
1365
          newdeplibs=$deplibs 
 
1366
                    ;; # Don't check for shared/static.  Everything works.
 
1367
                       # This might be a little naive.  We might want to check
 
1368
                       # whether the library exists or not.  But this is on
 
1369
                       # osf3 & osf4 and I'm not really sure... Just
 
1370
                       # implementing what was already the behaviour.
 
1371
        test_compile)
 
1372
          # This code stresses the "libraries are programs" paradigm to its
 
1373
          # limits. Maybe even breaks it.  We compile a program, linking it
 
1374
          # against the deplibs as a proxy for the library.  Then we can check
 
1375
          # whether they linked in statically or dynamically with ldd.
 
1376
          $rm conftest.c
 
1377
          cat > conftest.c <<EOF
 
1378
          int main() { return 0; }
 
1379
EOF
 
1380
          $rm a.out
 
1381
          $C_compiler conftest.c $deplibs
 
1382
          if test $? -eq 0 ; then
 
1383
            ldd_output=`ldd a.out`
 
1384
            for i in $deplibs; do
 
1385
              name="`expr $i : '-l\(.*\)'`"
 
1386
              # If $name is empty we are operating on a -L argument.
 
1387
              if test "$name" != "" ; then
 
1388
                libname=`eval \\$echo \"$libname_spec\"`
 
1389
                deplib_matches=`eval \\$echo \"$library_names_spec\"`
 
1390
                set dummy $deplib_matches
 
1391
                deplib_match=$2
 
1392
                if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 
1393
                  newdeplibs="$newdeplibs $i"
 
1394
                else
 
1395
                  echo
 
1396
                  echo "*** Warning: This library needs some functionality provided by $i."
 
1397
                  echo "*** I have the capability to make that library automatically link in when"
 
1398
                  echo "*** you link to this library.  But I can only do this if you have a"
 
1399
                  echo "*** shared version of the library, which you do not appear to have."
 
1400
                fi
 
1401
              else
 
1402
                newdeplibs="$newdeplibs $i"
 
1403
              fi
 
1404
            done
 
1405
          else
 
1406
            # Error occured in the first compile.  Let's try to salvage the situation:
 
1407
            # Compile a seperate program for each library.
 
1408
            for i in $deplibs; do
 
1409
              name="`expr $i : '-l\(.*\)'`"
 
1410
             # If $name is empty we are operating on a -L argument.
 
1411
              if test "$name" != "" ; then
 
1412
                $rm a.out
 
1413
                $C_compiler conftest.c $i
 
1414
                # Did it work?
 
1415
                if test $? -eq 0 ; then
 
1416
                  ldd_output=`ldd a.out`
 
1417
                    libname=`eval \\$echo \"$libname_spec\"`
 
1418
                    deplib_matches=`eval \\$echo \"$library_names_spec\"`
 
1419
                    set dummy $deplib_matches
 
1420
                    deplib_match=$2
 
1421
                    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 
1422
                      newdeplibs="$newdeplibs $i"
 
1423
                    else
 
1424
                      echo
 
1425
                      echo "*** Warning: This library needs some functionality provided by $i."
 
1426
                      echo "*** I have the capability to make that library automatically link in when"
 
1427
                      echo "*** you link to this library.  But I can only do this if you have a"
 
1428
                      echo "*** shared version of the library, which you do not appear to have."
 
1429
                    fi
 
1430
                else
 
1431
                  echo
 
1432
                  echo "*** Warning!  Library $i is needed by this library but I was not able to"
 
1433
                  echo "***  make it link in!  You will probably need to install it or some"
 
1434
                  echo "*** library that it depends on before this library will be fully"
 
1435
                  echo "*** functional.  Installing it before continuing would be even better."
 
1436
                fi
 
1437
              else
 
1438
                newdeplibs="$newdeplibs $i"
 
1439
              fi
 
1440
            done
 
1441
          fi
 
1442
          deplibs=$newdeplibs
 
1443
          ;;
 
1444
        file_magic* | file_regex)
 
1445
          set dummy $check_shared_deplibs_method
 
1446
          file_magic_regex="`expr \"$check_shared_deplibs_method\" : \"$2\(.*\)\"`"
 
1447
          for a_deplib in $deplibs; do
 
1448
            name="`expr $a_deplib : '-l\(.*\)'`"
 
1449
            # If $name is empty we are operating on a -L argument.
 
1450
            if test "$name" != "" ; then
 
1451
              libname=`eval \\$echo \"$libname_spec\"`
 
1452
              case "$check_shared_deplibs_method" in
 
1453
                file_magic*)
 
1454
                  for i in $lib_search_path; do
 
1455
                   # This needs to be more general than file_regex in order to
 
1456
                   # catch things like glibc on linux.  Maybe file_regex
 
1457
                   # should be more general as well, but maybe not.  Since
 
1458
                   # library names are supposed to conform to
 
1459
                   # library_name_spec, I think file_regex should remain
 
1460
                   # strict.  What do you think Gordon?
 
1461
                    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 
1462
                    for potent_lib in $potential_libs; do
 
1463
                      file_output=`file $potent_lib`
 
1464
                      if test `expr "$file_output" : ".*$file_magic_regex"` -ne 0 ; then
 
1465
                        newdeplibs="$newdeplibs $a_deplib"
 
1466
                        a_deplib=""
 
1467
                        break 2
 
1468
                      fi
 
1469
                    done
 
1470
                  done
 
1471
                  ;;
 
1472
                file_regex)
 
1473
                  deplib_matches=`eval \\$echo \"$library_names_spec\"`
 
1474
                  set dummy $deplib_matches
 
1475
                  deplib_match=$2
 
1476
                  for i in $lib_search_path; do
 
1477
                    potential_libs=`ls $i/$deplib_match* 2>/dev/null`
 
1478
                    if test "$potential_libs" != "" ; then
 
1479
                      newdeplibs="$newdeplibs $a_deplib"
 
1480
                      a_deplib=""
 
1481
                      break
 
1482
                    fi
 
1483
                  done
 
1484
                  ;;
 
1485
              esac
 
1486
              if test "$a_deplib" != "" ; then
 
1487
                echo
 
1488
                echo "*** Warning: This library needs some functionality provided by $a_deplib."
 
1489
                echo "*** I have the capability to make that library automatically link in when"
 
1490
                echo "*** you link to this library.  But I can only do this if you have a"
 
1491
                echo "*** shared version of the library, which you do not appear to have."
 
1492
              fi
 
1493
            else
 
1494
              # Add a -L argument.
 
1495
              newdeplibs="$newdeplibs $a_deplib"
 
1496
            fi
 
1497
          done # Gone through all deplibs.
 
1498
          ;;
 
1499
        none | *)  deplibs="" ;;
 
1500
        esac
 
1501
        versuffix=$versuffix_save
 
1502
        major=$major_save
 
1503
        release=$release_save
 
1504
        libname=$libname_save
 
1505
        name=$name_save
 
1506
        deplibs=$newdeplibs
 
1507
        # Done checking deplibs!
 
1508
 
 
1509
        # Get the real and link names of the library.
 
1510
        eval library_names=\"$library_names_spec\"
 
1511
        set dummy $library_names
 
1512
        realname="$2"
 
1513
        shift; shift
 
1514
 
 
1515
        if test -n "$soname_spec"; then
 
1516
          eval soname=\"$soname_spec\"
 
1517
        else
 
1518
          soname="$realname"
 
1519
        fi
 
1520
 
 
1521
        lib="$output_objdir/$realname"
 
1522
        for link
 
1523
        do
 
1524
          linknames="$linknames $link"
 
1525
        done
 
1526
 
 
1527
        # Use standard objects if they are PIC.
 
1528
        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'`
 
1529
 
 
1530
        if test -n "$whole_archive_flag_spec"; then
 
1531
          if test -n "$convenience"; then
 
1532
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
 
1533
          fi
 
1534
        else
 
1535
          for xlib in $convenience; do
 
1536
            # Extract the objects.
 
1537
            xdir="$xlib"x
 
1538
            generated="$generated $xdir"
 
1539
            xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
 
1540
 
 
1541
            $show "${rm}r $xdir"
 
1542
            $run ${rm}r "$xdir"
 
1543
            $show "mkdir $xdir"
 
1544
            $run mkdir "$xdir"
 
1545
            status=$?
 
1546
            if test $status -ne 0 && test ! -d "$xdir"; then
 
1547
              exit $status
 
1548
            fi
 
1549
            $show "(cd $xdir && $AR x ../$xlib)"
 
1550
            $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
 
1551
 
 
1552
            libobjs="$libobjs `echo $xdir/*`"
 
1553
          done
 
1554
        fi
 
1555
 
 
1556
        # Do each of the archive commands.
 
1557
        if test -n "$export_symbols" && test -n "$archive_sym_cmds"; then
 
1558
          eval cmds=\"$archive_sym_cmds\"
 
1559
        else
 
1560
          eval cmds=\"$archive_cmds\"
 
1561
        fi
 
1562
        IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'
 
1563
        for cmd in $cmds; do
 
1564
          IFS="$save_ifs"
 
1565
          $show "$cmd"
 
1566
          $run eval "$cmd" || exit $?
 
1567
        done
 
1568
        IFS="$save_ifs"
 
1569
 
 
1570
        # Create links to the real library.
 
1571
        for linkname in $linknames; do
 
1572
          if test "$realname" != "$linkname"; then
 
1573
            $show "(cd $output_objdir && $LN_S $realname $linkname)"
 
1574
            $run eval '(cd $output_objdir && $LN_S $realname $linkname)' || exit $?
 
1575
          fi
 
1576
        done
 
1577
 
 
1578
        # If -module or -export-dynamic was specified, set the dlname.
 
1579
        if test "$module" = yes || test "$export_dynamic" = yes; then
 
1580
          # On all known operating systems, these are identical.
 
1581
          dlname="$soname"
 
1582
        fi
 
1583
      fi
 
1584
      ;;
 
1585
 
 
1586
    *.lo | *.o | *.obj)
 
1587
      if test -n "$link_against_libtool_libs"; then
 
1588
        $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
 
1589
        exit 1
 
1590
      fi
 
1591
 
 
1592
      if test -n "$deplibs"; then
 
1593
        $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
 
1594
      fi
 
1595
 
 
1596
      if test -n "$dlfiles$dlprefiles"; then
 
1597
        $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
 
1598
      fi
 
1599
 
 
1600
      if test -n "$rpath"; then
 
1601
        $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
 
1602
      fi
 
1603
 
 
1604
      if test -n "$vinfo"; then
 
1605
        $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
 
1606
      fi
 
1607
 
 
1608
      if test -n "$release"; then
 
1609
        $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
 
1610
      fi
 
1611
 
 
1612
      case "$output" in
 
1613
      *.lo)
 
1614
        if test -n "$objs"; then
 
1615
          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
 
1616
          exit 1
 
1617
        fi
 
1618
        libobj="$output"
 
1619
        obj=`$echo "X$output" | $Xsed -e "$lo2o"`
 
1620
        ;;
 
1621
      *)
 
1622
        libobj=
 
1623
        obj="$output"
 
1624
        ;;
 
1625
      esac
 
1626
 
 
1627
      # Delete the old objects.
 
1628
      $run $rm $obj $libobj
 
1629
 
 
1630
      # Create the old-style object.
 
1631
      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.'${libext}' //g' -e 's/[^       ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
 
1632
 
 
1633
      output="$obj"
 
1634
      eval cmds=\"$reload_cmds\"
 
1635
      IFS="${IFS=       }"; save_ifs="$IFS"; IFS='~'
 
1636
      for cmd in $cmds; do
 
1637
        IFS="$save_ifs"
 
1638
        $show "$cmd"
 
1639
        $run eval "$cmd" || exit $?
 
1640
      done
 
1641
      IFS="$save_ifs"
 
1642
 
 
1643
      # Exit if we aren't doing a library object file.
 
1644
      test -z "$libobj" && exit 0
 
1645
 
 
1646
      if test "$build_libtool_libs" != yes; then
 
1647
        # Create an invalid libtool object if no PIC, so that we don't
 
1648
        # accidentally link it into a program.
 
1649
        $show "echo timestamp > $libobj"
 
1650
        $run eval "echo timestamp > $libobj" || exit $?
 
1651
        exit 0
 
1652
      fi
 
1653
 
 
1654
      if test -n "$pic_flag"; then
 
1655
        # Only do commands if we really have different PIC objects.
 
1656
        reload_objs="$libobjs"
 
1657
        output="$libobj"
 
1658
        eval cmds=\"$reload_cmds\"
 
1659
        IFS="${IFS=     }"; save_ifs="$IFS"; IFS='~'
 
1660
        for cmd in $cmds; do
 
1661
          IFS="$save_ifs"
 
1662
          $show "$cmd"
 
1663
          $run eval "$cmd" || exit $?
 
1664
        done
 
1665
        IFS="$save_ifs"
 
1666
      else
 
1667
        # Just create a symlink.
 
1668
        $show "$LN_S $obj $libobj"
 
1669
        $run $LN_S $obj $libobj || exit $?
 
1670
      fi
 
1671
 
 
1672
      exit 0
 
1673
      ;;
 
1674
 
 
1675
    # Anything else should be a program.
 
1676
    *)
 
1677
      if test -n "$vinfo"; then
 
1678
        $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
 
1679
      fi
 
1680
 
 
1681
      if test -n "$release"; then
 
1682
        $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
 
1683
      fi
 
1684
 
 
1685
      if test -n "$rpath"; then
 
1686
        # If the user specified any rpath flags, then add them.
 
1687
        for libdir in $rpath; do
 
1688
          if test -n "$hardcode_libdir_flag_spec"; then
 
1689
            if test -n "$hardcode_libdir_separator"; then
 
1690
              if test -z "$hardcode_libdirs"; then
 
1691
                # Put the magic libdir with the hardcode flag.
 
1692
                hardcode_libdirs="$libdir"
 
1693
                libdir="@HARDCODE_LIBDIRS@"
 
1694
              else
 
1695
                # Just accumulate the unique libdirs.
 
1696
                case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
 
1697
                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 
1698
                  ;;
 
1699
                *)
 
1700
                  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
 
1701
                  ;;
 
1702
                esac
 
1703
                libdir=
 
1704
              fi
 
1705
            fi
 
1706
 
 
1707
            if test -n "$libdir"; then
 
1708
              eval flag=\"$hardcode_libdir_flag_spec\"
 
1709
 
 
1710
              compile_command="$compile_command $flag"
 
1711
              finalize_command="$finalize_command $flag"
 
1712
            fi
 
1713
          elif test -n "$runpath_var"; then
 
1714
            case "$perm_rpath " in
 
1715
            *" $libdir "*) ;;
 
1716
            *) perm_rpath="$perm_rpath $libdir" ;;
 
1717
            esac
 
1718
          fi
 
1719
        done
 
1720
      fi
 
1721
 
 
1722
      # Substitute the hardcoded libdirs into the compile commands.
 
1723
      if test -n "$hardcode_libdir_separator"; then
 
1724
        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
 
1725
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
 
1726
      fi
 
1727
 
 
1728
      output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
 
1729
      if test "X$output_objdir" = "X$output"; then
 
1730
        output_objdir="$objdir"
 
1731
      else
 
1732
        output_objdir="$output_objdir/$objdir"
 
1733
      fi
 
1734
 
 
1735
      if test -n "$libobjs" && test "$build_old_libs" = yes; then
 
1736
        # Transform all the library objects into standard objects.
 
1737
        compile_command=`$echo "X$compile_command " | $Xsed -e "$los2o" -e 's/ $//'`
 
1738
        finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'`
 
1739
      fi
 
1740
 
 
1741
      if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
 
1742
        dlsyms="${outputname}S.c"
 
1743
      else
 
1744
        dlsyms=
 
1745
      fi
 
1746
 
 
1747
      if test -n "$dlsyms"; then
 
1748
        case "$dlsyms" in
 
1749
        "") ;;
 
1750
        *.c)
 
1751
          if test -z "$export_symbols"; then
 
1752
            # Add our own program objects to the preloaded list.
 
1753
            dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e "$los2o" -e 's/ $//'`
 
1754
          fi
 
1755
 
 
1756
          # Discover the nlist of each of the dlfiles.
 
1757
          nlist="$objdir/${output}.nm"
 
1758
 
 
1759
          if test -d $objdir; then
 
1760
            $show "$rm $nlist ${nlist}T"
 
1761
            $run $rm "$nlist" "${nlist}T"
 
1762
          else
 
1763
            $show "$mkdir $objdir"
 
1764
            $run $mkdir $objdir
 
1765
            status=$?
 
1766
            if test $status -ne 0 && test ! -d $objdir; then
 
1767
              exit $status
 
1768
            fi
 
1769
          fi
 
1770
 
 
1771
          # Parse the name list into a source file.
 
1772
          $show "creating $objdir/$dlsyms"
 
1773
 
 
1774
          $echo > "$objdir/$dlsyms" "\
 
1775
/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
 
1776
/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
 
1777
 
 
1778
#ifdef __cplusplus
 
1779
extern \"C\" {
 
1780
#endif
 
1781
 
 
1782
/* Prevent the only kind of declaration conflicts we can make. */
 
1783
#define dld_preloaded_symbols some_other_symbol
 
1784
 
 
1785
/* External symbol declarations for the compiler. */\
 
1786
"
 
1787
 
 
1788
          if test -n "$export_symbols"; then
 
1789
            sed -e 's/^\(.*\)/\1 \1/' < "$export_symbols" > "$nlist"
 
1790
          fi
 
1791
 
 
1792
          for arg in $dlprefiles; do
 
1793
            $show "extracting global C symbols from \`$arg'"
 
1794
            $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
 
1795
          done
 
1796
 
 
1797
          if test -z "$run"; then
 
1798
            # Make sure we at least have an empty file.
 
1799
            test -f "$nlist" || : > "$nlist"
 
1800
 
 
1801
            # Try sorting and uniquifying the output.
 
1802
            if sort "$nlist" | uniq > "$nlist"T; then
 
1803
              mv -f "$nlist"T "$nlist"
 
1804
            else
 
1805
              $rm "$nlist"T
 
1806
            fi
 
1807
 
 
1808
            if test -f "$nlist"; then
 
1809
              sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$output_objdir/$dlsyms"
 
1810
            else
 
1811
              echo '/* NONE */' >> "$output_objdir/$dlsyms"
 
1812
            fi
 
1813
 
 
1814
            $echo >> "$output_objdir/$dlsyms" "\
 
1815
 
 
1816
#undef dld_preloaded_symbols
 
1817
 
 
1818
#if defined (__STDC__) && __STDC__
 
1819
# define __ptr_t void *
 
1820
#else
 
1821
# define __ptr_t char *
 
1822
#endif
 
1823
 
 
1824
/* The mapping between symbol names and symbols. */
 
1825
struct {
 
1826
  char *name;
 
1827
  __ptr_t address;
 
1828
}
 
1829
dld_preloaded_symbols[] =
 
1830
{\
 
1831
"
 
1832
 
 
1833
            if test -n "$export_symbols"; then
 
1834
              echo >> "$objdir/$dlsyms" "\
 
1835
  {\"${output}\", (__ptr_t) 0},"
 
1836
              sed 's/^\(.*\)/  {"\1", (__ptr_t) \&\1},/' < "$export_symbols" >> "$objdir/$dlsyms"
 
1837
            fi
 
1838
 
 
1839
            for arg in $dlprefiles; do
 
1840
              name=`echo "$arg" | sed -e 's%^.*/%%'`
 
1841
              echo >> "$objdir/$dlsyms" "\
 
1842
  {\"$name\", (__ptr_t) 0},"
 
1843
              eval "$NM $arg | $global_symbol_pipe > '$nlist'"
 
1844
 
 
1845
              if test -f "$nlist"; then
 
1846
                sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
 
1847
              else
 
1848
                echo '/* NONE */' >> "$output_objdir/$dlsyms"
 
1849
              fi
 
1850
 
 
1851
            done
 
1852
 
 
1853
            if test -f "$nlist"; then
 
1854
              sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$output_objdir/$dlsyms"
 
1855
            fi
 
1856
 
 
1857
            $echo >> "$output_objdir/$dlsyms" "\
 
1858
  {0, (__ptr_t) 0}
 
1859
};
 
1860
 
 
1861
#ifdef __cplusplus
 
1862
}
 
1863
#endif\
 
1864
"
 
1865
          fi
 
1866
 
 
1867
          # Now compile the dynamic symbol file.
 
1868
          $show "(cd $objdir && $C_compiler -c$no_builtin_flag \"$dlsyms\")"
 
1869
          $run eval '(cd $objdir && $C_compiler -c$no_builtin_flag "$dlsyms")' || exit $?
 
1870
 
 
1871
          # Transform the symbol file into the correct name.
 
1872
          compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
 
1873
          finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
 
1874
          ;;
 
1875
        *)
 
1876
          $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
 
1877
          exit 1
 
1878
          ;;
 
1879
        esac
 
1880
      elif test "$export_dynamic" != yes; then
 
1881
        test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
 
1882
      else
 
1883
        # We keep going just in case the user didn't refer to
 
1884
        # dld_preloaded_symbols.  The linker will fail if global_symbol_pipe
 
1885
        # really was required.
 
1886
        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
 
1887
 
 
1888
        # Nullify the symbol file.
 
1889
        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
 
1890
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
 
1891
      fi
 
1892
 
 
1893
      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
 
1894
        # Replace the output file specification.
 
1895
        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 
1896
        finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 
1897
 
 
1898
        # We have no uninstalled library dependencies, so finalize right now.
 
1899
        $show "$compile_command"
 
1900
        $run eval "$compile_command"
 
1901
        exit $?
 
1902
      fi
 
1903
 
 
1904
      # Replace the output file specification.
 
1905
      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 
1906
      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'T%g'`
 
1907
 
 
1908
      # Create the binary in the object directory, then wrap it.
 
1909
      if test ! -d $output_objdir; then
 
1910
        $show "$mkdir $output_objdir"
 
1911
        $run $mkdir $output_objdir
 
1912
        status=$?
 
1913
        if test $status -ne 0 && test ! -d $objdir; then
 
1914
          exit $status
 
1915
        fi
 
1916
      fi
 
1917
 
 
1918
      if test -n "$shlibpath_var"; then
 
1919
        # We should set the shlibpath_var
 
1920
        rpath=
 
1921
        for dir in $temp_rpath; do
 
1922
          case "$dir" in
 
1923
          /* | [A-Za-z]:[/\\]*)
 
1924
            # Absolute path.
 
1925
            rpath="$rpath$dir:"
 
1926
            ;;
 
1927
          *)
 
1928
            # Relative path: add a thisdir entry.
 
1929
            rpath="$rpath\$thisdir/$dir:"
 
1930
            ;;
 
1931
          esac
 
1932
        done
 
1933
        temp_rpath="$rpath"
 
1934
      fi
 
1935
 
 
1936
      # Delete the old output file.
 
1937
      $run $rm $output
 
1938
 
 
1939
      if test -n "$compile_shlibpath"; then
 
1940
        compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
 
1941
      fi
 
1942
      if test -n "$finalize_shlibpath"; then
 
1943
        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
 
1944
      fi
 
1945
 
 
1946
      if test -n "$runpath_var" && test -n "$perm_rpath"; then
 
1947
        # We should set the runpath_var.
 
1948
        rpath=
 
1949
        for dir in $perm_rpath; do
 
1950
          rpath="$rpath$dir:"
 
1951
        done
 
1952
        compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
 
1953
        finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
 
1954
      fi
 
1955
 
 
1956
      if test "$hardcode_action" = relink; then
 
1957
        # AGH! Flame the AIX and HP-UX people for me, will ya?
 
1958
        $echo "$modename: warning: this platform doesn\'t like uninstalled shared libraries" 1>&2
 
1959
        $echo "$modename: \`$output' will be relinked during installation" 1>&2
 
1960
      fi
 
1961
 
 
1962
      $show "$compile_command"
 
1963
      $run eval "$compile_command" || exit $?
 
1964
 
 
1965
      # Now create the wrapper script.
 
1966
      $show "creating $output"
 
1967
 
 
1968
      # Quote the finalize command for shipping.
 
1969
      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
 
1970
 
 
1971
      # Quote $echo for shipping.
 
1972
      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
 
1973
        case "$0" in
 
1974
        /* | [A-Za-z]:[/\\]*) qecho="$SHELL $0 --fallback-echo";;
 
1975
        *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
 
1976
        esac
 
1977
        qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
 
1978
      else
 
1979
        qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
 
1980
      fi
 
1981
 
 
1982
      # Only actually do things if our run command is non-null.
 
1983
      if test -z "$run"; then
 
1984
        $rm $output
 
1985
        trap "$rm $output; exit 1" 1 2 15
 
1986
 
 
1987
        $echo > $output "\
 
1988
#! $SHELL
 
1989
 
 
1990
# $output - temporary wrapper script for $objdir/$outputname
 
1991
# Generated by $PROGRAM - GNU $PACKAGE $VERSION
 
1992
#
 
1993
# The $output program cannot be directly executed until all the libtool
 
1994
# libraries that it depends on are installed.
 
1995
#
 
1996
# This wrapper script should never be moved out of the build directory.
 
1997
# If it is, it will not operate correctly.
 
1998
 
 
1999
# Sed substitution that helps us do robust quoting.  It backslashifies
 
2000
# metacharacters that are still active within double-quoted strings.
 
2001
Xsed='sed -e s/^X//'
 
2002
sed_quote_subst='$sed_quote_subst'
 
2003
 
 
2004
# The HP-UX ksh and POSIX shell print the target directory to stdout
 
2005
# if CDPATH is set.
 
2006
if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
 
2007
 
 
2008
# This environment variable determines our operation mode.
 
2009
if test \"\$libtool_install_magic\" = \"$magic\"; then
 
2010
  # install mode needs the following variables:
 
2011
  link_against_libtool_libs='$link_against_libtool_libs'
 
2012
  finalize_command=\"cd `pwd | sed -e $sed_quote_subst`; $finalize_command\"
 
2013
else
 
2014
  # When we are sourced in execute mode, \$file and \$echo are already set.
 
2015
  if test \"\$libtool_execute_magic\" != \"$magic\"; then
 
2016
    echo=\"$qecho\"
 
2017
    file=\"\$0\"
 
2018
    # Make sure echo works.
 
2019
    if test \"X\$1\" = X--no-reexec; then
 
2020
      # Discard the --no-reexec flag, and continue.
 
2021
      shift
 
2022
    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
 
2023
      # Yippee, \$echo works!
 
2024
      :
 
2025
    else
 
2026
      # Restart under the correct shell, and then maybe \$echo will work.
 
2027
      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
 
2028
    fi
 
2029
  fi\
 
2030
"
 
2031
        $echo >> $output "\
 
2032
 
 
2033
  # Find the directory that this script lives in.
 
2034
  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
 
2035
  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 
2036
 
 
2037
  # Follow symbolic links until we get to the real thisdir.
 
2038
  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
 
2039
  while test -n \"\$file\"; do
 
2040
    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
 
2041
 
 
2042
    # If there was a directory component, then change thisdir.
 
2043
    if test \"x\$destdir\" != \"x\$file\"; then
 
2044
      case \"\$destdir\" in
 
2045
      /* | [A-Za-z]:[/\\]*) thisdir=\"\$destdir\" ;;
 
2046
      *) thisdir=\"\$thisdir/\$destdir\" ;;
 
2047
      esac
 
2048
    fi
 
2049
 
 
2050
    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
 
2051
    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
 
2052
  done
 
2053
 
 
2054
  # Try to get the absolute directory name.
 
2055
  absdir=\`cd \"\$thisdir\" && pwd\`
 
2056
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
 
2057
 
 
2058
  progdir=\"\$thisdir/$objdir\"
 
2059
  program='$outputname'
 
2060
 
 
2061
  if test -f \"\$progdir/\$program\"; then"
 
2062
 
 
2063
        # Export our shlibpath_var if we have one.
 
2064
        if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
 
2065
          $echo >> $output "\
 
2066
    # Add our own library path to $shlibpath_var
 
2067
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 
2068
 
 
2069
    # Some systems cannot cope with colon-terminated $shlibpath_var
 
2070
    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
 
2071
 
 
2072
    export $shlibpath_var
 
2073
"
 
2074
        fi
 
2075
 
 
2076
        $echo >> $output "\
 
2077
    if test \"\$libtool_execute_magic\" != \"$magic\"; then
 
2078
      # Run the actual program with our arguments.
 
2079
 
 
2080
      # Export the path to the program.
 
2081
      PATH=\"\$progdir:\$PATH\"
 
2082
      export PATH
 
2083
 
 
2084
      exec \$program \${1+\"\$@\"}
 
2085
 
 
2086
      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
 
2087
      exit 1
 
2088
    fi
 
2089
  else
 
2090
    # The program doesn't exist.
 
2091
    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
 
2092
    \$echo \"This script is just a wrapper for \$program.\" 1>&2
 
2093
    echo \"See the $PACKAGE documentation for more information.\" 1>&2
 
2094
    exit 1
 
2095
  fi
 
2096
fi\
 
2097
"
 
2098
        chmod +x $output
 
2099
      fi
 
2100
      exit 0
 
2101
      ;;
 
2102
    esac
 
2103
 
 
2104
    # See if we need to build an old-fashioned archive.
 
2105
    for oldlib in $oldlibs; do
 
2106
 
 
2107
      if test "$build_libtool_libs" = convenience; then
 
2108
        oldobjs="$libobjs"
 
2109
        addlibs="$convenience"
 
2110
        build_libtool_libs=no
 
2111
      else
 
2112
        oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.'${libext}' //g' -e 's/[^   ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
 
2113
        addlibs="$old_convenience"
 
2114
      fi
 
2115
 
 
2116
      # Add in members from convenience archives.
 
2117
      for xlib in $addlibs; do
 
2118
        # Extract the objects.
 
2119
        xdir="$xlib"x
 
2120
        generated="$generated $xdir"
 
2121
        xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
 
2122
 
 
2123
        $show "${rm}r $xdir"
 
2124
        $run ${rm}r "$xdir"
 
2125
        $show "mkdir $xdir"
 
2126
        $run mkdir "$xdir"
 
2127
        status=$?
 
2128
        if test $status -ne 0 && test ! -d "$xdir"; then
 
2129
          exit $status
 
2130
        fi
 
2131
        $show "(cd $xdir && $AR x ../$xlib)"
 
2132
        $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
 
2133
 
 
2134
        oldobjs="$oldobjs `echo $xdir/*`"
 
2135
      done
 
2136
 
 
2137
      # Do each command in the archive commands.
 
2138
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
 
2139
        eval cmds=\"$old_archive_from_new_cmds\"
 
2140
      else
 
2141
        eval cmds=\"$old_archive_cmds\"
 
2142
      fi
 
2143
      IFS="${IFS=       }"; save_ifs="$IFS"; IFS='~'
 
2144
      for cmd in $cmds; do
 
2145
        IFS="$save_ifs"
 
2146
        $show "$cmd"
 
2147
        $run eval "$cmd" || exit $?
 
2148
      done
 
2149
      IFS="$save_ifs"
 
2150
    done
 
2151
 
 
2152
    if test -n "$generated"; then
 
2153
      $show "${rm}r$generated"
 
2154
      $run ${rm}r$generated
 
2155
    fi
 
2156
 
 
2157
    # Now create the libtool archive.
 
2158
    case "$output" in
 
2159
    *.la)
 
2160
      old_library=
 
2161
      test "$build_old_libs" = yes && old_library="$libname.$libext"
 
2162
      $show "creating $output"
 
2163
 
 
2164
      # Only create the output if not a dry run.
 
2165
      if test -z "$run"; then
 
2166
        $echo > $output "\
 
2167
# $output - a libtool library file
 
2168
# Generated by $PROGRAM - GNU $PACKAGE $VERSION
 
2169
 
 
2170
# The name that we can dlopen(3).
 
2171
dlname='$dlname'
 
2172
 
 
2173
# Names of this library.
 
2174
library_names='$library_names'
 
2175
 
 
2176
# The name of the static archive.
 
2177
old_library='$old_library'
 
2178
 
 
2179
# Libraries that this one depends upon.
 
2180
dependency_libs='$dependency_libs'
 
2181
 
 
2182
# Version information for $libname.
 
2183
current=$current
 
2184
age=$age
 
2185
revision=$revision
 
2186
 
 
2187
# Is this an already installed library?
 
2188
installed=no
 
2189
 
 
2190
# Directory that this library needs to be installed in:
 
2191
libdir='$install_libdir'\
 
2192
"
 
2193
      fi
 
2194
 
 
2195
      # Do a symbolic link so that the libtool archive can be found in
 
2196
      # LD_LIBRARY_PATH before the program is installed.
 
2197
      $show "(cd $output_objdir && $LN_S ../$outputname $outputname)"
 
2198
      $run eval "(cd $output_objdir && $LN_S ../$outputname $outputname)" || exit $?
 
2199
      ;;
 
2200
    esac
 
2201
    exit 0
 
2202
    ;;
 
2203
 
 
2204
  # libtool install mode
 
2205
  install)
 
2206
    modename="$modename: install"
 
2207
 
 
2208
    # There may be an optional sh(1) argument at the beginning of
 
2209
    # install_prog (especially on Windows NT).
 
2210
    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
 
2211
      # Aesthetically quote it.
 
2212
      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
 
2213
      case "$arg" in
 
2214
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
 
2215
        arg="\"$arg\""
 
2216
        ;;
 
2217
      esac
 
2218
      install_prog="$arg "
 
2219
      arg="$1"
 
2220
      shift
 
2221
    else
 
2222
      install_prog=
 
2223
      arg="$nonopt"
 
2224
    fi
 
2225
 
 
2226
    # The real first argument should be the name of the installation program.
 
2227
    # Aesthetically quote it.
 
2228
    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
2229
    case "$arg" in
 
2230
    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*)
 
2231
      arg="\"$arg\""
 
2232
      ;;
 
2233
    esac
 
2234
    install_prog="$install_prog$arg"
 
2235
 
 
2236
    # We need to accept at least all the BSD install flags.
 
2237
    dest=
 
2238
    files=
 
2239
    opts=
 
2240
    prev=
 
2241
    install_type=
 
2242
    isdir=no
 
2243
    stripme=
 
2244
    for arg
 
2245
    do
 
2246
      if test -n "$dest"; then
 
2247
        files="$files $dest"
 
2248
        dest="$arg"
 
2249
        continue
 
2250
      fi
 
2251
 
 
2252
      case "$arg" in
 
2253
      -d) isdir=yes ;;
 
2254
      -f) prev="-f" ;;
 
2255
      -g) prev="-g" ;;
 
2256
      -m) prev="-m" ;;
 
2257
      -o) prev="-o" ;;
 
2258
      -s)
 
2259
        stripme=" -s"
 
2260
        continue
 
2261
        ;;
 
2262
      -*) ;;
 
2263
 
 
2264
      *)
 
2265
        # If the previous option needed an argument, then skip it.
 
2266
        if test -n "$prev"; then
 
2267
          prev=
 
2268
        else
 
2269
          dest="$arg"
 
2270
          continue
 
2271
        fi
 
2272
        ;;
 
2273
      esac
 
2274
 
 
2275
      # Aesthetically quote the argument.
 
2276
      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
 
2277
      case "$arg" in
 
2278
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
 
2279
        arg="\"$arg\""
 
2280
        ;;
 
2281
      esac
 
2282
      install_prog="$install_prog $arg"
 
2283
    done
 
2284
 
 
2285
    if test -z "$install_prog"; then
 
2286
      $echo "$modename: you must specify an install program" 1>&2
 
2287
      $echo "$help" 1>&2
 
2288
      exit 1
 
2289
    fi
 
2290
 
 
2291
    if test -n "$prev"; then
 
2292
      $echo "$modename: the \`$prev' option requires an argument" 1>&2
 
2293
      $echo "$help" 1>&2
 
2294
      exit 1
 
2295
    fi
 
2296
 
 
2297
    if test -z "$files"; then
 
2298
      if test -z "$dest"; then
 
2299
        $echo "$modename: no file or destination specified" 1>&2
 
2300
      else
 
2301
        $echo "$modename: you must specify a destination" 1>&2
 
2302
      fi
 
2303
      $echo "$help" 1>&2
 
2304
      exit 1
 
2305
    fi
 
2306
 
 
2307
    # Strip any trailing slash from the destination.
 
2308
    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
 
2309
 
 
2310
    # Check to see that the destination is a directory.
 
2311
    test -d "$dest" && isdir=yes
 
2312
    if test "$isdir" = yes; then
 
2313
      destdir="$dest"
 
2314
      destname=
 
2315
    else
 
2316
      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
 
2317
      test "X$destdir" = "X$dest" && destdir=.
 
2318
      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
 
2319
 
 
2320
      # Not a directory, so check to see that there is only one file specified.
 
2321
      set dummy $files
 
2322
      if test $# -gt 2; then
 
2323
        $echo "$modename: \`$dest' is not a directory" 1>&2
 
2324
        $echo "$help" 1>&2
 
2325
        exit 1
 
2326
      fi
 
2327
    fi
 
2328
    case "$destdir" in
 
2329
    /* | [A-Za-z]:[/\\]*) ;;
 
2330
    *)
 
2331
      for file in $files; do
 
2332
        case "$file" in
 
2333
        *.lo) ;;
 
2334
        *)
 
2335
          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
 
2336
          $echo "$help" 1>&2
 
2337
          exit 1
 
2338
          ;;
 
2339
        esac
 
2340
      done
 
2341
      ;;
 
2342
    esac
 
2343
 
 
2344
    # This variable tells wrapper scripts just to set variables rather
 
2345
    # than running their programs.
 
2346
    libtool_install_magic="$magic"
 
2347
 
 
2348
    staticlibs=
 
2349
    future_libdirs=
 
2350
    current_libdirs=
 
2351
    for file in $files; do
 
2352
 
 
2353
      # Do each installation.
 
2354
      case "$file" in
 
2355
      *.a | *.lib)
 
2356
        # Do the static libraries later.
 
2357
        staticlibs="$staticlibs $file"
 
2358
        ;;
 
2359
 
 
2360
      *.la)
 
2361
        # Check to see that this really is a libtool archive.
 
2362
        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 
2363
        else
 
2364
          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
 
2365
          $echo "$help" 1>&2
 
2366
          exit 1
 
2367
        fi
 
2368
 
 
2369
        library_names=
 
2370
        old_library=
 
2371
        # If there is no directory component, then add one.
 
2372
        case "$file" in
 
2373
        */* | *\\*) . $file ;;
 
2374
        *) . ./$file ;;
 
2375
        esac
 
2376
 
 
2377
        # Add the libdir to current_libdirs if it is the destination.
 
2378
        if test "X$destdir" = "X$libdir"; then
 
2379
          case "$current_libdirs " in
 
2380
          *" $libdir "*) ;;
 
2381
          *) current_libdirs="$current_libdirs $libdir" ;;
 
2382
          esac
 
2383
        else
 
2384
          # Note the libdir as a future libdir.
 
2385
          case "$future_libdirs " in
 
2386
          *" $libdir "*) ;;
 
2387
          *) future_libdirs="$future_libdirs $libdir" ;;
 
2388
          esac
 
2389
        fi
 
2390
 
 
2391
        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
 
2392
        test "X$dir" = "X$file/" && dir=
 
2393
        dir="$dir$objdir"
 
2394
 
 
2395
        # See the names of the shared library.
 
2396
        set dummy $library_names
 
2397
        if test -n "$2"; then
 
2398
          realname="$2"
 
2399
          shift
 
2400
          shift
 
2401
 
 
2402
          # Install the shared library and build the symlinks.
 
2403
          $show "$install_prog $dir/$realname $destdir/$realname"
 
2404
          $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
 
2405
          test "X$dlname" = "X$realname" && dlname=
 
2406
 
 
2407
          if test $# -gt 0; then
 
2408
            # Delete the old symlinks, and create new ones.
 
2409
            for linkname
 
2410
            do
 
2411
              test "X$dlname" = "X$linkname" && dlname=
 
2412
              if test "$linkname" != "$realname"; then
 
2413
                $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
 
2414
                $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
 
2415
              fi
 
2416
            done
 
2417
          fi
 
2418
 
 
2419
          if test -n "$dlname"; then
 
2420
            # Install the dynamically-loadable library.
 
2421
            $show "$install_prog $dir/$dlname $destdir/$dlname"
 
2422
            $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
 
2423
          fi
 
2424
 
 
2425
          # Do each command in the postinstall commands.
 
2426
          lib="$destdir/$realname"
 
2427
          eval cmds=\"$postinstall_cmds\"
 
2428
          IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'
 
2429
          for cmd in $cmds; do
 
2430
            IFS="$save_ifs"
 
2431
            $show "$cmd"
 
2432
            $run eval "$cmd" || exit $?
 
2433
          done
 
2434
          IFS="$save_ifs"
 
2435
        fi
 
2436
 
 
2437
        # Install the pseudo-library for information purposes.
 
2438
        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
2439
        instname="$dir/$name"i
 
2440
        $show "Creating $instname"
 
2441
        $rm "$instname"
 
2442
        sed 's/^installed=no$/installed=yes/' "$file" > "$instname"
 
2443
        $show "$install_prog $instname $destdir/$name"
 
2444
        $run eval "$install_prog $instname $destdir/$name" || exit $?
 
2445
        $show "$rm $instname"
 
2446
        $rm "$instname"
 
2447
 
 
2448
        # Maybe install the static library, too.
 
2449
        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
 
2450
        ;;
 
2451
 
 
2452
      *.lo)
 
2453
        # Install (i.e. copy) a libtool object.
 
2454
 
 
2455
        # Figure out destination file name, if it wasn't already specified.
 
2456
        if test -n "$destname"; then
 
2457
          destfile="$destdir/$destname"
 
2458
        else
 
2459
          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
2460
          destfile="$destdir/$destfile"
 
2461
        fi
 
2462
 
 
2463
        # Deduce the name of the destination old-style object file.
 
2464
        case "$destfile" in
 
2465
        *.lo)
 
2466
          staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
 
2467
          ;;
 
2468
        *.o | *.obj)
 
2469
          staticdest="$destfile"
 
2470
          destfile=
 
2471
          ;;
 
2472
        *)
 
2473
          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
 
2474
          $echo "$help" 1>&2
 
2475
          exit 1
 
2476
          ;;
 
2477
        esac
 
2478
 
 
2479
        # Install the libtool object if requested.
 
2480
        if test -n "$destfile"; then
 
2481
          $show "$install_prog $file $destfile"
 
2482
          $run eval "$install_prog $file $destfile" || exit $?
 
2483
        fi
 
2484
 
 
2485
        # Install the old object if enabled.
 
2486
        if test "$build_old_libs" = yes; then
 
2487
          # Deduce the name of the old-style object file.
 
2488
          staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
 
2489
 
 
2490
          $show "$install_prog $staticobj $staticdest"
 
2491
          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
 
2492
        fi
 
2493
        exit 0
 
2494
        ;;
 
2495
 
 
2496
      *)
 
2497
        # Figure out destination file name, if it wasn't already specified.
 
2498
        if test -n "$destname"; then
 
2499
          destfile="$destdir/$destname"
 
2500
        else
 
2501
          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
2502
          destfile="$destdir/$destfile"
 
2503
        fi
 
2504
 
 
2505
        # Do a test to see if this is really a libtool program.
 
2506
        if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
2507
          link_against_libtool_libs=
 
2508
          finalize_command=
 
2509
 
 
2510
          # If there is no directory component, then add one.
 
2511
          case "$file" in
 
2512
          */* | *\\*) . $file ;;
 
2513
          *) . ./$file ;;
 
2514
          esac
 
2515
 
 
2516
          # Check the variables that should have been set.
 
2517
          if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
 
2518
            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
 
2519
            exit 1
 
2520
          fi
 
2521
 
 
2522
          finalize=yes
 
2523
          for lib in $link_against_libtool_libs; do
 
2524
            # Check to see that each library is installed.
 
2525
            libdir=
 
2526
            if test -f "$lib"; then
 
2527
              # If there is no directory component, then add one.
 
2528
              case "$lib" in
 
2529
              */* | *\\*) . $lib ;;
 
2530
              *) . ./$lib ;;
 
2531
              esac
 
2532
            fi
 
2533
            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
 
2534
            if test -n "$libdir" && test ! -f "$libfile"; then
 
2535
              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
 
2536
              finalize=no
 
2537
            fi
 
2538
          done
 
2539
 
 
2540
          if test "$hardcode_action" = relink; then
 
2541
            if test "$finalize" = yes; then
 
2542
              $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
 
2543
              $show "$finalize_command"
 
2544
              if $run eval "$finalize_command"; then :
 
2545
              else
 
2546
                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
 
2547
                continue
 
2548
              fi
 
2549
              file="$objdir/$file"T
 
2550
            else
 
2551
              $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
 
2552
            fi
 
2553
          else
 
2554
            # Install the binary that we compiled earlier.
 
2555
            file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
 
2556
          fi
 
2557
        fi
 
2558
 
 
2559
        $show "$install_prog$stripme $file $destfile"
 
2560
        $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
 
2561
        ;;
 
2562
      esac
 
2563
    done
 
2564
 
 
2565
    for file in $staticlibs; do
 
2566
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
2567
 
 
2568
      # Set up the ranlib parameters.
 
2569
      oldlib="$destdir/$name"
 
2570
 
 
2571
      $show "$install_prog $file $oldlib"
 
2572
      $run eval "$install_prog \$file \$oldlib" || exit $?
 
2573
 
 
2574
      # Do each command in the postinstall commands.
 
2575
      eval cmds=\"$old_postinstall_cmds\"
 
2576
      IFS="${IFS=       }"; save_ifs="$IFS"; IFS='~'
 
2577
      for cmd in $cmds; do
 
2578
        IFS="$save_ifs"
 
2579
        $show "$cmd"
 
2580
        $run eval "$cmd" || exit $?
 
2581
      done
 
2582
      IFS="$save_ifs"
 
2583
    done
 
2584
 
 
2585
    if test -n "$future_libdirs"; then
 
2586
      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
 
2587
    fi
 
2588
 
 
2589
    if test -n "$current_libdirs"; then
 
2590
      # Maybe just do a dry run.
 
2591
      test -n "$run" && current_libdirs=" -n$current_libdirs"
 
2592
      exec $SHELL $0 --finish$current_libdirs
 
2593
      exit 1
 
2594
    fi
 
2595
 
 
2596
    exit 0
 
2597
    ;;
 
2598
 
 
2599
  # libtool finish mode
 
2600
  finish)
 
2601
    modename="$modename: finish"
 
2602
    libdirs="$nonopt"
 
2603
    admincmds=
 
2604
 
 
2605
    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
 
2606
      for dir
 
2607
      do
 
2608
        libdirs="$libdirs $dir"
 
2609
      done
 
2610
 
 
2611
      for libdir in $libdirs; do
 
2612
        if test -n "$finish_cmds"; then
 
2613
          # Do each command in the finish commands.
 
2614
          eval cmds=\"$finish_cmds\"
 
2615
          IFS="${IFS=   }"; save_ifs="$IFS"; IFS='~'
 
2616
          for cmd in $cmds; do
 
2617
            IFS="$save_ifs"
 
2618
            $show "$cmd"
 
2619
            $run eval "$cmd" || admincmds="$admincmds
 
2620
       $cmd"
 
2621
          done
 
2622
          IFS="$save_ifs"
 
2623
        fi
 
2624
        if test -n "$finish_eval"; then
 
2625
          # Do the single finish_eval.
 
2626
          eval cmds=\"$finish_eval\"
 
2627
          $run eval "$cmds" || admincmds="$admincmds
 
2628
       $cmds"
 
2629
        fi
 
2630
      done
 
2631
    fi
 
2632
 
 
2633
    # Exit here if they wanted silent mode.
 
2634
    test "$show" = : && exit 0
 
2635
 
 
2636
    echo "----------------------------------------------------------------------"
 
2637
    echo "Libraries have been installed in:"
 
2638
    for libdir in $libdirs; do
 
2639
      echo "   $libdir"
 
2640
    done
 
2641
    echo
 
2642
    echo "To link against installed libraries in a given directory, LIBDIR,"
 
2643
    echo "you must use the \`-LLIBDIR' flag during linking."
 
2644
    echo
 
2645
    echo " You will also need to do at least one of the following:"
 
2646
    if test -n "$shlibpath_var"; then
 
2647
      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
 
2648
      echo "     during execution"
 
2649
    fi
 
2650
    if test -n "$runpath_var"; then
 
2651
      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
 
2652
      echo "     during linking"
 
2653
    fi
 
2654
    if test -n "$hardcode_libdir_flag_spec"; then
 
2655
      libdir=LIBDIR
 
2656
      eval flag=\"$hardcode_libdir_flag_spec\"
 
2657
 
 
2658
      echo "   - use the \`$flag' linker flag"
 
2659
    fi
 
2660
    if test -n "$admincmds"; then
 
2661
      echo "   - have your system administrator run these commands:$admincmds"
 
2662
    fi
 
2663
    if test -f /etc/ld.so.conf; then
 
2664
      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
 
2665
    fi
 
2666
    echo
 
2667
    echo "See any operating system documentation about shared libraries for"
 
2668
    echo "more information, such as the ld(1) and ld.so(8) manual pages."
 
2669
    echo "----------------------------------------------------------------------"
 
2670
    exit 0
 
2671
    ;;
 
2672
 
 
2673
  # libtool execute mode
 
2674
  execute)
 
2675
    modename="$modename: execute"
 
2676
 
 
2677
    # The first argument is the command name.
 
2678
    cmd="$nonopt"
 
2679
    if test -z "$cmd"; then
 
2680
      $echo "$modename: you must specify a COMMAND" 1>&2
 
2681
      $echo "$help"
 
2682
      exit 1
 
2683
    fi
 
2684
 
 
2685
    # Handle -dlopen flags immediately.
 
2686
    for file in $execute_dlfiles; do
 
2687
      if test ! -f "$file"; then
 
2688
        $echo "$modename: \`$file' is not a file" 1>&2
 
2689
        $echo "$help" 1>&2
 
2690
        exit 1
 
2691
      fi
 
2692
 
 
2693
      dir=
 
2694
      case "$file" in
 
2695
      *.la)
 
2696
        # Check to see that this really is a libtool archive.
 
2697
        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 
2698
        else
 
2699
          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 
2700
          $echo "$help" 1>&2
 
2701
          exit 1
 
2702
        fi
 
2703
 
 
2704
        # Read the libtool library.
 
2705
        dlname=
 
2706
        library_names=
 
2707
 
 
2708
        # If there is no directory component, then add one.
 
2709
        case "$file" in
 
2710
        */* | *\\*) . $file ;;
 
2711
        *) . ./$file ;;
 
2712
        esac
 
2713
 
 
2714
        # Skip this library if it cannot be dlopened.
 
2715
        if test -z "$dlname"; then
 
2716
          # Warn if it was a shared library.
 
2717
          test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
 
2718
          continue
 
2719
        fi
 
2720
 
 
2721
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 
2722
        test "X$dir" = "X$file" && dir=.
 
2723
 
 
2724
        if test -f "$dir/$objdir/$dlname"; then
 
2725
          dir="$dir/$objdir"
 
2726
        else
 
2727
          $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
 
2728
          exit 1
 
2729
        fi
 
2730
        ;;
 
2731
 
 
2732
      *.lo)
 
2733
        # Just add the directory containing the .lo file.
 
2734
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 
2735
        test "X$dir" = "X$file" && dir=.
 
2736
        ;;
 
2737
 
 
2738
      *)
 
2739
        $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
 
2740
        continue
 
2741
        ;;
 
2742
      esac
 
2743
 
 
2744
      # Get the absolute pathname.
 
2745
      absdir=`cd "$dir" && pwd`
 
2746
      test -n "$absdir" && dir="$absdir"
 
2747
 
 
2748
      # Now add the directory to shlibpath_var.
 
2749
      if eval "test -z \"\$$shlibpath_var\""; then
 
2750
        eval "$shlibpath_var=\"\$dir\""
 
2751
      else
 
2752
        eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
 
2753
      fi
 
2754
    done
 
2755
 
 
2756
    # This variable tells wrapper scripts just to set shlibpath_var
 
2757
    # rather than running their programs.
 
2758
    libtool_execute_magic="$magic"
 
2759
 
 
2760
    # Check if any of the arguments is a wrapper script.
 
2761
    args=
 
2762
    for file
 
2763
    do
 
2764
      case "$file" in
 
2765
      -*) ;;
 
2766
      *)
 
2767
        # Do a test to see if this is really a libtool program.
 
2768
        if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
2769
          # If there is no directory component, then add one.
 
2770
          case "$file" in
 
2771
          */* | *\\*) . $file ;;
 
2772
          *) . ./$file ;;
 
2773
          esac
 
2774
 
 
2775
          # Transform arg to wrapped name.
 
2776
          file="$progdir/$program"
 
2777
        fi
 
2778
        ;;
 
2779
      esac
 
2780
      # Quote arguments (to preserve shell metacharacters).
 
2781
      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
 
2782
      args="$args \"$file\""
 
2783
    done
 
2784
 
 
2785
    if test -z "$run"; then
 
2786
      # Export the shlibpath_var.
 
2787
      eval "export $shlibpath_var"
 
2788
 
 
2789
      # Restore saved enviroment variables
 
2790
      if test "${save_LC_ALL+set}" = set; then
 
2791
        LC_ALL="$save_LC_ALL"; export LC_ALL
 
2792
      fi
 
2793
      if test "${save_LANG+set}" = set; then
 
2794
        LANG="$save_LANG"; export LANG
 
2795
      fi
 
2796
 
 
2797
      # Now actually exec the command.
 
2798
      eval "exec \$cmd$args"
 
2799
 
 
2800
      $echo "$modename: cannot exec \$cmd$args"
 
2801
      exit 1
 
2802
    else
 
2803
      # Display what would be done.
 
2804
      eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
 
2805
      $echo "export $shlibpath_var"
 
2806
      $echo "$cmd$args"
 
2807
      exit 0
 
2808
    fi
 
2809
    ;;
 
2810
 
 
2811
  # libtool uninstall mode
 
2812
  uninstall)
 
2813
    modename="$modename: uninstall"
 
2814
    rm="$nonopt"
 
2815
    files=
 
2816
 
 
2817
    for arg
 
2818
    do
 
2819
      case "$arg" in
 
2820
      -*) rm="$rm $arg" ;;
 
2821
      *) files="$files $arg" ;;
 
2822
      esac
 
2823
    done
 
2824
 
 
2825
    if test -z "$rm"; then
 
2826
      $echo "$modename: you must specify an RM program" 1>&2
 
2827
      $echo "$help" 1>&2
 
2828
      exit 1
 
2829
    fi
 
2830
 
 
2831
    for file in $files; do
 
2832
      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 
2833
      test "X$dir" = "X$file" && dir=.
 
2834
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
 
2835
 
 
2836
      rmfiles="$file"
 
2837
 
 
2838
      case "$name" in
 
2839
      *.la)
 
2840
        # Possibly a libtool archive, so verify it.
 
2841
        if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 
2842
          . $dir/$name
 
2843
 
 
2844
          # Delete the libtool libraries and symlinks.
 
2845
          for n in $library_names; do
 
2846
            rmfiles="$rmfiles $dir/$n"
 
2847
            test "X$n" = "X$dlname" && dlname=
 
2848
          done
 
2849
          test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
 
2850
          test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
 
2851
 
 
2852
          $show "$rm $rmfiles"
 
2853
          $run $rm $rmfiles
 
2854
 
 
2855
          if test -n "$library_names"; then
 
2856
            # Do each command in the postuninstall commands.
 
2857
            eval cmds=\"$postuninstall_cmds\"
 
2858
            IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
 
2859
            for cmd in $cmds; do
 
2860
              IFS="$save_ifs"
 
2861
              $show "$cmd"
 
2862
              $run eval "$cmd"
 
2863
            done
 
2864
            IFS="$save_ifs"
 
2865
          fi
 
2866
 
 
2867
          if test -n "$old_library"; then
 
2868
            # Do each command in the old_postuninstall commands.
 
2869
            eval cmds=\"$old_postuninstall_cmds\"
 
2870
            IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
 
2871
            for cmd in $cmds; do
 
2872
              IFS="$save_ifs"
 
2873
              $show "$cmd"
 
2874
              $run eval "$cmd"
 
2875
            done
 
2876
            IFS="$save_ifs"
 
2877
          fi
 
2878
 
 
2879
          # FIXME: should reinstall the best remaining shared library.
 
2880
        fi
 
2881
        ;;
 
2882
 
 
2883
      *.lo)
 
2884
        if test "$build_old_libs" = yes; then
 
2885
          oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
 
2886
          rmfiles="$rmfiles $dir/$oldobj"
 
2887
        fi
 
2888
        $show "$rm $rmfiles"
 
2889
        $run $rm $rmfiles
 
2890
        ;;
 
2891
 
 
2892
      *)
 
2893
        $show "$rm $rmfiles"
 
2894
        $run $rm $rmfiles
 
2895
        ;;
 
2896
      esac
 
2897
    done
 
2898
    exit 0
 
2899
    ;;
 
2900
 
 
2901
  "")
 
2902
    $echo "$modename: you must specify a MODE" 1>&2
 
2903
    $echo "$generic_help" 1>&2
 
2904
    exit 1
 
2905
    ;;
 
2906
  esac
 
2907
 
 
2908
  $echo "$modename: invalid operation mode \`$mode'" 1>&2
 
2909
  $echo "$generic_help" 1>&2
 
2910
  exit 1
 
2911
fi # test -z "$show_help"
 
2912
 
 
2913
# We need to display help for each of the modes.
 
2914
case "$mode" in
 
2915
"") $echo \
 
2916
"Usage: $modename [OPTION]... [MODE-ARG]...
 
2917
 
 
2918
Provide generalized library-building support services.
 
2919
 
 
2920
    --config          show all configuration variables
 
2921
    --debug           enable verbose shell tracing
 
2922
-n, --dry-run         display commands without modifying any files
 
2923
    --features        display basic configuration information and exit
 
2924
    --finish          same as \`--mode=finish'
 
2925
    --help            display this help message and exit
 
2926
    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
 
2927
    --quiet           same as \`--silent'
 
2928
    --silent          don't print informational messages
 
2929
    --version         print version information
 
2930
 
 
2931
MODE must be one of the following:
 
2932
 
 
2933
      compile         compile a source file into a libtool object
 
2934
      execute         automatically set library path, then run a program
 
2935
      finish          complete the installation of libtool libraries
 
2936
      install         install libraries or executables
 
2937
      link            create a library or an executable
 
2938
      uninstall       remove libraries from an installed directory
 
2939
 
 
2940
MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
 
2941
a more detailed description of MODE."
 
2942
  exit 0
 
2943
  ;;
 
2944
 
 
2945
compile)
 
2946
  $echo \
 
2947
"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
 
2948
 
 
2949
Compile a source file into a libtool library object.
 
2950
 
 
2951
This mode accepts the following additional options:
 
2952
 
 
2953
  -static           always build a \`.o' file suitable for static linking
 
2954
 
 
2955
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 
2956
from the given SOURCEFILE.
 
2957
 
 
2958
The output file name is determined by removing the directory component from
 
2959
SOURCEFILE, then substituting the C source code suffix \`.c' with the
 
2960
library object suffix, \`.lo'."
 
2961
  ;;
 
2962
 
 
2963
execute)
 
2964
  $echo \
 
2965
"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
 
2966
 
 
2967
Automatically set library path, then run a program.
 
2968
 
 
2969
This mode accepts the following additional options:
 
2970
 
 
2971
  -dlopen FILE      add the directory containing FILE to the library path
 
2972
 
 
2973
This mode sets the library path environment variable according to \`-dlopen'
 
2974
flags.
 
2975
 
 
2976
If any of the ARGS are libtool executable wrappers, then they are translated
 
2977
into their corresponding uninstalled binary, and any of their required library
 
2978
directories are added to the library path.
 
2979
 
 
2980
Then, COMMAND is executed, with ARGS as arguments."
 
2981
  ;;
 
2982
 
 
2983
finish)
 
2984
  $echo \
 
2985
"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
 
2986
 
 
2987
Complete the installation of libtool libraries.
 
2988
 
 
2989
Each LIBDIR is a directory that contains libtool libraries.
 
2990
 
 
2991
The commands that this mode executes may require superuser privileges.  Use
 
2992
the \`--dry-run' option if you just want to see what would be executed."
 
2993
  ;;
 
2994
 
 
2995
install)
 
2996
  $echo \
 
2997
"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
 
2998
 
 
2999
Install executables or libraries.
 
3000
 
 
3001
INSTALL-COMMAND is the installation command.  The first component should be
 
3002
either the \`install' or \`cp' program.
 
3003
 
 
3004
The rest of the components are interpreted as arguments to that command (only
 
3005
BSD-compatible install options are recognized)."
 
3006
  ;;
 
3007
 
 
3008
link)
 
3009
  $echo \
 
3010
"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
 
3011
 
 
3012
Link object files or libraries together to form another library, or to
 
3013
create an executable program.
 
3014
 
 
3015
LINK-COMMAND is a command using the C compiler that you would use to create
 
3016
a program from several object files.
 
3017
 
 
3018
The following components of LINK-COMMAND are treated specially:
 
3019
 
 
3020
  -all-static       do not do any dynamic linking at all
 
3021
  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
 
3022
  -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
 
3023
  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
 
3024
  -LLIBDIR          search LIBDIR for required installed libraries
 
3025
  -lNAME            OUTPUT-FILE requires the installed library libNAME
 
3026
  -no-undefined     declare that a library does not refer to external symbols
 
3027
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
 
3028
  -release RELEASE  specify package release information
 
3029
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
 
3030
  -static           do not do any dynamic linking of libtool libraries
 
3031
  -version-info CURRENT[:REVISION[:AGE]]
 
3032
                    specify library version info [each variable defaults to 0]
 
3033
 
 
3034
All other options (arguments beginning with \`-') are ignored.
 
3035
 
 
3036
Every other argument is treated as a filename.  Files ending in \`.la' are
 
3037
treated as uninstalled libtool libraries, other files are standard or library
 
3038
object files.
 
3039
 
 
3040
If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
 
3041
library objects (\`.lo' files) may be specified, and \`-rpath' is required.
 
3042
 
 
3043
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
 
3044
using \`ar' and \`ranlib', or on Windows using \`lib'.
 
3045
 
 
3046
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
 
3047
is created, otherwise an executable program is created."
 
3048
  ;;
 
3049
 
 
3050
uninstall)
 
3051
  $echo
 
3052
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
 
3053
 
 
3054
Remove libraries from an installation directory.
 
3055
 
 
3056
RM is the name of the program to use to delete files associated with each FILE
 
3057
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
 
3058
to RM.
 
3059
 
 
3060
If FILE is a libtool library, all the files associated with it are deleted.
 
3061
Otherwise, only FILE itself is deleted using RM."
 
3062
  ;;
 
3063
 
 
3064
*)
 
3065
  $echo "$modename: invalid operation mode \`$mode'" 1>&2
 
3066
  $echo "$help" 1>&2
 
3067
  exit 1
 
3068
  ;;
 
3069
esac
 
3070
 
 
3071
echo
 
3072
$echo "Try \`$modename --help' for more information about other modes."
 
3073
 
 
3074
exit 0
 
3075
 
 
3076
# Local Variables:
 
3077
# mode:shell-script
 
3078
# sh-indentation:2
 
3079
# End: