changeset 1283:90358389b2d4

This cleanups up the --with-x-home checks so they work correctly with all possible options and adds some additional defaults for Gentoo and Debian systems. 2008-12-17 Andrew John Hughes <gnu_andrew@member.fsf.org> * Makefile.am: No need to check again that SYSTEM_GCJ_DIR exists. * acinclude.m4: (AC_CHECK_FOR_GCJ_JDK): Added. (AC_CHECK_FOR_OPENJDK): Likewise. (AC_CHECK_FOR_ICEDTEA): Likewise. * configure.ac: Do --with-icedtea/--with-openjdk check earlier. More --with-x-home options to macros in acinclude.m4. Remove redundant erroneous use of GCC_OLD.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Wed, 17 Dec 2008 22:14:33 +0000
parents cedcd6958a6f
children 83952ccf276b
files ChangeLog Makefile.am acinclude.m4 configure.ac
diffstat 4 files changed, 165 insertions(+), 113 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Dec 17 20:16:53 2008 +0000
+++ b/ChangeLog	Wed Dec 17 22:14:33 2008 +0000
@@ -1,3 +1,16 @@
+2008-12-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	* Makefile.am:
+	No need to check again that SYSTEM_GCJ_DIR exists.
+	* acinclude.m4:
+	(AC_CHECK_FOR_GCJ_JDK): Added.
+	(AC_CHECK_FOR_OPENJDK): Likewise.
+	(AC_CHECK_FOR_ICEDTEA): Likewise.
+	* configure.ac:
+	Do --with-icedtea/--with-openjdk check earlier.
+	More --with-x-home options to macros in acinclude.m4.
+	Remove redundant erroneous use of GCC_OLD.
+
 2008-12-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	* Makefile.am:
--- a/Makefile.am	Wed Dec 17 20:16:53 2008 +0000
+++ b/Makefile.am	Wed Dec 17 22:14:33 2008 +0000
@@ -1028,28 +1028,21 @@
 	ln -sf $(XALAN2_SERIALIZER_JAR) \
 	  bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar
 	ln -sf $(XERCES2_JAR) bootstrap/ecj/lib/endorsed/xerces-j2.jar
-	if test -d $(SYSTEM_GCJ_DIR); \
-	then \
-	  mkdir -p bootstrap/ecj/jre/lib; \
-	  ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \
-	    bootstrap/ecj/jre/lib/; \
-	  if ! test -d bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \
+	mkdir -p bootstrap/ecj/jre/lib; \
+	ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \
+	  bootstrap/ecj/jre/lib/; \
+	if ! test -d bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \
 	  then \
-	    ln -sf ./$(JRE_ARCH_DIR) \
-	      bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \
-	  fi; \
-	  mkdir -p bootstrap/ecj/include; \
-	  for i in $(SYSTEM_GCJ_DIR)/include/*; do \
-	    test -r $$i | continue; \
-	    i=`basename $$i`; \
-	    rm -f bootstrap/ecj/include/$$i; \
-	    ln -s $(SYSTEM_GCJ_DIR)/include/$$i bootstrap/ecj/include/$$i; \
-	  done; \
-	else \
-	  echo $(SYSTEM_GCJ_DIR) " cannot be found. Try reconfiguring with " \
-	    --with-gcj-home=/path/to/java-gcj-devel ; \
-          exit 1; \
-	fi
+	  ln -sf ./$(JRE_ARCH_DIR) \
+	    bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \
+	fi; \
+	mkdir -p bootstrap/ecj/include; \
+	for i in $(SYSTEM_GCJ_DIR)/include/*; do \
+	  test -r $$i | continue; \
+	  i=`basename $$i`; \
+	  rm -f bootstrap/ecj/include/$$i; \
+	  ln -s $(SYSTEM_GCJ_DIR)/include/$$i bootstrap/ecj/include/$$i; \
+	done; \
 	if test -f $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar ; \
 	then \
 	  mkdir -p $(abs_top_builddir)/bootstrap/ecj/lib ; \
--- a/acinclude.m4	Wed Dec 17 20:16:53 2008 +0000
+++ b/acinclude.m4	Wed Dec 17 22:14:33 2008 +0000
@@ -975,3 +975,104 @@
   AC_SUBST([HGREV])
   AM_CONDITIONAL(WITH_HGREV, test "x${HGREV}" != "x")
 ])
+
+AC_DEFUN([AC_CHECK_FOR_GCJ_JDK],
+[
+  AC_MSG_CHECKING([for a GCJ JDK home directory])
+  AC_ARG_WITH([gcj-home],
+	      [AS_HELP_STRING([--with-gcj-home],
+                              [gcj home directory \
+                               (default is /usr/lib/jvm/java-gcj or /usr/lib/jvm/gcj-jdk)])],
+              [
+                if test "x${withval}" = xyes
+                then
+                  SYSTEM_GCJ_DIR=
+                elif test "x${withval}" = xno
+                then
+	          SYSTEM_GCJ_DIR=
+	        else
+                  SYSTEM_GCJ_DIR=${withval}
+                fi
+              ],
+              [
+	        SYSTEM_GCJ_DIR=
+              ])
+  if test -z "${SYSTEM_GCJ_DIR}"; then
+    for dir in /usr/lib/jvm/java-gcj /usr/lib/jvm/gcj-jdk /usr/lib/jvm/cacao ; do
+       test -d $dir && SYSTEM_GCJ_DIR=$dir
+    done
+  fi
+  AC_MSG_RESULT(${SYSTEM_GCJ_DIR})
+  if ! test -d "${SYSTEM_GCJ_DIR}"; then
+    AC_MSG_ERROR("A GCJ JDK home directory could not be found.")
+  fi
+  AC_SUBST(SYSTEM_GCJ_DIR)
+])
+
+AC_DEFUN([AC_CHECK_FOR_OPENJDK],
+[
+  AC_MSG_CHECKING([for an existing OpenJDK installation])
+  AC_ARG_WITH([openjdk-home],
+              [AS_HELP_STRING([--with-openjdk-home],
+                              [OpenJDK home directory \
+                               (default is /usr/lib/jvm/java-openjdk)])],
+              [
+                if test "x${withval}" = xyes
+                then
+                  SYSTEM_OPENJDK_DIR=
+                elif test "x${withval}" = xno
+                then
+	          SYSTEM_OPENJDK_DIR=
+	        else
+                  SYSTEM_OPENJDK_DIR=${withval}
+                fi
+              ],
+              [
+                SYSTEM_OPENJDK_DIR=
+              ])
+  if test -z "${SYSTEM_OPENJDK_DIR}"; then
+    for dir in /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk ; do
+       test -d $dir && SYSTEM_OPENJDK_DIR=$dir
+    done
+  fi
+  AC_MSG_RESULT(${SYSTEM_OPENJDK_DIR})
+  if ! test -d "${SYSTEM_OPENJDK_DIR}"; then
+    AC_MSG_ERROR("An OpenJDK home directory could not be found.")
+  fi
+  AC_SUBST(SYSTEM_OPENJDK_DIR)
+])
+
+AC_DEFUN([AC_CHECK_FOR_ICEDTEA],
+[
+  AC_MSG_CHECKING(for an existing IcedTea installation)
+  AC_ARG_WITH([icedtea-home],
+              [AS_HELP_STRING([--with-icedtea-home],
+                              [IcedTea home directory \
+                               (default is /usr/lib/jvm/java-icedtea)])],
+              [
+                if test "x${withval}" = xyes
+                then
+                  SYSTEM_ICEDTEA_DIR=
+                elif test "x${withval}" = xno
+                then
+	          SYSTEM_ICEDTEA_DIR=
+	        else
+                  SYSTEM_ICEDTEA_DIR=${withval}
+                fi
+              ],
+              [
+                SYSTEM_ICEDTEA_DIR=
+              ])
+  if test -z "${SYSTEM_ICEDTEA_DIR}"; then
+    for dir in /usr/lib/jvm/java-icedtea /usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk ; do
+       test -d $dir && SYSTEM_ICEDTEA_DIR=$dir
+    done
+  fi
+  AC_MSG_RESULT(${SYSTEM_ICEDTEA_DIR})
+  if ! test -d "${SYSTEM_ICEDTEA_DIR}"; then
+    AC_MSG_ERROR("An IcedTea home directory could not be found.")
+  fi
+  AC_SUBST(SYSTEM_ICEDTEA_DIR)
+])
+
+
--- a/configure.ac	Wed Dec 17 20:16:53 2008 +0000
+++ b/configure.ac	Wed Dec 17 22:14:33 2008 +0000
@@ -37,62 +37,41 @@
 AC_PATH_TOOL([LINUX32],[linux32])
 AC_CHECK_GCC_VERSION
 
-AC_MSG_CHECKING([for a JDK home directory])
-AC_ARG_WITH([gcj-home],
-	    [AS_HELP_STRING([--with-gcj-home],
-                            [gcj home directory \
-                             (default is /usr/lib/jvm/java-gcj)])],
-            [
-              if test "x${withval}" = x
-              then
-                SYSTEM_GCJ_DIR=/usr/lib/jvm/java-gcj
-              else
-                SYSTEM_GCJ_DIR=${withval}
-              fi
-            ],
-            [
-              SYSTEM_GCJ_DIR=/usr/lib/jvm/java-gcj
-            ])
-AC_MSG_RESULT(${SYSTEM_GCJ_DIR})
-AC_SUBST(SYSTEM_GCJ_DIR)
+AC_MSG_CHECKING([whether to build using an existing installation of IcedTea])
+AC_ARG_WITH([icedtea],
+        [AS_HELP_STRING([--with-icedtea],
+                        [build IcedTea with system-installed IcedTea])],
+        [
+          if test "x${withval}" != xno
+          then
+            with_icedtea=true
+          else
+            with_icedtea=false
+          fi
+        ],
+        [
+          with_icedtea=false
+        ])
+AM_CONDITIONAL(WITH_ICEDTEA, test "${with_icedtea}" = true)
+AC_MSG_RESULT(${with_icedtea})
 
-AC_MSG_CHECKING([for an existing OpenJDK installation])
-AC_ARG_WITH([openjdk-home],
-            [AS_HELP_STRING([--with-openjdk-home],
-                            [OpenJDK home directory \
-                             (default is /usr/lib/jvm/java-openjdk)])],
-            [
-              if test "x${withval}" = x
-              then
-                SYSTEM_OPENJDK_DIR=/usr/lib/jvm/java-openjdk
-              else
-                SYSTEM_OPENJDK_DIR=${withval}
-              fi
-            ],
-            [
-              SYSTEM_OPENJDK_DIR=/usr/lib/jvm/java-openjdk
-            ])
-AC_MSG_RESULT(${SYSTEM_OPENJDK_DIR})
-AC_SUBST(SYSTEM_OPENJDK_DIR)
-
-AC_MSG_CHECKING(for an existing IcedTea installation)
-AC_ARG_WITH([icedtea-home],
-            [AS_HELP_STRING([--with-icedtea-home],
-                            [IcedTea home directory \
-                             (default is /usr/lib/jvm/java-icedtea)])],
-            [
-              if test "x${withval}" = x
-              then
-                SYSTEM_ICEDTEA_DIR=/usr/lib/jvm/java-icedtea
-              else
-                SYSTEM_ICEDTEA_DIR=${withval}
-              fi
-            ],
-            [
-              SYSTEM_ICEDTEA_DIR=/usr/lib/jvm/java-icedtea
-            ])
-AC_MSG_RESULT(${SYSTEM_ICEDTEA_DIR})
-AC_SUBST(SYSTEM_ICEDTEA_DIR)
+AC_MSG_CHECKING([whether to build using an existing installation of OpenJDK])
+AC_ARG_WITH([openjdk],
+        [AS_HELP_STRING([--with-openjdk],
+                        [build IcedTea with system-installed OpenJDK])],
+        [
+          if test "x${withval}" != xno
+          then
+            with_openjdk=true
+          else
+            with_openjdk=false
+          fi
+        ],
+        [
+          with_openjdk=false
+        ])
+AM_CONDITIONAL(WITH_OPENJDK, test "${with_openjdk}" = true)
+AC_MSG_RESULT(${with_openjdk})
 
 AC_MSG_CHECKING([for a NetBeans installation])
 AC_ARG_WITH([netbeans-home],
@@ -182,41 +161,6 @@
   FIND_NETBEANS
 fi
 
-AC_ARG_WITH([icedtea],
-        [AS_HELP_STRING([--with-icedtea],
-                        [build IcedTea with system-installed IcedTea])],
-        [
-          if test "x${withval}" != xno
-          then
-            with_icedtea=true
-          else
-            with_icedtea=false
-          fi
-        ],
-        [
-          with_icedtea=false
-        ])
-AM_CONDITIONAL(WITH_ICEDTEA, test "${with_icedtea}" = true)
-AC_MSG_RESULT(${with_icedtea})
-
-AC_MSG_CHECKING(whether to build using an existing installation of OpenJDK)
-AC_ARG_WITH([openjdk],
-        [AS_HELP_STRING([--with-openjdk],
-                        [build IcedTea with system-installed OpenJDK])],
-        [
-          if test "x${withval}" != xno
-          then
-            with_openjdk=true
-          else
-            with_openjdk=false
-          fi
-        ],
-        [
-          with_openjdk=false
-        ])
-AM_CONDITIONAL(WITH_OPENJDK, test "${with_openjdk}" = true)
-AC_MSG_RESULT(${with_openjdk})
-
 AC_MSG_CHECKING(how many parallel build jobs to execute)
 AC_ARG_WITH([parallel-jobs],
 	[AS_HELP_STRING([--with-parallel-jobs],
@@ -261,6 +205,7 @@
 SET_ARCH_DIRS
 if test "${with_openjdk}" = true
 then
+  AC_CHECK_FOR_OPENJDK
   JAVA=$SYSTEM_OPENJDK_DIR/bin/java
   AC_SUBST(JAVA)
   JAVAC=${SYSTEM_OPENJDK_DIR}/bin/javac
@@ -271,10 +216,10 @@
   AC_SUBST(JAR)
   RMIC=${SYSTEM_OPENJDK_DIR}/bin/rmic
   AC_SUBST(RMIC)
-  AM_CONDITIONAL(GCC_OLD, test x != x)
 else
 if test "${with_icedtea}" = true
 then
+  AC_CHECK_FOR_ICEDTEA
   JAVA=$SYSTEM_ICEDTEA_DIR/bin/java
   AC_SUBST(JAVA)
   JAVAC=${SYSTEM_ICEDTEA_DIR}/bin/javac
@@ -285,8 +230,8 @@
   AC_SUBST(JAR)
   RMIC=${SYSTEM_ICEDTEA_DIR}/bin/rmic
   AC_SUBST(RMIC)
-  AM_CONDITIONAL(GCC_OLD, test x != x)
 else
+  AC_CHECK_FOR_GCJ_JDK
   FIND_JAVA
   FIND_JAVAC
   FIND_JAVAH