On 08/24/14 20:31, David Holmes wrote: > On 22/08/2014 1:12 AM, Eric McCorkle wrote: >> Possible lead: it seems hotspot/make/defs.make defaults to Windows if it >> doesn't recognize the $OS variable. >> >> 1) It should throw an error in that case >> 2) I checked on Jenkins, and the PATH seems fine, and uname -s run as a >> script works fine. Could it be something about make is causing uname -s >> to behave funny? > > Check the contents of the generated spec.gmk and hotspot-spec.gmk. I've > never seen anything like this.
Coming back late... Here is spec.gmk: # # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this # particular file as subject to the "Classpath" exception as provided # by Oracle in the LICENSE file that accompanied this code. # # This code is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # version 2 for more details (a copy is included in the LICENSE file that # accompanied this code). # # You should have received a copy of the GNU General Public License version # 2 along with this work; if not, write to the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. # # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. # # Configured Tue Sep 9 12:37:12 PDT 2014 to build # for target system linux-x86_64 # (called x86_64-unknown-linux-gnu by autoconf) # on build system linux-x86_64 # (called x86_64-unknown-linux-gnu by autoconf) # using 'configure --prefix=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/staging --exec-prefix=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/staging' # When calling macros, the spaces between arguments are # often semantically important! Sometimes we need to subst # spaces and commas, therefore we need the following macros. X:= SPACE:=$(X) $(X) COMMA:=, HASH:=\# LEFT_PAREN:=( RIGHT_PAREN:=) SQUOTE:=' #' DQUOTE:=" #" define NEWLINE endef # The command line given to configure. CONFIGURE_COMMAND_LINE:=--prefix=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/staging --exec-prefix=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/staging # A self-referential reference to this file. SPEC:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/build/linux-x86_64-normal-server-release/spec.gmk # Specify where the spec file is. MAKE_ARGS="SPEC=$(SPEC)" MAKE:=/usr/bin/gmake # Pass along the verbosity and log level settings. ifeq (,$(findstring VERBOSE=,$(MAKE))) MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" LOG_LEVEL="$(LOG_LEVEL)" endif # No implicit variables or rules! ifeq (,$(findstring -R,$(MAKE))) MAKE:=$(MAKE) -R endif # Specify where the common include directory for makefiles is. ifeq (,$(findstring -I /scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/make/common,$(MAKE))) MAKE:=$(MAKE) -I /scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/make/common endif OUTPUT_SYNC_SUPPORTED:=false OUTPUT_SYNC:= # The "human readable" name of this configuration CONF_NAME:=linux-x86_64-normal-server-release # The built jdk will run in this target system. OPENJDK_TARGET_OS:=linux OPENJDK_TARGET_OS_API:=posix OPENJDK_TARGET_OS_ENV:=linux OPENJDK_TARGET_CPU:=x86_64 OPENJDK_TARGET_CPU_ARCH:=x86 OPENJDK_TARGET_CPU_BITS:=64 OPENJDK_TARGET_CPU_ENDIAN:=little COMPILE_TYPE:=native # Legacy support OPENJDK_TARGET_CPU_ISADIR:= OPENJDK_TARGET_CPU_LIBDIR:=/amd64 OPENJDK_TARGET_CPU_LEGACY:=amd64 OPENJDK_TARGET_CPU_LEGACY_LIB:=amd64 OPENJDK_TARGET_CPU_OSARCH:=amd64 OPENJDK_TARGET_CPU_JLI_CFLAGS:=-DLIBARCHNAME='"amd64"' OPENJDK_TARGET_OS_API_DIR:=unix OPENJDK_TARGET_OS_EXPORT_DIR:=unix # We are building on this build system. # When not cross-compiling, it is the same as the target. OPENJDK_BUILD_OS:=linux OPENJDK_BUILD_OS_API:=posix OPENJDK_BUILD_OS_ENV:=linux OPENJDK_BUILD_CPU:=x86_64 OPENJDK_BUILD_CPU_ARCH:=x86 OPENJDK_BUILD_CPU_BITS:=64 OPENJDK_BUILD_CPU_ENDIAN:=little # Legacy OS values for use in release file. REQUIRED_OS_NAME:=Linux REQUIRED_OS_VERSION:=2.6 OPENJDK=true LIBM:=-lm LIBDL:=-ldl # colon or semicolon PATH_SEP:=: ifeq ($(OPENJDK_TARGET_OS), windows) # On Windows, the Visual Studio toolchain needs the LIB and INCLUDE # environment variables (in Windows path style), and the PATH needs to # be adjusted to include Visual Studio tools (but this needs to be in # cygwin/msys style). export PATH:= export INCLUDE:= export LIB:= endif SYSROOT_CFLAGS := SYSROOT_LDFLAGS := # Paths to the source code ADD_SRC_ROOT:= OVERRIDE_SRC_ROOT:= # The top-level directory of the forest (SRC_ROOT is a traditional alias) TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64 SRC_ROOT:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64 OUTPUT_ROOT:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/build/linux-x86_64-normal-server-release JDK_TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk LANGTOOLS_TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/langtools CORBA_TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/corba JAXP_TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jaxp JAXWS_TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jaxws HOTSPOT_TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/hotspot NASHORN_TOPDIR:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/nashorn COPYRIGHT_YEAR:=2014 # Information gathered from the version.numbers file. JDK_MAJOR_VERSION:=1 JDK_MINOR_VERSION:=9 JDK_MICRO_VERSION:=0 JDK_UPDATE_VERSION:= JDK_BUILD_NUMBER:=b00 MILESTONE:=internal LAUNCHER_NAME:=openjdk PRODUCT_NAME:=OpenJDK PRODUCT_SUFFIX:=Runtime Environment JDK_RC_PLATFORM_NAME:=Platform COMPANY_NAME:=N/A MACOSX_BUNDLE_NAME_BASE=OpenJDK MACOSX_BUNDLE_ID_BASE=net.java.openjdk USER_RELEASE_SUFFIX=jenkins_2014_09_09_12_37 # Different version strings generated from the above information. JDK_VERSION:=1.9.0 RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX) COOKED_BUILD_NUMBER:=0 # These variables need to be generated here so that MILESTONE and # JDK_BUILD_NUMBER can be overridden on the make command line. ifeq ($(MILESTONE), fcs) RELEASE=$(JDK_VERSION)$(BUILD_VARIANT_RELEASE) else RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE) endif ifneq ($(USER_RELEASE_SUFFIX), ) FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER) else FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER) endif JRE_RELEASE_VERSION:=$(FULL_VERSION) # How to compile the code: release, fastdebug or slowdebug DEBUG_LEVEL:=release # This is the JDK variant to build. # The JDK variant is a name for a specific set of modules to be compiled for the JDK. JDK_VARIANT:=normal # Should we compile support for running with a graphical UI? (ie headful) # Should we compile support for running without? (ie headless) SUPPORT_HEADFUL:=yes SUPPORT_HEADLESS:=yes # Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options. BUILD_HEADLESS:=true # These are the libjvms that we want to build. # The java launcher uses the default. # The others can be selected by specifying -client -server -minimal1 -kernel -zero or -zeroshark # on the java launcher command line. JVM_VARIANTS:=,server, JVM_VARIANT_SERVER:=true JVM_VARIANT_CLIENT:=false JVM_VARIANT_MINIMAL1:=false JVM_VARIANT_KERNEL:=false JVM_VARIANT_ZERO:=false JVM_VARIANT_ZEROSHARK:=false JVM_VARIANT_CORE:=false # Universal binaries on macosx MACOSX_UNIVERSAL= # Legacy setting: -debug or -fastdebug # Still used in version string... BUILD_VARIANT_RELEASE:= # JDK_OUTPUTDIR specifies where a working jvm is built. # You can run $(JDK_OUTPUTDIR)/bin/java # Though the layout of the contents of $(JDK_OUTPUTDIR) is not # yet the same as a default installation. # # When you run "make install" it will create the standardized # layout for the jdk and the jre inside the IMAGES_OUTPUTDIR subdir. # Then it will copy the contents of the jdk into the installation # directory. BUILD_OUTPUT:=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/build/linux-x86_64-normal-server-release # Colon left out to be able to override IMAGES_OUTPUTDIR for bootcycle-images LANGTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/langtools CORBA_OUTPUTDIR=$(BUILD_OUTPUT)/corba JAXP_OUTPUTDIR=$(BUILD_OUTPUT)/jaxp JAXWS_OUTPUTDIR=$(BUILD_OUTPUT)/jaxws HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk NASHORN_OUTPUTDIR=$(BUILD_OUTPUT)/nashorn IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/testmake LANGTOOLS_DIST=$(LANGTOOLS_OUTPUTDIR)/dist CORBA_DIST=$(CORBA_OUTPUTDIR)/dist JAXP_DIST=$(JAXP_OUTPUTDIR)/dist JAXWS_DIST=$(JAXWS_OUTPUTDIR)/dist HOTSPOT_DIST=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/build/linux-x86_64-normal-server-release/hotspot/dist NASHORN_DIST=$(NASHORN_OUTPUTDIR)/dist BUILD_HOTSPOT=true # The boot jdk to use BOOT_JDK:=/usr/share/java-1.8.0 BOOT_RTJAR:=/usr/share/java-1.8.0/jre/lib/rt.jar BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar # When compiling Java source to be run by the boot jdk # use these extra flags, eg -source 6 -target 6 BOOT_JDK_SOURCETARGET:=-source 8 -target 8 # Information about the build system NUM_CORES:=8 MEMORY_SIZE:=64301 # Enable sjavac support = use a javac server, # multi core javac compilation and dependency tracking. ENABLE_SJAVAC:=no # Store sjavac server synchronization files here, and # the sjavac server log files. SJAVAC_SERVER_DIR:= # Number of parallel jobs to use for compilation JOBS?=7 FREETYPE_LIBS:=-lfreetype FREETYPE_CFLAGS:=-I/usr/include/freetype2 FREETYPE_BUNDLE_LIB_PATH= CUPS_CFLAGS:= ALSA_LIBS:=-lasound ALSA_CFLAGS:=-I/usr/include/alsa PACKAGE_PATH=/opt/local # Source file for cacerts CACERTS_FILE= # Enable unlimited crypto policy UNLIMITED_CRYPTO=false # Enable RMIConnector IIOP transport RMICONNECTOR_IIOP=false # Necessary additional compiler flags to compile X11 X_CFLAGS:= X_LIBS:= # The lowest required version of macosx to enforce compatiblity for MACOSX_VERSION_MIN= # Toolchain type: gcc, clang, solstudio, lxc, microsoft... TOOLCHAIN_TYPE:=gcc # Option used to tell the compiler whether to create 32- or 64-bit executables COMPILER_TARGET_BITS_FLAG:=-m COMPILER_SUPPORTS_TARGET_BITS_FLAG=true CC_OUT_OPTION:=-o$(SPACE) EXE_OUT_OPTION:=-o$(SPACE) LD_OUT_OPTION:=-o$(SPACE) AR_OUT_OPTION:=rcs$(SPACE) # Flags used for overriding the default opt setting for a C/C++ source file. C_O_FLAG_HIGHEST:=-O3 C_O_FLAG_HI:=-O3 C_O_FLAG_NORM:=-O2 C_O_FLAG_NONE:=-O0 CXX_O_FLAG_HIGHEST:=-O3 CXX_O_FLAG_HI:=-O3 CXX_O_FLAG_NORM:=-O2 CXX_O_FLAG_NONE:=-O0 C_FLAG_DEPS:=-MMD -MF CXX_FLAG_DEPS:=-MMD -MF CFLAGS_WARNINGS_ARE_ERRORS:=-Werror # Tools that potentially need to be cross compilation aware. CC:= /usr/bin/gcc # CFLAGS used to compile the jdk native libraries (C-code) CFLAGS_JDKLIB:= -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -fno-omit-frame-pointer -D_LP64=1 -D_LITTLE_ENDIAN -DLINUX -DARCH='"amd64"' -Damd64 -DNDEBUG -DRELEASE='"$(RELEASE)"' -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/share/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/linux/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/unix/native/include -fno-strict-aliasing -fPIC CXXFLAGS_JDKLIB:= -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -fno-omit-frame-pointer -D_LP64=1 -D_LITTLE_ENDIAN -DLINUX -DARCH='"amd64"' -Damd64 -DNDEBUG -DRELEASE='"$(RELEASE)"' -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/share/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/linux/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/unix/native/include -fPIC # CFLAGS used to compile the jdk native launchers (C-code) CFLAGS_JDKEXE:= -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -fno-omit-frame-pointer -D_LP64=1 -D_LITTLE_ENDIAN -DLINUX -DARCH='"amd64"' -Damd64 -DNDEBUG -DRELEASE='"$(RELEASE)"' -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/share/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/linux/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/unix/native/include -fno-strict-aliasing CXXFLAGS_JDKEXE:= -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -fno-omit-frame-pointer -D_LP64=1 -D_LITTLE_ENDIAN -DLINUX -DARCH='"amd64"' -Damd64 -DNDEBUG -DRELEASE='"$(RELEASE)"' -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/share/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/linux/native/include -I/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/jdk/src/java.base/unix/native/include CXX:= /usr/bin/g++ #CXXFLAGS:= -I/usr/include/freetype2 OBJC:= #OBJCFLAGS:= CPP:= /usr/bin/gcc -E #CPPFLAGS:= # The linker can be gcc or ld on posix systems, or link.exe on windows systems. LD:= /usr/bin/gcc # Xcode SDK path SDKROOT:= # The linker on older SuSE distros (e.g. on SLES 10) complains with: # "Invalid version tag `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable." # if feeded with a version script which contains named tags. USING_BROKEN_SUSE_LD:=no # LDFLAGS used to link the jdk native libraries (C-code) LDFLAGS_JDKLIB:= -Xlinker --hash-style=both -Xlinker -z -Xlinker defs -Xlinker -O1 -shared -L/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/build/linux-x86_64-normal-server-release/jdk/lib/amd64 -L/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/build/linux-x86_64-normal-server-release/jdk/lib/amd64/server LDFLAGS_JDKLIB_SUFFIX:=-ljava -ljvm # On some platforms the linker cannot be used to create executables, thus # the need for a separate LDEXE command. LDEXE:= /usr/bin/gcc # LDFLAGS used to link the jdk native launchers (C-code) LDFLAGS_JDKEXE:= -Xlinker --hash-style=both -Xlinker -z -Xlinker defs -Xlinker -O1 -Xlinker --allow-shlib-undefined LDFLAGS_JDKEXE_SUFFIX:= # LDFLAGS specific to C++ linking. LDFLAGS_CXX_JDK:= # Sometimes a different linker is needed for c++ libs LDCXX:= /usr/bin/gcc # The flags for linking libstdc++ linker. LIBCXX:= -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic # Sometimes a different linker is needed for c++ executables LDEXECXX:= /usr/bin/g++ # BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the # build platform. BUILD_CC:= /usr/bin/gcc BUILD_LD:= /usr/bin/gcc AS:= /usr/bin/gcc -c # AR is used to create a static library (is ar in posix, lib.exe in windows) AR:= /usr/bin/ar ARFLAGS:= NM:=/usr/bin/nm GNM:=/usr/bin/nm STRIP:=/usr/bin/strip MCS:= LIPO:= # Command to create a shared library SHARED_LIBRARY_FLAGS:=-shared # Options to linker to specify a mapfile. # (Note absence of := assignment, because we do not want to evaluate the macro body here) SET_SHARED_LIBRARY_MAPFILE=-Xlinker -version-script=$1 # Options for C/CXX compiler to be used if linking is performed # using reorder file C_FLAG_REORDER:= CXX_FLAG_REORDER:= # # Options for generating debug symbols ENABLE_DEBUG_SYMBOLS:=true CFLAGS_DEBUG_SYMBOLS:=-g CXXFLAGS_DEBUG_SYMBOLS:=-g ZIP_DEBUGINFO_FILES:=true # # Compress (or not) jars COMPRESS_JARS=false # Options to linker to specify the library name. # (Note absence of := assignment, because we do not want to evaluate the macro body here) SET_SHARED_LIBRARY_NAME=-Xlinker -soname=$1 # Set origin using the linker, ie use the relative path to the dependent library to find the dependees. # (Note absence of := assignment, because we do not want to evaluate the macro body here) SET_SHARED_LIBRARY_ORIGIN=-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$$$ORIGIN$1 SET_EXECUTABLE_ORIGIN=-Xlinker -rpath -Xlinker \$$$$ORIGIN$1 # Different OS:es have different ways of naming shared libraries. # The SHARED_LIBRARY macro takes "verify" as and argument and returns: # "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform. # (Note absence of := assignment, because we do not want to evaluate the macro body here) SHARED_LIBRARY=lib$1.so STATIC_LIBRARY=lib$1.a LIBRARY_PREFIX:=lib SHARED_LIBRARY_SUFFIX:=.so STATIC_LIBRARY_SUFFIX:=.a EXE_SUFFIX:= OBJ_SUFFIX:=.o POST_STRIP_CMD:=/usr/bin/strip -g POST_MCS_CMD:= JAVA_FLAGS:= JAVA_FLAGS_BIG:= -Xms64M -Xmx1600M -XX:ThreadStackSize=1536 JAVA_FLAGS_SMALL:= -XX:+UseSerialGC -Xms32M -Xmx512M JAVA_TOOL_FLAGS_SMALL:= -J-XX:+UseSerialGC -J-Xms32M -J-Xmx512M JAVA= /usr/share/java-1.8.0/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) JAVA_SMALL= /usr/share/java-1.8.0/bin/java $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) JAVAC:= /usr/share/java-1.8.0/bin/javac # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid # overriding that value by using ?=. JAVAC_FLAGS?= JAVAH:= /usr/share/java-1.8.0/bin/javah JAR:= /usr/share/java-1.8.0/bin/jar NATIVE2ASCII:= /usr/share/java-1.8.0/bin/native2ascii $(JAVA_TOOL_FLAGS_SMALL) JARSIGNER:= /usr/share/java-1.8.0/bin/jarsigner # You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ... INTERIM_LANGTOOLS_JAR := $(LANGTOOLS_OUTPUTDIR)/dist/interim_langtools.jar INTERIM_LANGTOOLS_ARGS := "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" -cp $(INTERIM_LANGTOOLS_JAR) NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javac.Main NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javadoc.Main # The interim corba jar is needed for running rmic INTERIM_CORBA_JAR := $(CORBA_OUTPUTDIR)/dist/interim_corba.jar # Base flags for RC # Guarding this against resetting value. Legacy make files include spec multiple # times. ifndef RC_FLAGS RC_FLAGS:= endif # A specific java binary with specific options can be used to run # the long running background sjavac servers and other long running tasks. SJAVAC_SERVER_JAVA:= /usr/share/java-1.8.0/bin/java -d64 -Xms512M -Xmx2048M # Tools adhering to a minimal and common standard of posix compliance. AWK:=gawk BASENAME:=/bin/basename BASH:=/bin/bash CAT:=/bin/cat CCACHE:= # CD is going away, but remains to cater for legacy makefiles. CD:=cd CHMOD:=/bin/chmod CODESIGN:= COMM:=/usr/bin/comm CP:=/bin/cp CPIO:=/bin/cpio CUT:=/bin/cut DATE:=/bin/date DIFF:=/usr/bin/diff DIRNAME:=/usr/bin/dirname DSYMUTIL:= FIND:=/bin/find FIND_DELETE:=-delete ECHO:=/bin/echo EGREP:=/bin/grep -E FGREP:=/bin/grep -F GREP:=/bin/grep HEAD:=/usr/bin/head LS:=/bin/ls LN:=/bin/ln MKDIR:=/bin/mkdir MV:=/bin/mv NAWK:=/bin/gawk PRINTF:=/usr/bin/printf PWD:=@THEPWDCMD@ RM:=/bin/rm -f SED:=/bin/sed SH:=/bin/sh SORT:=/bin/sort TAR:=/bin/tar TAIL:=/usr/bin/tail TEE:=/usr/bin/tee TIME:=/usr/bin/time IS_GNU_TIME:=yes TR:=/usr/bin/tr TOUCH:=/bin/touch UNIQ:=/usr/bin/uniq WC:=/usr/bin/wc XARGS:=/usr/bin/xargs ZIPEXE:=/usr/bin/zip ZIP:=/usr/bin/zip UNZIP:=/usr/bin/unzip MT:= RC:= DUMPBIN:= CYGPATH:= LDD:=/usr/bin/ldd OTOOL:=true READELF:=/usr/bin/readelf EXPR:=/usr/bin/expr FILE:=/usr/bin/file HG:=/usr/bin/hg OBJCOPY:=/usr/bin/objcopy SETFILE:= XATTR:= JT_HOME:= JTREGEXE:= XCODEBUILD= FIXPATH:= # Where the build output is stored for your convenience. BUILD_LOG:=$(OUTPUT_ROOT)/build.log BUILD_LOG_PREVIOUS:=$(OUTPUT_ROOT)/build.log.old # Disable the build log wrapper on sjavac+winapi until # we have solved how to prevent the log wrapper to wait # for the background sjavac server process. ifeq (noXposix,yesXwinapi) BUILD_LOG_WRAPPER:= else BUILD_LOG_WRAPPER:=$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG) endif # Build setup ENABLE_JFR=@ENABLE_JFR@ ENABLE_INTREE_EC=yes USE_EXTERNAL_LIBJPEG:=false USE_EXTERNAL_LIBGIF:=false USE_EXTERNAL_LIBZ:=false LIBZIP_CAN_USE_MMAP:=true MSVCR_DLL:= # ADD_SRCS takes a single argument with source roots # and appends any corresponding source roots found # below --with-add-source-root and below # --with-override-source-root. It is the responsibility # of the next macro to get rid of superfluous files. ADD_SRCS=$1 ifneq (,$(ADD_SRC_ROOT)) # Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1)) endif ifneq (,$(OVERRIDE_SRC_ROOT)) # Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1)) endif # OVR_SRCS creates a filter expression to filter out sources in # the original source directory that lie inside directories below # --with-override-source-root. # Use := here since we want to scan for these files here. To avoid recomputation later. # We cannot do the scan in configure, since that would force us to rerun configure when # we add overridden sources. ifneq (,$(OVERRIDE_SRC_ROOT)) OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f))))) else OVR_SRCS:= endif #################################################### # # INSTALLATION # # Common prefix for all installed files. Defaults to /usr/local, # but /opt/myjdk is another common version. INSTALL_PREFIX=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/staging # Directories containing architecture-dependent files should be relative to exec_prefix INSTALL_EXECPREFIX=/scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/staging # java,javac,javah,javap etc are installed here. INSTALL_BINDIR=${exec_prefix}/bin # Read only architecture-independent data INSTALL_DATADIR=${datarootdir} # Root of above. INSTALL_DATAROOTDIR=${prefix}/share # Doc files, other than info and man. INSTALL_DOCDIR=${datarootdir}/doc/${PACKAGE_TARNAME} # Html documentation INSTALL_HTMLDIR=${docdir} # Installing C header files, JNI headers for example. INSTALL_INCLUDEDIR=${prefix}/include # Installing library files.... INSTALL_INCLUDEDIR=${exec_prefix}/lib # Executables that other programs run. INSTALL_LIBEXECDIR=${exec_prefix}/libexec # Locale-dependent but architecture-independent data, such as message catalogs. INSTALL_LOCALEDIR=${datarootdir}/locale # Modifiable single-machine data INSTALL_LOCALSTATEDIR=${prefix}/var # Man pages INSTALL_MANDIR=${datarootdir}/man # Modifiable architecture-independent data. INSTALL_SHAREDSTATEDIR=${prefix}/com # Read-only single-machine data INSTALL_SYSCONFDIR=${prefix}/etc #################################################### # # Libraries # USE_EXTERNAL_LCMS:=false LCMS_CFLAGS:= LCMS_LIBS:= USE_EXTERNAL_LIBPNG:=false PNG_LIBS:= PNG_CFLAGS:= #################################################### # # Misc # # Name of Service Agent library SALIB_NAME=libsaproc.so INCLUDE_SA=true OS_VERSION_MAJOR:=2 OS_VERSION_MINOR:=6 OS_VERSION_MICRO:=39 # Images directory definitions JDK_IMAGE_SUBDIR:=j2sdk-image JRE_IMAGE_SUBDIR:=j2re-image JDK_OVERLAY_IMAGE_SUBDIR:=j2sdk-overlay-image JRE_OVERLAY_IMAGE_SUBDIR:=j2re-overlay-image # Colon left out to be able to override output dir for bootcycle-images JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR) JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR) JDK_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_OVERLAY_IMAGE_SUBDIR) JRE_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_OVERLAY_IMAGE_SUBDIR) # Macosx bundles directory definitions JDK_BUNDLE_SUBDIR=j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents JRE_BUNDLE_SUBDIR=j2re-bundle/jre$(JDK_VERSION).jre/Contents JDK_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR) JRE_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR) # This macro is called to allow inclusion of closed source counterparts. # Unless overridden in closed sources, it expands to nothing. # Usage: This function is called in an open makefile, with the following # arguments: # $1 the name of the repo, or empty if the top-level repo. # $2 the name of the makefile define IncludeCustomExtension endef # Include the custom-spec.gmk file if it exists -include $(dir /scratch/jenkins/workspaces/jdk9/XRTSRJ9UFLOX/OS/linux/arch/x86-64/build/linux-x86_64-normal-server-release/spec.gmk)/custom-spec.gmk