OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [services/] [gfx/] [mw/] [v2_0/] [src/] [jpeg-6b/] [ltmain.sh] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# 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
# The name of this program.
27
progname=`$echo "$0" | sed 's%^.*/%%'`
28
modename="$progname"
29
 
30
# Constants.
31
PROGRAM=ltmain.sh
32
PACKAGE=libtool
33
VERSION=1.2
34
 
35
default_mode=
36
help="Try \`$progname --help' for more information."
37
magic="%%%MAGIC variable%%%"
38
mkdir="mkdir"
39
mv="mv -f"
40
rm="rm -f"
41
 
42
# Sed substitution that helps us do robust quoting.  It backslashifies
43
# metacharacters that are still active within double-quoted strings.
44
Xsed='sed -e s/^X//'
45
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
46
 
47
# NLS nuisances.
48
# Only set LANG and LC_ALL to C if already set.
49
# These must not be set unconditionally because not all systems understand
50
# e.g. LANG=C (notably SCO).
51
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
52
if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
53
 
54
if test "$LTCONFIG_VERSION" != "$VERSION"; then
55
  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
56
  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
57
  exit 1
58
fi
59
 
60
if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
61
  echo "$modename: not configured to build any kind of library" 1>&2
62
  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
63
  exit 1
64
fi
65
 
66
# Global variables.
67
mode=$default_mode
68
nonopt=
69
prev=
70
prevopt=
71
run=
72
show="$echo"
73
show_help=
74
execute_dlfiles=
75
 
76
# Parse our command line options once, thoroughly.
77
while test $# -gt 0
78
do
79
  arg="$1"
80
  shift
81
 
82
  case "$arg" in
83
  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
84
  *) optarg= ;;
85
  esac
86
 
87
  # If the previous option needs an argument, assign it.
88
  if test -n "$prev"; then
89
    case "$prev" in
90
    execute_dlfiles)
91
      eval "$prev=\"\$$prev \$arg\""
92
      ;;
93
    *)
94
      eval "$prev=\$arg"
95
      ;;
96
    esac
97
 
98
    prev=
99
    prevopt=
100
    continue
101
  fi
102
 
103
  # Have we seen a non-optional argument yet?
104
  case "$arg" in
105
  --help)
106
    show_help=yes
107
    ;;
108
 
109
  --version)
110
    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
111
    exit 0
112
    ;;
113
 
114
  --dry-run | -n)
115
    run=:
116
    ;;
117
 
118
  --features)
119
    echo "host: $host"
120
    if test "$build_libtool_libs" = yes; then
121
      echo "enable shared libraries"
122
    else
123
      echo "disable shared libraries"
124
    fi
125
    if test "$build_old_libs" = yes; then
126
      echo "enable static libraries"
127
    else
128
      echo "disable static libraries"
129
    fi
130
    exit 0
131
    ;;
132
 
133
  --finish) mode="finish" ;;
134
 
135
  --mode) prevopt="--mode" prev=mode ;;
136
  --mode=*) mode="$optarg" ;;
137
 
138
  --quiet | --silent)
139
    show=:
140
    ;;
141
 
142
  -dlopen)
143
    prevopt="-dlopen"
144
    prev=execute_dlfiles
145
    ;;
146
 
147
  -*)
148
    $echo "$modename: unrecognized option \`$arg'" 1>&2
149
    $echo "$help" 1>&2
150
    exit 1
151
    ;;
152
 
153
  *)
154
    nonopt="$arg"
155
    break
156
    ;;
157
  esac
158
done
159
 
160
if test -n "$prevopt"; then
161
  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
162
  $echo "$help" 1>&2
163
  exit 1
164
fi
165
 
166
if test -z "$show_help"; then
167
 
168
  # Infer the operation mode.
169
  if test -z "$mode"; then
170
    case "$nonopt" in
171
    *cc | *++ | gcc* | *-gcc*)
172
      mode=link
173
      for arg
174
      do
175
        case "$arg" in
176
        -c)
177
           mode=compile
178
           break
179
           ;;
180
        esac
181
      done
182
      ;;
183
    *db | *dbx)
184
      mode=execute
185
      ;;
186
    *install*|cp|mv)
187
      mode=install
188
      ;;
189
    *rm)
190
      mode=uninstall
191
      ;;
192
    *)
193
      # If we have no mode, but dlfiles were specified, then do execute mode.
194
      test -n "$execute_dlfiles" && mode=execute
195
 
196
      # Just use the default operation mode.
197
      if test -z "$mode"; then
198
        if test -n "$nonopt"; then
199
          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
200
        else
201
          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
202
        fi
203
      fi
204
      ;;
205
    esac
206
  fi
207
 
208
  # Only execute mode is allowed to have -dlopen flags.
209
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
210
    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
211
    $echo "$help" 1>&2
212
    exit 1
213
  fi
214
 
215
  # Change the help message to a mode-specific one.
216
  generic_help="$help"
217
  help="Try \`$modename --help --mode=$mode' for more information."
218
 
219
  # These modes are in order of execution frequency so that they run quickly.
220
  case "$mode" in
221
  # libtool compile mode
222
  compile)
223
    modename="$modename: compile"
224
    # Get the compilation command and the source file.
225
    base_compile=
226
    lastarg=
227
    srcfile="$nonopt"
228
    suppress_output=
229
 
230
    for arg
231
    do
232
      # Accept any command-line options.
233
      case "$arg" in
234
      -o)
235
        $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
236
        $echo "$help" 1>&2
237
        exit 1
238
        ;;
239
 
240
      -static)
241
        build_libtool_libs=no
242
        build_old_libs=yes
243
        continue
244
        ;;
245
      esac
246
 
247
      # Accept the current argument as the source file.
248
      lastarg="$srcfile"
249
      srcfile="$arg"
250
 
251
      # Aesthetically quote the previous argument.
252
 
253
      # Backslashify any backslashes, double quotes, and dollar signs.
254
      # These are the only characters that are still specially
255
      # interpreted inside of double-quoted scrings.
256
      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
257
 
258
      # Double-quote args containing other shell metacharacters.
259
      # Many Bourne shells cannot handle close brackets correctly in scan
260
      # sets, so we specify it separately.
261
      case "$lastarg" in
262
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
263
        lastarg="\"$lastarg\""
264
        ;;
265
      esac
266
 
267
      # Add the previous argument to base_compile.
268
      if test -z "$base_compile"; then
269
        base_compile="$lastarg"
270
      else
271
        base_compile="$base_compile $lastarg"
272
      fi
273
    done
274
 
275
    # Get the name of the library object.
276
    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
277
 
278
    # Recognize several different file suffixes.
279
    xform='[cCFSfms]'
280
    case "$libobj" in
281
    *.ada) xform=ada ;;
282
    *.adb) xform=adb ;;
283
    *.ads) xform=ads ;;
284
    *.asm) xform=asm ;;
285
    *.c++) xform=c++ ;;
286
    *.cc) xform=cc ;;
287
    *.cpp) xform=cpp ;;
288
    *.cxx) xform=cxx ;;
289
    *.f90) xform=f90 ;;
290
    *.for) xform=for ;;
291
    esac
292
 
293
    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
294
 
295
    case "$libobj" in
296
    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
297
    *)
298
      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
299
      exit 1
300
      ;;
301
    esac
302
 
303
    if test -z "$base_compile"; then
304
      $echo "$modename: you must specify a compilation command" 1>&2
305
      $echo "$help" 1>&2
306
      exit 1
307
    fi
308
 
309
    # Delete any leftover library objects.
310
    if test "$build_old_libs" = yes; then
311
      $run $rm $obj $libobj
312
      trap "$run $rm $obj $libobj; exit 1" 1 2 15
313
    else
314
      $run $rm $libobj
315
      trap "$run $rm $libobj; exit 1" 1 2 15
316
    fi
317
 
318
    # Only build a PIC object if we are building libtool libraries.
319
    if test "$build_libtool_libs" = yes; then
320
      # Without this assignment, base_compile gets emptied.
321
      fbsd_hideous_sh_bug=$base_compile
322
 
323
      # All platforms use -DPIC, to notify preprocessed assembler code.
324
      $show "$base_compile$pic_flag -DPIC $srcfile"
325
      if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :
326
      else
327
        test -n "$obj" && $run $rm $obj
328
        exit 1
329
      fi
330
 
331
      # If we have no pic_flag, then copy the object into place and finish.
332
      if test -z "$pic_flag"; then
333
        $show "$LN_S $obj $libobj"
334
        $run $LN_S $obj $libobj
335
        exit $?
336
      fi
337
 
338
      # Just move the object, then go on to compile the next one
339
      $show "$mv $obj $libobj"
340
      $run $mv $obj $libobj || exit 1
341
 
342
      # Allow error messages only from the first compilation.
343
      suppress_output=' >/dev/null 2>&1'
344
    fi
345
 
346
    # Only build a position-dependent object if we build old libraries.
347
    if test "$build_old_libs" = yes; then
348
      # Suppress compiler output if we already did a PIC compilation.
349
      $show "$base_compile $srcfile$suppress_output"
350
      if $run eval "$base_compile \$srcfile$suppress_output"; then :
351
      else
352
        $run $rm $obj $libobj
353
        exit 1
354
      fi
355
    fi
356
 
357
    # Create an invalid libtool object if no PIC, so that we do not
358
    # accidentally link it into a program.
359
    if test "$build_libtool_libs" != yes; then
360
      $show "echo timestamp > $libobj"
361
      $run eval "echo timestamp > \$libobj" || exit $?
362
    fi
363
 
364
    exit 0
365
    ;;
366
 
367
  # libtool link mode
368
  link)
369
    modename="$modename: link"
370
    CC="$nonopt"
371
    allow_undefined=yes
372
    compile_command="$CC"
373
    finalize_command="$CC"
374
 
375
    compile_shlibpath=
376
    finalize_shlibpath=
377
    deplibs=
378
    dlfiles=
379
    dlprefiles=
380
    export_dynamic=no
381
    hardcode_libdirs=
382
    libobjs=
383
    link_against_libtool_libs=
384
    ltlibs=
385
    objs=
386
    prev=
387
    prevarg=
388
    release=
389
    rpath=
390
    perm_rpath=
391
    temp_rpath=
392
    vinfo=
393
 
394
    # We need to know -static, to get the right output filenames.
395
    for arg
396
    do
397
      case "$arg" in
398
      -all-static | -static)
399
        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
400
            $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
401
        fi
402
        build_libtool_libs=no
403
        build_old_libs=yes
404
        break
405
        ;;
406
      esac
407
    done
408
 
409
    # See if our shared archives depend on static archives.
410
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
411
 
412
    # Go through the arguments, transforming them on the way.
413
    for arg
414
    do
415
      # If the previous option needs an argument, assign it.
416
      if test -n "$prev"; then
417
        case "$prev" in
418
        output)
419
          compile_command="$compile_command @OUTPUT@"
420
          finalize_command="$finalize_command @OUTPUT@"
421
          ;;
422
        esac
423
 
424
        case "$prev" in
425
        dlfiles|dlprefiles)
426
          case "$arg" in
427
          *.la | *.lo) ;;  # We handle these cases below.
428
          *)
429
            dlprefiles="$dlprefiles $arg"
430
            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
431
            prev=
432
            ;;
433
          esac
434
          ;;
435
        release)
436
          release="-$arg"
437
          prev=
438
          continue
439
          ;;
440
        rpath)
441
          rpath="$rpath $arg"
442
          prev=
443
          continue
444
          ;;
445
        *)
446
          eval "$prev=\"\$arg\""
447
          prev=
448
          continue
449
          ;;
450
        esac
451
      fi
452
 
453
      prevarg="$arg"
454
 
455
      case "$arg" in
456
      -all-static)
457
        if test -n "$link_static_flag"; then
458
          compile_command="$compile_command $link_static_flag"
459
          finalize_command="$finalize_command $link_static_flag"
460
        fi
461
        continue
462
        ;;
463
 
464
      -allow-undefined)
465
        # FIXME: remove this flag sometime in the future.
466
        $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
467
        continue
468
        ;;
469
 
470
      -dlopen)
471
        prev=dlfiles
472
        continue
473
        ;;
474
 
475
      -dlpreopen)
476
        prev=dlprefiles
477
        continue
478
        ;;
479
 
480
      -export-dynamic)
481
        if test "$export_dynamic" != yes; then
482
          export_dynamic=yes
483
          if test -n "$export_dynamic_flag_spec"; then
484
            eval arg=\"$export_dynamic_flag_spec\"
485
          else
486
            arg=
487
          fi
488
 
489
          # Add the symbol object into the linking commands.
490
          compile_command="$compile_command @SYMFILE@"
491
          finalize_command="$finalize_command @SYMFILE@"
492
        fi
493
        ;;
494
 
495
      -L*)
496
        dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
497
        case "$dir" in
498
        /* | [A-Za-z]:\\*)
499
          # Add the corresponding hardcode_libdir_flag, if it is not identical.
500
          ;;
501
        *)
502
          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
503
          exit 1
504
          ;;
505
        esac
506
        deplibs="$deplibs $arg"
507
        ;;
508
 
509
      -l*) deplibs="$deplibs $arg" ;;
510
 
511
      -no-undefined)
512
        allow_undefined=no
513
        continue
514
        ;;
515
 
516
      -o) prev=output ;;
517
 
518
      -release)
519
        prev=release
520
        continue
521
        ;;
522
 
523
      -rpath)
524
        prev=rpath
525
        continue
526
        ;;
527
 
528
      -static)
529
        # If we have no pic_flag, then this is the same as -all-static.
530
        if test -z "$pic_flag" && test -n "$link_static_flag"; then
531
          compile_command="$compile_command $link_static_flag"
532
          finalize_command="$finalize_command $link_static_flag"
533
        fi
534
        continue
535
        ;;
536
 
537
      -version-info)
538
        prev=vinfo
539
        continue
540
        ;;
541
 
542
      # Some other compiler flag.
543
      -* | +*)
544
        # Unknown arguments in both finalize_command and compile_command need
545
        # to be aesthetically quoted because they are evaled later.
546
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
547
        case "$arg" in
548
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
549
          arg="\"$arg\""
550
          ;;
551
        esac
552
        ;;
553
 
554
      *.o | *.a)
555
        # A standard object.
556
        objs="$objs $arg"
557
        ;;
558
 
559
      *.lo)
560
        # A library object.
561
        if test "$prev" = dlfiles; then
562
          dlfiles="$dlfiles $arg"
563
          if test "$build_libtool_libs" = yes; then
564
            prev=
565
            continue
566
          else
567
            # If libtool objects are unsupported, then we need to preload.
568
            prev=dlprefiles
569
          fi
570
        fi
571
 
572
        if test "$prev" = dlprefiles; then
573
          # Preload the old-style object.
574
          dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
575
          prev=
576
        fi
577
        libobjs="$libobjs $arg"
578
        ;;
579
 
580
      *.la)
581
        # A libtool-controlled library.
582
 
583
        dlname=
584
        libdir=
585
        library_names=
586
        old_library=
587
 
588
        # Check to see that this really is a libtool archive.
589
        if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
590
        else
591
          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
592
          exit 1
593
        fi
594
 
595
        # If there is no directory component, then add one.
596
        case "$arg" in
597
        */* | *\\*) . $arg ;;
598
        *) . ./$arg ;;
599
        esac
600
 
601
        if test -z "$libdir"; then
602
          $echo "$modename: \`$arg' contains no -rpath information" 1>&2
603
          exit 1
604
        fi
605
 
606
        # Get the name of the library we link against.
607
        linklib=
608
        for l in $old_library $library_names; do
609
          linklib="$l"
610
        done
611
 
612
        if test -z "$linklib"; then
613
          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
614
          exit 1
615
        fi
616
 
617
        # Find the relevant object directory and library name.
618
        name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
619
        dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
620
        if test "X$dir" = "X$arg"; then
621
          dir="$objdir"
622
        else
623
          dir="$dir/$objdir"
624
        fi
625
 
626
        # This library was specified with -dlopen.
627
        if test "$prev" = dlfiles; then
628
          dlfiles="$dlfiles $arg"
629
          if test -z "$dlname"; then
630
            # If there is no dlname, we need to preload.
631
            prev=dlprefiles
632
          else
633
            # We should not create a dependency on this library, but we
634
            # may need any libraries it requires.
635
            compile_command="$compile_command$dependency_libs"
636
            finalize_command="$finalize_command$dependency_libs"
637
            prev=
638
            continue
639
          fi
640
        fi
641
 
642
        # The library was specified with -dlpreopen.
643
        if test "$prev" = dlprefiles; then
644
          # Prefer using a static library (so that no silly _DYNAMIC symbols
645
          # are required to link).
646
          if test -n "$old_library"; then
647
            dlprefiles="$dlprefiles $dir/$old_library"
648
          else
649
            dlprefiles="$dlprefiles $dir/$linklib"
650
          fi
651
          prev=
652
        fi
653
 
654
        if test "$build_libtool_libs" = yes && test -n "$library_names"; then
655
          link_against_libtool_libs="$link_against_libtool_libs $arg"
656
          if test -n "$shlibpath_var"; then
657
            # Make sure the rpath contains only unique directories.
658
            case "$temp_rpath " in
659
            *" $dir "*) ;;
660
            *) temp_rpath="$temp_rpath $dir" ;;
661
            esac
662
          fi
663
 
664
          # This is the magic to use -rpath.
665
          if test -n "$hardcode_libdir_flag_spec"; then
666
            if test -n "$hardcode_libdir_separator"; then
667
              if test -z "$hardcode_libdirs"; then
668
                # Put the magic libdir with the hardcode flag.
669
                hardcode_libdirs="$libdir"
670
                libdir="@HARDCODE_LIBDIRS@"
671
              else
672
                # Just accumulate the unique libdirs.
673
                case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
674
                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
675
                  ;;
676
                *)
677
                  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
678
                  ;;
679
                esac
680
                libdir=
681
              fi
682
            fi
683
 
684
            if test -n "$libdir"; then
685
              eval flag=\"$hardcode_libdir_flag_spec\"
686
 
687
              compile_command="$compile_command $flag"
688
              finalize_command="$finalize_command $flag"
689
            fi
690
          elif test -n "$runpath_var"; then
691
            # Do the same for the permanent run path.
692
            case "$perm_rpath " in
693
            *" $libdir "*) ;;
694
            *) perm_rpath="$perm_rpath $libdir" ;;
695
            esac
696
          fi
697
 
698
 
699
          case "$hardcode_action" in
700
          immediate)
701
            if test "$hardcode_direct" = no; then
702
              compile_command="$compile_command $dir/$linklib"
703
            elif test "$hardcode_minus_L" = no; then
704
              compile_command="$compile_command -L$dir -l$name"
705
            elif test "$hardcode_shlibpath_var" = no; then
706
              compile_shlibpath="$compile_shlibpath$dir:"
707
              compile_command="$compile_command -l$name"
708
            fi
709
            ;;
710
 
711
          relink)
712
            # We need an absolute path.
713
            case "$dir" in
714
            /* | [A-Za-z]:\\*) ;;
715
            *)
716
              absdir=`cd "$dir" && pwd`
717
              if test -z "$absdir"; then
718
                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
719
                exit 1
720
              fi
721
              dir="$absdir"
722
              ;;
723
            esac
724
 
725
            if test "$hardcode_direct" = yes; then
726
              compile_command="$compile_command $dir/$linklib"
727
            elif test "$hardcode_minus_L" = yes; then
728
              compile_command="$compile_command -L$dir -l$name"
729
            elif test "$hardcode_shlibpath_var" = yes; then
730
              compile_shlibpath="$compile_shlibpath$dir:"
731
              compile_command="$compile_command -l$name"
732
            fi
733
            ;;
734
 
735
          *)
736
            $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
737
            exit 1
738
            ;;
739
          esac
740
 
741
          # Finalize command for both is simple: just hardcode it.
742
          if test "$hardcode_direct" = yes; then
743
            finalize_command="$finalize_command $libdir/$linklib"
744
          elif test "$hardcode_minus_L" = yes; then
745
            finalize_command="$finalize_command -L$libdir -l$name"
746
          elif test "$hardcode_shlibpath_var" = yes; then
747
            finalize_shlibpath="$finalize_shlibpath$libdir:"
748
            finalize_command="$finalize_command -l$name"
749
          else
750
            # We cannot seem to hardcode it, guess we'll fake it.
751
            finalize_command="$finalize_command -L$libdir -l$name"
752
          fi
753
        else
754
          # Transform directly to old archives if we don't build new libraries.
755
          if test -n "$pic_flag" && test -z "$old_library"; then
756
            $echo "$modename: cannot find static library for \`$arg'" 1>&2
757
            exit 1
758
          fi
759
 
760
          # Here we assume that one of hardcode_direct or hardcode_minus_L
761
          # is not unsupported.  This is valid on all known static and
762
          # shared platforms.
763
          if test "$hardcode_direct" != unsupported; then
764
            test -n "$old_library" && linklib="$old_library"
765
            compile_command="$compile_command $dir/$linklib"
766
            finalize_command="$finalize_command $dir/$linklib"
767
          else
768
            compile_command="$compile_command -L$dir -l$name"
769
            finalize_command="$finalize_command -L$dir -l$name"
770
          fi
771
        fi
772
 
773
        # Add in any libraries that this one depends upon.
774
        compile_command="$compile_command$dependency_libs"
775
        finalize_command="$finalize_command$dependency_libs"
776
        continue
777
        ;;
778
 
779
      # Some other compiler argument.
780
      *)
781
        # Unknown arguments in both finalize_command and compile_command need
782
        # to be aesthetically quoted because they are evaled later.
783
        arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
784
        case "$arg" in
785
        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*)
786
          arg="\"$arg\""
787
          ;;
788
        esac
789
        ;;
790
      esac
791
 
792
      # Now actually substitute the argument into the commands.
793
      if test -n "$arg"; then
794
        compile_command="$compile_command $arg"
795
        finalize_command="$finalize_command $arg"
796
      fi
797
    done
798
 
799
    if test -n "$prev"; then
800
      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
801
      $echo "$help" 1>&2
802
      exit 1
803
    fi
804
 
805
    if test -n "$vinfo" && test -n "$release"; then
806
      $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
807
      $echo "$help" 1>&2
808
      exit 1
809
    fi
810
 
811
    oldlib=
812
    oldobjs=
813
    case "$output" in
814
    "")
815
      $echo "$modename: you must specify an output file" 1>&2
816
      $echo "$help" 1>&2
817
      exit 1
818
      ;;
819
 
820
    */* | *\\*)
821
      $echo "$modename: output file \`$output' must have no directory components" 1>&2
822
      exit 1
823
      ;;
824
 
825
    *.a)
826
      # Now set the variables for building old libraries.
827
      build_libtool_libs=no
828
      build_old_libs=yes
829
      oldlib="$output"
830
      $show "$rm $oldlib"
831
      $run $rm $oldlib
832
      ;;
833
 
834
    *.la)
835
      # Make sure we only generate libraries of the form `libNAME.la'.
836
      case "$output" in
837
      lib*) ;;
838
      *)
839
        $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
840
        $echo "$help" 1>&2
841
        exit 1
842
        ;;
843
      esac
844
 
845
      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
846
      eval libname=\"$libname_spec\"
847
 
848
      # All the library-specific variables (install_libdir is set above).
849
      library_names=
850
      old_library=
851
      dlname=
852
      current=0
853
      revision=0
854
      age=0
855
 
856
      if test -n "$objs"; then
857
        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
858
        exit 1
859
      fi
860
 
861
      # How the heck are we supposed to write a wrapper for a shared library?
862
      if test -n "$link_against_libtool_libs"; then
863
        $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
864
        exit 1
865
      fi
866
 
867
      if test -n "$dlfiles$dlprefiles"; then
868
        $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
869
        # Nullify the symbol file.
870
        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
871
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
872
      fi
873
 
874
      if test -z "$rpath"; then
875
        $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
876
        $echo "$help" 1>&2
877
        exit 1
878
      fi
879
 
880
      set dummy $rpath
881
      if test $# -gt 2; then
882
        $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
883
      fi
884
      install_libdir="$2"
885
 
886
      # Parse the version information argument.
887
      IFS="${IFS=       }"; save_ifs="$IFS"; IFS=':'
888
      set dummy $vinfo
889
      IFS="$save_ifs"
890
 
891
      if test -n "$5"; then
892
        $echo "$modename: too many parameters to \`-version-info'" 1>&2
893
        $echo "$help" 1>&2
894
        exit 1
895
      fi
896
 
897
      test -n "$2" && current="$2"
898
      test -n "$3" && revision="$3"
899
      test -n "$4" && age="$4"
900
 
901
      # Check that each of the things are valid numbers.
902
      case "$current" in
903
 
904
      *)
905
        $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
906
        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
907
        exit 1
908
        ;;
909
      esac
910
 
911
      case "$revision" in
912
 
913
      *)
914
        $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
915
        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
916
        exit 1
917
        ;;
918
      esac
919
 
920
      case "$age" in
921
 
922
      *)
923
        $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
924
        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
925
        exit 1
926
        ;;
927
      esac
928
 
929
      if test $age -gt $current; then
930
        $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
931
        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
932
        exit 1
933
      fi
934
 
935
      # Calculate the version variables.
936
      version_vars="version_type current age revision"
937
      case "$version_type" in
938
      none) ;;
939
 
940
      linux)
941
        version_vars="$version_vars major versuffix"
942
        major=`expr $current - $age`
943
        versuffix="$major.$age.$revision"
944
        ;;
945
 
946
      osf)
947
        version_vars="$version_vars versuffix verstring"
948
        major=`expr $current - $age`
949
        versuffix="$current.$age.$revision"
950
        verstring="$versuffix"
951
 
952
        # Add in all the interfaces that we are compatible with.
953
        loop=$age
954
        while test $loop != 0; do
955
          iface=`expr $current - $loop`
956
          loop=`expr $loop - 1`
957
          verstring="$verstring:${iface}.0"
958
        done
959
 
960
        # Make executables depend on our current version.
961
        verstring="$verstring:${current}.0"
962
        ;;
963
 
964
      sunos)
965
        version_vars="$version_vars major versuffix"
966
        major="$current"
967
        versuffix="$current.$revision"
968
        ;;
969
 
970
      *)
971
        $echo "$modename: unknown library version type \`$version_type'" 1>&2
972
        echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
973
        exit 1
974
        ;;
975
      esac
976
 
977
      # Create the output directory, or remove our outputs if we need to.
978
      if test -d $objdir; then
979
        $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
980
        $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
981
      else
982
        $show "$mkdir $objdir"
983
        $run $mkdir $objdir
984
        status=$?
985
        if test $status -eq 0 || test -d $objdir; then :
986
        else
987
          exit $status
988
        fi
989
      fi
990
 
991
      # Check to see if the archive will have undefined symbols.
992
      if test "$allow_undefined" = yes; then
993
        if test "$allow_undefined_flag" = unsupported; then
994
          $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
995
          build_libtool_libs=no
996
          build_old_libs=yes
997
        fi
998
      else
999
        # Don't allow undefined symbols.
1000
        allow_undefined_flag="$no_undefined_flag"
1001
      fi
1002
 
1003
      # Add libc to deplibs on all systems.
1004
      dependency_libs="$deplibs"
1005
      deplibs="$deplibs -lc"
1006
 
1007
      if test "$build_libtool_libs" = yes; then
1008
        # Get the real and link names of the library.
1009
        eval library_names=\"$library_names_spec\"
1010
        set dummy $library_names
1011
        realname="$2"
1012
        shift; shift
1013
 
1014
        if test -n "$soname_spec"; then
1015
          eval soname=\"$soname_spec\"
1016
        else
1017
          soname="$realname"
1018
        fi
1019
 
1020
        lib="$objdir/$realname"
1021
        for link
1022
        do
1023
          linknames="$linknames $link"
1024
        done
1025
 
1026
        # Use standard objects if they are PIC.
1027
        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
1028
 
1029
        # Do each of the archive commands.
1030
        eval cmds=\"$archive_cmds\"
1031
        IFS="${IFS=     }"; save_ifs="$IFS"; IFS=';'
1032
        for cmd in $cmds; do
1033
          IFS="$save_ifs"
1034
          $show "$cmd"
1035
          $run eval "$cmd" || exit $?
1036
        done
1037
        IFS="$save_ifs"
1038
 
1039
        # Create links to the real library.
1040
        for linkname in $linknames; do
1041
          $show "(cd $objdir && $LN_S $realname $linkname)"
1042
          $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
1043
        done
1044
 
1045
        # If -export-dynamic was specified, set the dlname.
1046
        if test "$export_dynamic" = yes; then
1047
          # On all known operating systems, these are identical.
1048
          dlname="$soname"
1049
        fi
1050
      fi
1051
 
1052
      # Now set the variables for building old libraries.
1053
      oldlib="$objdir/$libname.a"
1054
      ;;
1055
 
1056
    *.lo | *.o)
1057
      if test -n "$link_against_libtool_libs"; then
1058
        $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
1059
        exit 1
1060
      fi
1061
 
1062
      if test -n "$deplibs"; then
1063
        $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
1064
      fi
1065
 
1066
      if test -n "$dlfiles$dlprefiles"; then
1067
        $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
1068
        # Nullify the symbol file.
1069
        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
1070
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
1071
      fi
1072
 
1073
      if test -n "$rpath"; then
1074
        $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
1075
      fi
1076
 
1077
      if test -n "$vinfo"; then
1078
        $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
1079
      fi
1080
 
1081
      if test -n "$release"; then
1082
        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
1083
      fi
1084
 
1085
      case "$output" in
1086
      *.lo)
1087
        if test -n "$objs"; then
1088
          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
1089
          exit 1
1090
        fi
1091
        libobj="$output"
1092
        obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
1093
        ;;
1094
      *)
1095
        libobj=
1096
        obj="$output"
1097
        ;;
1098
      esac
1099
 
1100
      # Delete the old objects.
1101
      $run $rm $obj $libobj
1102
 
1103
      # Create the old-style object.
1104
      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
1105
 
1106
      output="$obj"
1107
      eval cmds=\"$reload_cmds\"
1108
      IFS="${IFS=       }"; save_ifs="$IFS"; IFS=';'
1109
      for cmd in $cmds; do
1110
        IFS="$save_ifs"
1111
        $show "$cmd"
1112
        $run eval "$cmd" || exit $?
1113
      done
1114
      IFS="$save_ifs"
1115
 
1116
      # Exit if we aren't doing a library object file.
1117
      test -z "$libobj" && exit 0
1118
 
1119
      if test "$build_libtool_libs" != yes; then
1120
        # Create an invalid libtool object if no PIC, so that we don't
1121
        # accidentally link it into a program.
1122
        $show "echo timestamp > $libobj"
1123
        $run eval "echo timestamp > $libobj" || exit $?
1124
        exit 0
1125
      fi
1126
 
1127
      if test -n "$pic_flag"; then
1128
        # Only do commands if we really have different PIC objects.
1129
        reload_objs="$libobjs"
1130
        output="$libobj"
1131
        eval cmds=\"$reload_cmds\"
1132
        IFS="${IFS=     }"; save_ifs="$IFS"; IFS=';'
1133
        for cmd in $cmds; do
1134
          IFS="$save_ifs"
1135
          $show "$cmd"
1136
          $run eval "$cmd" || exit $?
1137
        done
1138
        IFS="$save_ifs"
1139
      else
1140
        # Just create a symlink.
1141
        $show "$LN_S $obj $libobj"
1142
        $run $LN_S $obj $libobj || exit 1
1143
      fi
1144
 
1145
      exit 0
1146
      ;;
1147
 
1148
    *)
1149
      if test -n "$vinfo"; then
1150
        $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
1151
      fi
1152
 
1153
      if test -n "$release"; then
1154
        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
1155
      fi
1156
 
1157
      if test -n "$rpath"; then
1158
        # If the user specified any rpath flags, then add them.
1159
        for libdir in $rpath; do
1160
          if test -n "$hardcode_libdir_flag_spec"; then
1161
            if test -n "$hardcode_libdir_separator"; then
1162
              if test -z "$hardcode_libdirs"; then
1163
                # Put the magic libdir with the hardcode flag.
1164
                hardcode_libdirs="$libdir"
1165
                libdir="@HARDCODE_LIBDIRS@"
1166
              else
1167
                # Just accumulate the unique libdirs.
1168
                case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
1169
                *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
1170
                  ;;
1171
                *)
1172
                  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
1173
                  ;;
1174
                esac
1175
                libdir=
1176
              fi
1177
            fi
1178
 
1179
            if test -n "$libdir"; then
1180
              eval flag=\"$hardcode_libdir_flag_spec\"
1181
 
1182
              compile_command="$compile_command $flag"
1183
              finalize_command="$finalize_command $flag"
1184
            fi
1185
          elif test -n "$runpath_var"; then
1186
            case "$perm_rpath " in
1187
            *" $libdir "*) ;;
1188
            *) perm_rpath="$perm_rpath $libdir" ;;
1189
            esac
1190
          fi
1191
        done
1192
      fi
1193
 
1194
      # Substitute the hardcoded libdirs into the compile commands.
1195
      if test -n "$hardcode_libdir_separator"; then
1196
        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
1197
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
1198
      fi
1199
 
1200
      if test -n "$libobjs" && test "$build_old_libs" = yes; then
1201
        # Transform all the library objects into standard objects.
1202
        compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
1203
        finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
1204
      fi
1205
 
1206
      if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
1207
        dlsyms="${output}S.c"
1208
      else
1209
        dlsyms=
1210
      fi
1211
 
1212
      if test -n "$dlsyms"; then
1213
        # Add our own program objects to the preloaded list.
1214
        dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
1215
 
1216
        # Discover the nlist of each of the dlfiles.
1217
        nlist="$objdir/${output}.nm"
1218
 
1219
        if test -d $objdir; then
1220
          $show "$rm $nlist ${nlist}T"
1221
          $run $rm "$nlist" "${nlist}T"
1222
        else
1223
          $show "$mkdir $objdir"
1224
          $run $mkdir $objdir
1225
          status=$?
1226
          if test $status -eq 0 || test -d $objdir; then :
1227
          else
1228
            exit $status
1229
          fi
1230
        fi
1231
 
1232
        for arg in $dlprefiles; do
1233
          $show "extracting global C symbols from \`$arg'"
1234
          $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
1235
        done
1236
 
1237
        # Parse the name list into a source file.
1238
        $show "creating $objdir/$dlsyms"
1239
        if test -z "$run"; then
1240
          # Make sure we at least have an empty file.
1241
          test -f "$nlist" || : > "$nlist"
1242
 
1243
          # Try sorting and uniquifying the output.
1244
          if sort "$nlist" | uniq > "$nlist"T; then
1245
            mv -f "$nlist"T "$nlist"
1246
            wcout=`wc "$nlist" 2>/dev/null`
1247
            count=`echo "X$wcout" | $Xsed -e 's/^[      ]*\([0-9][0-9]*\).*$/\1/'`
1248
            (test "$count" -ge 0) 2>/dev/null || count=-1
1249
          else
1250
            $rm "$nlist"T
1251
            count=-1
1252
          fi
1253
 
1254
          case "$dlsyms" in
1255
          "") ;;
1256
          *.c)
1257
            $echo > "$objdir/$dlsyms" "\
1258
/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
1259
/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
1260
 
1261
#ifdef __cplusplus
1262
extern \"C\" {
1263
#endif
1264
 
1265
/* Prevent the only kind of declaration conflicts we can make. */
1266
#define dld_preloaded_symbol_count some_other_symbol
1267
#define dld_preloaded_symbols some_other_symbol
1268
 
1269
/* External symbol declarations for the compiler. */\
1270
"
1271
 
1272
            if test -f "$nlist"; then
1273
              sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
1274
            else
1275
              echo '/* NONE */' >> "$objdir/$dlsyms"
1276
            fi
1277
 
1278
            $echo >> "$objdir/$dlsyms" "\
1279
 
1280
#undef dld_preloaded_symbol_count
1281
#undef dld_preloaded_symbols
1282
 
1283
#if defined (__STDC__) && __STDC__
1284
# define __ptr_t void *
1285
#else
1286
# define __ptr_t char *
1287
#endif
1288
 
1289
/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
1290
int dld_preloaded_symbol_count = $count;
1291
 
1292
/* The mapping between symbol names and symbols. */
1293
struct {
1294
  char *name;
1295
  __ptr_t address;
1296
}
1297
dld_preloaded_symbols[] =
1298
{\
1299
"
1300
 
1301
            if test -f "$nlist"; then
1302
              sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
1303
            fi
1304
 
1305
            $echo >> "$objdir/$dlsyms" "\
1306
  {0, (__ptr_t) 0}
1307
};
1308
 
1309
#ifdef __cplusplus
1310
}
1311
#endif\
1312
"
1313
            ;;
1314
 
1315
          *)
1316
            $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
1317
            exit 1
1318
            ;;
1319
          esac
1320
        fi
1321
 
1322
        # Now compile the dynamic symbol file.
1323
        $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")"
1324
        $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
1325
 
1326
        # Transform the symbol file into the correct name.
1327
        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
1328
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
1329
      elif test "$export_dynamic" != yes; then
1330
        test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
1331
      else
1332
        # We keep going just in case the user didn't refer to
1333
        # dld_preloaded_symbols.  The linker will fail if global_symbol_pipe
1334
        # really was required.
1335
        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
1336
 
1337
        # Nullify the symbol file.
1338
        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
1339
        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
1340
      fi
1341
 
1342
      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
1343
        # Replace the output file specification.
1344
        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1345
        finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
1346
 
1347
        # We have no uninstalled library dependencies, so finalize right now.
1348
        $show "$compile_command"
1349
        $run eval "$compile_command"
1350
        exit $?
1351
      fi
1352
 
1353
      # Replace the output file specification.
1354
      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
1355
      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
1356
 
1357
      # Create the binary in the object directory, then wrap it.
1358
      if test -d $objdir; then :
1359
      else
1360
        $show "$mkdir $objdir"
1361
        $run $mkdir $objdir
1362
        status=$?
1363
        if test $status -eq 0 || test -d $objdir; then :
1364
        else
1365
          exit $status
1366
        fi
1367
      fi
1368
 
1369
      if test -n "$shlibpath_var"; then
1370
        # We should set the shlibpath_var
1371
        rpath=
1372
        for dir in $temp_rpath; do
1373
          case "$dir" in
1374
          /* | [A-Za-z]:\\*)
1375
            # Absolute path.
1376
            rpath="$rpath$dir:"
1377
            ;;
1378
          *)
1379
            # Relative path: add a thisdir entry.
1380
            rpath="$rpath\$thisdir/$dir:"
1381
            ;;
1382
          esac
1383
        done
1384
        temp_rpath="$rpath"
1385
      fi
1386
 
1387
      # Delete the old output file.
1388
      $run $rm $output
1389
 
1390
      if test -n "$compile_shlibpath"; then
1391
        compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
1392
      fi
1393
      if test -n "$finalize_shlibpath"; then
1394
        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
1395
      fi
1396
 
1397
      if test -n "$runpath_var" && test -n "$perm_rpath"; then
1398
        # We should set the runpath_var.
1399
        rpath=
1400
        for dir in $perm_rpath; do
1401
          rpath="$rpath$dir:"
1402
        done
1403
        compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
1404
        finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
1405
      fi
1406
 
1407
      case "$hardcode_action" in
1408
      relink)
1409
        # AGH! Flame the AIX and HP-UX people for me, will ya?
1410
        $echo "$modename: warning: using a buggy system linker" 1>&2
1411
        $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
1412
        ;;
1413
      esac
1414
 
1415
      $show "$compile_command"
1416
      $run eval "$compile_command" || exit $?
1417
 
1418
      # Now create the wrapper script.
1419
      $show "creating $output"
1420
 
1421
      # Quote the finalize command for shipping.
1422
      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
1423
 
1424
      # Quote $echo for shipping.
1425
      qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
1426
 
1427
      # Only actually do things if our run command is non-null.
1428
      if test -z "$run"; then
1429
        $rm $output
1430
        trap "$rm $output; exit 1" 1 2 15
1431
 
1432
        $echo > $output "\
1433
#! /bin/sh
1434
 
1435
# $output - temporary wrapper script for $objdir/$output
1436
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
1437
#
1438
# The $output program cannot be directly executed until all the libtool
1439
# libraries that it depends on are installed.
1440
#
1441
# This wrapper script should never be moved out of \``pwd`'.
1442
# If it is, it will not operate correctly.
1443
 
1444
# Sed substitution that helps us do robust quoting.  It backslashifies
1445
# metacharacters that are still active within double-quoted strings.
1446
Xsed='sed -e s/^X//'
1447
sed_quote_subst='$sed_quote_subst'
1448
 
1449
# The HP-UX ksh and POSIX shell print the target directory to stdout
1450
# if CDPATH is set.
1451
if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
1452
 
1453
# This environment variable determines our operation mode.
1454
if test \"\$libtool_install_magic\" = \"$magic\"; then
1455
  # install mode needs the following variables:
1456
  link_against_libtool_libs='$link_against_libtool_libs'
1457
  finalize_command=\"$finalize_command\"
1458
else
1459
  # When we are sourced in execute mode, \$file and \$echo are already set.
1460
  if test \"\$libtool_execute_magic\" = \"$magic\"; then :
1461
  else
1462
    echo=\"$qecho\"
1463
    file=\"\$0\"
1464
  fi\
1465
"
1466
        $echo >> $output "\
1467
 
1468
  # Find the directory that this script lives in.
1469
  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
1470
  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
1471
 
1472
  # Follow symbolic links until we get to the real thisdir.
1473
  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
1474
  while test -n \"\$file\"; do
1475
    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
1476
 
1477
    # If there was a directory component, then change thisdir.
1478
    if test \"x\$destdir\" != \"x\$file\"; then
1479
      case \"\$destdir\" in
1480
      /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
1481
      *) thisdir=\"\$thisdir/\$destdir\" ;;
1482
      esac
1483
    fi
1484
 
1485
    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
1486
    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
1487
  done
1488
 
1489
  # Try to get the absolute directory name.
1490
  absdir=\`cd \"\$thisdir\" && pwd\`
1491
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
1492
 
1493
  progdir=\"\$thisdir/$objdir\"
1494
  program='$output'
1495
 
1496
  if test -f \"\$progdir/\$program\"; then"
1497
 
1498
        # Export our shlibpath_var if we have one.
1499
        if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
1500
          $echo >> $output "\
1501
    # Add our own library path to $shlibpath_var
1502
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
1503
 
1504
    # Some systems cannot cope with colon-terminated $shlibpath_var
1505
    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
1506
 
1507
    export $shlibpath_var
1508
"
1509
        fi
1510
 
1511
        $echo >> $output "\
1512
    if test \"\$libtool_execute_magic\" != \"$magic\"; then
1513
      # Run the actual program with our arguments.
1514
 
1515
      # Export the path to the program.
1516
      PATH=\"\$progdir:\$PATH\"
1517
      export PATH
1518
 
1519
      exec \$program \${1+\"\$@\"}
1520
 
1521
      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
1522
      exit 1
1523
    fi
1524
  else
1525
    # The program doesn't exist.
1526
    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
1527
    \$echo \"This script is just a wrapper for \$program.\" 1>&2
1528
    echo \"See the $PACKAGE documentation for more information.\" 1>&2
1529
    exit 1
1530
  fi
1531
fi\
1532
"
1533
        chmod +x $output
1534
      fi
1535
      exit 0
1536
      ;;
1537
    esac
1538
 
1539
    # See if we need to build an old-fashioned archive.
1540
    if test "$build_old_libs" = "yes"; then
1541
      # Transform .lo files to .o files.
1542
      oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
1543
 
1544
      # Do each command in the archive commands.
1545
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
1546
        eval cmds=\"$old_archive_from_new_cmds\"
1547
      else
1548
        eval cmds=\"$old_archive_cmds\"
1549
      fi
1550
      IFS="${IFS=       }"; save_ifs="$IFS"; IFS=';'
1551
      for cmd in $cmds; do
1552
        IFS="$save_ifs"
1553
        $show "$cmd"
1554
        $run eval "$cmd" || exit $?
1555
      done
1556
      IFS="$save_ifs"
1557
    fi
1558
 
1559
    # Now create the libtool archive.
1560
    case "$output" in
1561
    *.la)
1562
      old_library=
1563
      test "$build_old_libs" = yes && old_library="$libname.a"
1564
 
1565
      $show "creating $output"
1566
 
1567
      # Only create the output if not a dry run.
1568
      if test -z "$run"; then
1569
        $echo > $output "\
1570
# $output - a libtool library file
1571
# Generated by ltmain.sh - GNU $PACKAGE $VERSION
1572
 
1573
# The name that we can dlopen(3).
1574
dlname='$dlname'
1575
 
1576
# Names of this library.
1577
library_names='$library_names'
1578
 
1579
# The name of the static archive.
1580
old_library='$old_library'
1581
 
1582
# Libraries that this one depends upon.
1583
dependency_libs='$dependency_libs'
1584
 
1585
# Version information for $libname.
1586
current=$current
1587
age=$age
1588
revision=$revision
1589
 
1590
# Directory that this library needs to be installed in:
1591
libdir='$install_libdir'\
1592
"
1593
      fi
1594
 
1595
      # Do a symbolic link so that the libtool archive can be found in
1596
      # LD_LIBRARY_PATH before the program is installed.
1597
      $show "(cd $objdir && $LN_S ../$output $output)"
1598
      $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
1599
      ;;
1600
    esac
1601
    exit 0
1602
    ;;
1603
 
1604
  # libtool install mode
1605
  install)
1606
    modename="$modename: install"
1607
 
1608
    # There may be an optional /bin/sh argument at the beginning of
1609
    # install_prog (especially on Windows NT).
1610
    if test "$nonopt" = "$SHELL"; then
1611
      # Aesthetically quote it.
1612
      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
1613
      case "$arg" in
1614
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
1615
        arg="\"$arg\""
1616
        ;;
1617
      esac
1618
      install_prog="$arg "
1619
      arg="$1"
1620
      shift
1621
    else
1622
      install_prog=
1623
      arg="$nonopt"
1624
    fi
1625
 
1626
    # The real first argument should be the name of the installation program.
1627
    # Aesthetically quote it.
1628
    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1629
    case "$arg" in
1630
    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*)
1631
      arg="\"$arg\""
1632
      ;;
1633
    esac
1634
    install_prog="$install_prog$arg"
1635
 
1636
    # We need to accept at least all the BSD install flags.
1637
    dest=
1638
    files=
1639
    opts=
1640
    prev=
1641
    install_type=
1642
    isdir=
1643
    stripme=
1644
    for arg
1645
    do
1646
      if test -n "$dest"; then
1647
        files="$files $dest"
1648
        dest="$arg"
1649
        continue
1650
      fi
1651
 
1652
      case "$arg" in
1653
      -d) isdir=yes ;;
1654
      -f) prev="-f" ;;
1655
      -g) prev="-g" ;;
1656
      -m) prev="-m" ;;
1657
      -o) prev="-o" ;;
1658
      -s)
1659
        stripme=" -s"
1660
        continue
1661
        ;;
1662
      -*) ;;
1663
 
1664
      *)
1665
        # If the previous option needed an argument, then skip it.
1666
        if test -n "$prev"; then
1667
          prev=
1668
        else
1669
          dest="$arg"
1670
          continue
1671
        fi
1672
        ;;
1673
      esac
1674
 
1675
      # Aesthetically quote the argument.
1676
      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1677
      case "$arg" in
1678
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*)
1679
        arg="\"$arg\""
1680
        ;;
1681
      esac
1682
      install_prog="$install_prog $arg"
1683
    done
1684
 
1685
    if test -z "$install_prog"; then
1686
      $echo "$modename: you must specify an install program" 1>&2
1687
      $echo "$help" 1>&2
1688
      exit 1
1689
    fi
1690
 
1691
    if test -n "$prev"; then
1692
      $echo "$modename: the \`$prev' option requires an argument" 1>&2
1693
      $echo "$help" 1>&2
1694
      exit 1
1695
    fi
1696
 
1697
    if test -z "$files"; then
1698
      if test -z "$dest"; then
1699
        $echo "$modename: no file or destination specified" 1>&2
1700
      else
1701
        $echo "$modename: you must specify a destination" 1>&2
1702
      fi
1703
      $echo "$help" 1>&2
1704
      exit 1
1705
    fi
1706
 
1707
    # Strip any trailing slash from the destination.
1708
    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
1709
 
1710
    # Check to see that the destination is a directory.
1711
    test -d "$dest" && isdir=yes
1712
    if test -n "$isdir"; then
1713
      destdir="$dest"
1714
      destname=
1715
    else
1716
      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
1717
      test "X$destdir" = "X$dest" && destdir=.
1718
      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
1719
 
1720
      # Not a directory, so check to see that there is only one file specified.
1721
      set dummy $files
1722
      if test $# -gt 2; then
1723
        $echo "$modename: \`$dest' is not a directory" 1>&2
1724
        $echo "$help" 1>&2
1725
        exit 1
1726
      fi
1727
    fi
1728
    case "$destdir" in
1729
    /* | [A-Za-z]:\\*) ;;
1730
    *)
1731
      for file in $files; do
1732
        case "$file" in
1733
        *.lo) ;;
1734
        *)
1735
          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
1736
          $echo "$help" 1>&2
1737
          exit 1
1738
          ;;
1739
        esac
1740
      done
1741
      ;;
1742
    esac
1743
 
1744
    # This variable tells wrapper scripts just to set variables rather
1745
    # than running their programs.
1746
    libtool_install_magic="$magic"
1747
 
1748
    staticlibs=
1749
    future_libdirs=
1750
    current_libdirs=
1751
    for file in $files; do
1752
 
1753
      # Do each installation.
1754
      case "$file" in
1755
      *.a)
1756
        # Do the static libraries later.
1757
        staticlibs="$staticlibs $file"
1758
        ;;
1759
 
1760
      *.la)
1761
        # Check to see that this really is a libtool archive.
1762
        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
1763
        else
1764
          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
1765
          $echo "$help" 1>&2
1766
          exit 1
1767
        fi
1768
 
1769
        library_names=
1770
        old_library=
1771
        # If there is no directory component, then add one.
1772
        case "$file" in
1773
        */* | *\\*) . $file ;;
1774
        *) . ./$file ;;
1775
        esac
1776
 
1777
        # Add the libdir to current_libdirs if it is the destination.
1778
        if test "X$destdir" = "X$libdir"; then
1779
          case "$current_libdirs " in
1780
          *" $libdir "*) ;;
1781
          *) current_libdirs="$current_libdirs $libdir" ;;
1782
          esac
1783
        else
1784
          # Note the libdir as a future libdir.
1785
          case "$future_libdirs " in
1786
          *" $libdir "*) ;;
1787
          *) future_libdirs="$future_libdirs $libdir" ;;
1788
          esac
1789
        fi
1790
 
1791
        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
1792
        test "X$dir" = "X$file/" && dir=
1793
        dir="$dir$objdir"
1794
 
1795
        # See the names of the shared library.
1796
        set dummy $library_names
1797
        if test -n "$2"; then
1798
          realname="$2"
1799
          shift
1800
          shift
1801
 
1802
          # Install the shared library and build the symlinks.
1803
          $show "$install_prog $dir/$realname $destdir/$realname"
1804
          $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
1805
          test "X$dlname" = "X$realname" && dlname=
1806
 
1807
          if test $# -gt 0; then
1808
            # Delete the old symlinks.
1809
            rmcmd="$rm"
1810
            for linkname
1811
            do
1812
              rmcmd="$rmcmd $destdir/$linkname"
1813
            done
1814
            $show "$rmcmd"
1815
            $run $rmcmd
1816
 
1817
            # ... and create new ones.
1818
            for linkname
1819
            do
1820
              test "X$dlname" = "X$linkname" && dlname=
1821
              $show "(cd $destdir && $LN_S $realname $linkname)"
1822
              $run eval "(cd $destdir && $LN_S $realname $linkname)"
1823
            done
1824
          fi
1825
 
1826
          if test -n "$dlname"; then
1827
            # Install the dynamically-loadable library.
1828
            $show "$install_prog $dir/$dlname $destdir/$dlname"
1829
            $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
1830
          fi
1831
 
1832
          # Do each command in the postinstall commands.
1833
          lib="$destdir/$realname"
1834
          eval cmds=\"$postinstall_cmds\"
1835
          IFS="${IFS=   }"; save_ifs="$IFS"; IFS=';'
1836
          for cmd in $cmds; do
1837
            IFS="$save_ifs"
1838
            $show "$cmd"
1839
            $run eval "$cmd" || exit $?
1840
          done
1841
          IFS="$save_ifs"
1842
        fi
1843
 
1844
        # Install the pseudo-library for information purposes.
1845
        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1846
        $show "$install_prog $file $destdir/$name"
1847
        $run eval "$install_prog $file $destdir/$name" || exit $?
1848
 
1849
        # Maybe install the static library, too.
1850
        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
1851
        ;;
1852
 
1853
      *.lo)
1854
        # Install (i.e. copy) a libtool object.
1855
 
1856
        # Figure out destination file name, if it wasn't already specified.
1857
        if test -n "$destname"; then
1858
          destfile="$destdir/$destname"
1859
        else
1860
          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1861
          destfile="$destdir/$destfile"
1862
        fi
1863
 
1864
        # Deduce the name of the destination old-style object file.
1865
        case "$destfile" in
1866
        *.lo)
1867
          staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
1868
          ;;
1869
        *.o)
1870
          staticdest="$destfile"
1871
          destfile=
1872
          ;;
1873
        *)
1874
          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
1875
          $echo "$help" 1>&2
1876
          exit 1
1877
          ;;
1878
        esac
1879
 
1880
        # Install the libtool object if requested.
1881
        if test -n "$destfile"; then
1882
          $show "$install_prog $file $destfile"
1883
          $run eval "$install_prog $file $destfile" || exit $?
1884
        fi
1885
 
1886
        # Install the old object if enabled.
1887
        if test "$build_old_libs" = yes; then
1888
          # Deduce the name of the old-style object file.
1889
          staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
1890
 
1891
          $show "$install_prog $staticobj $staticdest"
1892
          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
1893
        fi
1894
        exit 0
1895
        ;;
1896
 
1897
      *)
1898
        # Do a test to see if this is really a libtool program.
1899
        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
1900
          link_against_libtool_libs=
1901
          finalize_command=
1902
 
1903
          # If there is no directory component, then add one.
1904
          case "$file" in
1905
          */* | *\\*) . $file ;;
1906
          *) . ./$file ;;
1907
          esac
1908
 
1909
          # Check the variables that should have been set.
1910
          if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
1911
            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
1912
            exit 1
1913
          fi
1914
 
1915
          finalize=yes
1916
          for lib in $link_against_libtool_libs; do
1917
            # Check to see that each library is installed.
1918
            libdir=
1919
            if test -f "$lib"; then
1920
              # If there is no directory component, then add one.
1921
              case "$lib" in
1922
              */* | *\\*) . $lib ;;
1923
              *) . ./$lib ;;
1924
              esac
1925
            fi
1926
            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
1927
            if test -z "$libdir"; then
1928
              $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
1929
            elif test -f "$libfile"; then :
1930
            else
1931
              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
1932
              finalize=no
1933
            fi
1934
          done
1935
 
1936
          if test "$hardcode_action" = relink; then
1937
            if test "$finalize" = yes; then
1938
              $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
1939
              $show "$finalize_command"
1940
              if $run eval "$finalize_command"; then :
1941
              else
1942
                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
1943
                continue
1944
              fi
1945
              file="$objdir/$file"T
1946
            else
1947
              $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
1948
            fi
1949
          else
1950
            # Install the binary that we compiled earlier.
1951
            file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
1952
          fi
1953
        fi
1954
 
1955
        $show "$install_prog$stripme $file $dest"
1956
        $run eval "$install_prog\$stripme \$file \$dest" || exit $?
1957
        ;;
1958
      esac
1959
    done
1960
 
1961
    for file in $staticlibs; do
1962
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
1963
 
1964
      # Set up the ranlib parameters.
1965
      oldlib="$destdir/$name"
1966
 
1967
      $show "$install_prog $file $oldlib"
1968
      $run eval "$install_prog \$file \$oldlib" || exit $?
1969
 
1970
      # Do each command in the postinstall commands.
1971
      eval cmds=\"$old_postinstall_cmds\"
1972
      IFS="${IFS=       }"; save_ifs="$IFS"; IFS=';'
1973
      for cmd in $cmds; do
1974
        IFS="$save_ifs"
1975
        $show "$cmd"
1976
        $run eval "$cmd" || exit $?
1977
      done
1978
      IFS="$save_ifs"
1979
    done
1980
 
1981
    if test -n "$future_libdirs"; then
1982
      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
1983
    fi
1984
 
1985
    if test -n "$current_libdirs"; then
1986
      # Maybe just do a dry run.
1987
      test -n "$run" && current_libdirs=" -n$current_libdirs"
1988
      exec $SHELL $0 --finish$current_libdirs
1989
      exit 1
1990
    fi
1991
 
1992
    exit 0
1993
    ;;
1994
 
1995
  # libtool finish mode
1996
  finish)
1997
    modename="$modename: finish"
1998
    libdirs="$nonopt"
1999
 
2000
    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
2001
      for dir
2002
      do
2003
        libdirs="$libdirs $dir"
2004
      done
2005
 
2006
      for libdir in $libdirs; do
2007
        if test -n "$finish_cmds"; then
2008
          # Do each command in the finish commands.
2009
          eval cmds=\"$finish_cmds\"
2010
          IFS="${IFS=   }"; save_ifs="$IFS"; IFS=';'
2011
          for cmd in $cmds; do
2012
            IFS="$save_ifs"
2013
            $show "$cmd"
2014
            $run eval "$cmd"
2015
          done
2016
          IFS="$save_ifs"
2017
        fi
2018
        if test -n "$finish_eval"; then
2019
          # Do the single finish_eval.
2020
          eval cmds=\"$finish_eval\"
2021
          $run eval "$cmds"
2022
        fi
2023
      done
2024
    fi
2025
 
2026
    echo "------------------------------------------------------------------------------"
2027
    echo "Libraries have been installed in:"
2028
    for libdir in $libdirs; do
2029
      echo "   $libdir"
2030
    done
2031
    echo
2032
    echo "To link against installed libraries in a given directory, LIBDIR,"
2033
    echo "you must use the \`-LLIBDIR' flag during linking."
2034
    echo
2035
    echo " You will also need to do one of the following:"
2036
    if test -n "$shlibpath_var"; then
2037
      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
2038
      echo "     during execution"
2039
    fi
2040
    if test -n "$runpath_var"; then
2041
      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
2042
      echo "     during linking"
2043
    fi
2044
    if test -n "$hardcode_libdir_flag_spec"; then
2045
      libdir=LIBDIR
2046
      eval flag=\"$hardcode_libdir_flag_spec\"
2047
 
2048
      echo "   - use the \`$flag' linker flag"
2049
    fi
2050
    if test -f /etc/ld.so.conf; then
2051
      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
2052
    fi
2053
    echo
2054
    echo "See any operating system documentation about shared libraries for"
2055
    echo "more information, such as the ld(1) and ld.so(8) manual pages."
2056
    echo "------------------------------------------------------------------------------"
2057
    exit 0
2058
    ;;
2059
 
2060
  # libtool execute mode
2061
  execute)
2062
    modename="$modename: execute"
2063
 
2064
    # The first argument is the command name.
2065
    cmd="$nonopt"
2066
    if test -z "$cmd"; then
2067
      $echo "$modename: you must specify a COMMAND" 1>&2
2068
      $echo "$help"
2069
      exit 1
2070
    fi
2071
 
2072
    # Handle -dlopen flags immediately.
2073
    for file in $execute_dlfiles; do
2074
      if test -f "$file"; then :
2075
      else
2076
        $echo "$modename: \`$file' is not a file" 1>&2
2077
        $echo "$help" 1>&2
2078
        exit 1
2079
      fi
2080
 
2081
      dir=
2082
      case "$file" in
2083
      *.la)
2084
        # Check to see that this really is a libtool archive.
2085
        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
2086
        else
2087
          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
2088
          $echo "$help" 1>&2
2089
          exit 1
2090
        fi
2091
 
2092
        # Read the libtool library.
2093
        dlname=
2094
        library_names=
2095
 
2096
        # If there is no directory component, then add one.
2097
        case "$file" in
2098
        */* | *\\*) . $file ;;
2099
        *) . ./$file ;;
2100
        esac
2101
 
2102
        # Skip this library if it cannot be dlopened.
2103
        if test -z "$dlname"; then
2104
          # Warn if it was a shared library.
2105
          test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
2106
          continue
2107
        fi
2108
 
2109
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2110
        test "X$dir" = "X$file" && dir=.
2111
 
2112
        if test -f "$dir/$objdir/$dlname"; then
2113
          dir="$dir/$objdir"
2114
        else
2115
          $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
2116
          exit 1
2117
        fi
2118
        ;;
2119
 
2120
      *.lo)
2121
        # Just add the directory containing the .lo file.
2122
        dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2123
        test "X$dir" = "X$file" && dir=.
2124
        ;;
2125
 
2126
      *)
2127
        $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
2128
        continue
2129
        ;;
2130
      esac
2131
 
2132
      # Get the absolute pathname.
2133
      absdir=`cd "$dir" && pwd`
2134
      test -n "$absdir" && dir="$absdir"
2135
 
2136
      # Now add the directory to shlibpath_var.
2137
      if eval "test -z \"\$$shlibpath_var\""; then
2138
        eval "$shlibpath_var=\"\$dir\""
2139
      else
2140
        eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
2141
      fi
2142
    done
2143
 
2144
    # This variable tells wrapper scripts just to set shlibpath_var
2145
    # rather than running their programs.
2146
    libtool_execute_magic="$magic"
2147
 
2148
    # Check if any of the arguments is a wrapper script.
2149
    args=
2150
    for file
2151
    do
2152
      case "$file" in
2153
      -*) ;;
2154
      *)
2155
        # Do a test to see if this is really a libtool program.
2156
        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
2157
          # If there is no directory component, then add one.
2158
          case "$file" in
2159
          */* | *\\*) . $file ;;
2160
          *) . ./$file ;;
2161
          esac
2162
 
2163
          # Transform arg to wrapped name.
2164
          file="$progdir/$program"
2165
        fi
2166
        ;;
2167
      esac
2168
      # Quote arguments (to preserve shell metacharacters).
2169
      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
2170
      args="$args \"$file\""
2171
    done
2172
 
2173
    if test -z "$run"; then
2174
      # Export the shlibpath_var.
2175
      eval "export $shlibpath_var"
2176
 
2177
      # Now actually exec the command.
2178
      eval "exec \$cmd$args"
2179
 
2180
      $echo "$modename: cannot exec \$cmd$args"
2181
      exit 1
2182
    else
2183
      # Display what would be done.
2184
      eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
2185
      $echo "export $shlibpath_var"
2186
      $echo "$cmd$args"
2187
      exit 0
2188
    fi
2189
    ;;
2190
 
2191
  # libtool uninstall mode
2192
  uninstall)
2193
    modename="$modename: uninstall"
2194
    rm="$nonopt"
2195
    files=
2196
 
2197
    for arg
2198
    do
2199
      case "$arg" in
2200
      -*) rm="$rm $arg" ;;
2201
      *) files="$files $arg" ;;
2202
      esac
2203
    done
2204
 
2205
    if test -z "$rm"; then
2206
      $echo "$modename: you must specify an RM program" 1>&2
2207
      $echo "$help" 1>&2
2208
      exit 1
2209
    fi
2210
 
2211
    for file in $files; do
2212
      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
2213
      test "X$dir" = "X$file" && dir=.
2214
      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
2215
 
2216
      rmfiles="$file"
2217
 
2218
      case "$name" in
2219
      *.la)
2220
        # Possibly a libtool archive, so verify it.
2221
        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
2222
          . $dir/$name
2223
 
2224
          # Delete the libtool libraries and symlinks.
2225
          for n in $library_names; do
2226
            rmfiles="$rmfiles $dir/$n"
2227
            test "X$n" = "X$dlname" && dlname=
2228
          done
2229
          test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
2230
          test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
2231
 
2232
          $show "$rm $rmfiles"
2233
          $run $rm $rmfiles
2234
 
2235
          if test -n "$library_names"; then
2236
            # Do each command in the postuninstall commands.
2237
            eval cmds=\"$postuninstall_cmds\"
2238
            IFS="${IFS=         }"; save_ifs="$IFS"; IFS=';'
2239
            for cmd in $cmds; do
2240
              IFS="$save_ifs"
2241
              $show "$cmd"
2242
              $run eval "$cmd"
2243
            done
2244
            IFS="$save_ifs"
2245
          fi
2246
 
2247
          if test -n "$old_library"; then
2248
            # Do each command in the old_postuninstall commands.
2249
            eval cmds=\"$old_postuninstall_cmds\"
2250
            IFS="${IFS=         }"; save_ifs="$IFS"; IFS=';'
2251
            for cmd in $cmds; do
2252
              IFS="$save_ifs"
2253
              $show "$cmd"
2254
              $run eval "$cmd"
2255
            done
2256
            IFS="$save_ifs"
2257
          fi
2258
 
2259
          # FIXME: should reinstall the best remaining shared library.
2260
        fi
2261
        ;;
2262
 
2263
      *.lo)
2264
        if test "$build_old_libs" = yes; then
2265
          oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
2266
          rmfiles="$rmfiles $dir/$oldobj"
2267
        fi
2268
        $show "$rm $rmfiles"
2269
        $run $rm $rmfiles
2270
        ;;
2271
 
2272
      *)
2273
        $show "$rm $rmfiles"
2274
        $run $rm $rmfiles
2275
        ;;
2276
      esac
2277
    done
2278
    exit 0
2279
    ;;
2280
 
2281
  "")
2282
    $echo "$modename: you must specify a MODE" 1>&2
2283
    $echo "$generic_help" 1>&2
2284
    exit 1
2285
    ;;
2286
  esac
2287
 
2288
  $echo "$modename: invalid operation mode \`$mode'" 1>&2
2289
  $echo "$generic_help" 1>&2
2290
  exit 1
2291
fi # test -z "$show_help"
2292
 
2293
# We need to display help for each of the modes.
2294
case "$mode" in
2295
"") $echo \
2296
"Usage: $modename [OPTION]... [MODE-ARG]...
2297
 
2298
Provide generalized library-building support services.
2299
 
2300
-n, --dry-run         display commands without modifying any files
2301
    --features        display configuration information and exit
2302
    --finish          same as \`--mode=finish'
2303
    --help            display this help message and exit
2304
    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
2305
    --quiet           same as \`--silent'
2306
    --silent          don't print informational messages
2307
    --version         print version information
2308
 
2309
MODE must be one of the following:
2310
 
2311
      compile         compile a source file into a libtool object
2312
      execute         automatically set library path, then run a program
2313
      finish          complete the installation of libtool libraries
2314
      install         install libraries or executables
2315
      link            create a library or an executable
2316
      uninstall       remove libraries from an installed directory
2317
 
2318
MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
2319
a more detailed description of MODE."
2320
  exit 0
2321
  ;;
2322
 
2323
compile)
2324
  $echo \
2325
"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
2326
 
2327
Compile a source file into a libtool library object.
2328
 
2329
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
2330
from the given SOURCEFILE.
2331
 
2332
The output file name is determined by removing the directory component from
2333
SOURCEFILE, then substituting the C source code suffix \`.c' with the
2334
library object suffix, \`.lo'."
2335
  ;;
2336
 
2337
execute)
2338
  $echo \
2339
"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
2340
 
2341
Automatically set library path, then run a program.
2342
 
2343
This mode accepts the following additional options:
2344
 
2345
  -dlopen FILE      add the directory containing FILE to the library path
2346
 
2347
This mode sets the library path environment variable according to \`-dlopen'
2348
flags.
2349
 
2350
If any of the ARGS are libtool executable wrappers, then they are translated
2351
into their corresponding uninstalled binary, and any of their required library
2352
directories are added to the library path.
2353
 
2354
Then, COMMAND is executed, with ARGS as arguments."
2355
  ;;
2356
 
2357
finish)
2358
  $echo \
2359
"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
2360
 
2361
Complete the installation of libtool libraries.
2362
 
2363
Each LIBDIR is a directory that contains libtool libraries.
2364
 
2365
The commands that this mode executes may require superuser privileges.  Use
2366
the \`--dry-run' option if you just want to see what would be executed."
2367
  ;;
2368
 
2369
install)
2370
  $echo \
2371
"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
2372
 
2373
Install executables or libraries.
2374
 
2375
INSTALL-COMMAND is the installation command.  The first component should be
2376
either the \`install' or \`cp' program.
2377
 
2378
The rest of the components are interpreted as arguments to that command (only
2379
BSD-compatible install options are recognized)."
2380
  ;;
2381
 
2382
link)
2383
  $echo \
2384
"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
2385
 
2386
Link object files or libraries together to form another library, or to
2387
create an executable program.
2388
 
2389
LINK-COMMAND is a command using the C compiler that you would use to create
2390
a program from several object files.
2391
 
2392
The following components of LINK-COMMAND are treated specially:
2393
 
2394
  -all-static       do not do any dynamic linking at all
2395
  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
2396
  -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
2397
  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
2398
  -LLIBDIR          search LIBDIR for required installed libraries
2399
  -lNAME            OUTPUT-FILE requires the installed library libNAME
2400
  -no-undefined     declare that a library does not refer to external symbols
2401
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
2402
  -release RELEASE  specify package release information
2403
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
2404
  -static           do not do any dynamic linking of libtool libraries
2405
  -version-info CURRENT[:REVISION[:AGE]]
2406
                    specify library version info [each variable defaults to 0]
2407
 
2408
All other options (arguments beginning with \`-') are ignored.
2409
 
2410
Every other argument is treated as a filename.  Files ending in \`.la' are
2411
treated as uninstalled libtool libraries, other files are standard or library
2412
object files.
2413
 
2414
If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
2415
library objects (\`.lo' files) may be specified, and \`-rpath' is required.
2416
 
2417
If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
2418
and \`ranlib'.
2419
 
2420
If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
2421
created, otherwise an executable program is created."
2422
  ;;
2423
 
2424
uninstall)
2425
  $echo
2426
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
2427
 
2428
Remove libraries from an installation directory.
2429
 
2430
RM is the name of the program to use to delete files associated with each FILE
2431
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
2432
to RM.
2433
 
2434
If FILE is a libtool library, all the files associated with it are deleted.
2435
Otherwise, only FILE itself is deleted using RM."
2436
  ;;
2437
 
2438
*)
2439
  $echo "$modename: invalid operation mode \`$mode'" 1>&2
2440
  $echo "$help" 1>&2
2441
  exit 1
2442
  ;;
2443
esac
2444
 
2445
echo
2446
$echo "Try \`$modename --help' for more information about other modes."
2447
 
2448
exit 0
2449
 
2450
# Local Variables:
2451
# mode:shell-script
2452
# sh-indentation:2
2453
# End:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.