diff options
-rw-r--r-- | build.xml | 8 | ||||
-rw-r--r-- | contrib/retep/build.xml | 11 | ||||
-rw-r--r-- | doc/src/sgml/jdbc.sgml | 83 | ||||
-rw-r--r-- | src/interfaces/jdbc/Makefile | 33 | ||||
-rw-r--r-- | src/interfaces/jdbc/build.xml | 18 | ||||
-rw-r--r-- | src/interfaces/jdbc/org/postgresql/Driver.java.in | 2 |
6 files changed, 94 insertions, 61 deletions
diff --git a/build.xml b/build.xml index c7f153018d4..daee9f4bf1f 100644 --- 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 diff --git a/contrib/retep/build.xml b/contrib/retep/build.xml index 78b45e3bf45..8ab11c47f73 100644 --- a/contrib/retep/build.xml +++ b/contrib/retep/build.xml @@ -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 $ --> @@ -56,5 +56,12 @@ </copy> </target> -</project> + <target name="uninstall" if="install.directory"> + <delete> + <fileset dir="${install.directory}"> + <include name="**/*.jar" /> + </fileset> + </delete> + </target> +</project> diff --git a/doc/src/sgml/jdbc.sgml b/doc/src/sgml/jdbc.sgml index cf7b159dcff..0d02c039672 100644 --- a/doc/src/sgml/jdbc.sgml +++ b/doc/src/sgml/jdbc.sgml @@ -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> diff --git a/src/interfaces/jdbc/Makefile b/src/interfaces/jdbc/Makefile index c88ad683399..cdb9a82e44f 100644 --- a/src/interfaces/jdbc/Makefile +++ b/src/interfaces/jdbc/Makefile @@ -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 diff --git a/src/interfaces/jdbc/build.xml b/src/interfaces/jdbc/build.xml index ef2c45ceb1c..54ed7144196 100644 --- a/src/interfaces/jdbc/build.xml +++ b/src/interfaces/jdbc/build.xml @@ -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 --> @@ -154,6 +153,17 @@ </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 --> <target name="test" depends="jar" if="junit"> diff --git a/src/interfaces/jdbc/org/postgresql/Driver.java.in b/src/interfaces/jdbc/org/postgresql/Driver.java.in index d7452c6752f..5d64a3f579b 100644 --- a/src/interfaces/jdbc/org/postgresql/Driver.java.in +++ b/src/interfaces/jdbc/org/postgresql/Driver.java.in @@ -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@")); } /** |