diff --git a/src/interfaces/jdbc/build.xml b/src/interfaces/jdbc/build.xml
index 4865a9a78fcae14a6af6ad9dd0d81b14a209aeaa..ed86f7d5afdb4f1682bf469624c7593401f45f45 100644
--- a/src/interfaces/jdbc/build.xml
+++ b/src/interfaces/jdbc/build.xml
@@ -1,207 +1,234 @@
-<?xml version="1.0"?>
-<!--
-
-  build file to allow ant (http://jakarta.apache.org/ant/) to be used
-  to build the PostgreSQL JDBC Driver
-
-  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.18 2001/09/23 04:11:14 momjian Exp $
-
--->
-
-<!DOCTYPE project [
-  <!ENTITY jarfiles "postgresql.jar,postgresql-examples.jar">
-]>
-
-<project name="postgresqlJDBC" default="all" basedir=".">
-
-  <!-- set global properties for this build -->
-  <property name="srcdir"  value="." />
-  <property name="jardir"  value="jars" />
-  <property name="builddir" value="build" />
-  <property name="package" value="org/postgresql" />
-
-
-  <!--
-    This is a simpler method than utils.CheckVersion
-    It defaults to jdbc1, but builds jdbc2 if the java.lang.Byte class is
-    in the CLASSPATH (ie JDK1.2 or later), and then enterprise if the
-    javax.sql.DataSource class is present.
-
-    Important: This must have the following order: jdbc1, jdbc2, enterprise
-  -->
-  <target name="check_versions">
-    <available property="jdk1.2+" classname="java.lang.ThreadLocal" />
-    <available property="jdk1.2e+" classname="javax.sql.DataSource" />
-    <available property="junit" classname="junit.framework.Test" />
-  </target>
-
-
-  <!-- default target -->
-  <target name="all">
-    <antcall target="jar" />
-  </target>
-
-
-  <!-- create the jar file -->
-  <target name="jar" depends="compile,examples">
-    <jar jarfile="${jardir}/postgresql.jar" whenempty="fail">
-      <fileset dir="${builddir}">
-        <include name="${package}/**/*.class" />
-        <exclude name="${package}/test/**" />
-      </fileset>
-
-      <fileset dir="${srcdir}">
-        <include name="${package}/*.properties" />
-      </fileset>
-    </jar>
-
-    <jar jarfile="${jardir}/postgresql-examples.jar" whenempty="fail">
-      <fileset dir="${builddir}">
-        <include name="example/**/*.class" />
-      </fileset>
-
-      <fileset dir="${srcdir}">
-        <include name="example/*.properties" />
-      </fileset>
-    </jar>
-  </target>
-
-
-  <!-- This is the core of the driver.  It is common for all three versions. -->
-  <target name="compile" depends="prepare,check_versions,driver">
-    <javac srcdir="${srcdir}" destdir="${builddir}">
-      <include name="${package}/**" />
-
-      <exclude name="${package}/jdbc1/**" if="jdk1.2+" />
-      <exclude name="${package}/jdbc2/**" unless="jdk1.2+" />
-
-      <exclude name="${package}/largeobject/PGblob.java" unless="jdk1.2+" />
-      <exclude name="${package}/largeobject/PGclob.java" unless="jdk1.2+" />
-
-      <exclude name="${package}/PostgresqlDataSource.java" unless="jdk1.2e+" />
-      <exclude name="${package}/xa/**" unless="jdk1.2e+" />
-
-      <exclude name="${package}/test/**" unless="junit" />
-    </javac>
-  </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">
-    <!-- determine the edition text -->
-    <property name="edition" value="JDBC1" />
-    <available property="edition" value="JDBC2" classname="java.lang.ThreadLocal" />
-    <available property="edition" value="JDBC2" classname="java.lang.StrictMath" />
-    <available property="edition" value="JDBC2 Enterprise" classname="javax.sql.DataSource" />
-
-    <!-- determine the connection class -->
-    <property name="connectclass" value="org.postgresql.jdbc1.Connection" />
-    <available property="connectclass" value="org.postgresql.jdbc2.Connection" classname="java.lang.ThreadLocal" />
-
-    <!-- Some defaults -->
-    <filter token="MAJORVERSION" value="${major}" />
-    <filter token="MINORVERSION" value="${minor}" />
-    <filter token="VERSION" value="PostgreSQL ${fullversion} ${edition}" />
-    <filter token="JDBCCONNECTCLASS" value="${connectclass}" />
-    <filter token="DEF_PGPORT" value="${def_pgport}" />
-
-    <!-- Put a check for the current version here -->
-
-    <!-- now copy and filter the file -->
-    <copy file="${package}/Driver.java.in"
-          tofile="${package}/Driver.java"
-          filtering="yes" />
-
-    <echo message="Configured build for the ${edition} edition driver" />
-  </target>
-
-
-  <!-- Prepares the build directory -->
-  <target name="prepare">
-    <mkdir dir="${builddir}" />
-    <mkdir dir="${jardir}" />
-  </target>
-
-
-  <!-- This builds the examples -->
-  <target name="examples" depends="compile">
-    <javac srcdir="${srcdir}" destdir="${builddir}">
-      <include name="example/**" />
-      <exclude name="example/corba/**"/>
-      <exclude name="example/blobtest.java" unless="jdk1.2+"/>
-    </javac>
-  </target>
-
-
-  <!-- Builds the corba example -->
-  <target name="corba" if="jdk1.2+">
-    <exec dir="${srcdir}/example/corba" executable="idl2java">
-      <arg value="stock.idl" />
-    </exec>
-
-    <javac srcdir="${srcdir}" destdir="${builddir}">
-      <include name="example/corba/**" />
-    </javac>
-  </target>
-
-
-
-  <!-- Install the jar files -->
-  <target name="install" depends="all" if="install.directory">
-    <copy todir="${install.directory}" overwrite="true">
-      <fileset dir="${jardir}" includes="&jarfiles;" />
-    </copy>
-  </target>
-
-
-  <!-- Uninstall the jar file -->
-  <target name="uninstall" if="install.directory">
-    <delete>
-      <fileset dir="${install.directory}" includes="&jarfiles;" />
-    </delete>
-  </target>
-
-
-
-  <!-- This target removes any class files from the build directory -->
-  <target name="clean">
-    <delete quiet="true" dir="${builddir}" />
-    <delete quiet="true" dir="${jardir}" />
-    <delete quiet="true" file="${package}/Driver.java" />
-  </target>
-
-
-
-  <!-- This compiles and executes the JUnit tests -->
-
-  <!-- defaults for the tests - override these if required -->
-  <property name="database" value="jdbc:postgresql:test" />
-  <property name="username" value="test" />
-  <!-- Password must be something.  Doesn't matter if trust is used! -->
-  <property name="password" value="password" />
-  <!-- junit.ui is one of textui, awtui, or swingui -->
-  <property name="junit.ui" value="textui" />
-
-
-  <target name="test" depends="jar" if="junit">
-    <javac srcdir="${srcdir}" destdir="${builddir}">
-      <include name="${package}/test/jdbc2/**" if="jdk1.2+" />
-      <include name="${package}/test/java2ee/**" if="jdk1.2e+" />
-    </javac>
-
-    <java fork="yes" classname="junit.${junit.ui}.TestRunner" taskname="junit" failonerror="true">
-      <arg value="org.postgresql.test.JDBC2Tests" />
-      <sysproperty key="database" value="${database}" />
-      <sysproperty key="username" value="${username}" />
-      <sysproperty key="password" value="${password}" />
-      <classpath>
-        <pathelement location="${builddir}" />
-        <pathelement path="${java.class.path}" />
-      </classpath>
-    </java>
-  </target>
-
-</project>
+<?xml version="1.0"?>
+<!--
+
+  build file to allow ant (http://jakarta.apache.org/ant/) to be used
+  to build the PostgreSQL JDBC Driver
+
+  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.19 2002/02/22 02:07:30 davec Exp $
+
+-->
+
+<!DOCTYPE project [
+  <!ENTITY jarfiles "postgresql.jar,postgresql-examples.jar">
+]>
+
+<project name="postgresqlJDBC" default="all" basedir=".">
+
+  <!-- set global properties for this build -->
+  <property name="srcdir"  value="." />
+  <property name="jardir"  value="jars" />
+  <property name="builddir" value="build" />
+  <property name="package" value="org/postgresql" />
+  <property name="debug" value="yes" />
+  
+  <!--
+    This is a simpler method than utils.CheckVersion
+    It defaults to jdbc1, but builds jdbc2 if the java.lang.Byte class is
+    in the CLASSPATH (ie JDK1.2 or later), and then enterprise if the
+    javax.sql.DataSource class is present.
+
+    Important: This must have the following order: jdbc1, jdbc2, enterprise
+  -->
+  <target name="check_versions">
+    <condition property="jdbc1">
+      <equals arg1="${ant.java.version}" arg2="1.1"/>
+    </condition>
+    <condition property="jdbc2">
+      <or>
+        <equals arg1="${ant.java.version}" arg2="1.2"/>
+        <equals arg1="${ant.java.version}" arg2="1.3"/>
+      </or>
+    </condition> 
+    <condition property="jdbc3">
+      <equals arg1="${ant.java.version}" arg2="1.4"/>
+    </condition>
+    <condition property="datasource">
+      <and>
+        <equals arg1="${jdbc2}" arg2="true" />        
+        <available classname="javax.sql.DataSource"/>
+      </and>
+    </condition>
+    <available property="junit" classname="junit.framework.Test" />
+  </target>
+
+
+  <!-- default target -->
+  <target name="all">
+    <antcall target="jar" />
+  </target>
+
+
+  <!-- create the jar file -->
+  <target name="jar" depends="compile,examples">
+    <jar jarfile="${jardir}/postgresql.jar" whenempty="fail">
+      <fileset dir="${builddir}">
+        <include name="${package}/**/*.class" />
+        <exclude name="${package}/test/**" />
+      </fileset>
+
+      <fileset dir="${srcdir}">
+        <include name="${package}/*.properties" />
+      </fileset>
+    </jar>
+
+    <jar jarfile="${jardir}/postgresql-examples.jar" whenempty="fail">
+      <fileset dir="${builddir}">
+        <include name="example/**/*.class" />
+      </fileset>
+
+      <fileset dir="${srcdir}">
+        <include name="example/*.properties" />
+      </fileset>
+    </jar>
+  </target>
+
+
+  <!-- This is the core of the driver.  It is common for all three versions. -->
+  <target name="compile" depends="prepare,check_versions,driver">
+    <javac srcdir="${srcdir}" destdir="${builddir}" debug="${debug}">
+      <include name="${package}/**" />
+
+      <exclude name="${package}/jdbc1/**" unless="jdbc1"/>
+      <exclude name="${package}/jdbc2/**" unless="jdbc2"/>
+
+      <exclude name="${package}/largeobject/PGblob.java" unless="jdbc2" />
+      <exclude name="${package}/largeobject/PGclob.java" unless="jdbc2" />
+
+      <exclude name="${package}/PostgresqlDataSource.java" unless="datasource" />
+      <exclude name="${package}/xa/**" unless="datasource" />
+
+      <exclude name="${package}/test/**" unless="junit" />
+    </javac>
+  </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">
+    <!-- determine the edition text -->
+    <property name="edition" value="JDBC1" />
+    <condition property="edition" value="JDBC2">
+      <or>
+        <equals arg1="${jdbc2}" arg2="true"/>
+        <equals arg1="${jdbc3}" arg2="true"/> <!-- fake it for now -->
+        
+      </or>
+    </condition>
+    
+    <condition property="edition" value="JDBC2 Enterprise">
+      <and>
+        <available classname="javax.sql.DataSource" />
+        <equals arg1="${jdbc2}" arg2="true"/>
+      </and>
+    </condition>
+
+    <!-- determine the connection class -->
+    <property name="connectclass" value="org.postgresql.jdbc1.Connection" />
+    <available property="connectclass" value="org.postgresql.jdbc2.Connection" classname="java.lang.ThreadLocal" />
+
+    <!-- Some defaults -->
+    <filter token="MAJORVERSION" value="${major}" />
+    <filter token="MINORVERSION" value="${minor}" />
+    <filter token="VERSION" value="PostgreSQL ${fullversion} ${edition}" />
+    <filter token="JDBCCONNECTCLASS" value="${connectclass}" />
+    <filter token="DEF_PGPORT" value="${def_pgport}" />
+
+    <!-- Put a check for the current version here -->
+
+    <!-- now copy and filter the file -->
+    <copy file="${package}/Driver.java.in"
+          tofile="${package}/Driver.java"
+          filtering="yes" />
+
+    <echo message="Configured build for the ${edition} edition driver" />
+  </target>
+
+
+  <!-- Prepares the build directory -->
+  <target name="prepare">
+    <mkdir dir="${builddir}" />
+    <mkdir dir="${jardir}" />
+  </target>
+
+
+  <!-- This builds the examples -->
+  <target name="examples" depends="compile">
+    <javac srcdir="${srcdir}" destdir="${builddir}">
+      <include name="example/**" />
+      <exclude name="example/corba/**"/>
+      <exclude name="example/blobtest.java" unless="jdk1.2+"/>
+    </javac>
+  </target>
+
+
+  <!-- Builds the corba example -->
+  <target name="corba" if="jdk1.2+">
+    <exec dir="${srcdir}/example/corba" executable="idl2java">
+      <arg value="stock.idl" />
+    </exec>
+
+    <javac srcdir="${srcdir}" destdir="${builddir}">
+      <include name="example/corba/**" />
+    </javac>
+  </target>
+
+
+
+  <!-- Install the jar files -->
+  <target name="install" depends="all" if="install.directory">
+    <copy todir="${install.directory}" overwrite="true">
+      <fileset dir="${jardir}" includes="&jarfiles;" />
+    </copy>
+  </target>
+
+
+  <!-- Uninstall the jar file -->
+  <target name="uninstall" if="install.directory">
+    <delete>
+      <fileset dir="${install.directory}" includes="&jarfiles;" />
+    </delete>
+  </target>
+
+
+
+  <!-- This target removes any class files from the build directory -->
+  <target name="clean">
+    <delete quiet="true" dir="${builddir}" />
+    <delete quiet="true" dir="${jardir}" />
+    <delete quiet="true" file="${package}/Driver.java" />
+  </target>
+
+
+
+  <!-- This compiles and executes the JUnit tests -->
+
+  <!-- defaults for the tests - override these if required -->
+  <property name="database" value="jdbc:postgresql:test" />
+  <property name="username" value="test" />
+  <!-- Password must be something.  Doesn't matter if trust is used! -->
+  <property name="password" value="password" />
+  <!-- junit.ui is one of textui, awtui, or swingui -->
+  <property name="junit.ui" value="textui" />
+
+
+  <target name="test" depends="jar" if="junit">
+    <javac srcdir="${srcdir}" destdir="${builddir}">
+      <include name="${package}/test/jdbc2/**" if="jdk1.2+" />
+      <include name="${package}/test/java2ee/**" if="jdk1.2e+" />
+    </javac>
+
+    <java fork="yes" classname="junit.${junit.ui}.TestRunner" taskname="junit" failonerror="true">
+      <arg value="org.postgresql.test.JDBC2Tests" />
+      <sysproperty key="database" value="${database}" />
+      <sysproperty key="username" value="${username}" />
+      <sysproperty key="password" value="${password}" />
+      <classpath>
+        <pathelement location="${builddir}" />
+        <pathelement path="${java.class.path}" />
+      </classpath>
+    </java>
+  </target>
+
+</project>