# # Copyright (c) 2005, 2012, 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. # # # Shared sanity settings file. Fills in the variable ALL_SETTINGS. # # On Windows in particular, it can happen that quotes get into the PATH # variable. This is very bad, and must be caught early or you can # see errors like: sh: -c: line 0: syntax error near unexpected token # ifneq ($(PATH), $(subst ",,$(PATH))) dummy1:=$(error ERROR: PATH variable contains double quotes, fix your PATH.) endif ifneq ($(PATH), $(subst ',,$(PATH))) dummy1:=$(error ERROR: PATH variable contains single quotes, fix your PATH.) endif # Used to add a heading to ALL_SETTINGS define addHeading "\n$1:\n" endef # Used to add a line to ALL_SETTINGS for an optional value # (need if test for windows which has issues with ; characters in values) define addOptionalSetting $(if $($1)," $1 = $($1)\n"," $1 = $($1)\n") endef # Used to add a line to ALL_SETTINGS for something that must have a value define addRequiredSetting $(if $($1)," $1 = $($1)\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk])) endef # Used to add a line to ALL_SETTINGS for something that must have a value define addRequiredVersionSetting $(if $($1)," $1 = $($1) [requires at least $(REQUIRED_$1)]\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk])) endef # Used to add a series of lines to ALL_SETTINGS define addAltSetting " $1 = $($1)\n ALT_$1 = $(ALT_$1)\n" endef # Variable that contains a string of all information # Make sure this is a 'do it now' variable. ALL_SETTINGS:=$(call addHeading,Bootstrap Settings) ALL_SETTINGS+=$(call addAltSetting,BOOTDIR) ALL_SETTINGS+=$(call addRequiredVersionSetting,BOOT_VER) ALL_SETTINGS+=$(call addAltSetting,OUTPUTDIR) ALL_SETTINGS+=$(call addRequiredSetting,ABS_OUTPUTDIR) ALL_SETTINGS+=$(call addHeading,Build Tool Settings) ALL_SETTINGS+=$(call addAltSetting,SLASH_JAVA) ALL_SETTINGS+=$(call addRequiredSetting,VARIANT) ALL_SETTINGS+=$(call addAltSetting,JDK_DEVTOOLS_DIR) ALL_SETTINGS+=$(call addOptionalSetting,ANT_HOME) ALL_SETTINGS+=$(call addAltSetting,UNIXCOMMAND_PATH) ALL_SETTINGS+=$(call addAltSetting,COMPILER_PATH) ALL_SETTINGS+=$(call addAltSetting,DEVTOOLS_PATH) ifeq ($(PLATFORM),linux) ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH) ALL_SETTINGS+=$(call addAltSetting,USRBIN_PATH) ifndef OPENJDK ALL_SETTINGS+=$(call addAltSetting,GCC29_COMPILER_PATH) endif endif ifeq ($(PLATFORM),solaris) ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH) ifndef OPENJDK ALL_SETTINGS+=$(call addAltSetting,GCC_COMPILER_PATH) endif endif ifeq ($(PLATFORM),windows) ifneq ($(MSVCRNN_DLL),) ALL_SETTINGS+=$(call addAltSetting,MSVCRNN_DLL_PATH) endif ALL_SETTINGS+=$(call addRequiredSetting,INCLUDE) ALL_SETTINGS+=$(call addRequiredSetting,LIB) endif ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_NAME) ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_VERSION) ifdef REQUIRED_CC_VER ALL_SETTINGS+=$(call addRequiredVersionSetting,CC_VER) else ALL_SETTINGS+=$(call addOptionalSetting,CC_VER) endif ifeq ($(PLATFORM),solaris) ifeq ($(ARCH_DATA_MODEL), 32) ifndef OPENJDK ALL_SETTINGS+=$(call addRequiredVersionSetting,GCC_VER) endif endif endif ALL_SETTINGS+=$(call addRequiredVersionSetting,ZIP_VER) ALL_SETTINGS+=$(call addRequiredVersionSetting,UNZIP_VER) ifeq ($(PLATFORM),windows) ALL_SETTINGS+=$(call addRequiredVersionSetting,LINK_VER) ALL_SETTINGS+=$(call addRequiredSetting,CC) ALL_SETTINGS+=$(call addRequiredSetting,LINK) ALL_SETTINGS+=$(call addRequiredSetting,DUMPBIN) endif ALL_SETTINGS+=$(call addRequiredVersionSetting,ANT_VER) ALL_SETTINGS+=$(call addRequiredSetting,TEMPDIR) ALL_SETTINGS+=$(call addHeading,Build Directives) ALL_SETTINGS+=$(call addOptionalSetting,OPENJDK) ALL_SETTINGS+=$(call addOptionalSetting,USE_HOTSPOT_INTERPRETER_MODE) ALL_SETTINGS+=$(call addOptionalSetting,PEDANTIC) ALL_SETTINGS+=$(call addOptionalSetting,DEV_ONLY) ALL_SETTINGS+=$(call addOptionalSetting,NO_DOCS) ALL_SETTINGS+=$(call addOptionalSetting,NO_DEMOS) ALL_SETTINGS+=$(call addOptionalSetting,NO_SAMPLES) ALL_SETTINGS+=$(call addOptionalSetting,NO_IMAGES) ALL_SETTINGS+=$(call addOptionalSetting,TOOLS_ONLY) ALL_SETTINGS+=$(call addOptionalSetting,INSANE) ALL_SETTINGS+=$(call addRequiredSetting,COMPILE_APPROACH) ifeq ($(COMPILE_APPROACH), parallel) ALL_SETTINGS+=$(call addAltSetting,PARALLEL_COMPILE_JOBS) endif ALL_SETTINGS+=$(call addOptionalSetting,FASTDEBUG) ALL_SETTINGS+=$(call addRequiredSetting,COMPILER_WARNINGS_FATAL) ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_WARNING_LEVEL) ALL_SETTINGS+=$(call addOptionalSetting,SHOW_ALL_WARNINGS) ALL_SETTINGS+=$(call addRequiredSetting,INCREMENTAL_BUILD) ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHEST_OPT) ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHER_OPT) ALL_SETTINGS+=$(call addOptionalSetting,CC_LOWER_OPT) ALL_SETTINGS+=$(call addOptionalSetting,CXXFLAGS) ALL_SETTINGS+=$(call addOptionalSetting,CFLAGS) ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVA_CMD) ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVAC_CMD) ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAR_CMD) ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JARSIGNER_CMD) # These don't print out well with windows due to the ';' characters ifneq ($(PLATFORM),windows) ALL_SETTINGS+=$(call addOptionalSetting,JAVAC_CMD) ALL_SETTINGS+=$(call addOptionalSetting,JAVAH_CMD) ALL_SETTINGS+=$(call addOptionalSetting,JAVADOC_CMD) endif ALL_SETTINGS+=$(call addHeading,Build Platform Settings) ALL_SETTINGS+=$(call addRequiredSetting,USER) ALL_SETTINGS+=$(call addRequiredSetting,PLATFORM) ALL_SETTINGS+=$(call addRequiredSetting,ARCH) ALL_SETTINGS+=$(call addRequiredSetting,LIBARCH) ALL_SETTINGS+=$(call addRequiredSetting,ARCH_FAMILY) ALL_SETTINGS+=$(call addRequiredSetting,ARCH_DATA_MODEL) ALL_SETTINGS+=$(call addRequiredSetting,ARCHPROP) ifeq ($(PLATFORM),windows) ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_ARCHITECTURE) ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_IDENTIFIER) ifdef USING_CYGWIN ALL_SETTINGS+=$(call addRequiredSetting,USING_CYGWIN) ALL_SETTINGS+=$(call addRequiredVersionSetting,CYGWIN_VER) ALL_SETTINGS+=$(call addRequiredSetting,CYGPATH_CMD) else ifdef USING_MSYS ALL_SETTINGS+=$(call addRequiredSetting,USING_MSYS) ALL_SETTINGS+=$(call addRequiredSetting,DOSPATH_CMD) else ALL_SETTINGS+=$(call addRequiredVersionSetting,MKS_VER) ALL_SETTINGS+=$(call addOptionalSetting,DOSNAME_CMD) endif endif endif ifeq ($(PLATFORM),linux) ifdef REQUIRED_ALSA_VERSION ALL_SETTINGS+=$(call addRequiredSetting,ALSA_VERSION) endif endif ALL_SETTINGS+=$(call addRequiredVersionSetting,OS_VERSION) ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_NAME) ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_VERSION) ALL_SETTINGS+=$(call addRequiredSetting,MB_OF_MEMORY) ALL_SETTINGS+=$(call addHeading,GNU Make Settings) ALL_SETTINGS+=$(call addRequiredSetting,MAKE) ALL_SETTINGS+=$(call addRequiredVersionSetting,MAKE_VER) ALL_SETTINGS+=$(call addOptionalSetting,MAKECMDGOALS) ALL_SETTINGS+=$(call addOptionalSetting,MAKEFLAGS) ALL_SETTINGS+=$(call addRequiredSetting,SHELL) ALL_SETTINGS+=$(call addHeading,Target Build Versions) ALL_SETTINGS+=$(call addRequiredSetting,JDK_VERSION) ALL_SETTINGS+=$(call addOptionalSetting,MILESTONE) ALL_SETTINGS+=$(call addOptionalSetting,RELEASE) ALL_SETTINGS+=$(call addRequiredSetting,FULL_VERSION) ALL_SETTINGS+=$(call addOptionalSetting,BUILD_NUMBER) ALL_SETTINGS+=$(call addHeading,External File/Binary Locations) ALL_SETTINGS+=$(call addRequiredSetting,USRJDKINSTANCES_PATH) ALL_SETTINGS+=$(call addAltSetting,BUILD_JDK_IMPORT_PATH) ALL_SETTINGS+=$(call addAltSetting,JDK_IMPORT_PATH) ALL_SETTINGS+=$(call addAltSetting,LANGTOOLS_DIST) ALL_SETTINGS+=$(call addAltSetting,CORBA_DIST) ALL_SETTINGS+=$(call addAltSetting,JAXP_DIST) ALL_SETTINGS+=$(call addAltSetting,JAXWS_DIST) ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_DOCS_IMPORT_PATH) ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_IMPORT_PATH) ifeq ($(ARCH_DATA_MODEL), 32) ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_CLIENT_PATH) endif ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_SERVER_PATH) ifeq ($(PLATFORM),windows) ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_LIB_PATH) ALL_SETTINGS+=$(call addAltSetting,WINDOWSSDKDIR) ALL_SETTINGS+=$(call addRequiredSetting,RC) ALL_SETTINGS+=$(call addRequiredSetting,REBASE) ifndef OPENJDK ALL_SETTINGS+=$(call addAltSetting,DEPLOY_MSSDK) ALL_SETTINGS+=$(call addAltSetting,INSTALL_MSSDK) ALL_SETTINGS+=$(call addAltSetting,WSCRIPT) ALL_SETTINGS+=$(call addAltSetting,MSICERT) endif endif ALL_SETTINGS+=$(call addAltSetting,CACERTS_FILE) ifndef OPENJDK ALL_SETTINGS+=$(call addAltSetting,MOZILLA_HEADERS_PATH) endif ifneq ($(PLATFORM),windows) ALL_SETTINGS+=$(call addAltSetting,CUPS_HEADERS_PATH) endif ifdef OPENJDK ALL_SETTINGS+=$(call addHeading,OpenJDK-specific settings) ALL_SETTINGS+=$(call addAltSetting,FREETYPE_HEADERS_PATH) ALL_SETTINGS+=$(call addAltSetting,FREETYPE_LIB_PATH) endif ifdef OPENJDK ALL_SETTINGS+=$(call addHeading,Previous JDK Settings) ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_PATH) ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_VERSION) ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_FILE) ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JRE_FILE) ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_IMAGE) endif