changeset 3282:58fa22ee49f9

6998016: Incorrect ifdef nesting in sane-gcc-compiler rule 6998014: Use /etc/lsb-release, when available, to detect linux variant and version Reviewed-by: dholmes, ohair
author mduigou
date Mon, 29 Nov 2010 10:37:44 -0800
parents 4d9e09600175
children d05cb7c442b2 714eb2807ed8
files make/common/shared/Defs-linux.gmk make/common/shared/Sanity.gmk
diffstat 2 files changed, 53 insertions(+), 46 deletions(-) [+]
line wrap: on
line diff
--- a/make/common/shared/Defs-linux.gmk	Wed Nov 24 09:51:31 2010 +0000
+++ b/make/common/shared/Defs-linux.gmk	Mon Nov 29 10:37:44 2010 -0800
@@ -123,7 +123,7 @@
 
 # GCC29_COMPILER_PATH: is the path to where the gcc 2.9 compiler is installed
 #  NOTE: Must end with / so that it could be empty, allowing PATH usage.
-ifneq "$(origin ALT_GCC29_COMPILER_PATH)" "undefined"
+ifdef ALT_GCC29_COMPILER_PATH
   GCC29_COMPILER_PATH :=$(call PrefixPath,$(ALT_GCC29_COMPILER_PATH))
 else
   GCC29_COMPILER_PATH = $(JDK_DEVTOOLS_DIR)/$(PLATFORM)/gcc29/usr/
--- a/make/common/shared/Sanity.gmk	Wed Nov 24 09:51:31 2010 +0000
+++ b/make/common/shared/Sanity.gmk	Mon Nov 29 10:37:44 2010 -0800
@@ -99,12 +99,16 @@
       echo "RedHat"; \
     elif [ -f /etc/SuSE-release ] ; then \
       echo "SuSE"; \
+    elif [ -f /etc/lsb-release ] ; then \
+      $(EGREP) DISTRIB_ID /etc/lsb-release | $(SED) -e 's@.*DISTRIB_ID=\(.*\)@\1@'; \
     else \
       echo "Unknown"; \
     fi)
   OS_VARIANT_VERSION := $(shell \
     if [ "$(OS_VARIANT_NAME)" = "Fedora" ] ; then \
       $(CAT) /etc/fedora-release | $(HEAD) -1 | $(NAWK) '{ print $$3; }' ; \
+    elif [ -f /etc/lsb-release ] ; then \
+      $(EGREP) DISTRIB_RELEASE /etc/lsb-release | $(SED) -e 's@.*DISTRIB_RELEASE=\(.*\)@\1@'; \
     fi)
   ALSA_INCLUDE=/usr/include/alsa/version.h
   ALSA_LIBRARY=/usr/lib/libasound.so
@@ -279,7 +283,7 @@
 	fi
 
 ######################################################
-# Check the OS version (windows and linus have release name checks)
+# Check the OS version (windows and linux have release name checks)
 #   NOTE: OPENJDK explicitly does not check for OS release information.
 #         Unless we know for sure that it will not build somewhere, we cannot
 #         generate a fatal sanity error, and a warning about the official
@@ -1476,60 +1480,63 @@
 endif
 
 ######################################################
-# Check the Solaris GNU c++ compiler for solaris plugin
+# Check the GNU C++ compiler for OJI plugin
 ######################################################
 sane-gcc-compiler:
-ifeq ($(PLATFORM), solaris)
-  ifndef OPENJDK
-    @if [ -r $(GCC_COMPILER_PATH) ]; then \
-	  if [ ! "$(GCC_VER)" = $(REQUIRED_GCC_VERSION) ]; then \
-	    $(ECHO) "ERROR: The Solaris GCC compiler version must be $(REQUIRED_GCC_VERSION). \n" \
-	      "      You are using the following compiler version: $(GCC_VER) \n" \
-	      "      The compiler was obtained from the following location: \n" \
-	      "          $(GCC_COMPILER_PATH) \n" \
-	      "      Please change your compiler. \n" \
-	      "" >> $(ERROR_FILE) ; \
-    fi \
+ifndef OPENJDK
+  ifeq ($(PLATFORM), solaris)
+	@if [ -r $(GCC_COMPILER_PATH) ]; then \
+	if [ ! "$(GCC_VER)" = $(REQUIRED_GCC_VERSION) ]; then \
+	$(ECHO) "ERROR: The Solaris GCC compiler version must be $(REQUIRED_GCC_VERSION). \n" \
+	"      You are using the following compiler version: $(GCC_VER) \n" \
+	"      The compiler was obtained from the following location: \n" \
+	"          $(GCC_COMPILER_PATH) \n" \
+	"      Please change your compiler. \n" \
+	"" >> $(ERROR_FILE) ; \
+	fi \
 	else \
-	  $(ECHO) "ERROR: You do not have a valid GCC_COMPILER_PATH setting. \n" \
-	    "      Please check your access to \n" \
-	    "          $(GCC_COMPILER_PATH) \n" \
-	    "      and/or check your value of ALT_GCC_COMPILER_PATH. \n" \
-	    "      This will affect you if you build the plugin target. \n" \
-	    "" >> $(ERROR_FILE) ; \
+	$(ECHO) "ERROR: You do not have a valid GCC_COMPILER_PATH setting. \n" \
+	"      Please check your access to \n" \
+	"          $(GCC_COMPILER_PATH) \n" \
+	"      and/or check your value of ALT_GCC_COMPILER_PATH. \n" \
+	"      This will affect you if you build the plugin target. \n" \
+	"" >> $(ERROR_FILE) ; \
 	fi
   endif
 
   ifeq ($(PLATFORM), linux)
-    ifdef ALT_GCC29_COMPILER_PATH
+    ifeq ($(ARCH_DATA_MODEL), 32)
+      ifdef ALT_GCC29_COMPILER_PATH
 	@if [ ! -x $(ALT_GCC29_COMPILER_PATH)/bin/gcc ]; then \
- 	    $(ECHO) "ERROR: You do not have a valid ALT_GCC29_COMPILER_PATH setting. \n" \
-	         "      Please check your access to \n" \
-	         "      $(ALT_GCC29_COMPILER_PATH)/bin/gcc \n" \
-	         "      This will affect you if you build the plugin target. \n" \
-	         "" >> $(ERROR_FILE) ; \
-    fi
-    endif
-    ifdef ALT_GCC29_PLUGIN_LIB_PATH
-	@if [ ! -r $(ALT_GCC29_PLUGIN_LIB_PATH)/libjavaplugin_oji.so ]; then \
+	  $(ECHO) "ERROR: You do not have a valid ALT_GCC29_COMPILER_PATH setting. \n" \
+	    "      Please check your access to \n" \
+	    "      $(ALT_GCC29_COMPILER_PATH)/bin/gcc \n" \
+	    "      This will affect you if you build the plugin target. \n" \
+	    "" >> $(ERROR_FILE) ; \
+	fi
+      else
+        ifdef ALT_GCC29_PLUGIN_LIB_PATH
+	  @if [ ! -r $(ALT_GCC29_PLUGIN_LIB_PATH)/libjavaplugin_oji.so ]; then \
 	    $(ECHO) "Error: You do not have a valid ALT_GCC29_PLUGIN_LIB_PATH setting. \n" \
-		        " Please check your access to \n" \
-		        " $(ALT_GCC29_PLUGIN_LIB_PATH)/libjavaplugin_oji.so \n" \
-		        " This will affect you if you build the plugin target, specifically for gcc 2.9 version of OJI plugin library. \n" \
-		        "" >> $(ERROR_FILE) ; \
-	fi
-    else
-	@if [ ! -r $(GCC29_COMPILER_PATH) ]; then \
+	      " Please check your access to \n" \
+	      " $(ALT_GCC29_PLUGIN_LIB_PATH)/libjavaplugin_oji.so \n" \
+	      " This will affect you if you build the plugin target, specifically for gcc 2.9 version of OJI plugin library. \n" \
+	      "" >> $(ERROR_FILE) ; \
+	  fi
+	else
+	  @if [ ! -r $(GCC29_COMPILER_PATH) ]; then \
 	    $(ECHO) "ERROR: You do not have a valid GCC29_COMPILER_PATH setting. \n" \
-	    	    " Please check your access to \n" \
-	    	    " $(GCC29_COMPILER_PATH) \n" \
-	    	    " and/or check your value of ALT_GCC29_COMPILER_PATH. \n" \
-	    	    " This will affect you if you build the plugin target. \n" \
-	    	    "" >> $(ERROR_FILE) ; \
-	fi
-    endif
-  endif
-endif
+	      " Please check your access to \n" \
+	      " $(GCC29_COMPILER_PATH) \n" \
+	      " and/or check your value of ALT_GCC29_COMPILER_PATH or ALT_GCC29_PLUGIN_LIB_PATH \n" \
+	      " This will affect you if you build the plugin target. \n" \
+	      "" >> $(ERROR_FILE) ; \
+	   fi
+        endif # ALT_GCC29_PLUGIN_LIB_PATH
+      endif # ALT_GCC29_COMPILER_PATH 
+    endif # ARCH_DATA_MODEL, 32
+  endif # LINUX
+endif  # OPEN_JDK
 
 
 ######################################################