hotspot/make/linux/makefiles/defs.make
changeset 33957 39113ae98993
parent 30113 3f6beb804b02
child 34319 9d6dd3c5ca23
--- a/hotspot/make/linux/makefiles/defs.make	Wed Jul 05 20:36:16 2017 +0200
+++ b/hotspot/make/linux/makefiles/defs.make	Fri Jun 12 08:31:01 2015 +0200
@@ -139,102 +139,85 @@
   endif
 endif
 
-# determine if HotSpot is being built in JDK6 or earlier version
-JDK6_OR_EARLIER=0
-ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
-  # if the longer variable names (newer build style) are set, then check those
-  ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
-    JDK6_OR_EARLIER=1
-  endif
-else
-  # the longer variables aren't set so check the shorter variable names
-  ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
-    JDK6_OR_EARLIER=1
-  endif
-endif
+# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
+# builds is enabled with debug info files ZIP'ed to save space. For
+# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
+# debug build without debug info isn't very useful.
+# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
+#
+# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
+# disabled for a BUILD_FLAVOR == product build.
+#
+# Note: Use of a different variable name for the FDS override option
+# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
+# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
+# in options via environment variables, use of distinct variables
+# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
+# product build, the FULL_DEBUG_SYMBOLS environment variable will be
+# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
+# the same variable name is used, then different values can be picked
+# up by different parts of the build. Just to be clear, we only need
+# two variable names because the incoming option value can be
+# overridden in some situations, e.g., a BUILD_FLAVOR != product
+# build.
 
-ifeq ($(JDK6_OR_EARLIER),0)
-  # Full Debug Symbols is supported on JDK7 or newer.
-  # The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
-  # builds is enabled with debug info files ZIP'ed to save space. For
-  # BUILD_FLAVOR != product builds, FDS is always enabled, after all a
-  # debug build without debug info isn't very useful.
-  # The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
-  #
-  # If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
-  # disabled for a BUILD_FLAVOR == product build.
-  #
-  # Note: Use of a different variable name for the FDS override option
-  # versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
-  # versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
-  # in options via environment variables, use of distinct variables
-  # prevents strange behaviours. For example, in a BUILD_FLAVOR !=
-  # product build, the FULL_DEBUG_SYMBOLS environment variable will be
-  # 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
-  # the same variable name is used, then different values can be picked
-  # up by different parts of the build. Just to be clear, we only need
-  # two variable names because the incoming option value can be
-  # overridden in some situations, e.g., a BUILD_FLAVOR != product
-  # build.
+# Due to the multiple sub-make processes that occur this logic gets
+# executed multiple times. We reduce the noise by at least checking that
+# BUILD_FLAVOR has been set.
+ifneq ($(BUILD_FLAVOR),)
+  ifeq ($(BUILD_FLAVOR), product)
+    FULL_DEBUG_SYMBOLS ?= 1
+    ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
+  else
+    # debug variants always get Full Debug Symbols (if available)
+    ENABLE_FULL_DEBUG_SYMBOLS = 1
+  endif
+  $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
+  # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
 
-  # Due to the multiple sub-make processes that occur this logic gets
-  # executed multiple times. We reduce the noise by at least checking that
-  # BUILD_FLAVOR has been set.
-  ifneq ($(BUILD_FLAVOR),)
-    ifeq ($(BUILD_FLAVOR), product)
-      FULL_DEBUG_SYMBOLS ?= 1
-      ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
+  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+    # Default OBJCOPY comes from GNU Binutils on Linux
+    ifeq ($(CROSS_COMPILE_ARCH),)
+      DEF_OBJCOPY=/usr/bin/objcopy
     else
-      # debug variants always get Full Debug Symbols (if available)
-      ENABLE_FULL_DEBUG_SYMBOLS = 1
+      # Assume objcopy is part of the cross-compilation toolset
+      ifneq ($(ALT_COMPILER_PATH),)
+        DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
+      endif
     endif
-    $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
-    # since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
+    OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
+    ifneq ($(ALT_OBJCOPY),)
+      $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
+      OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
+    endif
 
-    ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
-      # Default OBJCOPY comes from GNU Binutils on Linux
-      ifeq ($(CROSS_COMPILE_ARCH),)
-        DEF_OBJCOPY=/usr/bin/objcopy
-      else
-        # Assume objcopy is part of the cross-compilation toolset
-        ifneq ($(ALT_COMPILER_PATH),)
-          DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
-        endif
-      endif
-      OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
-      ifneq ($(ALT_OBJCOPY),)
-        $(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
-        OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
-      endif
+    ifeq ($(OBJCOPY),)
+      $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
+      ENABLE_FULL_DEBUG_SYMBOLS=0
+      $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
+    else
+      $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
 
-      ifeq ($(OBJCOPY),)
-        $(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
-        ENABLE_FULL_DEBUG_SYMBOLS=0
-        $(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
-      else
-        $(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
+      # Library stripping policies for .debuginfo configs:
+      #   all_strip - strips everything from the library
+      #   min_strip - strips most stuff from the library; leaves minimum symbols
+      #   no_strip  - does not strip the library at all
+      #
+      # Oracle security policy requires "all_strip". A waiver was granted on
+      # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
+      #
+      # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
+      #
+      STRIP_POLICY ?= min_strip
 
-        # Library stripping policies for .debuginfo configs:
-        #   all_strip - strips everything from the library
-        #   min_strip - strips most stuff from the library; leaves minimum symbols
-        #   no_strip  - does not strip the library at all
-        #
-        # Oracle security policy requires "all_strip". A waiver was granted on
-        # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
-        #
-        # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
-        #
-        STRIP_POLICY ?= min_strip
+      $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
+
+      ZIP_DEBUGINFO_FILES ?= 1
 
-        $(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
-
-        ZIP_DEBUGINFO_FILES ?= 1
-
-        $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
-      endif
-    endif # ENABLE_FULL_DEBUG_SYMBOLS=1
-  endif # BUILD_FLAVOR
-endif # JDK_6_OR_EARLIER
+      $(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
+    endif
+  endif # ENABLE_FULL_DEBUG_SYMBOLS=1
+endif # BUILD_FLAVOR
 
 JDK_INCLUDE_SUBDIR=linux