1 #
   2 # Copyright (c) 2005, 2012, 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 # Shared sanity settings file. Fills in the variable ALL_SETTINGS.
  28 #
  29 
  30 # On Windows in particular, it can happen that quotes get into the PATH
  31 #    variable. This is very bad, and must be caught early or you can
  32 #    see errors like: sh: -c: line 0: syntax error near unexpected token
  33 #
  34 ifneq ($(PATH), $(subst ",,$(PATH)))
  35   dummy1:=$(error ERROR: PATH variable contains double quotes, fix your PATH.)
  36 endif
  37 ifneq ($(PATH), $(subst ',,$(PATH)))
  38   dummy1:=$(error ERROR: PATH variable contains single quotes, fix your PATH.)
  39 endif
  40 
  41 # Used to add a heading to ALL_SETTINGS
  42 define addHeading
  43 "\n$1:\n"
  44 endef
  45 
  46 # Used to add a line to ALL_SETTINGS for an optional value
  47 #   (need if test for windows which has issues with ; characters in values)
  48 define addOptionalSetting
  49 $(if $($1)," $1 = $($1)\n"," $1 = $($1)\n")
  50 endef
  51 
  52 # Used to add a line to ALL_SETTINGS for something that must have a value
  53 define addRequiredSetting
  54 $(if $($1)," $1 = $($1)\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk]))
  55 endef
  56 
  57 # Used to add a line to ALL_SETTINGS for something that must have a value
  58 define addRequiredVersionSetting
  59 $(if $($1)," $1 = $($1) [requires at least $(REQUIRED_$1)]\n",$(warning WARNING: $1 should not be empty [Sanity-Settings.gmk]))
  60 endef
  61 
  62 # Used to add a series of lines to ALL_SETTINGS
  63 define addAltSetting
  64 " $1 = $($1)\n    ALT_$1 = $(ALT_$1)\n"
  65 endef
  66 
  67 # Variable that contains a string of all information
  68 
  69 # Make sure this is a 'do it now' variable.
  70 ALL_SETTINGS:=$(call addHeading,Bootstrap Settings)
  71 ALL_SETTINGS+=$(call addAltSetting,BOOTDIR)
  72 ALL_SETTINGS+=$(call addRequiredVersionSetting,BOOT_VER)
  73 ALL_SETTINGS+=$(call addAltSetting,OUTPUTDIR)
  74 ALL_SETTINGS+=$(call addRequiredSetting,ABS_OUTPUTDIR)
  75 
  76 
  77 ALL_SETTINGS+=$(call addHeading,Build Tool Settings)
  78 ALL_SETTINGS+=$(call addAltSetting,SLASH_JAVA)
  79 ALL_SETTINGS+=$(call addRequiredSetting,VARIANT)
  80 ALL_SETTINGS+=$(call addAltSetting,JDK_DEVTOOLS_DIR)
  81 ALL_SETTINGS+=$(call addOptionalSetting,ANT_HOME)
  82 ALL_SETTINGS+=$(call addAltSetting,UNIXCOMMAND_PATH)
  83 ALL_SETTINGS+=$(call addAltSetting,COMPILER_PATH)
  84 ALL_SETTINGS+=$(call addAltSetting,DEVTOOLS_PATH)
  85 ifeq ($(PLATFORM),linux)
  86   ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH)
  87   ALL_SETTINGS+=$(call addAltSetting,USRBIN_PATH)
  88   ifndef OPENJDK
  89     ALL_SETTINGS+=$(call addAltSetting,GCC29_COMPILER_PATH)
  90   endif
  91 endif
  92 ifeq ($(PLATFORM),solaris)
  93   ALL_SETTINGS+=$(call addAltSetting,UNIXCCS_PATH)
  94   ifndef OPENJDK
  95     ALL_SETTINGS+=$(call addAltSetting,GCC_COMPILER_PATH)
  96   endif
  97 endif
  98 ifeq ($(PLATFORM),windows)
  99   ifneq ($(MSVCRNN_DLL),)
 100     ALL_SETTINGS+=$(call addAltSetting,MSVCRNN_DLL_PATH)
 101   endif
 102   ALL_SETTINGS+=$(call addRequiredSetting,INCLUDE)
 103   ALL_SETTINGS+=$(call addRequiredSetting,LIB)
 104 endif
 105 ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_NAME)
 106 ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_VERSION)
 107 ifdef REQUIRED_CC_VER
 108   ALL_SETTINGS+=$(call addRequiredVersionSetting,CC_VER)
 109 else
 110   ALL_SETTINGS+=$(call addOptionalSetting,CC_VER)
 111 endif
 112 ifeq ($(PLATFORM),solaris)
 113   ifeq ($(ARCH_DATA_MODEL), 32)
 114     ifndef OPENJDK
 115       ALL_SETTINGS+=$(call addRequiredVersionSetting,GCC_VER)
 116     endif
 117   endif
 118 endif
 119 ALL_SETTINGS+=$(call addRequiredVersionSetting,ZIP_VER)
 120 ALL_SETTINGS+=$(call addRequiredVersionSetting,UNZIP_VER)
 121 ifeq ($(PLATFORM),windows)
 122   ALL_SETTINGS+=$(call addRequiredVersionSetting,LINK_VER)
 123   ALL_SETTINGS+=$(call addRequiredSetting,CC)
 124   ALL_SETTINGS+=$(call addRequiredSetting,LINK)
 125   ALL_SETTINGS+=$(call addRequiredSetting,DUMPBIN)
 126 endif
 127 ALL_SETTINGS+=$(call addRequiredVersionSetting,ANT_VER)
 128 ALL_SETTINGS+=$(call addRequiredSetting,TEMPDIR)
 129 
 130 
 131 ALL_SETTINGS+=$(call addHeading,Build Directives)
 132 ALL_SETTINGS+=$(call addOptionalSetting,OPENJDK)
 133 ALL_SETTINGS+=$(call addOptionalSetting,USE_HOTSPOT_INTERPRETER_MODE)
 134 ALL_SETTINGS+=$(call addOptionalSetting,PEDANTIC)
 135 ALL_SETTINGS+=$(call addOptionalSetting,DEV_ONLY)
 136 ALL_SETTINGS+=$(call addOptionalSetting,NO_DOCS)
 137 ALL_SETTINGS+=$(call addOptionalSetting,NO_DEMOS)
 138 ALL_SETTINGS+=$(call addOptionalSetting,NO_SAMPLES)
 139 ALL_SETTINGS+=$(call addOptionalSetting,NO_IMAGES)
 140 ALL_SETTINGS+=$(call addOptionalSetting,TOOLS_ONLY)
 141 ALL_SETTINGS+=$(call addOptionalSetting,INSANE)
 142 ALL_SETTINGS+=$(call addRequiredSetting,COMPILE_APPROACH)
 143 ifeq ($(COMPILE_APPROACH), parallel)
 144   ALL_SETTINGS+=$(call addAltSetting,PARALLEL_COMPILE_JOBS)
 145 endif
 146 ALL_SETTINGS+=$(call addOptionalSetting,FASTDEBUG)
 147 ALL_SETTINGS+=$(call addRequiredSetting,COMPILER_WARNINGS_FATAL)
 148 ALL_SETTINGS+=$(call addOptionalSetting,COMPILER_WARNING_LEVEL)
 149 ALL_SETTINGS+=$(call addOptionalSetting,SHOW_ALL_WARNINGS)
 150 ALL_SETTINGS+=$(call addRequiredSetting,INCREMENTAL_BUILD)
 151 ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHEST_OPT)
 152 ALL_SETTINGS+=$(call addOptionalSetting,CC_HIGHER_OPT)
 153 ALL_SETTINGS+=$(call addOptionalSetting,CC_LOWER_OPT)
 154 ALL_SETTINGS+=$(call addOptionalSetting,CXXFLAGS)
 155 ALL_SETTINGS+=$(call addOptionalSetting,CFLAGS)
 156 
 157 ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVA_CMD)
 158 ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAVAC_CMD)
 159 ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JAR_CMD)
 160 ALL_SETTINGS+=$(call addOptionalSetting,BOOT_JARSIGNER_CMD)
 161 
 162 # These don't print out well with windows due to the ';' characters
 163 ifneq ($(PLATFORM),windows)
 164   ALL_SETTINGS+=$(call addOptionalSetting,JAVAC_CMD)
 165   ALL_SETTINGS+=$(call addOptionalSetting,JAVAH_CMD)
 166   ALL_SETTINGS+=$(call addOptionalSetting,JAVADOC_CMD)
 167 endif
 168 
 169 ALL_SETTINGS+=$(call addHeading,Build Platform Settings)
 170 ALL_SETTINGS+=$(call addRequiredSetting,USER)
 171 ALL_SETTINGS+=$(call addRequiredSetting,PLATFORM)
 172 ALL_SETTINGS+=$(call addRequiredSetting,ARCH)
 173 ALL_SETTINGS+=$(call addRequiredSetting,LIBARCH)
 174 ALL_SETTINGS+=$(call addRequiredSetting,ARCH_FAMILY)
 175 ALL_SETTINGS+=$(call addRequiredSetting,ARCH_DATA_MODEL)
 176 ALL_SETTINGS+=$(call addRequiredSetting,ARCHPROP)
 177 ifeq ($(PLATFORM),windows)
 178   ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_ARCHITECTURE)
 179   ALL_SETTINGS+=$(call addRequiredSetting,PROCESSOR_IDENTIFIER)
 180   ifdef USING_CYGWIN
 181     ALL_SETTINGS+=$(call addRequiredSetting,USING_CYGWIN)
 182     ALL_SETTINGS+=$(call addRequiredVersionSetting,CYGWIN_VER)
 183     ALL_SETTINGS+=$(call addRequiredSetting,CYGPATH_CMD)
 184   else
 185     ifdef USING_MSYS
 186       ALL_SETTINGS+=$(call addRequiredSetting,USING_MSYS)
 187       ALL_SETTINGS+=$(call addRequiredSetting,DOSPATH_CMD)
 188     else
 189       ALL_SETTINGS+=$(call addRequiredVersionSetting,MKS_VER)
 190       ALL_SETTINGS+=$(call addOptionalSetting,DOSNAME_CMD)
 191     endif
 192   endif
 193 endif
 194 ifeq ($(PLATFORM),linux)
 195   ifdef REQUIRED_ALSA_VERSION
 196     ALL_SETTINGS+=$(call addRequiredSetting,ALSA_VERSION)
 197   endif
 198 endif
 199 ALL_SETTINGS+=$(call addRequiredVersionSetting,OS_VERSION)
 200 ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_NAME)
 201 ALL_SETTINGS+=$(call addOptionalSetting,OS_VARIANT_VERSION)
 202 ALL_SETTINGS+=$(call addRequiredSetting,MB_OF_MEMORY)
 203 
 204 
 205 ALL_SETTINGS+=$(call addHeading,GNU Make Settings)
 206 ALL_SETTINGS+=$(call addRequiredSetting,MAKE)
 207 ALL_SETTINGS+=$(call addRequiredVersionSetting,MAKE_VER)
 208 ALL_SETTINGS+=$(call addOptionalSetting,MAKECMDGOALS)
 209 ALL_SETTINGS+=$(call addOptionalSetting,MAKEFLAGS)
 210 ALL_SETTINGS+=$(call addRequiredSetting,SHELL)
 211 
 212 
 213 ALL_SETTINGS+=$(call addHeading,Target Build Versions)
 214 ALL_SETTINGS+=$(call addRequiredSetting,JDK_VERSION)
 215 ALL_SETTINGS+=$(call addOptionalSetting,MILESTONE)
 216 ALL_SETTINGS+=$(call addOptionalSetting,RELEASE)
 217 ALL_SETTINGS+=$(call addRequiredSetting,FULL_VERSION)
 218 ALL_SETTINGS+=$(call addOptionalSetting,BUILD_NUMBER)
 219 
 220 
 221 ALL_SETTINGS+=$(call addHeading,External File/Binary Locations)
 222 ALL_SETTINGS+=$(call addRequiredSetting,USRJDKINSTANCES_PATH)
 223 ALL_SETTINGS+=$(call addAltSetting,BUILD_JDK_IMPORT_PATH)
 224 ALL_SETTINGS+=$(call addAltSetting,JDK_IMPORT_PATH)
 225 ALL_SETTINGS+=$(call addAltSetting,LANGTOOLS_DIST)
 226 ALL_SETTINGS+=$(call addAltSetting,CORBA_DIST)
 227 ALL_SETTINGS+=$(call addAltSetting,JAXP_DIST)
 228 ALL_SETTINGS+=$(call addAltSetting,JAXWS_DIST)
 229 ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_DOCS_IMPORT_PATH)
 230 ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_IMPORT_PATH)
 231 ifeq ($(ARCH_DATA_MODEL), 32)
 232   ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_CLIENT_PATH)
 233 endif
 234 ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_SERVER_PATH)
 235 ifeq ($(PLATFORM),windows)
 236   ALL_SETTINGS+=$(call addAltSetting,HOTSPOT_LIB_PATH)
 237   ALL_SETTINGS+=$(call addAltSetting,WINDOWSSDKDIR)
 238   ALL_SETTINGS+=$(call addRequiredSetting,RC)
 239   ALL_SETTINGS+=$(call addRequiredSetting,REBASE)
 240   ifndef OPENJDK
 241     ALL_SETTINGS+=$(call addAltSetting,DEPLOY_MSSDK)
 242     ALL_SETTINGS+=$(call addAltSetting,INSTALL_MSSDK)
 243     ALL_SETTINGS+=$(call addAltSetting,WSCRIPT)
 244     ALL_SETTINGS+=$(call addAltSetting,MSICERT)
 245   endif
 246 endif
 247 ALL_SETTINGS+=$(call addAltSetting,CACERTS_FILE)
 248 ifndef OPENJDK
 249   ALL_SETTINGS+=$(call addAltSetting,MOZILLA_HEADERS_PATH)
 250 endif
 251 ifneq ($(PLATFORM),windows)
 252   ALL_SETTINGS+=$(call addAltSetting,CUPS_HEADERS_PATH)
 253 endif
 254 
 255 ifdef OPENJDK
 256   ALL_SETTINGS+=$(call addHeading,OpenJDK-specific settings)
 257   ALL_SETTINGS+=$(call addAltSetting,FREETYPE_HEADERS_PATH)
 258   ALL_SETTINGS+=$(call addAltSetting,FREETYPE_LIB_PATH)
 259 endif
 260 
 261 ifdef OPENJDK
 262   ALL_SETTINGS+=$(call addHeading,Previous JDK Settings)
 263   ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_PATH)
 264   ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_VERSION)
 265   ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JDK_FILE)
 266   ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_JRE_FILE)
 267   ALL_SETTINGS+=$(call addAltSetting,PREVIOUS_RELEASE_IMAGE)
 268 endif