Update of /cvsroot/monetdb/java
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9216

Modified Files:
        Makefile.ag build.xml configure.ag 
Log Message:
Because JDBC and XRPC have different Java compiler requirements, I
splitted them up in two.  For this we now check for the Java
requirements of both, and set a conditional appropriately.  We almost
got for free --enable-jdbc and --enable-xrpcwrapper switches.  configure
will now complete successfully if either JDBC or XRPC or both can be
compiled.  If none will be or can be compiled, configure dies.


Index: Makefile.ag
===================================================================
RCS file: /cvsroot/monetdb/java/Makefile.ag,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Makefile.ag 5 Dec 2007 17:02:00 -0000       1.4
+++ Makefile.ag 6 Dec 2007 17:55:30 -0000       1.5
@@ -14,7 +14,7 @@
 # Portions created by CWI are Copyright (C) 1997-2007 CWI.
 # All Rights Reserved.
 
-SUBDIRS = conf tests scripts
+SUBDIRS = conf HAVE_JAVAJDBC?tests HAVE_JAVAJDBC?scripts
 
 EXTRA_DIST = configure.ag rpm.mk.in \
                MonetDB-java.spec MonetDB-java.spec.in \
@@ -27,9 +27,16 @@
                 lib \
                 example
 
-ant_distall = {
+ant_distjdbc = {
+       COND = HAVE_JAVAJDBC
        DIR = datadir/MonetDB/lib
-       FILES = monetdb-1.2-mcl.jar monetdb-1.7-jdbc.jar jdbcclient.jar 
xrpcapi.jar xrpcwrapper.jar xrpcclient.jar
+       FILES = monetdb-1.2-mcl.jar monetdb-1.7-jdbc.jar jdbcclient.jar
+}
+
+ant_distxrpc = {
+       COND = HAVE_JAVAXRPC
+       DIR = datadir/MonetDB/lib
+       FILES = xrpcapi.jar xrpcwrapper.jar xrpcclient.jar
 }
 
 TESTS = RunMtest

Index: build.xml
===================================================================
RCS file: /cvsroot/monetdb/java/build.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- build.xml   5 Dec 2007 17:02:00 -0000       1.2
+++ build.xml   6 Dec 2007 17:55:30 -0000       1.3
@@ -64,37 +64,32 @@
 
   <!-- full target -->
   <target name="all">
-    <antcall target="jar_jdbc" />
+    <antcall target="distjdbc" />
+    <!-- xmldb is not in distjdbc because it needs a library which needs
+         to be fetched first -->
     <antcall target="jar_xmldb" />
-    <antcall target="jar_mcl" />
-    <antcall target="jar_client" />
 
-    <antcall target="jar_xrpc_api" />
-    <antcall target="jar_xrpc_wrapper" />
-    <antcall target="jar_xrpc_client" />
+    <antcall target="distxrpc" />
 
     <antcall target="doc" />
   </target>
 
   <target name="distall">
-    <antcall target="jar_mcl" />
-    <antcall target="jar_jdbc" />
-    <antcall target="jar_jdbcclient" />
-
-    <antcall target="jar_xrpc_api" />
-    <antcall target="jar_xrpc_wrapper" />
-    <antcall target="jar_xrpc_client" />
+    <antcall target="distjdbc" />
+    <antcall target="distxrpc" />
   </target>
 
   <target name="default">
     <antcall target="jar_jdbcclient" />
+  </target>
 
-    <antcall target="jar_xrpc_api" />
-    <antcall target="jar_xrpc_wrapper" />
-    <antcall target="jar_xrpc_client" />
+  <target name="distjdbc">
+    <antcall target="jar_jdbc" />
+    <antcall target="jar_mcl" />
+    <antcall target="jar_jdbcclient" />
   </target>
 
-  <target name="xrpc">
+  <target name="distxrpc">
     <antcall target="jar_xrpc_api" />
     <antcall target="jar_xrpc_wrapper" />
     <antcall target="jar_xrpc_client" />

Index: configure.ag
===================================================================
RCS file: /cvsroot/monetdb/java/configure.ag,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- configure.ag        3 Dec 2007 19:14:59 -0000       1.5
+++ configure.ag        6 Dec 2007 17:55:30 -0000       1.6
@@ -41,12 +41,62 @@
 
 AM_MONETDB_XQ_VARS_1()
 
-req_java_ver_min=1.4 # >= $req_java_ver_min required
-req_java_ver_max=1.6 # <  $req_java_ver_max required
-AM_MONETDB_ANT_JAVA($req_java_ver_min, $req_java_ver_max)
-if test "x$have_java" = xno; then
-       AC_MSG_ERROR([MonetDB Java requires ant and Java >= $req_java_ver_min, 
but < $req_java_ver_max.])
+AC_ARG_ENABLE(jdbc,
+       AC_HELP_STRING([--enable-jdbc], [build the MonetDB JDBC driver]),
+       enable_jdbc="$withval",
+       enable_jdbc=auto)
+case $enable_jdbc in
+       yes|auto) enable_jdbc=$enable_jdbc;;
+       *) enable_jdbc=no;;
+esac
+
+have_java_jdbc=no
+if test "x$enable_jdbc" != xno; then
+       req_java_ver_min=1.4 # >= $req_java_ver_min required
+       req_java_ver_max=1.6 # <  $req_java_ver_max required
+       AM_MONETDB_ANT_JAVA($req_java_ver_min, $req_java_ver_max)
+       if test "x$have_java" = xno; then
+               if test "x$enable_jdbc" = xyes; then
+                       AC_MSG_ERROR([MonetDB JDBC requires ant and Java >= 
$req_java_ver_min, but < $req_java_ver_max.])
+               else
+                       AC_MSG_WARN([Cannot build MonetDB JDBC as it requires 
ant and Java >= $req_java_ver_min, but < $req_java_ver_max.])
+               fi
+       else
+               have_java_jdbc=yes
+       fi
+fi
+AM_CONDITIONAL(HAVE_JAVAJDBC,test x$have_java_jdbc != xno)
+
+AC_ARG_ENABLE(xrpcwrapper,
+       AC_HELP_STRING([--enable-xrpcwrapper], [build the MonetDB XRPC 
wrapper]),
+       enable_xrpc="$withval",
+       enable_xrpc=auto)
+case $enable_xrpc in
+       yes|auto) enable_xrpc=$enable_xrpc;;
+       *) enable_xrpc=no;;
+esac
+
+have_java_xrpc=no
+if test "x$enable_xrpc" != xno; then
+       req_java_ver_min=1.5 # >= $req_java_ver_min required
+       unset req_java_ver_max # <  $req_java_ver_max required
+       AM_MONETDB_ANT_JAVA($req_java_ver_min, $req_java_ver_max)
+       if test "x$have_java" = xno; then
+               if test "x$enable_xrpc" = xyes; then
+                       AC_MSG_ERROR([MonetDB XRPC requires ant and Java >= 
$req_java_ver_min, but < $req_java_ver_max.])
+               else
+                       AC_MSG_ERROR([Cannot build MonetDB XRPC as it requires 
ant and Java >= $req_java_ver_min, but < $req_java_ver_max.])
+               fi
+       else
+               have_java_xrpc=yes
+       fi
 fi
+AM_CONDITIONAL(HAVE_JAVAXRPC,test x$have_java_xrpc != xno)
+
+if test "x${have_java_jdbc}x${have_java_xrpc}" = xnoxno; then
+       AC_MSG_ERROR([Java and Ant are required to build MonetDB Java.])
+fi
+
 AM_MONETDB_UTILS()     # for buildtools
 AM_MONETDB_TRANSLATEPATH()
 AC_PATH_PROG(BASH,bash, /usr/bin/bash, $PATH)


-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to