|
1 # |
|
2 # Copyright (c) 2017, 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 # Fake minimalistic spec file for RunTestsPrebuilt.gmk. |
|
28 ################################################################################ |
|
29 |
|
30 define VerifyVariable |
|
31 ifeq ($$($1), ) |
|
32 $$(info Error: Variable $1 is missing, needed by RunTestPrebuiltSpec.gmk) |
|
33 $$(error Cannot continue.) |
|
34 else |
|
35 ifneq ($$(findstring $$(LOG_LEVEL), debug trace), ) |
|
36 $$(info Prebuilt variable $1=$$($1)) |
|
37 endif |
|
38 endif |
|
39 endef |
|
40 |
|
41 # It is the responsibility of the file including us to have set these up. |
|
42 # Verify that this is correct. |
|
43 $(eval $(call VerifyVariable,SPEC)) |
|
44 $(eval $(call VerifyVariable,TOPDIR)) |
|
45 $(eval $(call VerifyVariable,OUTPUTDIR)) |
|
46 $(eval $(call VerifyVariable,BOOT_JDK)) |
|
47 $(eval $(call VerifyVariable,JT_HOME)) |
|
48 $(eval $(call VerifyVariable,JDK_IMAGE_DIR)) |
|
49 $(eval $(call VerifyVariable,TEST_IMAGE_DIR)) |
|
50 $(eval $(call VerifyVariable,MAKE)) |
|
51 $(eval $(call VerifyVariable,BASH)) |
|
52 |
|
53 ################################################################################ |
|
54 # The "human readable" name of this configuration |
|
55 CONF_NAME := run-test-prebuilt |
|
56 |
|
57 # Number of parallel jobs to use for compilation |
|
58 JOBS ?= $(NUM_CORES) |
|
59 TEST_JOBS ?= 0 |
|
60 |
|
61 # Use hard-coded values for java flags (one size, fits all!) |
|
62 JAVA_FLAGS := -Duser.language=en -Duser.country=US |
|
63 JAVA_FLAGS_BIG:= -Xms64M -Xmx1600M -XX:ThreadStackSize=1536 |
|
64 JAVA_FLAGS_SMALL:= -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1 |
|
65 BUILD_JAVA_FLAGS := $(JAVA_FLAGS_BIG) |
|
66 |
|
67 ################################################################################ |
|
68 # Hard-coded values copied from spec.gmk.in. |
|
69 X:= |
|
70 SPACE:=$(X) $(X) |
|
71 COMMA:=, |
|
72 MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \ |
|
73 MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" LOG_LEVEL=$(LOG_LEVEL) |
|
74 BASH_ARGS := -o pipefail -e |
|
75 SHELL := $(BASH) $(BASH_ARGS) |
|
76 |
|
77 ################################################################################ |
|
78 # Set some reasonable defaults for features |
|
79 DEBUG_LEVEL := release |
|
80 HOTSPOT_DEBUG_LEVEL := release |
|
81 BUILD_GTEST := true |
|
82 BUILD_FAILURE_HANDLER := true |
|
83 |
|
84 ################################################################################ |
|
85 # Alias some paths (that should not really be used) to our JDK image under test. |
|
86 SUPPORT_OUTPUTDIR := $(OUTPUTDIR)/support |
|
87 BUILDTOOLS_OUTPUTDIR := $(OUTPUTDIR)/buildtools |
|
88 HOTSPOT_OUTPUTDIR := $(OUTPUTDIR)/hotspot |
|
89 JDK_OUTPUTDIR := $(OUTPUTDIR)/jdk |
|
90 IMAGES_OUTPUTDIR := $(OUTPUTDIR)/images |
|
91 BUNDLES_OUTPUTDIR := $(OUTPUTDIR)/bundles |
|
92 TESTMAKE_OUTPUTDIR := $(OUTPUTDIR)/test-make |
|
93 MAKESUPPORT_OUTPUTDIR := $(OUTPUTDIR)/make-support |
|
94 BUILDJDK_OUTPUTDIR := $(OUTPUTDIR)/buildjdk |
|
95 |
|
96 JRE_IMAGE_DIR := $(JDK_IMAGE_DIR) |
|
97 |
|
98 ################################################################################ |
|
99 # Assume build platform is same as target platform |
|
100 OPENJDK_BUILD_OS := $(OPENJDK_TARGET_OS) |
|
101 OPENJDK_BUILD_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE) |
|
102 OPENJDK_BUILD_OS_ENV := $(OPENJDK_TARGET_OS_ENV) |
|
103 |
|
104 OPENJDK_BUILD_CPU := $(OPENJDK_TARGET_CPU) |
|
105 OPENJDK_BUILD_CPU_ARCH := $(OPENJDK_TARGET_CPU_ARCH) |
|
106 OPENJDK_BUILD_CPU_BITS := $(OPENJDK_TARGET_CPU_BITS) |
|
107 OPENJDK_BUILD_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN) |
|
108 |
|
109 ################################################################################ |
|
110 # Java executable definitions |
|
111 JAVA_CMD := $(BOOT_JDK)/bin/java |
|
112 JAVAC_CMD := $(BOOT_JDK)/bin/javac |
|
113 JAVAH_CMD := $(BOOT_JDK)/bin/javah |
|
114 JAR_CMD := $(BOOT_JDK)/bin/jar |
|
115 JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink |
|
116 JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod |
|
117 JARSIGNER_CMD := $(BOOT_JDK)/bin/jarsigner |
|
118 |
|
119 JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) |
|
120 JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) |
|
121 JAVA_JAVAC := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) |
|
122 JAVAC := $(FIXPATH) $(JAVAC_CMD) |
|
123 JAVAH := $(FIXPATH) $(JAVAH_CMD) |
|
124 JAR := $(FIXPATH) $(JAR_CMD) |
|
125 JLINK := $(FIXPATH) $(JLINK_CMD) |
|
126 JMOD := $(FIXPATH) $(JMOD_CMD) |
|
127 JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD) |
|
128 |
|
129 BUILD_JAVA := $(JAVA) |
|
130 ################################################################################ |
|
131 # Some common tools. Assume most common name and no path. |
|
132 AWK := awk |
|
133 BASENAME := basename |
|
134 CAT := cat |
|
135 CD := cd |
|
136 CHMOD := chmod |
|
137 CP := cp |
|
138 CUT := cut |
|
139 DATE := date |
|
140 DIFF := diff |
|
141 DIRNAME := dirname |
|
142 FIND := find |
|
143 FIND_DELETE := -delete |
|
144 ECHO := echo |
|
145 EGREP := grep -E |
|
146 FGREP := grep -F |
|
147 GREP := grep |
|
148 GZIP := gzip |
|
149 HEAD := head |
|
150 LS := ls |
|
151 LN := ln |
|
152 MKDIR := mkdir |
|
153 MV := mv |
|
154 NAWK := nawk |
|
155 NICE := nice |
|
156 PATCH := patch |
|
157 PRINTF := printf |
|
158 RM := rm -f |
|
159 RMDIR := rmdir |
|
160 SED := sed |
|
161 SH := sh |
|
162 SORT := sort |
|
163 TAR := tar |
|
164 TAIL := tail |
|
165 TEE := tee |
|
166 TR := tr |
|
167 TOUCH := touch |
|
168 UNIQ := uniq |
|
169 WC := wc |
|
170 XARGS := xargs |
|
171 ZIPEXE := zip |
|
172 UNZIP := unzip |
|
173 EXPR := expr |
|
174 FILE := file |
|
175 HG := hg |