rev 55510 : 8226863: [aix] jdk/java/lang/reflect/exeCallerAccessTest cannot launch on primordial thread
Reviewed-by:
1 #
2 # Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. Oracle designates this
8 # particular file as subject to the "Classpath" exception as provided
9 # by Oracle in the LICENSE file that accompanied this code.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 ################################################################################
27 # This file builds the native component of the JTReg tests for JDK.
28 # It also covers the test-image part, where the built files are copied to the
29 # test image.
30 ################################################################################
31
32 default: all
33
34 include $(SPEC)
35 include MakeBase.gmk
36 include TestFilesCompilation.gmk
37
38 $(eval $(call IncludeCustomExtension, test/JtregNativeJdk.gmk))
39
40 ################################################################################
41 # Targets for building the native tests themselves.
42 ################################################################################
43
44 # This might have been added to by a custom extension.
45 BUILD_JDK_JTREG_NATIVE_SRC += $(TOPDIR)/test/jdk
46
47 BUILD_JDK_JTREG_OUTPUT_DIR := $(OUTPUTDIR)/support/test/jdk/jtreg/native
48
49 BUILD_JDK_JTREG_IMAGE_DIR := $(TEST_IMAGE_DIR)/jdk/jtreg
50
51 BUILD_JDK_JTREG_EXECUTABLES_CFLAGS_exeJliLaunchTest := \
52 -I$(TOPDIR)/src/java.base/share/native/libjli \
53 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjli \
54 -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli
55
56 # Platform specific setup
57 ifeq ($(call isTargetOs, windows), true)
58 BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c
59
60 WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
61 BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := $(WIN_LIB_JAVA)
62 WIN_LIB_JLI := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
63 BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := $(WIN_LIB_JLI)
64 BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := jvm.lib
65 BUILD_JDK_JTREG_EXECUTABLES_LIBS_exerevokeall := advapi32.lib
66 else
67 BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
68 BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
69 BUILD_JDK_JTREG_EXCLUDE += exerevokeall.c
70 ifeq ($(call isTargetOs, linux), true)
71 BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
72 else ifeq ($(call isTargetOs, solaris), true)
73 BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava -lsocket -lnsl
74 endif
75 BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
76 BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := -ljvm
77 endif
78
79 ifeq ($(call isTargetOs, macosx), true)
80 BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libTestMainKeyWindow := -ObjC
81 BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := -framework JavaVM \
82 -framework Cocoa -framework JavaNativeFoundation
83 BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJniInvocationTest := -ljli
84 else
85 BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.c
86 BUILD_JDK_JTREG_EXCLUDE += exeJniInvocationTest.c
87 endif
88
89 ifeq ($(call isTargetOs, linux), true)
90 # Unconditionally compile with debug symbols and don't ever perform
91 # stripping during the test libraries' build.
92 BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libFib := -g
93 BUILD_JDK_JTREG_LIBRARIES_STRIP_SYMBOLS_libFib := false
94 endif
95
96 # This evaluation is expensive and should only be done if this target was
97 # explicitly called.
98 ifneq ($(filter build-test-jdk-jtreg-native, $(MAKECMDGOALS)), )
99 $(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_LIBRARIES, \
100 TYPE := LIBRARY, \
101 SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \
102 OUTPUT_DIR := $(BUILD_JDK_JTREG_OUTPUT_DIR), \
103 EXCLUDE := $(BUILD_JDK_JTREG_EXCLUDE), \
104 ))
105
106 $(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_EXECUTABLES, \
107 TYPE := PROGRAM, \
108 SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \
109 OUTPUT_DIR := $(BUILD_JDK_JTREG_OUTPUT_DIR), \
110 EXCLUDE := $(BUILD_JDK_JTREG_EXCLUDE), \
111 ))
112 endif
113
114 build-test-jdk-jtreg-native: $(BUILD_JDK_JTREG_LIBRARIES) $(BUILD_JDK_JTREG_EXECUTABLES)
115
116 ################################################################################
117 # Targets for building test-image.
118 ################################################################################
119
120 # Copy to jdk jtreg test image
121 $(eval $(call SetupCopyFiles,COPY_JDK_JTREG_NATIVE, \
122 SRC := $(BUILD_JDK_JTREG_OUTPUT_DIR), \
123 DEST := $(TEST_IMAGE_DIR)/jdk/jtreg/native, \
124 FILES := $(wildcard $(addprefix $(BUILD_JDK_JTREG_OUTPUT_DIR), /bin/* /lib/*)), \
125 FLATTEN := true, \
126 ))
127
128 test-image-jdk-jtreg-native: $(COPY_JDK_JTREG_NATIVE)
129
130 all: build-test-jdk-jtreg-native
131 test-image: test-image-jdk-jtreg-native
132
133 .PHONY: default all build-test-jdk-jtreg-native test-image-jdk-jtreg-native test-image
--- EOF ---