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