blob: fd76562e7e141bf83382a75972239420a32566fc [file] [log] [blame]
Magnus Ihse Bursie5ea9e322017-12-06 13:45:46 +01001#
Jini George93314be2018-06-27 20:04:31 +05302# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
Magnus Ihse Bursie5ea9e322017-12-06 13:45:46 +01003# 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
30define 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
39endef
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
55CONF_NAME := run-test-prebuilt
56
57# Number of parallel jobs to use for compilation
58JOBS ?= $(NUM_CORES)
59TEST_JOBS ?= 0
60
61# Use hard-coded values for java flags (one size, fits all!)
62JAVA_FLAGS := -Duser.language=en -Duser.country=US
63JAVA_FLAGS_BIG:= -Xms64M -Xmx1600M -XX:ThreadStackSize=1536
64JAVA_FLAGS_SMALL:= -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
65BUILD_JAVA_FLAGS := $(JAVA_FLAGS_BIG)
66
67################################################################################
68# Hard-coded values copied from spec.gmk.in.
69X:=
70SPACE:=$(X) $(X)
71COMMA:=,
72MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
73 MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" LOG_LEVEL=$(LOG_LEVEL)
74BASH_ARGS := -o pipefail -e
75SHELL := $(BASH) $(BASH_ARGS)
76
77################################################################################
78# Set some reasonable defaults for features
79DEBUG_LEVEL := release
80HOTSPOT_DEBUG_LEVEL := release
81BUILD_GTEST := true
82BUILD_FAILURE_HANDLER := true
83
84################################################################################
85# Alias some paths (that should not really be used) to our JDK image under test.
86SUPPORT_OUTPUTDIR := $(OUTPUTDIR)/support
87BUILDTOOLS_OUTPUTDIR := $(OUTPUTDIR)/buildtools
88HOTSPOT_OUTPUTDIR := $(OUTPUTDIR)/hotspot
89JDK_OUTPUTDIR := $(OUTPUTDIR)/jdk
90IMAGES_OUTPUTDIR := $(OUTPUTDIR)/images
91BUNDLES_OUTPUTDIR := $(OUTPUTDIR)/bundles
92TESTMAKE_OUTPUTDIR := $(OUTPUTDIR)/test-make
93MAKESUPPORT_OUTPUTDIR := $(OUTPUTDIR)/make-support
94BUILDJDK_OUTPUTDIR := $(OUTPUTDIR)/buildjdk
95
96JRE_IMAGE_DIR := $(JDK_IMAGE_DIR)
97
98################################################################################
99# Assume build platform is same as target platform
100OPENJDK_BUILD_OS := $(OPENJDK_TARGET_OS)
101OPENJDK_BUILD_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE)
102OPENJDK_BUILD_OS_ENV := $(OPENJDK_TARGET_OS_ENV)
103
104OPENJDK_BUILD_CPU := $(OPENJDK_TARGET_CPU)
105OPENJDK_BUILD_CPU_ARCH := $(OPENJDK_TARGET_CPU_ARCH)
106OPENJDK_BUILD_CPU_BITS := $(OPENJDK_TARGET_CPU_BITS)
107OPENJDK_BUILD_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN)
108
109################################################################################
110# Java executable definitions
111JAVA_CMD := $(BOOT_JDK)/bin/java
112JAVAC_CMD := $(BOOT_JDK)/bin/javac
Magnus Ihse Bursie5ea9e322017-12-06 13:45:46 +0100113JAR_CMD := $(BOOT_JDK)/bin/jar
114JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink
115JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod
116JARSIGNER_CMD := $(BOOT_JDK)/bin/jarsigner
117
118JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
119JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
120JAVA_JAVAC := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
121JAVAC := $(FIXPATH) $(JAVAC_CMD)
Magnus Ihse Bursie5ea9e322017-12-06 13:45:46 +0100122JAR := $(FIXPATH) $(JAR_CMD)
123JLINK := $(FIXPATH) $(JLINK_CMD)
124JMOD := $(FIXPATH) $(JMOD_CMD)
125JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD)
126
127BUILD_JAVA := $(JAVA)
128################################################################################
129# Some common tools. Assume most common name and no path.
130AWK := awk
131BASENAME := basename
132CAT := cat
133CD := cd
134CHMOD := chmod
135CP := cp
136CUT := cut
137DATE := date
138DIFF := diff
139DIRNAME := dirname
140FIND := find
141FIND_DELETE := -delete
142ECHO := echo
143EGREP := grep -E
144FGREP := grep -F
145GREP := grep
146GZIP := gzip
147HEAD := head
148LS := ls
149LN := ln
Jini George93314be2018-06-27 20:04:31 +0530150MIG := mig
Magnus Ihse Bursie5ea9e322017-12-06 13:45:46 +0100151MKDIR := mkdir
152MV := mv
153NAWK := nawk
154NICE := nice
155PATCH := patch
156PRINTF := printf
157RM := rm -f
158RMDIR := rmdir
159SED := sed
160SH := sh
161SORT := sort
162TAR := tar
163TAIL := tail
164TEE := tee
165TR := tr
166TOUCH := touch
167UNIQ := uniq
168WC := wc
169XARGS := xargs
170ZIPEXE := zip
171UNZIP := unzip
172EXPR := expr
173FILE := file
174HG := hg