]> granicus.if.org Git - postgresql/commitdiff
Add uninstall target to Java build.
authorPeter Eisentraut <peter_e@gmx.net>
Sun, 11 Mar 2001 11:07:01 +0000 (11:07 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sun, 11 Mar 2001 11:07:01 +0000 (11:07 +0000)
Respect default port setting in JDBC driver.
Pick up version number from Makefile.global.
Change installation directory to share/java/.
Document.

build.xml
contrib/retep/build.xml
doc/src/sgml/jdbc.sgml
src/interfaces/jdbc/Makefile
src/interfaces/jdbc/build.xml
src/interfaces/jdbc/org/postgresql/Driver.java.in

index c7f153018d4073bfd089b501323102b0f431aebb..daee9f4bf1fd47033806eebbf31caf5f4f572e17 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -12,7 +12,7 @@
      detect the presence of both the JDK and ANT, and if both are found
      to build the jdbc driver and utils with the rest of postgresql.
 
-  $Id: build.xml,v 1.2 2001/03/05 09:38:54 peter Exp $
+  $Id: build.xml,v 1.3 2001/03/11 11:06:59 petere Exp $
 
 -->
 
@@ -69,6 +69,12 @@ e.g.
     </antcall>
   </target>
 
+  <target name="uninstall" if="install.directory">
+    <antcall target="call">
+      <param name="target" value="uninstall" />
+    </antcall>
+  </target>
+
   <!--
        This actually calls the other two build.xml files.
        To use it, use the <antcall> tag, and pass the destination target
index 78b45e3bf45e40230de9271d5bd80eafbb82332b..8ab11c47f73f8e0c3c130150c0b76bc10120e624 100644 (file)
@@ -2,7 +2,7 @@
 
   build file to build the donated retep tools packages
 
-  $Id: build.xml,v 1.3 2001/03/05 09:15:35 peter Exp $
+  $Id: build.xml,v 1.4 2001/03/11 11:06:59 petere Exp $
 
 -->
 
     </copy>
   </target>
 
-</project>
+  <target name="uninstall" if="install.directory">
+    <delete>
+      <fileset dir="${install.directory}">
+        <include name="**/*.jar" />
+      </fileset>
+    </delete>
+  </target>
 
+</project>
index cf7b159dcff9af3d7684208bb44e38a7a8c73910..0d02c039672a2e4c488d6e75ac588dbbb4f874d0 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.20 2001/03/11 11:06:59 petere Exp $
 -->
 
  <chapter id="jdbc">
@@ -53,55 +53,49 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27
 
    <para>
     Starting with <productname>PostgreSQL</productname> version 7.1,
-    the preferred way to build the <acronym>JDBC</acronym> driver is
-    using <productname>Ant</productname>, a special tool for building
+    the <acronym>JDBC</acronym> driver is built using
+    <application>Ant</application>, a special tool for building
     Java-based packages.  You should download
-    <productname>Ant</productname> from the <ulink
-    url="http://jakarta.apache.org/ant/index.html"><productname>Ant</productname>
-    web site</ulink> and install it before proceeding.
-   </para>
-
-   <para>
-    The build the driver, issue the command
-<screen>
-<prompt>$</prompt> <userinput>ant</userinput>
-</screen>
-    in the top level directory of the
-    <productname>PostgreSQL</productname> source distribution.
-   </para>
-
-   <para>
-    To install the driver, enter the command
-<screen>
-<prompt>$</prompt> <userinput>ant -Dinstall.directory=<replaceable>mydir</replaceable> install</userinput>
-</screen>
-    Replace <replaceable>mydir</replaceable> with a directory name of
-    your choice; the directory will be created if necessary.  The
-    <productname>PostgreSQL</productname> <acronym>JDBC</acronym>
-    driver consists of a <filename>postgresql.jar</filename> file that
-    will be copied to that directory.
+    <application>Ant</application> from the <ulink
+    url="http://jakarta.apache.org/ant/index.html"><application>Ant</application>
+    web site</ulink> and install it before proceeding.  Precompiled
+    <application>Ant</application> distributions are typically set up
+    to read a file <filename>.antrc</filename> in the current user's
+    home directory for configuration.  For example, to use a different
+    <acronym>JDK</acronym> than the default, this may work:
+<programlisting>
+JAVA_HOME=/usr/local/sun-jdk1.3
+JAVACMD=$JAVA_HOME/bin/java
+</programlisting>
    </para>
 
    <para>
-    Alternatively, you can use the old <command>make</command>-based
-    interface.  The driver's source is located in the <filename
-    class="directory">src/interfaces/jdbc</filename> directory of the
-    source tree. To compile, simply change directory to that
-    directory, and type:
+    The build the driver, add the <option>--with-java</option> option to your
+    <filename>configure</filename> command line, e.g.,
 <screen>
-<prompt>$</prompt> <userinput>gmake</userinput>
+<prompt>$</prompt> <userinput>./configure --prefix=<replaceable>xxx</replaceable> --with-java ...</userinput>
 </screen>
-    (Remember to use <acronym>GNU</acronym> make.)  Upon completion,
-    you will find the archive <filename>postgresql.jar</filename> in
-    the current directory. This is the <acronym>JDBC</acronym> driver,
-    which you can copy to an appropriate directory in your system.
+    This will build and install the driver along with the rest of the
+    <productname>PostgreSQL</productname> package when you issue the
+    <literal>gmake</literal> and <literal>gmake install</literal>
+    commands.  If you only want to build the driver and not the rest
+    of <productname>PostgreSQL</productname>, change into the
+    directory <filename
+    class="directory">src/interfaces/jdbc</filename> and issue the
+    respective <literal>make</literal> command there.  Refer to the
+    <productname>PostgreSQL</productname> installation instructions
+    for more information about the configuration and build process.
    </para>
 
    <note>
     <para>
-     You must not use <command>javac</command> directly, as the
-     driver uses some dynamic loading techniques for performance
-     reasons, and <command>javac</command> cannot cope.
+     Do not try to build by calling <command>javac</command> directly,
+     as the driver uses some dynamic loading techniques for
+     performance reasons, and <command>javac</command> cannot cope.
+     Do not try to run <command>ant</command> directly either, because
+     some configuration information is communicated through the
+     makefiles.  Running <command>ant</command> directly without
+     providing these parameters will result in a broken driver.
     </para>
    </note>
   </sect2>
@@ -114,7 +108,12 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27
     <filename>postgresql.jar</filename> needs to be included in the
     class path, either by putting it in the <envar>CLASSPATH</envar>
     environment variable, or by using flags on the
-    <command>java</command> command line.
+    <command>java</command> command line.  By default, the jar archive
+    is installed in the directory <filename
+    class="directory">/usr/local/pgsql/share/java</filename>.  You may
+    have it in a different directory if you used the
+    <option>--prefix</option> option when you ran
+    <filename>configure</filename>.
    </para>
 
    <informalexample>
@@ -128,7 +127,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27
      <filename>/usr/local/jdk1.1.6</filename>.  To run the
      application, I would use:
 <programlisting>
-export CLASSPATH=/usr/local/lib/finder.jar<co id="co.jdbc-finder">:/usr/local/lib/postgresql.jar:.
+export CLASSPATH=/usr/local/lib/finder.jar<co id="co.jdbc-finder">:/usr/local/pgsql/share/java/postgresql.jar:.
 java uk.org.retep.finder.Main
 </programlisting>
      <calloutlist>
index c88ad6833992ab4b2d7c2e4c82909dcde2bbd815..cdb9a82e44f624962e85bfe79e5d67380897e7b7 100644 (file)
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.27 2001/03/05 09:39:53 peter Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.28 2001/03/11 11:07:00 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -12,17 +12,28 @@ subdir = src/interfaces/jdbc
 top_builddir = ../../..
 include $(top_builddir)/src/Makefile.global
 
-all distprep:
-       @$(ANT) -buildfile $(top_builddir)/build.xml
+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/')
 
-install:
-       @$(ANT) -Dinstall.directory=$(DESTDIR)$(libdir)/java \
-               -buildfile $(top_builddir)/build.xml \
-               install
+properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \
+               -Dfullversion=$(VERSION) \
+               -Ddef_pgport=$(DEF_PGPORT)
 
-installdirs uninstall dep depend:
-       @echo Nothing for JDBC
+all:
+       $(ANT) -buildfile $(top_srcdir)/build.xml $(properties)
 
-clean distclean maintainer-clean:
-       @$(ANT) -buildfile $(top_builddir)/build.xml clean
+install: installdirs
+       $(ANT) -Dinstall.directory=$(DESTDIR)$(datadir)/java \
+               -buildfile $(top_srcdir)/build.xml \
+               install $(properties)
+
+installdirs:
+       $(mkinstalldirs) $(DESTDIR)$(datadir)/java
 
+uninstall:
+       $(ANT) -Dinstall.directory=$(DESTDIR)$(datadir)/java \
+               -buildfile $(top_srcdir)/build.xml \
+               uninstall
+
+clean distclean maintainer-clean:
+       $(ANT) -buildfile $(top_srcdir)/build.xml clean
index ef2c45ceb1c9264138d63da326c3deb7f5873c84..54ed7144196bdec214865da6a5e10e25b0c76cba 100644 (file)
@@ -3,7 +3,7 @@
   build file to allow ant (http://jakarta.apache.org/ant/) to be used
   to build the PostgreSQL JDBC Driver.
 
-  $Id: build.xml,v 1.7 2001/03/05 09:40:01 peter Exp $
+  $Id: build.xml,v 1.8 2001/03/11 11:07:00 petere Exp $
 
 -->
 
@@ -14,8 +14,6 @@
   <property name="jars"    value="jars" />
   <property name="dest"    value="build" />
   <property name="package" value="org/postgresql" />
-  <property name="major" value="7" />
-  <property name="minor" value="1" />
 
   <!--
     defaults for the tests - overide these if required
@@ -68,8 +66,9 @@
     <!-- Some defaults -->
     <filter token="MAJORVERSION" value="${major}" />
     <filter token="MINORVERSION" value="${minor}" />
-    <filter token="VERSION" value="PostgreSQL ${major}.${minor} ${edition}" />
+    <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 -->
 
     </copy>
   </target>
 
+  <!--
+    Uninstall the jar file.
+  -->
+  <target name="uninstall" if="install.directory">
+    <delete>
+      <fileset dir="${install.directory}">
+        <include name="**/*.jar" />
+      </fileset>
+    </delete>
+  </target>
+
   <!--
     This compiles and executes the JUnit tests
   -->
index d7452c6752fa05520f29648cf898d82e2153e58b..5d64a3f579b15e0efe697f37906e93ff00f322bb 100644 (file)
@@ -351,7 +351,7 @@ public class Driver implements java.sql.Driver
    */
   public int port()
   {
-    return Integer.parseInt(props.getProperty("PGPORT","5432"));
+    return Integer.parseInt(props.getProperty("PGPORT","@DEF_PGPORT@"));
   }
 
   /**