1 #
  2 # Copyright (c) 2017, 2024, 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 # Make sure all shell commands are executed with the C locale
 31 export LC_ALL := C
 32 
 33 define VerifyVariable
 34   ifeq ($$($1), )
 35     $$(info Error: Variable $1 is missing, needed by RunTestPrebuiltSpec.gmk)
 36     $$(error Cannot continue.)
 37   else
 38     ifneq ($$(findstring $$(LOG_LEVEL), debug trace), )
 39       $$(info Prebuilt variable $1=$$($1))
 40     endif
 41   endif
 42 endef
 43 
 44 # It is the responsibility of the file including us to have set these up.
 45 # Verify that this is correct.
 46 $(eval $(call VerifyVariable,SPEC))
 47 $(eval $(call VerifyVariable,TOPDIR))
 48 $(eval $(call VerifyVariable,OUTPUTDIR))
 49 $(eval $(call VerifyVariable,BOOT_JDK))
 50 $(eval $(call VerifyVariable,JT_HOME))
 51 $(eval $(call VerifyVariable,JDK_IMAGE_DIR))
 52 $(eval $(call VerifyVariable,TEST_IMAGE_DIR))
 53 $(eval $(call VerifyVariable,MAKE))
 54 $(eval $(call VerifyVariable,BASH))
 55 
 56 ################################################################################
 57 # The "human readable" name of this configuration
 58 CONF_NAME := run-test-prebuilt
 59 
 60 # Number of parallel jobs to use for compilation
 61 JOBS ?= $(NUM_CORES)
 62 TEST_JOBS ?= 0
 63 
 64 # Use hard-coded values for java flags (one size, fits all!)
 65 JAVA_FLAGS := -Duser.language=en -Duser.country=US
 66 JAVA_FLAGS_BIG := -Xms64M -Xmx3200M
 67 JAVA_FLAGS_SMALL := -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
 68 BUILDJDK_JAVA_FLAGS_SMALL := -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
 69 BUILD_JAVA_FLAGS := $(JAVA_FLAGS_BIG)
 70 
 71 ################################################################################
 72 # Hard-coded values copied from spec.gmk.in.
 73 X :=
 74 SPACE := $(X) $(X)
 75 COMMA := ,
 76 MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
 77     MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" LOG_LEVEL=$(LOG_LEVEL)
 78 BASH_ARGS := -o pipefail -e
 79 SHELL := $(BASH) $(BASH_ARGS)
 80 
 81 ################################################################################
 82 # Set some reasonable defaults for features
 83 DEBUG_LEVEL := release
 84 HOTSPOT_DEBUG_LEVEL := release
 85 BUILD_FAILURE_HANDLER := true
 86 
 87 ################################################################################
 88 # Alias some paths (that should not really be used) to our JDK image under test.
 89 SUPPORT_OUTPUTDIR := $(OUTPUTDIR)/support
 90 BUILDTOOLS_OUTPUTDIR := $(OUTPUTDIR)/buildtools
 91 HOTSPOT_OUTPUTDIR := $(OUTPUTDIR)/hotspot
 92 JDK_OUTPUTDIR := $(OUTPUTDIR)/jdk
 93 IMAGES_OUTPUTDIR := $(OUTPUTDIR)/images
 94 BUNDLES_OUTPUTDIR := $(OUTPUTDIR)/bundles
 95 TESTMAKE_OUTPUTDIR := $(OUTPUTDIR)/test-make
 96 MAKESUPPORT_OUTPUTDIR := $(OUTPUTDIR)/make-support
 97 BUILDJDK_OUTPUTDIR := $(OUTPUTDIR)/buildjdk
 98 
 99 JRE_IMAGE_DIR := $(JDK_IMAGE_DIR)
100 
101 ################################################################################
102 # Assume build platform is same as target platform
103 OPENJDK_BUILD_OS := $(OPENJDK_TARGET_OS)
104 OPENJDK_BUILD_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE)
105 OPENJDK_BUILD_OS_ENV := $(OPENJDK_TARGET_OS_ENV)
106 
107 OPENJDK_BUILD_CPU := $(OPENJDK_TARGET_CPU)
108 OPENJDK_BUILD_CPU_ARCH := $(OPENJDK_TARGET_CPU_ARCH)
109 OPENJDK_BUILD_CPU_BITS := $(OPENJDK_TARGET_CPU_BITS)
110 OPENJDK_BUILD_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN)
111 
112 ################################################################################
113 # Java executable definitions
114 JAVA_CMD := $(BOOT_JDK)/bin/java
115 JAVAC_CMD := $(BOOT_JDK)/bin/javac
116 JAR_CMD := $(BOOT_JDK)/bin/jar
117 JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink
118 JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod
119 
120 JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
121 JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
122 JAVAC := $(FIXPATH) $(JAVAC_CMD)
123 JAR := $(FIXPATH) $(JAR_CMD)
124 JLINK := $(FIXPATH) $(JLINK_CMD)
125 JMOD := $(FIXPATH) $(JMOD_CMD)
126 
127 JTREG_JAVA := $(FIXPATH) $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
128 
129 BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/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 MIG := mig
153 MKDIR := mkdir
154 MV := mv
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 WC := wc
169 XARGS := xargs
170 ZIPEXE := zip
171 UNZIP := unzip
172 EXPR := expr
173 FILE := file
174 ULIMIT := ulimit
175 
176 ifeq ($(OPENJDK_BUILD_OS), windows)
177   PATHTOOL := cygpath
178 endif