44 $(error Cannot build failure handler without jtreg) 45 endif 46 # tools.jar is only needed if it exists in the boot jdk 47 TOOLS_JAR := $(wildcard $(BOOT_JDK)/lib/tools.jar) 48 49 FH_CLASSPATH := $(call PathList, $(JTREG_JAR) $(TOOLS_JAR)) 50 51 $(eval $(call SetupJavaCompilation, BUILD_FAILURE_HANDLER, \ 52 SETUP := GENERATE_OLDBYTECODE, \ 53 SRC := $(FH_BASEDIR)/src/share/classes $(FH_BASEDIR)/src/share/conf, \ 54 BIN := $(FH_SUPPORT)/classes, \ 55 COPY := .properties, \ 56 CLASSPATH := $(JTREG_JAR) $(TOOLS_JAR), \ 57 JAR := $(FH_JAR), \ 58 )) 59 60 TARGETS += $(BUILD_FAILURE_HANDLER) 61 62 ################################################################################ 63 64 ifeq ($(OPENJDK_TARGET_OS), windows) 65 66 $(eval $(call SetupNativeCompilation, BUILD_LIBTIMEOUT_HANDLER, \ 67 NAME := timeoutHandler, \ 68 SRC := $(FH_BASEDIR)/src/windows/native/libtimeoutHandler, \ 69 OBJECT_DIR := $(FH_SUPPORT)/libtimeoutHandler, \ 70 OUTPUT_DIR := $(FH_SUPPORT), \ 71 CFLAGS := $(CFLAGS_JDKLIB), \ 72 LDFLAGS := $(LDFLAGS_JDKLIB), \ 73 OPTIMIZATION := LOW, \ 74 )) 75 76 TARGETS += $(BUILD_LIBTIMEOUT_HANDLER) 77 78 endif 79 80 ################################################################################ 81 # Targets for building test-image. 82 ################################################################################ 83 84 # Copy to hotspot jtreg test image 85 $(eval $(call SetupCopyFiles, COPY_FH, \ 86 SRC := $(FH_SUPPORT), \ 87 DEST := $(TEST_IMAGE_DIR)/failure_handler, \ 88 FILES := $(FH_JAR) $(BUILD_LIBTIMEOUT_HANDLER), \ 89 )) 90 91 IMAGES_TARGETS += $(COPY_FH) 92 93 ################################################################################ 94 # Test the failure handler itself 95 ################################################################################ 96 # 97 # Use JTREG_TEST_OPTS for test VM options 98 # Use JTREG_TESTS for jtreg tests parameter 99 # 100 RUN_DIR := $(FH_SUPPORT)/test 101 # Add the dir of the dll to the path on windows 102 ifeq ($(OPENJDK_TARGET_OS), windows) 103 export PATH := $(PATH);$(FH_SUPPORT) 104 endif 105 106 test: 107 $(RM) -r $(RUN_DIR) 108 $(MKDIR) -p $(RUN_DIR) 109 $(CD) $(FH_BASEDIR)/test && JT_JAVA=$(BOOT_JDK) $(JTREGEXE) \ 110 -jdk:$(BOOT_JDK) \ 111 $(JTREG_TEST_OPTS) \ 112 -timeout:0.1 -va -retain:all \ 113 -noreport \ 114 -agentvm \ 115 -thd:$(FH_JAR) \ 116 -th:jdk.test.failurehandler.jtreg.GatherProcessInfoTimeoutHandler \ 117 -od:$(FH_JAR) \ 118 -o:jdk.test.failurehandler.jtreg.GatherDiagnosticInfoObserver \ 119 -w:$(RUN_DIR)/JTwork -r:$(RUN_DIR)/JTreport \ 120 $(if $(JTREG_TESTS), $(JTREG_TESTS), .) \ 121 || true 122 | 44 $(error Cannot build failure handler without jtreg) 45 endif 46 # tools.jar is only needed if it exists in the boot jdk 47 TOOLS_JAR := $(wildcard $(BOOT_JDK)/lib/tools.jar) 48 49 FH_CLASSPATH := $(call PathList, $(JTREG_JAR) $(TOOLS_JAR)) 50 51 $(eval $(call SetupJavaCompilation, BUILD_FAILURE_HANDLER, \ 52 SETUP := GENERATE_OLDBYTECODE, \ 53 SRC := $(FH_BASEDIR)/src/share/classes $(FH_BASEDIR)/src/share/conf, \ 54 BIN := $(FH_SUPPORT)/classes, \ 55 COPY := .properties, \ 56 CLASSPATH := $(JTREG_JAR) $(TOOLS_JAR), \ 57 JAR := $(FH_JAR), \ 58 )) 59 60 TARGETS += $(BUILD_FAILURE_HANDLER) 61 62 ################################################################################ 63 64 ifeq ($(call isTargetOs, windows), true) 65 66 $(eval $(call SetupNativeCompilation, BUILD_LIBTIMEOUT_HANDLER, \ 67 NAME := timeoutHandler, \ 68 SRC := $(FH_BASEDIR)/src/windows/native/libtimeoutHandler, \ 69 OBJECT_DIR := $(FH_SUPPORT)/libtimeoutHandler, \ 70 OUTPUT_DIR := $(FH_SUPPORT), \ 71 CFLAGS := $(CFLAGS_JDKLIB), \ 72 LDFLAGS := $(LDFLAGS_JDKLIB), \ 73 OPTIMIZATION := LOW, \ 74 )) 75 76 TARGETS += $(BUILD_LIBTIMEOUT_HANDLER) 77 78 endif 79 80 ################################################################################ 81 # Targets for building test-image. 82 ################################################################################ 83 84 # Copy to hotspot jtreg test image 85 $(eval $(call SetupCopyFiles, COPY_FH, \ 86 SRC := $(FH_SUPPORT), \ 87 DEST := $(TEST_IMAGE_DIR)/failure_handler, \ 88 FILES := $(FH_JAR) $(BUILD_LIBTIMEOUT_HANDLER), \ 89 )) 90 91 IMAGES_TARGETS += $(COPY_FH) 92 93 ################################################################################ 94 # Test the failure handler itself 95 ################################################################################ 96 # 97 # Use JTREG_TEST_OPTS for test VM options 98 # Use JTREG_TESTS for jtreg tests parameter 99 # 100 RUN_DIR := $(FH_SUPPORT)/test 101 # Add the dir of the dll to the path on windows 102 ifeq ($(call isTargetOs, windows), true) 103 export PATH := $(PATH);$(FH_SUPPORT) 104 endif 105 106 test: 107 $(RM) -r $(RUN_DIR) 108 $(MKDIR) -p $(RUN_DIR) 109 $(CD) $(FH_BASEDIR)/test && JT_JAVA=$(BOOT_JDK) $(JTREGEXE) \ 110 -jdk:$(BOOT_JDK) \ 111 $(JTREG_TEST_OPTS) \ 112 -timeout:0.1 -va -retain:all \ 113 -noreport \ 114 -agentvm \ 115 -thd:$(FH_JAR) \ 116 -th:jdk.test.failurehandler.jtreg.GatherProcessInfoTimeoutHandler \ 117 -od:$(FH_JAR) \ 118 -o:jdk.test.failurehandler.jtreg.GatherDiagnosticInfoObserver \ 119 -w:$(RUN_DIR)/JTwork -r:$(RUN_DIR)/JTreport \ 120 $(if $(JTREG_TESTS), $(JTREG_TESTS), .) \ 121 || true 122 |