Thread: JDBC build - take 2
Here is updated patch: * fixed couple of typos. * installdirs and uninstall targets * converted contrib/retep to make too, now no parts of PostgreSQL source _require_ Ant. * made the JUnit tests work too -- marko Index: configure.in =================================================================== RCS file: /opt/cvs/pgsql/pgsql/configure.in,v retrieving revision 1.149 diff -u -r1.149 configure.in --- configure.in 20 Oct 2001 17:57:38 -0000 1.149 +++ configure.in 22 Oct 2001 21:16:18 -0000 @@ -32,6 +32,11 @@ AC_SUBST(VERSION) AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") +VERSION_MAJOR=`echo $VERSION | sed 's/^\([[0-9]][[0-9]]*\)\..*\$/\1/'` +VERSION_MINOR=`echo $VERSION | sed 's/^[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\).*\$/\1/'` +AC_SUBST(VERSION_MAJOR) +AC_SUBST(VERSION_MINOR) + unset CDPATH AC_CANONICAL_HOST @@ -404,10 +409,8 @@ AC_MSG_CHECKING([whether to build Java/JDBC tools]) PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], [AC_MSG_RESULT(yes) -PGAC_PATH_ANT -if test -z "$ANT"; then - AC_MSG_ERROR([Ant is required to build Java components]) -fi], +PGAC_JAVA +], [AC_MSG_RESULT(no)]) AC_SUBST(with_java) Index: src/Makefile.global.in =================================================================== RCS file: /opt/cvs/pgsql/pgsql/src/Makefile.global.in,v retrieving revision 1.140 diff -u -r1.140 Makefile.global.in --- src/Makefile.global.in 13 Oct 2001 15:24:23 -0000 1.140 +++ src/Makefile.global.in 19 Oct 2001 17:12:34 -0000 @@ -30,6 +30,8 @@ # PostgreSQL version number VERSION = @VERSION@ +VERSION_MAJOR = @VERSION_MAJOR@ +VERSION_MINOR = @VERSION_MINOR@ # Support for VPATH builds abs_top_srcdir = @abs_top_srcdir@ @@ -244,6 +246,11 @@ DEF_PGPORT = @default_port@ WANTED_LANGUAGES = @WANTED_LANGUAGES@ +# Java +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAR = @JAR@ +JDBC_TYPE = @JDBC_TYPE@ ########################################################################## # Index: config/java.m4 =================================================================== RCS file: /opt/cvs/pgsql/pgsql/config/java.m4,v retrieving revision 1.3 diff -u -r1.3 java.m4 --- config/java.m4 4 Jul 2001 21:22:55 -0000 1.3 +++ config/java.m4 19 Oct 2001 17:20:39 -0000 @@ -59,3 +59,41 @@ AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) _PGAC_PROG_ANT_WORKS ]) + + +AC_DEFUN([PGAC_JAVA], +[ + testf=src/interfaces/jdbc/utils/CheckVersion.java + test -f "$testf" || { echo "JDBC driver source not found..." ; exit 1 ; } + AC_PATH_PROGS(JAVA, [java]) + AC_PATH_PROGS(JAVAC, [javac jikes]) + AC_PATH_PROGS(JAR, [jar fastjar]) + AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) + AC_CACHE_CHECK([for type of the JDBC driver], [pgac_cv_jdbc_type], + [ + pgac_cv_jdbc_type=bad + + pgac_cmd='$JAVAC -d . $testf 1>&2' + AC_TRY_EVAL(pgac_cmd) + pgac_save_status=$? + if test ! $pgac_save_status = 0 -o ! -f ./CheckVersion.class ; then + echo "configure: failed java program was: $testf" >&AC_FD_CC + AC_MSG_ERROR([Java compilation error. Check config.log for details.]) + fi + + pgac_cmd='$JAVA CheckVersion > conftest.jdbc' + AC_TRY_EVAL(pgac_cmd) + pgac_save_status=$? + test -f conftest.jdbc && pgac_cv_jdbc_type=`cat conftest.jdbc` + test "x$pgac_cv_jdbc_type" = "x" && pgac_cv_jdbc_type=bad + if test ! $pgac_save_status = 0 -o x"$pgac_cv_jdbc_type" = xbad ; then + echo "configure: failed java program was: $testf" >&AC_FD_CC + AC_MSG_ERROR([Java running error. Check config.log for details.]) + fi + + rm CheckVersion.class conftest.jdbc + ]) + JDBC_TYPE=$pgac_cv_jdbc_type + AC_SUBST(JDBC_TYPE) +]) + Index: contrib/retep/Makefile =================================================================== RCS file: /opt/cvs/pgsql/pgsql/contrib/retep/Makefile,v retrieving revision 1.1 diff -u -r1.1 Makefile --- contrib/retep/Makefile 6 Jul 2001 23:07:20 -0000 1.1 +++ contrib/retep/Makefile 22 Oct 2001 21:16:05 -0000 @@ -12,19 +12,36 @@ top_builddir = ../.. include $(top_builddir)/src/Makefile.global -all: - $(ANT) -buildfile $(srcdir)/build.xml all -install: installdirs - $(ANT) -buildfile $(srcdir)/build.xml install \ - -Dinstall.directory=$(javadir) +BUILDDIR := ./build +JARDIR := ./jars +PKGBASE := uk/org/retep +JARNAME := retepTools.jar + +SRCS := $(shell find $(srcdir)/$(PKGBASE) -name '*.java') +JARFILE := $(JARDIR)/$(JARNAME) + + +all: $(JARFILE) + +$(JARFILE): $(SRCS) + mkdir -p $(BUILDDIR) $(JARDIR) + @echo "" + @echo "Compiling uk.org.retep tools..." + @$(JAVAC) -d $(BUILDDIR) $(SRCS) + @echo "" + cp $(srcdir)/$(PKGBASE)/*.properties $(BUILDDIR)/$(PKGBASE) + $(JAR) -c0f $@ -C $(BUILDDIR) $(PKGBASE) + +clean distclean maintainer-clean: + rm -rf $(BUILDDIR) $(JARDIR) installdirs: $(mkinstalldirs) $(javadir) +install: $(JARFILE) installdirs + $(INSTALL_DATA) $(JARFILE) $(javadir) + uninstall: - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ - -Dinstall.directory=$(javadir) + rm -f $(javadir)/$(JARNAME) -clean distclean maintainer-clean: - $(ANT) -buildfile $(srcdir)/build.xml clean Index: src/interfaces/jdbc/Makefile =================================================================== RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/Makefile,v retrieving revision 1.33 diff -u -r1.33 Makefile --- src/interfaces/jdbc/Makefile 6 Jul 2001 23:07:20 -0000 1.33 +++ src/interfaces/jdbc/Makefile 22 Oct 2001 21:17:05 -0000 @@ -12,30 +12,130 @@ 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/') +IDL2JAVA = idltojava -fno-cpp -fno-tie -properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ - -Dfullversion=$(VERSION) \ - -Ddef_pgport=$(DEF_PGPORT) - -all: - $(ANT) -buildfile $(srcdir)/build.xml all \ - $(properties) - -install: installdirs - $(ANT) -buildfile $(srcdir)/build.xml install \ - -Dinstall.directory=$(javadir) $(properties) +BUILDDIR := ./build +JARDIR := ./jars + +PGBASE := $(srcdir)/org/postgresql +JARFILE := $(JARDIR)/postgresql.jar +MANIFEST := $(srcdir)/manifest +TEST_JAR := $(JARDIR)/postgresql-test.jar +EXAMPLE_JAR := $(JARDIR)/postgresql-example.jar + +# Test vars +TEST_DATABASE := test +TEST_USERNAME := test +TEST_PASSWORD := test +JUNIT_UI := textui + +# +# default target +# +all: $(JARFILE) + +# +# Details about driver edition +# +include $(srcdir)/spec.$(JDBC_TYPE) + +# +# get sources +# +PKG_DIRS := $(foreach pkg,$(subst .,/,$(PKGS)),$(pkg)) +SRCS := $(foreach src,$(EXTRA_SRCS),$(srcdir)/$(src)) \ + $(foreach dir,$(PKG_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) + +TEST_DIRS := $(foreach pkg,$(subst .,/,$(TEST_PKGS)),$(pkg)) +TEST_SRCS := $(foreach dir,$(TEST_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) + +EXAMPLE_SRCS := $(foreach src,$(EXAMPLE_SRCS),$(srcdir)/$(src)) + +SEDSUBST := -e 's,@MAJORVERSION@,$(VERSION_MAJOR),g' \ + -e 's,@MINORVERSION@,$(VERSION_MINOR),g' \ + -e 's,@VERSION@,PostgreSQL $(VERSION) $(JDBC_EDITION),g' \ + -e 's,@JDBCCONNECTCLASS@,$(JDBC_CONNECTCLASS),g' \ + -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \ + -e 's,@JAVA_DEST@,$(javadir),g' + +# +# meta targets +# +.PHONY: examples tests jdbc1 jdbc2 jdbc2e + +examples: $(EXAMPLE_JAR) + +tests: $(TEST_JAR) + +jdbc1: + $(MAKE) JDBC_TYPE=jdbc1 + +jdbc2: + $(MAKE) JDBC_TYPE=jdbc2 + +jdbc2e: + $(MAKE) JDBC_TYPE=jdbc2e + +# +# files +# +$(MANIFEST): $(MANIFEST).in + sed $(SEDSUBST) < $< > $@ + +# Driver.java is mentioned in spec.* +$(PGBASE)/Driver.java: $(PGBASE)/Driver.java.in + sed $(SEDSUBST) < $< > $@ + +$(srcdir)/ant.cfg: $(srcdir)/ant.cfg.in + sed $(SEDSUBST) < $< > $@ + +# +# JARs +# +$(JARFILE): $(MANIFEST) $(SRCS) + mkdir -p $(BUILDDIR) $(JARDIR) + rm -rf $(BUILDDIR)/org/postgresql/test + @echo "" + @echo "Compiling $(JDBC_EDITION) driver..." + @$(JAVAC) -d $(BUILDDIR) $(SRCS) + @echo "" + cp $(PGBASE)/*.properties $(BUILDDIR)/org/postgresql + $(JAR) -c0mf $(MANIFEST) $@ \ + -C $(BUILDDIR) org/postgresql + +$(EXAMPLE_JAR): $(EXAMPLE_SRCS) + mkdir -p $(BUILDDIR) $(JARDIR) + $(JAVAC) -d $(BUILDDIR) $(EXAMPLE_SRCS) + $(JAR) -c0f $@ -C $(BUILDDIR) example + +$(TEST_JAR): $(TEST_SRCS) + mkdir -p $(BUILDDIR) $(JARDIR) + $(JAVAC) -d $(BUILDDIR) $(TEST_SRCS) + $(JAR) -c0f $@ -C $(BUILDDIR) org/postgresql/test + +# +# other +# +clean distclean maintainer-clean: + find . -name "*~" -exec rm {} \; + rm -f $(PGBASE)/Driver.java + rm -f $(MANIFEST) $(srcdir)/ant.cfg + rm -rf $(BUILDDIR) $(JARDIR) + +check: $(JARFILE) $(TEST_JAR) + $(JAVA) -classpath $(JARFILE):$(TEST_JAR):$(CLASSPATH) \ + -Ddatabase=jdbc:postgresql:$(TEST_DATABASE) \ + -Dusername=$(TEST_USERNAME) -Dpassword=$(TEST_PASSWORD) \ + junit.$(JUNIT_UI).TestRunner org.postgresql.test.JDBC2Tests installdirs: $(mkinstalldirs) $(javadir) -uninstall: - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ - -Dinstall.directory=$(javadir) +install: $(JARFILE) installdirs + $(INSTALL_DATA) $(JARFILE) $(javadir) -clean distclean maintainer-clean: - $(ANT) -buildfile $(srcdir)/build.xml clean +uninstall: + rm -f $(javadir)/postgresql.jar + rm -f $(javadir)/postgresql-test.jar + rm -f $(javadir)/postgresql-examples.jar -check: - $(ANT) -buildfile $(srcdir)/build.xml test Index: src/interfaces/jdbc/build.xml =================================================================== RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/build.xml,v retrieving revision 1.18 diff -u -r1.18 build.xml --- src/interfaces/jdbc/build.xml 23 Sep 2001 04:11:14 -0000 1.18 +++ src/interfaces/jdbc/build.xml 19 Oct 2001 17:12:34 -0000 @@ -20,6 +20,8 @@ <property name="builddir" value="build" /> <property name="package" value="org/postgresql" /> + <!-- Load autoconfed properties. --> + <property file="${srcdir}/ant.cfg" /> <!-- This is a simpler method than utils.CheckVersion Index: src/interfaces/jdbc/utils/CheckVersion.java =================================================================== RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/utils/CheckVersion.java,v retrieving revision 1.2 diff -u -r1.2 CheckVersion.java --- src/interfaces/jdbc/utils/CheckVersion.java 19 Dec 2000 17:33:39 -0000 1.2 +++ src/interfaces/jdbc/utils/CheckVersion.java 19 Oct 2001 17:12:34 -0000 @@ -1,5 +1,3 @@ -package utils; - /** * This little app checks to see what version of JVM is being used. * It does this by checking first the java.vm.version property, and @@ -41,12 +39,9 @@ { String vmversion = System.getProperty("java.vm.version"); - System.out.println("postgresql.jdbc="+System.getProperty("postgresql.jdbc")); - // We are running a 1.1 JVM if(vmversion.startsWith("1.1")) { System.out.println("jdbc1"); - //System.exit(0); } else // We are running a 1.2 or 1.3 JVM @@ -58,11 +53,10 @@ // Check to see if we have the standard extensions. If so, then // we want the enterprise edition, otherwise the jdbc2 driver. if(checkClass("javax.sql.DataSource")) - System.out.println("enterprise"); + System.out.println("jdbc2e"); else System.out.println("jdbc2"); - //System.exit(0); - } - System.setProperty("postgresql.jdbc","yoyo"); + } else + System.out.println("bad"); } } --- /dev/null Thu Jan 1 03:00:00 1970 +++ src/interfaces/jdbc/manifest.in Fri Oct 19 19:12:34 2001 @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + --- /dev/null Thu Jan 1 03:00:00 1970 +++ src/interfaces/jdbc/ant.cfg.in Fri Oct 19 19:12:34 2001 @@ -0,0 +1,8 @@ +# properties for Ant + +fullversion = @VERSION@ +major = @VERSION_MAJOR@ +minor = @VERSION_MINOR@ +def_pgport = @default_port@ +install.directory = @JAVA_DEST@ + --- /dev/null Thu Jan 1 03:00:00 1970 +++ src/interfaces/jdbc/spec.jdbc1 Mon Oct 22 23:17:05 2001 @@ -0,0 +1,32 @@ +# jdbc1 + +PKGS := org.postgresql.core \ + org.postgresql.fastpath \ + org.postgresql.geometric \ + org.postgresql.util \ + org.postgresql.jdbc1 + +EXTRA_SRCS := org/postgresql/Connection.java \ + org/postgresql/Driver.java \ + org/postgresql/Field.java \ + org/postgresql/PG_Stream.java \ + org/postgresql/ResultSet.java \ + org/postgresql/Statement.java \ + \ + org/postgresql/largeobject/BlobInputStream.java \ + org/postgresql/largeobject/BlobOutputStream.java \ + org/postgresql/largeobject/LargeObject.java \ + org/postgresql/largeobject/LargeObjectManager.java + +JDBC_CONNECTCLASS := org.postgresql.jdbc1.Connection + +JDBC_EDITION := JDBC1 + +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ + example/basic.java example/datestyle.java \ + example/metadata.java example/psql.java \ + example/threadsafe.java + +# no tests for jdbc1... +TEST_PKGS := + --- /dev/null Thu Jan 1 03:00:00 1970 +++ src/interfaces/jdbc/spec.jdbc2 Mon Oct 22 23:17:05 2001 @@ -0,0 +1,26 @@ +# jdbc2 + +PKGS := org.postgresql.core \ + org.postgresql.fastpath \ + org.postgresql.geometric \ + org.postgresql.largeobject \ + org.postgresql.util \ + org.postgresql.jdbc2 + +EXTRA_SRCS := org/postgresql/Connection.java \ + org/postgresql/Driver.java \ + org/postgresql/Field.java \ + org/postgresql/PG_Stream.java \ + org/postgresql/ResultSet.java \ + org/postgresql/Statement.java + +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection + +JDBC_EDITION := JDBC2 + +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ + example/basic.java example/blobtest.java example/datestyle.java \ + example/metadata.java example/psql.java example/threadsafe.java + +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 + --- /dev/null Thu Jan 1 03:00:00 1970 +++ src/interfaces/jdbc/spec.jdbc2e Mon Oct 22 23:17:05 2001 @@ -0,0 +1,28 @@ +# jdbc2e + +PKGS := org.postgresql.core \ + org.postgresql.fastpath \ + org.postgresql.geometric \ + org.postgresql.largeobject \ + org.postgresql.util \ + org.postgresql.jdbc2 \ + org.postgresql.xa + +EXTRA_SRCS := org/postgresql/Connection.java \ + org/postgresql/Driver.java \ + org/postgresql/Field.java \ + org/postgresql/PG_Stream.java \ + org/postgresql/ResultSet.java \ + org/postgresql/Statement.java \ + org/postgresql/PostgresqlDataSource.java + +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection + +JDBC_EDITION := JDBC2 Enterprise + +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ + example/basic.java example/blobtest.java example/datestyle.java \ + example/metadata.java example/psql.java example/threadsafe.java + +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 +
As I remember we didn't apply this because there was talk of moving from Ant to Make. Because we haven't decided on this, I will keep the patch for possible application later. --------------------------------------------------------------------------- > Here is updated patch: > > * fixed couple of typos. > * installdirs and uninstall targets > * converted contrib/retep to make too, now no parts > of PostgreSQL source _require_ Ant. > * made the JUnit tests work too > > -- > marko > > > Index: configure.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/configure.in,v > retrieving revision 1.149 > diff -u -r1.149 configure.in > --- configure.in 20 Oct 2001 17:57:38 -0000 1.149 > +++ configure.in 22 Oct 2001 21:16:18 -0000 > @@ -32,6 +32,11 @@ > AC_SUBST(VERSION) > AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") > > +VERSION_MAJOR=`echo $VERSION | sed 's/^\([[0-9]][[0-9]]*\)\..*\$/\1/'` > +VERSION_MINOR=`echo $VERSION | sed 's/^[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\).*\$/\1/'` > +AC_SUBST(VERSION_MAJOR) > +AC_SUBST(VERSION_MINOR) > + > unset CDPATH > > AC_CANONICAL_HOST > @@ -404,10 +409,8 @@ > AC_MSG_CHECKING([whether to build Java/JDBC tools]) > PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], > [AC_MSG_RESULT(yes) > -PGAC_PATH_ANT > -if test -z "$ANT"; then > - AC_MSG_ERROR([Ant is required to build Java components]) > -fi], > +PGAC_JAVA > +], > [AC_MSG_RESULT(no)]) > AC_SUBST(with_java) > > Index: src/Makefile.global.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/Makefile.global.in,v > retrieving revision 1.140 > diff -u -r1.140 Makefile.global.in > --- src/Makefile.global.in 13 Oct 2001 15:24:23 -0000 1.140 > +++ src/Makefile.global.in 19 Oct 2001 17:12:34 -0000 > @@ -30,6 +30,8 @@ > > # PostgreSQL version number > VERSION = @VERSION@ > +VERSION_MAJOR = @VERSION_MAJOR@ > +VERSION_MINOR = @VERSION_MINOR@ > > # Support for VPATH builds > abs_top_srcdir = @abs_top_srcdir@ > @@ -244,6 +246,11 @@ > DEF_PGPORT = @default_port@ > WANTED_LANGUAGES = @WANTED_LANGUAGES@ > > +# Java > +JAVA = @JAVA@ > +JAVAC = @JAVAC@ > +JAR = @JAR@ > +JDBC_TYPE = @JDBC_TYPE@ > > ########################################################################## > # > Index: config/java.m4 > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/config/java.m4,v > retrieving revision 1.3 > diff -u -r1.3 java.m4 > --- config/java.m4 4 Jul 2001 21:22:55 -0000 1.3 > +++ config/java.m4 19 Oct 2001 17:20:39 -0000 > @@ -59,3 +59,41 @@ > AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > _PGAC_PROG_ANT_WORKS > ]) > + > + > +AC_DEFUN([PGAC_JAVA], > +[ > + testf=src/interfaces/jdbc/utils/CheckVersion.java > + test -f "$testf" || { echo "JDBC driver source not found..." ; exit 1 ; } > + AC_PATH_PROGS(JAVA, [java]) > + AC_PATH_PROGS(JAVAC, [javac jikes]) > + AC_PATH_PROGS(JAR, [jar fastjar]) > + AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > + AC_CACHE_CHECK([for type of the JDBC driver], [pgac_cv_jdbc_type], > + [ > + pgac_cv_jdbc_type=bad > + > + pgac_cmd='$JAVAC -d . $testf 1>&2' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + if test ! $pgac_save_status = 0 -o ! -f ./CheckVersion.class ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java compilation error. Check config.log for details.]) > + fi > + > + pgac_cmd='$JAVA CheckVersion > conftest.jdbc' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + test -f conftest.jdbc && pgac_cv_jdbc_type=`cat conftest.jdbc` > + test "x$pgac_cv_jdbc_type" = "x" && pgac_cv_jdbc_type=bad > + if test ! $pgac_save_status = 0 -o x"$pgac_cv_jdbc_type" = xbad ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java running error. Check config.log for details.]) > + fi > + > + rm CheckVersion.class conftest.jdbc > + ]) > + JDBC_TYPE=$pgac_cv_jdbc_type > + AC_SUBST(JDBC_TYPE) > +]) > + > Index: contrib/retep/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/contrib/retep/Makefile,v > retrieving revision 1.1 > diff -u -r1.1 Makefile > --- contrib/retep/Makefile 6 Jul 2001 23:07:20 -0000 1.1 > +++ contrib/retep/Makefile 22 Oct 2001 21:16:05 -0000 > @@ -12,19 +12,36 @@ > top_builddir = ../.. > include $(top_builddir)/src/Makefile.global > > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all > > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) > +BUILDDIR := ./build > +JARDIR := ./jars > +PKGBASE := uk/org/retep > +JARNAME := retepTools.jar > + > +SRCS := $(shell find $(srcdir)/$(PKGBASE) -name '*.java') > +JARFILE := $(JARDIR)/$(JARNAME) > + > + > +all: $(JARFILE) > + > +$(JARFILE): $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + @echo "" > + @echo "Compiling uk.org.retep tools..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(srcdir)/$(PKGBASE)/*.properties $(BUILDDIR)/$(PKGBASE) > + $(JAR) -c0f $@ -C $(BUILDDIR) $(PKGBASE) > + > +clean distclean maintainer-clean: > + rm -rf $(BUILDDIR) $(JARDIR) > > installdirs: > $(mkinstalldirs) $(javadir) > > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > + > uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > + rm -f $(javadir)/$(JARNAME) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > Index: src/interfaces/jdbc/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/Makefile,v > retrieving revision 1.33 > diff -u -r1.33 Makefile > --- src/interfaces/jdbc/Makefile 6 Jul 2001 23:07:20 -0000 1.33 > +++ src/interfaces/jdbc/Makefile 22 Oct 2001 21:17:05 -0000 > @@ -12,30 +12,130 @@ > 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/') > +IDL2JAVA = idltojava -fno-cpp -fno-tie > > -properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ > - -Dfullversion=$(VERSION) \ > - -Ddef_pgport=$(DEF_PGPORT) > - > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all \ > - $(properties) > - > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) $(properties) > +BUILDDIR := ./build > +JARDIR := ./jars > + > +PGBASE := $(srcdir)/org/postgresql > +JARFILE := $(JARDIR)/postgresql.jar > +MANIFEST := $(srcdir)/manifest > +TEST_JAR := $(JARDIR)/postgresql-test.jar > +EXAMPLE_JAR := $(JARDIR)/postgresql-example.jar > + > +# Test vars > +TEST_DATABASE := test > +TEST_USERNAME := test > +TEST_PASSWORD := test > +JUNIT_UI := textui > + > +# > +# default target > +# > +all: $(JARFILE) > + > +# > +# Details about driver edition > +# > +include $(srcdir)/spec.$(JDBC_TYPE) > + > +# > +# get sources > +# > +PKG_DIRS := $(foreach pkg,$(subst .,/,$(PKGS)),$(pkg)) > +SRCS := $(foreach src,$(EXTRA_SRCS),$(srcdir)/$(src)) \ > + $(foreach dir,$(PKG_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +TEST_DIRS := $(foreach pkg,$(subst .,/,$(TEST_PKGS)),$(pkg)) > +TEST_SRCS := $(foreach dir,$(TEST_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +EXAMPLE_SRCS := $(foreach src,$(EXAMPLE_SRCS),$(srcdir)/$(src)) > + > +SEDSUBST := -e 's,@MAJORVERSION@,$(VERSION_MAJOR),g' \ > + -e 's,@MINORVERSION@,$(VERSION_MINOR),g' \ > + -e 's,@VERSION@,PostgreSQL $(VERSION) $(JDBC_EDITION),g' \ > + -e 's,@JDBCCONNECTCLASS@,$(JDBC_CONNECTCLASS),g' \ > + -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \ > + -e 's,@JAVA_DEST@,$(javadir),g' > + > +# > +# meta targets > +# > +.PHONY: examples tests jdbc1 jdbc2 jdbc2e > + > +examples: $(EXAMPLE_JAR) > + > +tests: $(TEST_JAR) > + > +jdbc1: > + $(MAKE) JDBC_TYPE=jdbc1 > + > +jdbc2: > + $(MAKE) JDBC_TYPE=jdbc2 > + > +jdbc2e: > + $(MAKE) JDBC_TYPE=jdbc2e > + > +# > +# files > +# > +$(MANIFEST): $(MANIFEST).in > + sed $(SEDSUBST) < $< > $@ > + > +# Driver.java is mentioned in spec.* > +$(PGBASE)/Driver.java: $(PGBASE)/Driver.java.in > + sed $(SEDSUBST) < $< > $@ > + > +$(srcdir)/ant.cfg: $(srcdir)/ant.cfg.in > + sed $(SEDSUBST) < $< > $@ > + > +# > +# JARs > +# > +$(JARFILE): $(MANIFEST) $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + rm -rf $(BUILDDIR)/org/postgresql/test > + @echo "" > + @echo "Compiling $(JDBC_EDITION) driver..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(PGBASE)/*.properties $(BUILDDIR)/org/postgresql > + $(JAR) -c0mf $(MANIFEST) $@ \ > + -C $(BUILDDIR) org/postgresql > + > +$(EXAMPLE_JAR): $(EXAMPLE_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(EXAMPLE_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) example > + > +$(TEST_JAR): $(TEST_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(TEST_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) org/postgresql/test > + > +# > +# other > +# > +clean distclean maintainer-clean: > + find . -name "*~" -exec rm {} \; > + rm -f $(PGBASE)/Driver.java > + rm -f $(MANIFEST) $(srcdir)/ant.cfg > + rm -rf $(BUILDDIR) $(JARDIR) > + > +check: $(JARFILE) $(TEST_JAR) > + $(JAVA) -classpath $(JARFILE):$(TEST_JAR):$(CLASSPATH) \ > + -Ddatabase=jdbc:postgresql:$(TEST_DATABASE) \ > + -Dusername=$(TEST_USERNAME) -Dpassword=$(TEST_PASSWORD) \ > + junit.$(JUNIT_UI).TestRunner org.postgresql.test.JDBC2Tests > > installdirs: > $(mkinstalldirs) $(javadir) > > -uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > +uninstall: > + rm -f $(javadir)/postgresql.jar > + rm -f $(javadir)/postgresql-test.jar > + rm -f $(javadir)/postgresql-examples.jar > > -check: > - $(ANT) -buildfile $(srcdir)/build.xml test > Index: src/interfaces/jdbc/build.xml > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/build.xml,v > retrieving revision 1.18 > diff -u -r1.18 build.xml > --- src/interfaces/jdbc/build.xml 23 Sep 2001 04:11:14 -0000 1.18 > +++ src/interfaces/jdbc/build.xml 19 Oct 2001 17:12:34 -0000 > @@ -20,6 +20,8 @@ > <property name="builddir" value="build" /> > <property name="package" value="org/postgresql" /> > > + <!-- Load autoconfed properties. --> > + <property file="${srcdir}/ant.cfg" /> > > <!-- > This is a simpler method than utils.CheckVersion > Index: src/interfaces/jdbc/utils/CheckVersion.java > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/utils/CheckVersion.java,v > retrieving revision 1.2 > diff -u -r1.2 CheckVersion.java > --- src/interfaces/jdbc/utils/CheckVersion.java 19 Dec 2000 17:33:39 -0000 1.2 > +++ src/interfaces/jdbc/utils/CheckVersion.java 19 Oct 2001 17:12:34 -0000 > @@ -1,5 +1,3 @@ > -package utils; > - > /** > * This little app checks to see what version of JVM is being used. > * It does this by checking first the java.vm.version property, and > @@ -41,12 +39,9 @@ > { > String vmversion = System.getProperty("java.vm.version"); > > - System.out.println("postgresql.jdbc="+System.getProperty("postgresql.jdbc")); > - > // We are running a 1.1 JVM > if(vmversion.startsWith("1.1")) { > System.out.println("jdbc1"); > - //System.exit(0); > } > else > // We are running a 1.2 or 1.3 JVM > @@ -58,11 +53,10 @@ > // Check to see if we have the standard extensions. If so, then > // we want the enterprise edition, otherwise the jdbc2 driver. > if(checkClass("javax.sql.DataSource")) > - System.out.println("enterprise"); > + System.out.println("jdbc2e"); > else > System.out.println("jdbc2"); > - //System.exit(0); > - } > - System.setProperty("postgresql.jdbc","yoyo"); > + } else > + System.out.println("bad"); > } > } > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/manifest.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,2 @@ > +Manifest-Version: 1.0 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/ant.cfg.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,8 @@ > +# properties for Ant > + > +fullversion = @VERSION@ > +major = @VERSION_MAJOR@ > +minor = @VERSION_MINOR@ > +def_pgport = @default_port@ > +install.directory = @JAVA_DEST@ > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc1 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,32 @@ > +# jdbc1 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.util \ > + org.postgresql.jdbc1 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + \ > + org/postgresql/largeobject/BlobInputStream.java \ > + org/postgresql/largeobject/BlobOutputStream.java \ > + org/postgresql/largeobject/LargeObject.java \ > + org/postgresql/largeobject/LargeObjectManager.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc1.Connection > + > +JDBC_EDITION := JDBC1 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/datestyle.java \ > + example/metadata.java example/psql.java \ > + example/threadsafe.java > + > +# no tests for jdbc1... > +TEST_PKGS := > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,26 @@ > +# jdbc2 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2e Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,28 @@ > +# jdbc2e > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 \ > + org.postgresql.xa > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + org/postgresql/PostgresqlDataSource.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 Enterprise > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Your patch has been added to the PostgreSQL unapplied patches list at: http://candle.pha.pa.us/cgi-bin/pgpatches I will try to apply it within the next 48 hours. JDBC maintainers will comment first. --------------------------------------------------------------------------- Marko Kreen wrote: > Here is updated patch: > > * fixed couple of typos. > * installdirs and uninstall targets > * converted contrib/retep to make too, now no parts > of PostgreSQL source _require_ Ant. > * made the JUnit tests work too > > -- > marko > > > Index: configure.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/configure.in,v > retrieving revision 1.149 > diff -u -r1.149 configure.in > --- configure.in 20 Oct 2001 17:57:38 -0000 1.149 > +++ configure.in 22 Oct 2001 21:16:18 -0000 > @@ -32,6 +32,11 @@ > AC_SUBST(VERSION) > AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") > > +VERSION_MAJOR=`echo $VERSION | sed 's/^\([[0-9]][[0-9]]*\)\..*\$/\1/'` > +VERSION_MINOR=`echo $VERSION | sed 's/^[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\).*\$/\1/'` > +AC_SUBST(VERSION_MAJOR) > +AC_SUBST(VERSION_MINOR) > + > unset CDPATH > > AC_CANONICAL_HOST > @@ -404,10 +409,8 @@ > AC_MSG_CHECKING([whether to build Java/JDBC tools]) > PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], > [AC_MSG_RESULT(yes) > -PGAC_PATH_ANT > -if test -z "$ANT"; then > - AC_MSG_ERROR([Ant is required to build Java components]) > -fi], > +PGAC_JAVA > +], > [AC_MSG_RESULT(no)]) > AC_SUBST(with_java) > > Index: src/Makefile.global.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/Makefile.global.in,v > retrieving revision 1.140 > diff -u -r1.140 Makefile.global.in > --- src/Makefile.global.in 13 Oct 2001 15:24:23 -0000 1.140 > +++ src/Makefile.global.in 19 Oct 2001 17:12:34 -0000 > @@ -30,6 +30,8 @@ > > # PostgreSQL version number > VERSION = @VERSION@ > +VERSION_MAJOR = @VERSION_MAJOR@ > +VERSION_MINOR = @VERSION_MINOR@ > > # Support for VPATH builds > abs_top_srcdir = @abs_top_srcdir@ > @@ -244,6 +246,11 @@ > DEF_PGPORT = @default_port@ > WANTED_LANGUAGES = @WANTED_LANGUAGES@ > > +# Java > +JAVA = @JAVA@ > +JAVAC = @JAVAC@ > +JAR = @JAR@ > +JDBC_TYPE = @JDBC_TYPE@ > > ########################################################################## > # > Index: config/java.m4 > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/config/java.m4,v > retrieving revision 1.3 > diff -u -r1.3 java.m4 > --- config/java.m4 4 Jul 2001 21:22:55 -0000 1.3 > +++ config/java.m4 19 Oct 2001 17:20:39 -0000 > @@ -59,3 +59,41 @@ > AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > _PGAC_PROG_ANT_WORKS > ]) > + > + > +AC_DEFUN([PGAC_JAVA], > +[ > + testf=src/interfaces/jdbc/utils/CheckVersion.java > + test -f "$testf" || { echo "JDBC driver source not found..." ; exit 1 ; } > + AC_PATH_PROGS(JAVA, [java]) > + AC_PATH_PROGS(JAVAC, [javac jikes]) > + AC_PATH_PROGS(JAR, [jar fastjar]) > + AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > + AC_CACHE_CHECK([for type of the JDBC driver], [pgac_cv_jdbc_type], > + [ > + pgac_cv_jdbc_type=bad > + > + pgac_cmd='$JAVAC -d . $testf 1>&2' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + if test ! $pgac_save_status = 0 -o ! -f ./CheckVersion.class ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java compilation error. Check config.log for details.]) > + fi > + > + pgac_cmd='$JAVA CheckVersion > conftest.jdbc' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + test -f conftest.jdbc && pgac_cv_jdbc_type=`cat conftest.jdbc` > + test "x$pgac_cv_jdbc_type" = "x" && pgac_cv_jdbc_type=bad > + if test ! $pgac_save_status = 0 -o x"$pgac_cv_jdbc_type" = xbad ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java running error. Check config.log for details.]) > + fi > + > + rm CheckVersion.class conftest.jdbc > + ]) > + JDBC_TYPE=$pgac_cv_jdbc_type > + AC_SUBST(JDBC_TYPE) > +]) > + > Index: contrib/retep/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/contrib/retep/Makefile,v > retrieving revision 1.1 > diff -u -r1.1 Makefile > --- contrib/retep/Makefile 6 Jul 2001 23:07:20 -0000 1.1 > +++ contrib/retep/Makefile 22 Oct 2001 21:16:05 -0000 > @@ -12,19 +12,36 @@ > top_builddir = ../.. > include $(top_builddir)/src/Makefile.global > > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all > > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) > +BUILDDIR := ./build > +JARDIR := ./jars > +PKGBASE := uk/org/retep > +JARNAME := retepTools.jar > + > +SRCS := $(shell find $(srcdir)/$(PKGBASE) -name '*.java') > +JARFILE := $(JARDIR)/$(JARNAME) > + > + > +all: $(JARFILE) > + > +$(JARFILE): $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + @echo "" > + @echo "Compiling uk.org.retep tools..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(srcdir)/$(PKGBASE)/*.properties $(BUILDDIR)/$(PKGBASE) > + $(JAR) -c0f $@ -C $(BUILDDIR) $(PKGBASE) > + > +clean distclean maintainer-clean: > + rm -rf $(BUILDDIR) $(JARDIR) > > installdirs: > $(mkinstalldirs) $(javadir) > > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > + > uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > + rm -f $(javadir)/$(JARNAME) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > Index: src/interfaces/jdbc/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/Makefile,v > retrieving revision 1.33 > diff -u -r1.33 Makefile > --- src/interfaces/jdbc/Makefile 6 Jul 2001 23:07:20 -0000 1.33 > +++ src/interfaces/jdbc/Makefile 22 Oct 2001 21:17:05 -0000 > @@ -12,30 +12,130 @@ > 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/') > +IDL2JAVA = idltojava -fno-cpp -fno-tie > > -properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ > - -Dfullversion=$(VERSION) \ > - -Ddef_pgport=$(DEF_PGPORT) > - > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all \ > - $(properties) > - > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) $(properties) > +BUILDDIR := ./build > +JARDIR := ./jars > + > +PGBASE := $(srcdir)/org/postgresql > +JARFILE := $(JARDIR)/postgresql.jar > +MANIFEST := $(srcdir)/manifest > +TEST_JAR := $(JARDIR)/postgresql-test.jar > +EXAMPLE_JAR := $(JARDIR)/postgresql-example.jar > + > +# Test vars > +TEST_DATABASE := test > +TEST_USERNAME := test > +TEST_PASSWORD := test > +JUNIT_UI := textui > + > +# > +# default target > +# > +all: $(JARFILE) > + > +# > +# Details about driver edition > +# > +include $(srcdir)/spec.$(JDBC_TYPE) > + > +# > +# get sources > +# > +PKG_DIRS := $(foreach pkg,$(subst .,/,$(PKGS)),$(pkg)) > +SRCS := $(foreach src,$(EXTRA_SRCS),$(srcdir)/$(src)) \ > + $(foreach dir,$(PKG_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +TEST_DIRS := $(foreach pkg,$(subst .,/,$(TEST_PKGS)),$(pkg)) > +TEST_SRCS := $(foreach dir,$(TEST_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +EXAMPLE_SRCS := $(foreach src,$(EXAMPLE_SRCS),$(srcdir)/$(src)) > + > +SEDSUBST := -e 's,@MAJORVERSION@,$(VERSION_MAJOR),g' \ > + -e 's,@MINORVERSION@,$(VERSION_MINOR),g' \ > + -e 's,@VERSION@,PostgreSQL $(VERSION) $(JDBC_EDITION),g' \ > + -e 's,@JDBCCONNECTCLASS@,$(JDBC_CONNECTCLASS),g' \ > + -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \ > + -e 's,@JAVA_DEST@,$(javadir),g' > + > +# > +# meta targets > +# > +.PHONY: examples tests jdbc1 jdbc2 jdbc2e > + > +examples: $(EXAMPLE_JAR) > + > +tests: $(TEST_JAR) > + > +jdbc1: > + $(MAKE) JDBC_TYPE=jdbc1 > + > +jdbc2: > + $(MAKE) JDBC_TYPE=jdbc2 > + > +jdbc2e: > + $(MAKE) JDBC_TYPE=jdbc2e > + > +# > +# files > +# > +$(MANIFEST): $(MANIFEST).in > + sed $(SEDSUBST) < $< > $@ > + > +# Driver.java is mentioned in spec.* > +$(PGBASE)/Driver.java: $(PGBASE)/Driver.java.in > + sed $(SEDSUBST) < $< > $@ > + > +$(srcdir)/ant.cfg: $(srcdir)/ant.cfg.in > + sed $(SEDSUBST) < $< > $@ > + > +# > +# JARs > +# > +$(JARFILE): $(MANIFEST) $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + rm -rf $(BUILDDIR)/org/postgresql/test > + @echo "" > + @echo "Compiling $(JDBC_EDITION) driver..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(PGBASE)/*.properties $(BUILDDIR)/org/postgresql > + $(JAR) -c0mf $(MANIFEST) $@ \ > + -C $(BUILDDIR) org/postgresql > + > +$(EXAMPLE_JAR): $(EXAMPLE_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(EXAMPLE_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) example > + > +$(TEST_JAR): $(TEST_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(TEST_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) org/postgresql/test > + > +# > +# other > +# > +clean distclean maintainer-clean: > + find . -name "*~" -exec rm {} \; > + rm -f $(PGBASE)/Driver.java > + rm -f $(MANIFEST) $(srcdir)/ant.cfg > + rm -rf $(BUILDDIR) $(JARDIR) > + > +check: $(JARFILE) $(TEST_JAR) > + $(JAVA) -classpath $(JARFILE):$(TEST_JAR):$(CLASSPATH) \ > + -Ddatabase=jdbc:postgresql:$(TEST_DATABASE) \ > + -Dusername=$(TEST_USERNAME) -Dpassword=$(TEST_PASSWORD) \ > + junit.$(JUNIT_UI).TestRunner org.postgresql.test.JDBC2Tests > > installdirs: > $(mkinstalldirs) $(javadir) > > -uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > +uninstall: > + rm -f $(javadir)/postgresql.jar > + rm -f $(javadir)/postgresql-test.jar > + rm -f $(javadir)/postgresql-examples.jar > > -check: > - $(ANT) -buildfile $(srcdir)/build.xml test > Index: src/interfaces/jdbc/build.xml > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/build.xml,v > retrieving revision 1.18 > diff -u -r1.18 build.xml > --- src/interfaces/jdbc/build.xml 23 Sep 2001 04:11:14 -0000 1.18 > +++ src/interfaces/jdbc/build.xml 19 Oct 2001 17:12:34 -0000 > @@ -20,6 +20,8 @@ > <property name="builddir" value="build" /> > <property name="package" value="org/postgresql" /> > > + <!-- Load autoconfed properties. --> > + <property file="${srcdir}/ant.cfg" /> > > <!-- > This is a simpler method than utils.CheckVersion > Index: src/interfaces/jdbc/utils/CheckVersion.java > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/utils/CheckVersion.java,v > retrieving revision 1.2 > diff -u -r1.2 CheckVersion.java > --- src/interfaces/jdbc/utils/CheckVersion.java 19 Dec 2000 17:33:39 -0000 1.2 > +++ src/interfaces/jdbc/utils/CheckVersion.java 19 Oct 2001 17:12:34 -0000 > @@ -1,5 +1,3 @@ > -package utils; > - > /** > * This little app checks to see what version of JVM is being used. > * It does this by checking first the java.vm.version property, and > @@ -41,12 +39,9 @@ > { > String vmversion = System.getProperty("java.vm.version"); > > - System.out.println("postgresql.jdbc="+System.getProperty("postgresql.jdbc")); > - > // We are running a 1.1 JVM > if(vmversion.startsWith("1.1")) { > System.out.println("jdbc1"); > - //System.exit(0); > } > else > // We are running a 1.2 or 1.3 JVM > @@ -58,11 +53,10 @@ > // Check to see if we have the standard extensions. If so, then > // we want the enterprise edition, otherwise the jdbc2 driver. > if(checkClass("javax.sql.DataSource")) > - System.out.println("enterprise"); > + System.out.println("jdbc2e"); > else > System.out.println("jdbc2"); > - //System.exit(0); > - } > - System.setProperty("postgresql.jdbc","yoyo"); > + } else > + System.out.println("bad"); > } > } > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/manifest.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,2 @@ > +Manifest-Version: 1.0 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/ant.cfg.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,8 @@ > +# properties for Ant > + > +fullversion = @VERSION@ > +major = @VERSION_MAJOR@ > +minor = @VERSION_MINOR@ > +def_pgport = @default_port@ > +install.directory = @JAVA_DEST@ > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc1 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,32 @@ > +# jdbc1 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.util \ > + org.postgresql.jdbc1 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + \ > + org/postgresql/largeobject/BlobInputStream.java \ > + org/postgresql/largeobject/BlobOutputStream.java \ > + org/postgresql/largeobject/LargeObject.java \ > + org/postgresql/largeobject/LargeObjectManager.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc1.Connection > + > +JDBC_EDITION := JDBC1 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/datestyle.java \ > + example/metadata.java example/psql.java \ > + example/threadsafe.java > + > +# no tests for jdbc1... > +TEST_PKGS := > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,26 @@ > +# jdbc2 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2e Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,28 @@ > +# jdbc2e > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 \ > + org.postgresql.xa > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + org/postgresql/PostgresqlDataSource.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 Enterprise > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Marko, I know this is a TODO item, but the JDBC guy who wants to work on this is currently away. I will keep this in my mailbox and make sure it is addressed before 7.3. Thanks. --------------------------------------------------------------------------- Marko Kreen wrote: > Here is updated patch: > > * fixed couple of typos. > * installdirs and uninstall targets > * converted contrib/retep to make too, now no parts > of PostgreSQL source _require_ Ant. > * made the JUnit tests work too > > -- > marko > > > Index: configure.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/configure.in,v > retrieving revision 1.149 > diff -u -r1.149 configure.in > --- configure.in 20 Oct 2001 17:57:38 -0000 1.149 > +++ configure.in 22 Oct 2001 21:16:18 -0000 > @@ -32,6 +32,11 @@ > AC_SUBST(VERSION) > AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") > > +VERSION_MAJOR=`echo $VERSION | sed 's/^\([[0-9]][[0-9]]*\)\..*\$/\1/'` > +VERSION_MINOR=`echo $VERSION | sed 's/^[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\).*\$/\1/'` > +AC_SUBST(VERSION_MAJOR) > +AC_SUBST(VERSION_MINOR) > + > unset CDPATH > > AC_CANONICAL_HOST > @@ -404,10 +409,8 @@ > AC_MSG_CHECKING([whether to build Java/JDBC tools]) > PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], > [AC_MSG_RESULT(yes) > -PGAC_PATH_ANT > -if test -z "$ANT"; then > - AC_MSG_ERROR([Ant is required to build Java components]) > -fi], > +PGAC_JAVA > +], > [AC_MSG_RESULT(no)]) > AC_SUBST(with_java) > > Index: src/Makefile.global.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/Makefile.global.in,v > retrieving revision 1.140 > diff -u -r1.140 Makefile.global.in > --- src/Makefile.global.in 13 Oct 2001 15:24:23 -0000 1.140 > +++ src/Makefile.global.in 19 Oct 2001 17:12:34 -0000 > @@ -30,6 +30,8 @@ > > # PostgreSQL version number > VERSION = @VERSION@ > +VERSION_MAJOR = @VERSION_MAJOR@ > +VERSION_MINOR = @VERSION_MINOR@ > > # Support for VPATH builds > abs_top_srcdir = @abs_top_srcdir@ > @@ -244,6 +246,11 @@ > DEF_PGPORT = @default_port@ > WANTED_LANGUAGES = @WANTED_LANGUAGES@ > > +# Java > +JAVA = @JAVA@ > +JAVAC = @JAVAC@ > +JAR = @JAR@ > +JDBC_TYPE = @JDBC_TYPE@ > > ########################################################################## > # > Index: config/java.m4 > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/config/java.m4,v > retrieving revision 1.3 > diff -u -r1.3 java.m4 > --- config/java.m4 4 Jul 2001 21:22:55 -0000 1.3 > +++ config/java.m4 19 Oct 2001 17:20:39 -0000 > @@ -59,3 +59,41 @@ > AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > _PGAC_PROG_ANT_WORKS > ]) > + > + > +AC_DEFUN([PGAC_JAVA], > +[ > + testf=src/interfaces/jdbc/utils/CheckVersion.java > + test -f "$testf" || { echo "JDBC driver source not found..." ; exit 1 ; } > + AC_PATH_PROGS(JAVA, [java]) > + AC_PATH_PROGS(JAVAC, [javac jikes]) > + AC_PATH_PROGS(JAR, [jar fastjar]) > + AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > + AC_CACHE_CHECK([for type of the JDBC driver], [pgac_cv_jdbc_type], > + [ > + pgac_cv_jdbc_type=bad > + > + pgac_cmd='$JAVAC -d . $testf 1>&2' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + if test ! $pgac_save_status = 0 -o ! -f ./CheckVersion.class ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java compilation error. Check config.log for details.]) > + fi > + > + pgac_cmd='$JAVA CheckVersion > conftest.jdbc' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + test -f conftest.jdbc && pgac_cv_jdbc_type=`cat conftest.jdbc` > + test "x$pgac_cv_jdbc_type" = "x" && pgac_cv_jdbc_type=bad > + if test ! $pgac_save_status = 0 -o x"$pgac_cv_jdbc_type" = xbad ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java running error. Check config.log for details.]) > + fi > + > + rm CheckVersion.class conftest.jdbc > + ]) > + JDBC_TYPE=$pgac_cv_jdbc_type > + AC_SUBST(JDBC_TYPE) > +]) > + > Index: contrib/retep/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/contrib/retep/Makefile,v > retrieving revision 1.1 > diff -u -r1.1 Makefile > --- contrib/retep/Makefile 6 Jul 2001 23:07:20 -0000 1.1 > +++ contrib/retep/Makefile 22 Oct 2001 21:16:05 -0000 > @@ -12,19 +12,36 @@ > top_builddir = ../.. > include $(top_builddir)/src/Makefile.global > > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all > > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) > +BUILDDIR := ./build > +JARDIR := ./jars > +PKGBASE := uk/org/retep > +JARNAME := retepTools.jar > + > +SRCS := $(shell find $(srcdir)/$(PKGBASE) -name '*.java') > +JARFILE := $(JARDIR)/$(JARNAME) > + > + > +all: $(JARFILE) > + > +$(JARFILE): $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + @echo "" > + @echo "Compiling uk.org.retep tools..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(srcdir)/$(PKGBASE)/*.properties $(BUILDDIR)/$(PKGBASE) > + $(JAR) -c0f $@ -C $(BUILDDIR) $(PKGBASE) > + > +clean distclean maintainer-clean: > + rm -rf $(BUILDDIR) $(JARDIR) > > installdirs: > $(mkinstalldirs) $(javadir) > > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > + > uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > + rm -f $(javadir)/$(JARNAME) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > Index: src/interfaces/jdbc/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/Makefile,v > retrieving revision 1.33 > diff -u -r1.33 Makefile > --- src/interfaces/jdbc/Makefile 6 Jul 2001 23:07:20 -0000 1.33 > +++ src/interfaces/jdbc/Makefile 22 Oct 2001 21:17:05 -0000 > @@ -12,30 +12,130 @@ > 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/') > +IDL2JAVA = idltojava -fno-cpp -fno-tie > > -properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ > - -Dfullversion=$(VERSION) \ > - -Ddef_pgport=$(DEF_PGPORT) > - > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all \ > - $(properties) > - > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) $(properties) > +BUILDDIR := ./build > +JARDIR := ./jars > + > +PGBASE := $(srcdir)/org/postgresql > +JARFILE := $(JARDIR)/postgresql.jar > +MANIFEST := $(srcdir)/manifest > +TEST_JAR := $(JARDIR)/postgresql-test.jar > +EXAMPLE_JAR := $(JARDIR)/postgresql-example.jar > + > +# Test vars > +TEST_DATABASE := test > +TEST_USERNAME := test > +TEST_PASSWORD := test > +JUNIT_UI := textui > + > +# > +# default target > +# > +all: $(JARFILE) > + > +# > +# Details about driver edition > +# > +include $(srcdir)/spec.$(JDBC_TYPE) > + > +# > +# get sources > +# > +PKG_DIRS := $(foreach pkg,$(subst .,/,$(PKGS)),$(pkg)) > +SRCS := $(foreach src,$(EXTRA_SRCS),$(srcdir)/$(src)) \ > + $(foreach dir,$(PKG_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +TEST_DIRS := $(foreach pkg,$(subst .,/,$(TEST_PKGS)),$(pkg)) > +TEST_SRCS := $(foreach dir,$(TEST_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +EXAMPLE_SRCS := $(foreach src,$(EXAMPLE_SRCS),$(srcdir)/$(src)) > + > +SEDSUBST := -e 's,@MAJORVERSION@,$(VERSION_MAJOR),g' \ > + -e 's,@MINORVERSION@,$(VERSION_MINOR),g' \ > + -e 's,@VERSION@,PostgreSQL $(VERSION) $(JDBC_EDITION),g' \ > + -e 's,@JDBCCONNECTCLASS@,$(JDBC_CONNECTCLASS),g' \ > + -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \ > + -e 's,@JAVA_DEST@,$(javadir),g' > + > +# > +# meta targets > +# > +.PHONY: examples tests jdbc1 jdbc2 jdbc2e > + > +examples: $(EXAMPLE_JAR) > + > +tests: $(TEST_JAR) > + > +jdbc1: > + $(MAKE) JDBC_TYPE=jdbc1 > + > +jdbc2: > + $(MAKE) JDBC_TYPE=jdbc2 > + > +jdbc2e: > + $(MAKE) JDBC_TYPE=jdbc2e > + > +# > +# files > +# > +$(MANIFEST): $(MANIFEST).in > + sed $(SEDSUBST) < $< > $@ > + > +# Driver.java is mentioned in spec.* > +$(PGBASE)/Driver.java: $(PGBASE)/Driver.java.in > + sed $(SEDSUBST) < $< > $@ > + > +$(srcdir)/ant.cfg: $(srcdir)/ant.cfg.in > + sed $(SEDSUBST) < $< > $@ > + > +# > +# JARs > +# > +$(JARFILE): $(MANIFEST) $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + rm -rf $(BUILDDIR)/org/postgresql/test > + @echo "" > + @echo "Compiling $(JDBC_EDITION) driver..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(PGBASE)/*.properties $(BUILDDIR)/org/postgresql > + $(JAR) -c0mf $(MANIFEST) $@ \ > + -C $(BUILDDIR) org/postgresql > + > +$(EXAMPLE_JAR): $(EXAMPLE_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(EXAMPLE_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) example > + > +$(TEST_JAR): $(TEST_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(TEST_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) org/postgresql/test > + > +# > +# other > +# > +clean distclean maintainer-clean: > + find . -name "*~" -exec rm {} \; > + rm -f $(PGBASE)/Driver.java > + rm -f $(MANIFEST) $(srcdir)/ant.cfg > + rm -rf $(BUILDDIR) $(JARDIR) > + > +check: $(JARFILE) $(TEST_JAR) > + $(JAVA) -classpath $(JARFILE):$(TEST_JAR):$(CLASSPATH) \ > + -Ddatabase=jdbc:postgresql:$(TEST_DATABASE) \ > + -Dusername=$(TEST_USERNAME) -Dpassword=$(TEST_PASSWORD) \ > + junit.$(JUNIT_UI).TestRunner org.postgresql.test.JDBC2Tests > > installdirs: > $(mkinstalldirs) $(javadir) > > -uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > +uninstall: > + rm -f $(javadir)/postgresql.jar > + rm -f $(javadir)/postgresql-test.jar > + rm -f $(javadir)/postgresql-examples.jar > > -check: > - $(ANT) -buildfile $(srcdir)/build.xml test > Index: src/interfaces/jdbc/build.xml > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/build.xml,v > retrieving revision 1.18 > diff -u -r1.18 build.xml > --- src/interfaces/jdbc/build.xml 23 Sep 2001 04:11:14 -0000 1.18 > +++ src/interfaces/jdbc/build.xml 19 Oct 2001 17:12:34 -0000 > @@ -20,6 +20,8 @@ > <property name="builddir" value="build" /> > <property name="package" value="org/postgresql" /> > > + <!-- Load autoconfed properties. --> > + <property file="${srcdir}/ant.cfg" /> > > <!-- > This is a simpler method than utils.CheckVersion > Index: src/interfaces/jdbc/utils/CheckVersion.java > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/utils/CheckVersion.java,v > retrieving revision 1.2 > diff -u -r1.2 CheckVersion.java > --- src/interfaces/jdbc/utils/CheckVersion.java 19 Dec 2000 17:33:39 -0000 1.2 > +++ src/interfaces/jdbc/utils/CheckVersion.java 19 Oct 2001 17:12:34 -0000 > @@ -1,5 +1,3 @@ > -package utils; > - > /** > * This little app checks to see what version of JVM is being used. > * It does this by checking first the java.vm.version property, and > @@ -41,12 +39,9 @@ > { > String vmversion = System.getProperty("java.vm.version"); > > - System.out.println("postgresql.jdbc="+System.getProperty("postgresql.jdbc")); > - > // We are running a 1.1 JVM > if(vmversion.startsWith("1.1")) { > System.out.println("jdbc1"); > - //System.exit(0); > } > else > // We are running a 1.2 or 1.3 JVM > @@ -58,11 +53,10 @@ > // Check to see if we have the standard extensions. If so, then > // we want the enterprise edition, otherwise the jdbc2 driver. > if(checkClass("javax.sql.DataSource")) > - System.out.println("enterprise"); > + System.out.println("jdbc2e"); > else > System.out.println("jdbc2"); > - //System.exit(0); > - } > - System.setProperty("postgresql.jdbc","yoyo"); > + } else > + System.out.println("bad"); > } > } > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/manifest.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,2 @@ > +Manifest-Version: 1.0 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/ant.cfg.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,8 @@ > +# properties for Ant > + > +fullversion = @VERSION@ > +major = @VERSION_MAJOR@ > +minor = @VERSION_MINOR@ > +def_pgport = @default_port@ > +install.directory = @JAVA_DEST@ > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc1 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,32 @@ > +# jdbc1 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.util \ > + org.postgresql.jdbc1 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + \ > + org/postgresql/largeobject/BlobInputStream.java \ > + org/postgresql/largeobject/BlobOutputStream.java \ > + org/postgresql/largeobject/LargeObject.java \ > + org/postgresql/largeobject/LargeObjectManager.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc1.Connection > + > +JDBC_EDITION := JDBC1 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/datestyle.java \ > + example/metadata.java example/psql.java \ > + example/threadsafe.java > + > +# no tests for jdbc1... > +TEST_PKGS := > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,26 @@ > +# jdbc2 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2e Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,28 @@ > +# jdbc2e > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 \ > + org.postgresql.xa > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + org/postgresql/PostgresqlDataSource.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 Enterprise > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Your patch has been added to the PostgreSQL unapplied patches list at: http://candle.pha.pa.us/cgi-bin/pgpatches I will try to apply it within the next 48 hours. --------------------------------------------------------------------------- Marko Kreen wrote: > Here is updated patch: > > * fixed couple of typos. > * installdirs and uninstall targets > * converted contrib/retep to make too, now no parts > of PostgreSQL source _require_ Ant. > * made the JUnit tests work too > > -- > marko > > > Index: configure.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/configure.in,v > retrieving revision 1.149 > diff -u -r1.149 configure.in > --- configure.in 20 Oct 2001 17:57:38 -0000 1.149 > +++ configure.in 22 Oct 2001 21:16:18 -0000 > @@ -32,6 +32,11 @@ > AC_SUBST(VERSION) > AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") > > +VERSION_MAJOR=`echo $VERSION | sed 's/^\([[0-9]][[0-9]]*\)\..*\$/\1/'` > +VERSION_MINOR=`echo $VERSION | sed 's/^[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\).*\$/\1/'` > +AC_SUBST(VERSION_MAJOR) > +AC_SUBST(VERSION_MINOR) > + > unset CDPATH > > AC_CANONICAL_HOST > @@ -404,10 +409,8 @@ > AC_MSG_CHECKING([whether to build Java/JDBC tools]) > PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], > [AC_MSG_RESULT(yes) > -PGAC_PATH_ANT > -if test -z "$ANT"; then > - AC_MSG_ERROR([Ant is required to build Java components]) > -fi], > +PGAC_JAVA > +], > [AC_MSG_RESULT(no)]) > AC_SUBST(with_java) > > Index: src/Makefile.global.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/Makefile.global.in,v > retrieving revision 1.140 > diff -u -r1.140 Makefile.global.in > --- src/Makefile.global.in 13 Oct 2001 15:24:23 -0000 1.140 > +++ src/Makefile.global.in 19 Oct 2001 17:12:34 -0000 > @@ -30,6 +30,8 @@ > > # PostgreSQL version number > VERSION = @VERSION@ > +VERSION_MAJOR = @VERSION_MAJOR@ > +VERSION_MINOR = @VERSION_MINOR@ > > # Support for VPATH builds > abs_top_srcdir = @abs_top_srcdir@ > @@ -244,6 +246,11 @@ > DEF_PGPORT = @default_port@ > WANTED_LANGUAGES = @WANTED_LANGUAGES@ > > +# Java > +JAVA = @JAVA@ > +JAVAC = @JAVAC@ > +JAR = @JAR@ > +JDBC_TYPE = @JDBC_TYPE@ > > ########################################################################## > # > Index: config/java.m4 > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/config/java.m4,v > retrieving revision 1.3 > diff -u -r1.3 java.m4 > --- config/java.m4 4 Jul 2001 21:22:55 -0000 1.3 > +++ config/java.m4 19 Oct 2001 17:20:39 -0000 > @@ -59,3 +59,41 @@ > AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > _PGAC_PROG_ANT_WORKS > ]) > + > + > +AC_DEFUN([PGAC_JAVA], > +[ > + testf=src/interfaces/jdbc/utils/CheckVersion.java > + test -f "$testf" || { echo "JDBC driver source not found..." ; exit 1 ; } > + AC_PATH_PROGS(JAVA, [java]) > + AC_PATH_PROGS(JAVAC, [javac jikes]) > + AC_PATH_PROGS(JAR, [jar fastjar]) > + AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > + AC_CACHE_CHECK([for type of the JDBC driver], [pgac_cv_jdbc_type], > + [ > + pgac_cv_jdbc_type=bad > + > + pgac_cmd='$JAVAC -d . $testf 1>&2' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + if test ! $pgac_save_status = 0 -o ! -f ./CheckVersion.class ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java compilation error. Check config.log for details.]) > + fi > + > + pgac_cmd='$JAVA CheckVersion > conftest.jdbc' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + test -f conftest.jdbc && pgac_cv_jdbc_type=`cat conftest.jdbc` > + test "x$pgac_cv_jdbc_type" = "x" && pgac_cv_jdbc_type=bad > + if test ! $pgac_save_status = 0 -o x"$pgac_cv_jdbc_type" = xbad ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java running error. Check config.log for details.]) > + fi > + > + rm CheckVersion.class conftest.jdbc > + ]) > + JDBC_TYPE=$pgac_cv_jdbc_type > + AC_SUBST(JDBC_TYPE) > +]) > + > Index: contrib/retep/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/contrib/retep/Makefile,v > retrieving revision 1.1 > diff -u -r1.1 Makefile > --- contrib/retep/Makefile 6 Jul 2001 23:07:20 -0000 1.1 > +++ contrib/retep/Makefile 22 Oct 2001 21:16:05 -0000 > @@ -12,19 +12,36 @@ > top_builddir = ../.. > include $(top_builddir)/src/Makefile.global > > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all > > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) > +BUILDDIR := ./build > +JARDIR := ./jars > +PKGBASE := uk/org/retep > +JARNAME := retepTools.jar > + > +SRCS := $(shell find $(srcdir)/$(PKGBASE) -name '*.java') > +JARFILE := $(JARDIR)/$(JARNAME) > + > + > +all: $(JARFILE) > + > +$(JARFILE): $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + @echo "" > + @echo "Compiling uk.org.retep tools..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(srcdir)/$(PKGBASE)/*.properties $(BUILDDIR)/$(PKGBASE) > + $(JAR) -c0f $@ -C $(BUILDDIR) $(PKGBASE) > + > +clean distclean maintainer-clean: > + rm -rf $(BUILDDIR) $(JARDIR) > > installdirs: > $(mkinstalldirs) $(javadir) > > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > + > uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > + rm -f $(javadir)/$(JARNAME) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > Index: src/interfaces/jdbc/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/Makefile,v > retrieving revision 1.33 > diff -u -r1.33 Makefile > --- src/interfaces/jdbc/Makefile 6 Jul 2001 23:07:20 -0000 1.33 > +++ src/interfaces/jdbc/Makefile 22 Oct 2001 21:17:05 -0000 > @@ -12,30 +12,130 @@ > 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/') > +IDL2JAVA = idltojava -fno-cpp -fno-tie > > -properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ > - -Dfullversion=$(VERSION) \ > - -Ddef_pgport=$(DEF_PGPORT) > - > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all \ > - $(properties) > - > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) $(properties) > +BUILDDIR := ./build > +JARDIR := ./jars > + > +PGBASE := $(srcdir)/org/postgresql > +JARFILE := $(JARDIR)/postgresql.jar > +MANIFEST := $(srcdir)/manifest > +TEST_JAR := $(JARDIR)/postgresql-test.jar > +EXAMPLE_JAR := $(JARDIR)/postgresql-example.jar > + > +# Test vars > +TEST_DATABASE := test > +TEST_USERNAME := test > +TEST_PASSWORD := test > +JUNIT_UI := textui > + > +# > +# default target > +# > +all: $(JARFILE) > + > +# > +# Details about driver edition > +# > +include $(srcdir)/spec.$(JDBC_TYPE) > + > +# > +# get sources > +# > +PKG_DIRS := $(foreach pkg,$(subst .,/,$(PKGS)),$(pkg)) > +SRCS := $(foreach src,$(EXTRA_SRCS),$(srcdir)/$(src)) \ > + $(foreach dir,$(PKG_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +TEST_DIRS := $(foreach pkg,$(subst .,/,$(TEST_PKGS)),$(pkg)) > +TEST_SRCS := $(foreach dir,$(TEST_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +EXAMPLE_SRCS := $(foreach src,$(EXAMPLE_SRCS),$(srcdir)/$(src)) > + > +SEDSUBST := -e 's,@MAJORVERSION@,$(VERSION_MAJOR),g' \ > + -e 's,@MINORVERSION@,$(VERSION_MINOR),g' \ > + -e 's,@VERSION@,PostgreSQL $(VERSION) $(JDBC_EDITION),g' \ > + -e 's,@JDBCCONNECTCLASS@,$(JDBC_CONNECTCLASS),g' \ > + -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \ > + -e 's,@JAVA_DEST@,$(javadir),g' > + > +# > +# meta targets > +# > +.PHONY: examples tests jdbc1 jdbc2 jdbc2e > + > +examples: $(EXAMPLE_JAR) > + > +tests: $(TEST_JAR) > + > +jdbc1: > + $(MAKE) JDBC_TYPE=jdbc1 > + > +jdbc2: > + $(MAKE) JDBC_TYPE=jdbc2 > + > +jdbc2e: > + $(MAKE) JDBC_TYPE=jdbc2e > + > +# > +# files > +# > +$(MANIFEST): $(MANIFEST).in > + sed $(SEDSUBST) < $< > $@ > + > +# Driver.java is mentioned in spec.* > +$(PGBASE)/Driver.java: $(PGBASE)/Driver.java.in > + sed $(SEDSUBST) < $< > $@ > + > +$(srcdir)/ant.cfg: $(srcdir)/ant.cfg.in > + sed $(SEDSUBST) < $< > $@ > + > +# > +# JARs > +# > +$(JARFILE): $(MANIFEST) $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + rm -rf $(BUILDDIR)/org/postgresql/test > + @echo "" > + @echo "Compiling $(JDBC_EDITION) driver..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(PGBASE)/*.properties $(BUILDDIR)/org/postgresql > + $(JAR) -c0mf $(MANIFEST) $@ \ > + -C $(BUILDDIR) org/postgresql > + > +$(EXAMPLE_JAR): $(EXAMPLE_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(EXAMPLE_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) example > + > +$(TEST_JAR): $(TEST_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(TEST_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) org/postgresql/test > + > +# > +# other > +# > +clean distclean maintainer-clean: > + find . -name "*~" -exec rm {} \; > + rm -f $(PGBASE)/Driver.java > + rm -f $(MANIFEST) $(srcdir)/ant.cfg > + rm -rf $(BUILDDIR) $(JARDIR) > + > +check: $(JARFILE) $(TEST_JAR) > + $(JAVA) -classpath $(JARFILE):$(TEST_JAR):$(CLASSPATH) \ > + -Ddatabase=jdbc:postgresql:$(TEST_DATABASE) \ > + -Dusername=$(TEST_USERNAME) -Dpassword=$(TEST_PASSWORD) \ > + junit.$(JUNIT_UI).TestRunner org.postgresql.test.JDBC2Tests > > installdirs: > $(mkinstalldirs) $(javadir) > > -uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > +uninstall: > + rm -f $(javadir)/postgresql.jar > + rm -f $(javadir)/postgresql-test.jar > + rm -f $(javadir)/postgresql-examples.jar > > -check: > - $(ANT) -buildfile $(srcdir)/build.xml test > Index: src/interfaces/jdbc/build.xml > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/build.xml,v > retrieving revision 1.18 > diff -u -r1.18 build.xml > --- src/interfaces/jdbc/build.xml 23 Sep 2001 04:11:14 -0000 1.18 > +++ src/interfaces/jdbc/build.xml 19 Oct 2001 17:12:34 -0000 > @@ -20,6 +20,8 @@ > <property name="builddir" value="build" /> > <property name="package" value="org/postgresql" /> > > + <!-- Load autoconfed properties. --> > + <property file="${srcdir}/ant.cfg" /> > > <!-- > This is a simpler method than utils.CheckVersion > Index: src/interfaces/jdbc/utils/CheckVersion.java > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/utils/CheckVersion.java,v > retrieving revision 1.2 > diff -u -r1.2 CheckVersion.java > --- src/interfaces/jdbc/utils/CheckVersion.java 19 Dec 2000 17:33:39 -0000 1.2 > +++ src/interfaces/jdbc/utils/CheckVersion.java 19 Oct 2001 17:12:34 -0000 > @@ -1,5 +1,3 @@ > -package utils; > - > /** > * This little app checks to see what version of JVM is being used. > * It does this by checking first the java.vm.version property, and > @@ -41,12 +39,9 @@ > { > String vmversion = System.getProperty("java.vm.version"); > > - System.out.println("postgresql.jdbc="+System.getProperty("postgresql.jdbc")); > - > // We are running a 1.1 JVM > if(vmversion.startsWith("1.1")) { > System.out.println("jdbc1"); > - //System.exit(0); > } > else > // We are running a 1.2 or 1.3 JVM > @@ -58,11 +53,10 @@ > // Check to see if we have the standard extensions. If so, then > // we want the enterprise edition, otherwise the jdbc2 driver. > if(checkClass("javax.sql.DataSource")) > - System.out.println("enterprise"); > + System.out.println("jdbc2e"); > else > System.out.println("jdbc2"); > - //System.exit(0); > - } > - System.setProperty("postgresql.jdbc","yoyo"); > + } else > + System.out.println("bad"); > } > } > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/manifest.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,2 @@ > +Manifest-Version: 1.0 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/ant.cfg.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,8 @@ > +# properties for Ant > + > +fullversion = @VERSION@ > +major = @VERSION_MAJOR@ > +minor = @VERSION_MINOR@ > +def_pgport = @default_port@ > +install.directory = @JAVA_DEST@ > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc1 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,32 @@ > +# jdbc1 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.util \ > + org.postgresql.jdbc1 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + \ > + org/postgresql/largeobject/BlobInputStream.java \ > + org/postgresql/largeobject/BlobOutputStream.java \ > + org/postgresql/largeobject/LargeObject.java \ > + org/postgresql/largeobject/LargeObjectManager.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc1.Connection > + > +JDBC_EDITION := JDBC1 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/datestyle.java \ > + example/metadata.java example/psql.java \ > + example/threadsafe.java > + > +# no tests for jdbc1... > +TEST_PKGS := > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,26 @@ > +# jdbc2 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2e Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,28 @@ > +# jdbc2e > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 \ > + org.postgresql.xa > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + org/postgresql/PostgresqlDataSource.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 Enterprise > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian writes: > Your patch has been added to the PostgreSQL unapplied patches list at: > > http://candle.pha.pa.us/cgi-bin/pgpatches > > I will try to apply it within the next 48 hours. This patch is going to break so many things in so many ways, I'm not going to list them again. -- See past discussions. Consult the current developers before making sweeping changes to the build system. > > --------------------------------------------------------------------------- > > > Marko Kreen wrote: > > Here is updated patch: > > > > * fixed couple of typos. > > * installdirs and uninstall targets > > * converted contrib/retep to make too, now no parts > > of PostgreSQL source _require_ Ant. > > * made the JUnit tests work too > > > > -- > > marko > > > > > > Index: configure.in > > =================================================================== > > RCS file: /opt/cvs/pgsql/pgsql/configure.in,v > > retrieving revision 1.149 > > diff -u -r1.149 configure.in > > --- configure.in 20 Oct 2001 17:57:38 -0000 1.149 > > +++ configure.in 22 Oct 2001 21:16:18 -0000 > > @@ -32,6 +32,11 @@ > > AC_SUBST(VERSION) > > AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") > > > > +VERSION_MAJOR=`echo $VERSION | sed 's/^\([[0-9]][[0-9]]*\)\..*\$/\1/'` > > +VERSION_MINOR=`echo $VERSION | sed 's/^[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\).*\$/\1/'` > > +AC_SUBST(VERSION_MAJOR) > > +AC_SUBST(VERSION_MINOR) > > + > > unset CDPATH > > > > AC_CANONICAL_HOST > > @@ -404,10 +409,8 @@ > > AC_MSG_CHECKING([whether to build Java/JDBC tools]) > > PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], > > [AC_MSG_RESULT(yes) > > -PGAC_PATH_ANT > > -if test -z "$ANT"; then > > - AC_MSG_ERROR([Ant is required to build Java components]) > > -fi], > > +PGAC_JAVA > > +], > > [AC_MSG_RESULT(no)]) > > AC_SUBST(with_java) > > > > Index: src/Makefile.global.in > > =================================================================== > > RCS file: /opt/cvs/pgsql/pgsql/src/Makefile.global.in,v > > retrieving revision 1.140 > > diff -u -r1.140 Makefile.global.in > > --- src/Makefile.global.in 13 Oct 2001 15:24:23 -0000 1.140 > > +++ src/Makefile.global.in 19 Oct 2001 17:12:34 -0000 > > @@ -30,6 +30,8 @@ > > > > # PostgreSQL version number > > VERSION = @VERSION@ > > +VERSION_MAJOR = @VERSION_MAJOR@ > > +VERSION_MINOR = @VERSION_MINOR@ > > > > # Support for VPATH builds > > abs_top_srcdir = @abs_top_srcdir@ > > @@ -244,6 +246,11 @@ > > DEF_PGPORT = @default_port@ > > WANTED_LANGUAGES = @WANTED_LANGUAGES@ > > > > +# Java > > +JAVA = @JAVA@ > > +JAVAC = @JAVAC@ > > +JAR = @JAR@ > > +JDBC_TYPE = @JDBC_TYPE@ > > > > ########################################################################## > > # > > Index: config/java.m4 > > =================================================================== > > RCS file: /opt/cvs/pgsql/pgsql/config/java.m4,v > > retrieving revision 1.3 > > diff -u -r1.3 java.m4 > > --- config/java.m4 4 Jul 2001 21:22:55 -0000 1.3 > > +++ config/java.m4 19 Oct 2001 17:20:39 -0000 > > @@ -59,3 +59,41 @@ > > AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > > _PGAC_PROG_ANT_WORKS > > ]) > > + > > + > > +AC_DEFUN([PGAC_JAVA], > > +[ > > + testf=src/interfaces/jdbc/utils/CheckVersion.java > > + test -f "$testf" || { echo "JDBC driver source not found..." ; exit 1 ; } > > + AC_PATH_PROGS(JAVA, [java]) > > + AC_PATH_PROGS(JAVAC, [javac jikes]) > > + AC_PATH_PROGS(JAR, [jar fastjar]) > > + AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > > + AC_CACHE_CHECK([for type of the JDBC driver], [pgac_cv_jdbc_type], > > + [ > > + pgac_cv_jdbc_type=bad > > + > > + pgac_cmd='$JAVAC -d . $testf 1>&2' > > + AC_TRY_EVAL(pgac_cmd) > > + pgac_save_status=$? > > + if test ! $pgac_save_status = 0 -o ! -f ./CheckVersion.class ; then > > + echo "configure: failed java program was: $testf" >&AC_FD_CC > > + AC_MSG_ERROR([Java compilation error. Check config.log for details.]) > > + fi > > + > > + pgac_cmd='$JAVA CheckVersion > conftest.jdbc' > > + AC_TRY_EVAL(pgac_cmd) > > + pgac_save_status=$? > > + test -f conftest.jdbc && pgac_cv_jdbc_type=`cat conftest.jdbc` > > + test "x$pgac_cv_jdbc_type" = "x" && pgac_cv_jdbc_type=bad > > + if test ! $pgac_save_status = 0 -o x"$pgac_cv_jdbc_type" = xbad ; then > > + echo "configure: failed java program was: $testf" >&AC_FD_CC > > + AC_MSG_ERROR([Java running error. Check config.log for details.]) > > + fi > > + > > + rm CheckVersion.class conftest.jdbc > > + ]) > > + JDBC_TYPE=$pgac_cv_jdbc_type > > + AC_SUBST(JDBC_TYPE) > > +]) > > + > > Index: contrib/retep/Makefile > > =================================================================== > > RCS file: /opt/cvs/pgsql/pgsql/contrib/retep/Makefile,v > > retrieving revision 1.1 > > diff -u -r1.1 Makefile > > --- contrib/retep/Makefile 6 Jul 2001 23:07:20 -0000 1.1 > > +++ contrib/retep/Makefile 22 Oct 2001 21:16:05 -0000 > > @@ -12,19 +12,36 @@ > > top_builddir = ../.. > > include $(top_builddir)/src/Makefile.global > > > > -all: > > - $(ANT) -buildfile $(srcdir)/build.xml all > > > > -install: installdirs > > - $(ANT) -buildfile $(srcdir)/build.xml install \ > > - -Dinstall.directory=$(javadir) > > +BUILDDIR := ./build > > +JARDIR := ./jars > > +PKGBASE := uk/org/retep > > +JARNAME := retepTools.jar > > + > > +SRCS := $(shell find $(srcdir)/$(PKGBASE) -name '*.java') > > +JARFILE := $(JARDIR)/$(JARNAME) > > + > > + > > +all: $(JARFILE) > > + > > +$(JARFILE): $(SRCS) > > + mkdir -p $(BUILDDIR) $(JARDIR) > > + @echo "" > > + @echo "Compiling uk.org.retep tools..." > > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > > + @echo "" > > + cp $(srcdir)/$(PKGBASE)/*.properties $(BUILDDIR)/$(PKGBASE) > > + $(JAR) -c0f $@ -C $(BUILDDIR) $(PKGBASE) > > + > > +clean distclean maintainer-clean: > > + rm -rf $(BUILDDIR) $(JARDIR) > > > > installdirs: > > $(mkinstalldirs) $(javadir) > > > > +install: $(JARFILE) installdirs > > + $(INSTALL_DATA) $(JARFILE) $(javadir) > > + > > uninstall: > > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > > - -Dinstall.directory=$(javadir) > > + rm -f $(javadir)/$(JARNAME) > > > > -clean distclean maintainer-clean: > > - $(ANT) -buildfile $(srcdir)/build.xml clean > > Index: src/interfaces/jdbc/Makefile > > =================================================================== > > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/Makefile,v > > retrieving revision 1.33 > > diff -u -r1.33 Makefile > > --- src/interfaces/jdbc/Makefile 6 Jul 2001 23:07:20 -0000 1.33 > > +++ src/interfaces/jdbc/Makefile 22 Oct 2001 21:17:05 -0000 > > @@ -12,30 +12,130 @@ > > 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/') > > +IDL2JAVA = idltojava -fno-cpp -fno-tie > > > > -properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ > > - -Dfullversion=$(VERSION) \ > > - -Ddef_pgport=$(DEF_PGPORT) > > - > > -all: > > - $(ANT) -buildfile $(srcdir)/build.xml all \ > > - $(properties) > > - > > -install: installdirs > > - $(ANT) -buildfile $(srcdir)/build.xml install \ > > - -Dinstall.directory=$(javadir) $(properties) > > +BUILDDIR := ./build > > +JARDIR := ./jars > > + > > +PGBASE := $(srcdir)/org/postgresql > > +JARFILE := $(JARDIR)/postgresql.jar > > +MANIFEST := $(srcdir)/manifest > > +TEST_JAR := $(JARDIR)/postgresql-test.jar > > +EXAMPLE_JAR := $(JARDIR)/postgresql-example.jar > > + > > +# Test vars > > +TEST_DATABASE := test > > +TEST_USERNAME := test > > +TEST_PASSWORD := test > > +JUNIT_UI := textui > > + > > +# > > +# default target > > +# > > +all: $(JARFILE) > > + > > +# > > +# Details about driver edition > > +# > > +include $(srcdir)/spec.$(JDBC_TYPE) > > + > > +# > > +# get sources > > +# > > +PKG_DIRS := $(foreach pkg,$(subst .,/,$(PKGS)),$(pkg)) > > +SRCS := $(foreach src,$(EXTRA_SRCS),$(srcdir)/$(src)) \ > > + $(foreach dir,$(PKG_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > > + > > +TEST_DIRS := $(foreach pkg,$(subst .,/,$(TEST_PKGS)),$(pkg)) > > +TEST_SRCS := $(foreach dir,$(TEST_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > > + > > +EXAMPLE_SRCS := $(foreach src,$(EXAMPLE_SRCS),$(srcdir)/$(src)) > > + > > +SEDSUBST := -e 's,@MAJORVERSION@,$(VERSION_MAJOR),g' \ > > + -e 's,@MINORVERSION@,$(VERSION_MINOR),g' \ > > + -e 's,@VERSION@,PostgreSQL $(VERSION) $(JDBC_EDITION),g' \ > > + -e 's,@JDBCCONNECTCLASS@,$(JDBC_CONNECTCLASS),g' \ > > + -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \ > > + -e 's,@JAVA_DEST@,$(javadir),g' > > + > > +# > > +# meta targets > > +# > > +.PHONY: examples tests jdbc1 jdbc2 jdbc2e > > + > > +examples: $(EXAMPLE_JAR) > > + > > +tests: $(TEST_JAR) > > + > > +jdbc1: > > + $(MAKE) JDBC_TYPE=jdbc1 > > + > > +jdbc2: > > + $(MAKE) JDBC_TYPE=jdbc2 > > + > > +jdbc2e: > > + $(MAKE) JDBC_TYPE=jdbc2e > > + > > +# > > +# files > > +# > > +$(MANIFEST): $(MANIFEST).in > > + sed $(SEDSUBST) < $< > $@ > > + > > +# Driver.java is mentioned in spec.* > > +$(PGBASE)/Driver.java: $(PGBASE)/Driver.java.in > > + sed $(SEDSUBST) < $< > $@ > > + > > +$(srcdir)/ant.cfg: $(srcdir)/ant.cfg.in > > + sed $(SEDSUBST) < $< > $@ > > + > > +# > > +# JARs > > +# > > +$(JARFILE): $(MANIFEST) $(SRCS) > > + mkdir -p $(BUILDDIR) $(JARDIR) > > + rm -rf $(BUILDDIR)/org/postgresql/test > > + @echo "" > > + @echo "Compiling $(JDBC_EDITION) driver..." > > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > > + @echo "" > > + cp $(PGBASE)/*.properties $(BUILDDIR)/org/postgresql > > + $(JAR) -c0mf $(MANIFEST) $@ \ > > + -C $(BUILDDIR) org/postgresql > > + > > +$(EXAMPLE_JAR): $(EXAMPLE_SRCS) > > + mkdir -p $(BUILDDIR) $(JARDIR) > > + $(JAVAC) -d $(BUILDDIR) $(EXAMPLE_SRCS) > > + $(JAR) -c0f $@ -C $(BUILDDIR) example > > + > > +$(TEST_JAR): $(TEST_SRCS) > > + mkdir -p $(BUILDDIR) $(JARDIR) > > + $(JAVAC) -d $(BUILDDIR) $(TEST_SRCS) > > + $(JAR) -c0f $@ -C $(BUILDDIR) org/postgresql/test > > + > > +# > > +# other > > +# > > +clean distclean maintainer-clean: > > + find . -name "*~" -exec rm {} \; > > + rm -f $(PGBASE)/Driver.java > > + rm -f $(MANIFEST) $(srcdir)/ant.cfg > > + rm -rf $(BUILDDIR) $(JARDIR) > > + > > +check: $(JARFILE) $(TEST_JAR) > > + $(JAVA) -classpath $(JARFILE):$(TEST_JAR):$(CLASSPATH) \ > > + -Ddatabase=jdbc:postgresql:$(TEST_DATABASE) \ > > + -Dusername=$(TEST_USERNAME) -Dpassword=$(TEST_PASSWORD) \ > > + junit.$(JUNIT_UI).TestRunner org.postgresql.test.JDBC2Tests > > > > installdirs: > > $(mkinstalldirs) $(javadir) > > > > -uninstall: > > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > > - -Dinstall.directory=$(javadir) > > +install: $(JARFILE) installdirs > > + $(INSTALL_DATA) $(JARFILE) $(javadir) > > > > -clean distclean maintainer-clean: > > - $(ANT) -buildfile $(srcdir)/build.xml clean > > +uninstall: > > + rm -f $(javadir)/postgresql.jar > > + rm -f $(javadir)/postgresql-test.jar > > + rm -f $(javadir)/postgresql-examples.jar > > > > -check: > > - $(ANT) -buildfile $(srcdir)/build.xml test > > Index: src/interfaces/jdbc/build.xml > > =================================================================== > > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/build.xml,v > > retrieving revision 1.18 > > diff -u -r1.18 build.xml > > --- src/interfaces/jdbc/build.xml 23 Sep 2001 04:11:14 -0000 1.18 > > +++ src/interfaces/jdbc/build.xml 19 Oct 2001 17:12:34 -0000 > > @@ -20,6 +20,8 @@ > > <property name="builddir" value="build" /> > > <property name="package" value="org/postgresql" /> > > > > + <!-- Load autoconfed properties. --> > > + <property file="${srcdir}/ant.cfg" /> > > > > <!-- > > This is a simpler method than utils.CheckVersion > > Index: src/interfaces/jdbc/utils/CheckVersion.java > > =================================================================== > > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/utils/CheckVersion.java,v > > retrieving revision 1.2 > > diff -u -r1.2 CheckVersion.java > > --- src/interfaces/jdbc/utils/CheckVersion.java 19 Dec 2000 17:33:39 -0000 1.2 > > +++ src/interfaces/jdbc/utils/CheckVersion.java 19 Oct 2001 17:12:34 -0000 > > @@ -1,5 +1,3 @@ > > -package utils; > > - > > /** > > * This little app checks to see what version of JVM is being used. > > * It does this by checking first the java.vm.version property, and > > @@ -41,12 +39,9 @@ > > { > > String vmversion = System.getProperty("java.vm.version"); > > > > - System.out.println("postgresql.jdbc="+System.getProperty("postgresql.jdbc")); > > - > > // We are running a 1.1 JVM > > if(vmversion.startsWith("1.1")) { > > System.out.println("jdbc1"); > > - //System.exit(0); > > } > > else > > // We are running a 1.2 or 1.3 JVM > > @@ -58,11 +53,10 @@ > > // Check to see if we have the standard extensions. If so, then > > // we want the enterprise edition, otherwise the jdbc2 driver. > > if(checkClass("javax.sql.DataSource")) > > - System.out.println("enterprise"); > > + System.out.println("jdbc2e"); > > else > > System.out.println("jdbc2"); > > - //System.exit(0); > > - } > > - System.setProperty("postgresql.jdbc","yoyo"); > > + } else > > + System.out.println("bad"); > > } > > } > > --- /dev/null Thu Jan 1 03:00:00 1970 > > +++ src/interfaces/jdbc/manifest.in Fri Oct 19 19:12:34 2001 > > @@ -0,0 +1,2 @@ > > +Manifest-Version: 1.0 > > + > > --- /dev/null Thu Jan 1 03:00:00 1970 > > +++ src/interfaces/jdbc/ant.cfg.in Fri Oct 19 19:12:34 2001 > > @@ -0,0 +1,8 @@ > > +# properties for Ant > > + > > +fullversion = @VERSION@ > > +major = @VERSION_MAJOR@ > > +minor = @VERSION_MINOR@ > > +def_pgport = @default_port@ > > +install.directory = @JAVA_DEST@ > > + > > --- /dev/null Thu Jan 1 03:00:00 1970 > > +++ src/interfaces/jdbc/spec.jdbc1 Mon Oct 22 23:17:05 2001 > > @@ -0,0 +1,32 @@ > > +# jdbc1 > > + > > +PKGS := org.postgresql.core \ > > + org.postgresql.fastpath \ > > + org.postgresql.geometric \ > > + org.postgresql.util \ > > + org.postgresql.jdbc1 > > + > > +EXTRA_SRCS := org/postgresql/Connection.java \ > > + org/postgresql/Driver.java \ > > + org/postgresql/Field.java \ > > + org/postgresql/PG_Stream.java \ > > + org/postgresql/ResultSet.java \ > > + org/postgresql/Statement.java \ > > + \ > > + org/postgresql/largeobject/BlobInputStream.java \ > > + org/postgresql/largeobject/BlobOutputStream.java \ > > + org/postgresql/largeobject/LargeObject.java \ > > + org/postgresql/largeobject/LargeObjectManager.java > > + > > +JDBC_CONNECTCLASS := org.postgresql.jdbc1.Connection > > + > > +JDBC_EDITION := JDBC1 > > + > > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > > + example/basic.java example/datestyle.java \ > > + example/metadata.java example/psql.java \ > > + example/threadsafe.java > > + > > +# no tests for jdbc1... > > +TEST_PKGS := > > + > > --- /dev/null Thu Jan 1 03:00:00 1970 > > +++ src/interfaces/jdbc/spec.jdbc2 Mon Oct 22 23:17:05 2001 > > @@ -0,0 +1,26 @@ > > +# jdbc2 > > + > > +PKGS := org.postgresql.core \ > > + org.postgresql.fastpath \ > > + org.postgresql.geometric \ > > + org.postgresql.largeobject \ > > + org.postgresql.util \ > > + org.postgresql.jdbc2 > > + > > +EXTRA_SRCS := org/postgresql/Connection.java \ > > + org/postgresql/Driver.java \ > > + org/postgresql/Field.java \ > > + org/postgresql/PG_Stream.java \ > > + org/postgresql/ResultSet.java \ > > + org/postgresql/Statement.java > > + > > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > > + > > +JDBC_EDITION := JDBC2 > > + > > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > > + example/basic.java example/blobtest.java example/datestyle.java \ > > + example/metadata.java example/psql.java example/threadsafe.java > > + > > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > > + > > --- /dev/null Thu Jan 1 03:00:00 1970 > > +++ src/interfaces/jdbc/spec.jdbc2e Mon Oct 22 23:17:05 2001 > > @@ -0,0 +1,28 @@ > > +# jdbc2e > > + > > +PKGS := org.postgresql.core \ > > + org.postgresql.fastpath \ > > + org.postgresql.geometric \ > > + org.postgresql.largeobject \ > > + org.postgresql.util \ > > + org.postgresql.jdbc2 \ > > + org.postgresql.xa > > + > > +EXTRA_SRCS := org/postgresql/Connection.java \ > > + org/postgresql/Driver.java \ > > + org/postgresql/Field.java \ > > + org/postgresql/PG_Stream.java \ > > + org/postgresql/ResultSet.java \ > > + org/postgresql/Statement.java \ > > + org/postgresql/PostgresqlDataSource.java > > + > > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > > + > > +JDBC_EDITION := JDBC2 Enterprise > > + > > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > > + example/basic.java example/blobtest.java example/datestyle.java \ > > + example/metadata.java example/psql.java example/threadsafe.java > > + > > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > > + > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 2: you can get off all lists at once with the unregister command > > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > > > > -- Peter Eisentraut peter_e@gmx.net
Peter E says this will break the configure system. Please continue the discusson on hackers. Thanks. --------------------------------------------------------------------------- Marko Kreen wrote: > Here is updated patch: > > * fixed couple of typos. > * installdirs and uninstall targets > * converted contrib/retep to make too, now no parts > of PostgreSQL source _require_ Ant. > * made the JUnit tests work too > > -- > marko > > > Index: configure.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/configure.in,v > retrieving revision 1.149 > diff -u -r1.149 configure.in > --- configure.in 20 Oct 2001 17:57:38 -0000 1.149 > +++ configure.in 22 Oct 2001 21:16:18 -0000 > @@ -32,6 +32,11 @@ > AC_SUBST(VERSION) > AC_DEFINE_UNQUOTED(PG_VERSION, "$VERSION") > > +VERSION_MAJOR=`echo $VERSION | sed 's/^\([[0-9]][[0-9]]*\)\..*\$/\1/'` > +VERSION_MINOR=`echo $VERSION | sed 's/^[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\).*\$/\1/'` > +AC_SUBST(VERSION_MAJOR) > +AC_SUBST(VERSION_MINOR) > + > unset CDPATH > > AC_CANONICAL_HOST > @@ -404,10 +409,8 @@ > AC_MSG_CHECKING([whether to build Java/JDBC tools]) > PGAC_ARG_BOOL(with, java, no, [ --with-java build JDBC interface and Java tools], > [AC_MSG_RESULT(yes) > -PGAC_PATH_ANT > -if test -z "$ANT"; then > - AC_MSG_ERROR([Ant is required to build Java components]) > -fi], > +PGAC_JAVA > +], > [AC_MSG_RESULT(no)]) > AC_SUBST(with_java) > > Index: src/Makefile.global.in > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/Makefile.global.in,v > retrieving revision 1.140 > diff -u -r1.140 Makefile.global.in > --- src/Makefile.global.in 13 Oct 2001 15:24:23 -0000 1.140 > +++ src/Makefile.global.in 19 Oct 2001 17:12:34 -0000 > @@ -30,6 +30,8 @@ > > # PostgreSQL version number > VERSION = @VERSION@ > +VERSION_MAJOR = @VERSION_MAJOR@ > +VERSION_MINOR = @VERSION_MINOR@ > > # Support for VPATH builds > abs_top_srcdir = @abs_top_srcdir@ > @@ -244,6 +246,11 @@ > DEF_PGPORT = @default_port@ > WANTED_LANGUAGES = @WANTED_LANGUAGES@ > > +# Java > +JAVA = @JAVA@ > +JAVAC = @JAVAC@ > +JAR = @JAR@ > +JDBC_TYPE = @JDBC_TYPE@ > > ########################################################################## > # > Index: config/java.m4 > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/config/java.m4,v > retrieving revision 1.3 > diff -u -r1.3 java.m4 > --- config/java.m4 4 Jul 2001 21:22:55 -0000 1.3 > +++ config/java.m4 19 Oct 2001 17:20:39 -0000 > @@ -59,3 +59,41 @@ > AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > _PGAC_PROG_ANT_WORKS > ]) > + > + > +AC_DEFUN([PGAC_JAVA], > +[ > + testf=src/interfaces/jdbc/utils/CheckVersion.java > + test -f "$testf" || { echo "JDBC driver source not found..." ; exit 1 ; } > + AC_PATH_PROGS(JAVA, [java]) > + AC_PATH_PROGS(JAVAC, [javac jikes]) > + AC_PATH_PROGS(JAR, [jar fastjar]) > + AC_PATH_PROGS(ANT, [jakarta-ant ant ant.sh ant.bat]) > + AC_CACHE_CHECK([for type of the JDBC driver], [pgac_cv_jdbc_type], > + [ > + pgac_cv_jdbc_type=bad > + > + pgac_cmd='$JAVAC -d . $testf 1>&2' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + if test ! $pgac_save_status = 0 -o ! -f ./CheckVersion.class ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java compilation error. Check config.log for details.]) > + fi > + > + pgac_cmd='$JAVA CheckVersion > conftest.jdbc' > + AC_TRY_EVAL(pgac_cmd) > + pgac_save_status=$? > + test -f conftest.jdbc && pgac_cv_jdbc_type=`cat conftest.jdbc` > + test "x$pgac_cv_jdbc_type" = "x" && pgac_cv_jdbc_type=bad > + if test ! $pgac_save_status = 0 -o x"$pgac_cv_jdbc_type" = xbad ; then > + echo "configure: failed java program was: $testf" >&AC_FD_CC > + AC_MSG_ERROR([Java running error. Check config.log for details.]) > + fi > + > + rm CheckVersion.class conftest.jdbc > + ]) > + JDBC_TYPE=$pgac_cv_jdbc_type > + AC_SUBST(JDBC_TYPE) > +]) > + > Index: contrib/retep/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/contrib/retep/Makefile,v > retrieving revision 1.1 > diff -u -r1.1 Makefile > --- contrib/retep/Makefile 6 Jul 2001 23:07:20 -0000 1.1 > +++ contrib/retep/Makefile 22 Oct 2001 21:16:05 -0000 > @@ -12,19 +12,36 @@ > top_builddir = ../.. > include $(top_builddir)/src/Makefile.global > > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all > > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) > +BUILDDIR := ./build > +JARDIR := ./jars > +PKGBASE := uk/org/retep > +JARNAME := retepTools.jar > + > +SRCS := $(shell find $(srcdir)/$(PKGBASE) -name '*.java') > +JARFILE := $(JARDIR)/$(JARNAME) > + > + > +all: $(JARFILE) > + > +$(JARFILE): $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + @echo "" > + @echo "Compiling uk.org.retep tools..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(srcdir)/$(PKGBASE)/*.properties $(BUILDDIR)/$(PKGBASE) > + $(JAR) -c0f $@ -C $(BUILDDIR) $(PKGBASE) > + > +clean distclean maintainer-clean: > + rm -rf $(BUILDDIR) $(JARDIR) > > installdirs: > $(mkinstalldirs) $(javadir) > > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > + > uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > + rm -f $(javadir)/$(JARNAME) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > Index: src/interfaces/jdbc/Makefile > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/Makefile,v > retrieving revision 1.33 > diff -u -r1.33 Makefile > --- src/interfaces/jdbc/Makefile 6 Jul 2001 23:07:20 -0000 1.33 > +++ src/interfaces/jdbc/Makefile 22 Oct 2001 21:17:05 -0000 > @@ -12,30 +12,130 @@ > 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/') > +IDL2JAVA = idltojava -fno-cpp -fno-tie > > -properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ > - -Dfullversion=$(VERSION) \ > - -Ddef_pgport=$(DEF_PGPORT) > - > -all: > - $(ANT) -buildfile $(srcdir)/build.xml all \ > - $(properties) > - > -install: installdirs > - $(ANT) -buildfile $(srcdir)/build.xml install \ > - -Dinstall.directory=$(javadir) $(properties) > +BUILDDIR := ./build > +JARDIR := ./jars > + > +PGBASE := $(srcdir)/org/postgresql > +JARFILE := $(JARDIR)/postgresql.jar > +MANIFEST := $(srcdir)/manifest > +TEST_JAR := $(JARDIR)/postgresql-test.jar > +EXAMPLE_JAR := $(JARDIR)/postgresql-example.jar > + > +# Test vars > +TEST_DATABASE := test > +TEST_USERNAME := test > +TEST_PASSWORD := test > +JUNIT_UI := textui > + > +# > +# default target > +# > +all: $(JARFILE) > + > +# > +# Details about driver edition > +# > +include $(srcdir)/spec.$(JDBC_TYPE) > + > +# > +# get sources > +# > +PKG_DIRS := $(foreach pkg,$(subst .,/,$(PKGS)),$(pkg)) > +SRCS := $(foreach src,$(EXTRA_SRCS),$(srcdir)/$(src)) \ > + $(foreach dir,$(PKG_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +TEST_DIRS := $(foreach pkg,$(subst .,/,$(TEST_PKGS)),$(pkg)) > +TEST_SRCS := $(foreach dir,$(TEST_DIRS),$(wildcard $(srcdir)/$(dir)/*.java)) > + > +EXAMPLE_SRCS := $(foreach src,$(EXAMPLE_SRCS),$(srcdir)/$(src)) > + > +SEDSUBST := -e 's,@MAJORVERSION@,$(VERSION_MAJOR),g' \ > + -e 's,@MINORVERSION@,$(VERSION_MINOR),g' \ > + -e 's,@VERSION@,PostgreSQL $(VERSION) $(JDBC_EDITION),g' \ > + -e 's,@JDBCCONNECTCLASS@,$(JDBC_CONNECTCLASS),g' \ > + -e 's,@DEF_PGPORT@,$(DEF_PGPORT),g' \ > + -e 's,@JAVA_DEST@,$(javadir),g' > + > +# > +# meta targets > +# > +.PHONY: examples tests jdbc1 jdbc2 jdbc2e > + > +examples: $(EXAMPLE_JAR) > + > +tests: $(TEST_JAR) > + > +jdbc1: > + $(MAKE) JDBC_TYPE=jdbc1 > + > +jdbc2: > + $(MAKE) JDBC_TYPE=jdbc2 > + > +jdbc2e: > + $(MAKE) JDBC_TYPE=jdbc2e > + > +# > +# files > +# > +$(MANIFEST): $(MANIFEST).in > + sed $(SEDSUBST) < $< > $@ > + > +# Driver.java is mentioned in spec.* > +$(PGBASE)/Driver.java: $(PGBASE)/Driver.java.in > + sed $(SEDSUBST) < $< > $@ > + > +$(srcdir)/ant.cfg: $(srcdir)/ant.cfg.in > + sed $(SEDSUBST) < $< > $@ > + > +# > +# JARs > +# > +$(JARFILE): $(MANIFEST) $(SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + rm -rf $(BUILDDIR)/org/postgresql/test > + @echo "" > + @echo "Compiling $(JDBC_EDITION) driver..." > + @$(JAVAC) -d $(BUILDDIR) $(SRCS) > + @echo "" > + cp $(PGBASE)/*.properties $(BUILDDIR)/org/postgresql > + $(JAR) -c0mf $(MANIFEST) $@ \ > + -C $(BUILDDIR) org/postgresql > + > +$(EXAMPLE_JAR): $(EXAMPLE_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(EXAMPLE_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) example > + > +$(TEST_JAR): $(TEST_SRCS) > + mkdir -p $(BUILDDIR) $(JARDIR) > + $(JAVAC) -d $(BUILDDIR) $(TEST_SRCS) > + $(JAR) -c0f $@ -C $(BUILDDIR) org/postgresql/test > + > +# > +# other > +# > +clean distclean maintainer-clean: > + find . -name "*~" -exec rm {} \; > + rm -f $(PGBASE)/Driver.java > + rm -f $(MANIFEST) $(srcdir)/ant.cfg > + rm -rf $(BUILDDIR) $(JARDIR) > + > +check: $(JARFILE) $(TEST_JAR) > + $(JAVA) -classpath $(JARFILE):$(TEST_JAR):$(CLASSPATH) \ > + -Ddatabase=jdbc:postgresql:$(TEST_DATABASE) \ > + -Dusername=$(TEST_USERNAME) -Dpassword=$(TEST_PASSWORD) \ > + junit.$(JUNIT_UI).TestRunner org.postgresql.test.JDBC2Tests > > installdirs: > $(mkinstalldirs) $(javadir) > > -uninstall: > - $(ANT) -buildfile $(srcdir)/build.xml uninstall \ > - -Dinstall.directory=$(javadir) > +install: $(JARFILE) installdirs > + $(INSTALL_DATA) $(JARFILE) $(javadir) > > -clean distclean maintainer-clean: > - $(ANT) -buildfile $(srcdir)/build.xml clean > +uninstall: > + rm -f $(javadir)/postgresql.jar > + rm -f $(javadir)/postgresql-test.jar > + rm -f $(javadir)/postgresql-examples.jar > > -check: > - $(ANT) -buildfile $(srcdir)/build.xml test > Index: src/interfaces/jdbc/build.xml > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/build.xml,v > retrieving revision 1.18 > diff -u -r1.18 build.xml > --- src/interfaces/jdbc/build.xml 23 Sep 2001 04:11:14 -0000 1.18 > +++ src/interfaces/jdbc/build.xml 19 Oct 2001 17:12:34 -0000 > @@ -20,6 +20,8 @@ > <property name="builddir" value="build" /> > <property name="package" value="org/postgresql" /> > > + <!-- Load autoconfed properties. --> > + <property file="${srcdir}/ant.cfg" /> > > <!-- > This is a simpler method than utils.CheckVersion > Index: src/interfaces/jdbc/utils/CheckVersion.java > =================================================================== > RCS file: /opt/cvs/pgsql/pgsql/src/interfaces/jdbc/utils/CheckVersion.java,v > retrieving revision 1.2 > diff -u -r1.2 CheckVersion.java > --- src/interfaces/jdbc/utils/CheckVersion.java 19 Dec 2000 17:33:39 -0000 1.2 > +++ src/interfaces/jdbc/utils/CheckVersion.java 19 Oct 2001 17:12:34 -0000 > @@ -1,5 +1,3 @@ > -package utils; > - > /** > * This little app checks to see what version of JVM is being used. > * It does this by checking first the java.vm.version property, and > @@ -41,12 +39,9 @@ > { > String vmversion = System.getProperty("java.vm.version"); > > - System.out.println("postgresql.jdbc="+System.getProperty("postgresql.jdbc")); > - > // We are running a 1.1 JVM > if(vmversion.startsWith("1.1")) { > System.out.println("jdbc1"); > - //System.exit(0); > } > else > // We are running a 1.2 or 1.3 JVM > @@ -58,11 +53,10 @@ > // Check to see if we have the standard extensions. If so, then > // we want the enterprise edition, otherwise the jdbc2 driver. > if(checkClass("javax.sql.DataSource")) > - System.out.println("enterprise"); > + System.out.println("jdbc2e"); > else > System.out.println("jdbc2"); > - //System.exit(0); > - } > - System.setProperty("postgresql.jdbc","yoyo"); > + } else > + System.out.println("bad"); > } > } > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/manifest.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,2 @@ > +Manifest-Version: 1.0 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/ant.cfg.in Fri Oct 19 19:12:34 2001 > @@ -0,0 +1,8 @@ > +# properties for Ant > + > +fullversion = @VERSION@ > +major = @VERSION_MAJOR@ > +minor = @VERSION_MINOR@ > +def_pgport = @default_port@ > +install.directory = @JAVA_DEST@ > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc1 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,32 @@ > +# jdbc1 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.util \ > + org.postgresql.jdbc1 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + \ > + org/postgresql/largeobject/BlobInputStream.java \ > + org/postgresql/largeobject/BlobOutputStream.java \ > + org/postgresql/largeobject/LargeObject.java \ > + org/postgresql/largeobject/LargeObjectManager.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc1.Connection > + > +JDBC_EDITION := JDBC1 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/datestyle.java \ > + example/metadata.java example/psql.java \ > + example/threadsafe.java > + > +# no tests for jdbc1... > +TEST_PKGS := > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2 Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,26 @@ > +# jdbc2 > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > --- /dev/null Thu Jan 1 03:00:00 1970 > +++ src/interfaces/jdbc/spec.jdbc2e Mon Oct 22 23:17:05 2001 > @@ -0,0 +1,28 @@ > +# jdbc2e > + > +PKGS := org.postgresql.core \ > + org.postgresql.fastpath \ > + org.postgresql.geometric \ > + org.postgresql.largeobject \ > + org.postgresql.util \ > + org.postgresql.jdbc2 \ > + org.postgresql.xa > + > +EXTRA_SRCS := org/postgresql/Connection.java \ > + org/postgresql/Driver.java \ > + org/postgresql/Field.java \ > + org/postgresql/PG_Stream.java \ > + org/postgresql/ResultSet.java \ > + org/postgresql/Statement.java \ > + org/postgresql/PostgresqlDataSource.java > + > +JDBC_CONNECTCLASS := org.postgresql.jdbc2.Connection > + > +JDBC_EDITION := JDBC2 Enterprise > + > +EXAMPLE_SRCS := example/ImageViewer.java example/Unicode.java \ > + example/basic.java example/blobtest.java example/datestyle.java \ > + example/metadata.java example/psql.java example/threadsafe.java > + > +TEST_PKGS := org.postgresql.test org.postgresql.test.jdbc2 > + > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026