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