]> granicus.if.org Git - postgresql/commitdiff
Mike Beachy's build patch to allow ant builds without make
authorDave Cramer <davec@fastcrypt.com>
Wed, 11 Dec 2002 12:29:13 +0000 (12:29 +0000)
committerDave Cramer <davec@fastcrypt.com>
Wed, 11 Dec 2002 12:29:13 +0000 (12:29 +0000)
src/interfaces/jdbc/Makefile
src/interfaces/jdbc/README
src/interfaces/jdbc/build.xml

index 3fbafe54ce8c30e4c83149b38ff73a58f8f9f70c..3e41fc9eb84d4046f6e174851aa1ccb1c546feec 100644 (file)
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 2001, PostgreSQL Global Development Group
 #
-# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.36 2002/10/20 02:55:50 barry Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.37 2002/12/11 12:27:47 davec Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -12,21 +12,23 @@ subdir = src/interfaces/jdbc
 top_builddir = ../../..
 include $(top_builddir)/src/Makefile.global
 
-majorversion := $(shell echo $(VERSION) | sed 's/^\([0-9][0-9]*\)\..*$$/\1/')
-minorversion := $(shell echo $(VERSION) | sed 's/^[0-9][0-9]*\.\([0-9][0-9]*\).*$$/\1/')
+majorversion:= $(shell echo $(VERSION) | sed 's/^\([0-9][0-9]*\)\..*$$/\1/')
+minorversion:= $(shell echo $(VERSION) | sed 's/^[0-9][0-9]*\.\([0-9][0-9]*\).*$$/\1/')
 
-properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \
-               -Dfullversion=$(VERSION) \
-               -Ddef_pgport=$(DEF_PGPORT) \
-               -Denable_debug=$(enable_debug)
+build.properties: $(top_builddir)/src/Makefile.global
+       echo "# This file was created by 'make build.properties'." > build.properties
+       echo major=$(majorversion) >> build.properties
+       echo minor=$(minorversion) >> build.properties
+       echo fullversion=$(VERSION) >> build.properties
+       echo def_pgport=$(DEF_PGPORT) >> build.properties
+       echo enable_debug=$(enable_debug) >> build.properties
 
-all:
-       $(ANT) -buildfile $(srcdir)/build.xml all \
-         $(properties)
+all: build.properties
+       $(ANT) -buildfile $(srcdir)/build.xml all
 
-install: installdirs
+install: installdirs build.properties
        $(ANT) -buildfile $(srcdir)/build.xml install \
-         -Dinstall.directory=$(javadir) $(properties)
+         -Dinstall.directory=$(javadir)
 
 installdirs:
        $(mkinstalldirs) $(javadir) 
@@ -36,7 +38,7 @@ uninstall:
          -Dinstall.directory=$(javadir)
 
 clean distclean maintainer-clean:
-       $(ANT) -buildfile $(srcdir)/build.xml clean
+       $(ANT) -buildfile $(srcdir)/build.xml clean_all
 
-check: all
-       $(ANT) -buildfile $(srcdir)/build.xml test $(properties)
+check: build.properties
+       $(ANT) -buildfile $(srcdir)/build.xml test
index e4f364f68000616f23b148b6668ba7e85a4935d1..0c8555165acb0a0c5a43e714b04dc12818699368 100644 (file)
@@ -32,6 +32,10 @@ the directory PREFIX/share/java.
 
 That jar file will contain the driver for _your_ version of the JDK.
 
+If you would like to use ANT directly, first invoke 'make build.properties'
+after running the configure script with the java option. This will create a
+needed Java properties file from the configured information.
+
 REMEMBER: Once you have compiled the driver, it will work on ALL platforms
 that support that version of the API. You don't need to build it for each
 platform.
index 3e6a61dd198ce8d502805b65459fcf37d3728476..1e104a1bd55b43bad8f2ebcc1fb88aebb4a3f7cc 100644 (file)
@@ -6,7 +6,7 @@
 
   This file now requires Ant 1.4.1.  2002-04-18
 
-  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.30 2002/10/20 00:10:55 barry Exp $
+  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.31 2002/12/11 12:27:47 davec Exp $
 
 -->
 
@@ -23,6 +23,8 @@
   <property name="package" value="org/postgresql" />
   <property name="debug" value="on" />
 
+  <property file="build.properties"/>
+
   <!--
     This is a simpler method than utils.CheckVersion
     It defaults to jdbc1, but builds jdbc2 if the java.lang.Byte class is
     </javac>
   </target>
 
+  <target name="check_driver">
+    <uptodate targetfile="${package}/Driver.java" property="driver.uptodate">
+      <srcfiles dir=".">
+      <include name="${package}/Driver.java.in"/>
+      <include name="build.properties"/>
+      </srcfiles>
+    </uptodate>
+  </target>
 
   <!--
     This generates Driver.java from Driver.java.in
     It's required for importing the driver version properties
   -->
-  <target name="driver" depends="prepare,check_versions">
+  <target name="driver" depends="prepare,check_versions,check_driver"
+          unless="driver.uptodate">
     <!-- determine the edition text -->
     <condition property="edition" value="JDBC1">
         <equals arg1="${jdbc1}" arg2="true"/>
 
      <fail unless="major" message="'major' undefined. Please follow the directions in README."/>
      <fail unless="minor" message="'minor' undefined. Please follow the directions in README."/>
+     <fail unless="fullversion" message="'fullversion' undefined. Please follow the directions in README."/>
+     <fail unless="def_pgport" message="'def_pgport' undefined. Please follow the directions in README."/>
+     <fail unless="enable_debug" message="'enable_debug' undefined. Please follow the directions in README."/>
  
     <!-- Put a check for the current version here -->
 
     <delete quiet="true" file="${package}/Driver.java" />
   </target>
 
+  <target name="clean_all" depends="clean">
+    <delete quiet="true" file="build.properties" />
+  </target>
 
 
   <!-- This compiles and executes the JUnit tests -->