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 JAR_CMD := $(BOOT_JDK)/bin/jar
 114 JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink
 115 JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod
 116 JARSIGNER_CMD := $(BOOT_JDK)/bin/jarsigner
 117 
 118 JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
 119 JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
 120 JAVA_JAVAC := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
 121 JAVAC := $(FIXPATH) $(JAVAC_CMD)
 122 JAR := $(FIXPATH) $(JAR_CMD)
 123 JLINK := $(FIXPATH) $(JLINK_CMD)
 124 JMOD := $(FIXPATH) $(JMOD_CMD)
 125 JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD)
 126 
 127 BUILD_JAVA := $(JAVA)
 128 ################################################################################
 129 # Some common tools. Assume most common name and no path.
 130 AWK := awk
 131 BASENAME := basename
 132 CAT := cat
 133 CD := cd
 134 CHMOD := chmod
 135 CP := cp
 136 CUT := cut
 137 DATE := date
 138 DIFF := diff
 139 DIRNAME := dirname
 140 FIND := find
 141 FIND_DELETE := -delete
 142 ECHO := echo
 143 EGREP := grep -E
 144 FGREP := grep -F
 145 GREP := grep
 146 GZIP := gzip
 147 HEAD := head
 148 LS := ls
 149 LN := ln
 150 MKDIR := mkdir
 151 MV := mv
 152 NAWK := nawk
 153 NICE := nice
 154 PATCH := patch
 155 PRINTF := printf
 156 RM := rm -f
 157 RMDIR := rmdir
 158 SED := sed
 159 SH := sh
 160 SORT := sort
 161 TAR := tar
 162 TAIL := tail
 163 TEE := tee
 164 TR := tr
 165 TOUCH := touch
 166 UNIQ := uniq
 167 WC := wc
 168 XARGS := xargs
 169 ZIPEXE := zip
 170 UNZIP := unzip
 171 EXPR := expr
 172 FILE := file
 173 HG := hg