comparison make/linux/makefiles/buildtree.make @ 4970:33df1aeaebbf

Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 27 Feb 2012 13:10:13 +0100
parents 04b9a2566eec e8a4934564b2
children 957c266d8bc5
comparison
equal deleted inserted replaced
4703:2cfb7fb2dce7 4970:33df1aeaebbf
324 @echo Creating $@ ... 324 @echo Creating $@ ...
325 $(QUIETLY) ( \ 325 $(QUIETLY) ( \
326 $(BUILDTREE_COMMENT); \ 326 $(BUILDTREE_COMMENT); \
327 [ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \ 327 [ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
328 { \ 328 { \
329 echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
330 echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \ 329 echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
331 } | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \ 330 } | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
332 echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \ 331 echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
333 echo "export JAVA_HOME LD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER"; \ 332 echo "export JAVA_HOME CLASSPATH HOTSPOT_BUILD_USER"; \
334 ) > $@ 333 ) > $@
335 334
336 env.csh: env.sh 335 env.csh: env.sh
337 @echo Creating $@ ... 336 @echo Creating $@ ...
338 $(QUIETLY) ( \ 337 $(QUIETLY) ( \
382 381
383 JAVA_FLAG/32 = -d32 382 JAVA_FLAG/32 = -d32
384 JAVA_FLAG/64 = -d64 383 JAVA_FLAG/64 = -d64
385 384
386 WRONG_DATA_MODE_MSG = \ 385 WRONG_DATA_MODE_MSG = \
387 echo "JAVA_HOME must point to $(DATA_MODE)bit JDK." 386 echo "JAVA_HOME must point to a $(DATA_MODE)-bit OpenJDK."
388 387
389 CROSS_COMPILING_MSG = \ 388 CROSS_COMPILING_MSG = \
390 echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run." 389 echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
391 390
392 test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java 391 test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
393 @echo Creating $@ ... 392 @echo Creating $@ ...
394 $(QUIETLY) ( \ 393 $(QUIETLY) ( \
395 echo '#!/bin/sh'; \ 394 echo "#!/bin/sh"; \
396 $(BUILDTREE_COMMENT); \ 395 echo ""; \
397 echo '. ./env.sh'; \ 396 $(BUILDTREE_COMMENT); \
398 echo "if [ \"$(CROSS_COMPILE_ARCH)\" != \"\" ]; then { $(CROSS_COMPILING_MSG); exit 0; }; fi"; \ 397 echo ""; \
399 echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \ 398 echo "# Include environment settings for gamma run"; \
400 echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \ 399 echo ""; \
401 echo "then"; \ 400 echo ". ./env.sh"; \
402 echo " $(WRONG_DATA_MODE_MSG); exit 0;"; \ 401 echo ""; \
403 echo "fi"; \ 402 echo "# Do not run gamma test for cross compiles"; \
403 echo ""; \
404 echo "if [ -n \"$(CROSS_COMPILE_ARCH)\" ]; then "; \
405 echo " $(CROSS_COMPILING_MSG)"; \
406 echo " exit 0"; \
407 echo "fi"; \
408 echo ""; \
409 echo "# Make sure JAVA_HOME is set as it is required for gamma"; \
410 echo ""; \
411 echo "if [ -z \"\$${JAVA_HOME}\" ]; then "; \
412 echo " $(NO_JAVA_HOME_MSG)"; \
413 echo " exit 0"; \
414 echo "fi"; \
415 echo ""; \
416 echo "# Check JAVA_HOME version to be used for the test"; \
417 echo ""; \
418 echo "\$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion > /dev/null 2>&1"; \
419 echo "if [ \$$? -ne 0 ]; then "; \
420 echo " $(WRONG_DATA_MODE_MSG)"; \
421 echo " exit 0"; \
422 echo "fi"; \
423 echo ""; \
424 echo "# Use gamma_g if it exists"; \
425 echo ""; \
426 echo "GAMMA_PROG=gamma"; \
427 echo "if [ -f gamma_g ]; then "; \
428 echo " GAMMA_PROG=gamma_g"; \
429 echo "fi"; \
430 echo ""; \
431 echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
432 echo " # Ensure architecture for gamma and JAVA_HOME is the same."; \
433 echo " # NOTE: gamma assumes the OpenJDK directory layout."; \
434 echo ""; \
435 echo " GAMMA_ARCH=\"\`file \$${GAMMA_PROG} | awk '{print \$$NF}'\`\""; \
436 echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/libjava.$(LIBRARY_SUFFIX)\""; \
437 echo " if [ ! -f \$${JVM_LIB} ]; then"; \
438 echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/$${LIBARCH}/libjava.$(LIBRARY_SUFFIX)\""; \
439 echo " fi"; \
440 echo " if [ ! -f \$${JVM_LIB} ] || [ -z \"\`file \$${JVM_LIB} | grep \$${GAMMA_ARCH}\`\" ]; then "; \
441 echo " $(WRONG_DATA_MODE_MSG)"; \
442 echo " exit 0"; \
443 echo " fi"; \
444 echo "fi"; \
445 echo ""; \
446 echo "# Compile Queens program for test"; \
447 echo ""; \
404 echo "rm -f Queens.class"; \ 448 echo "rm -f Queens.class"; \
405 echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \ 449 echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
406 echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \ 450 echo ""; \
407 echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \ 451 echo "# Set library path solely for gamma launcher test run"; \
452 echo ""; \
453 echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
454 echo "export LD_LIBRARY_PATH"; \
455 echo "unset LD_LIBRARY_PATH_32"; \
456 echo "unset LD_LIBRARY_PATH_64"; \
457 echo ""; \
458 echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
459 echo " DYLD_LIBRARY_PATH=.:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/native_threads:\$${JAVA_HOME}/jre/lib:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
460 echo " export DYLD_LIBRARY_PATH"; \
461 echo "fi"; \
462 echo ""; \
463 echo "# Use the gamma launcher and JAVA_HOME to run the test"; \
464 echo ""; \
465 echo "./\$${GAMMA_PROG} $(TESTFLAGS) Queens < /dev/null"; \
408 ) > $@ 466 ) > $@
409 $(QUIETLY) chmod +x $@ 467 $(QUIETLY) chmod +x $@
410 468
411 FORCE: 469 FORCE:
412 470