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