Re: [PATCHES] the build - Mailing list pgsql-jdbc

From Barry Lind
Subject Re: [PATCHES] the build
Date
Msg-id 3E9D840B.7060402@xythos.com
Whole thread Raw
In response to Re: [PATCHES] the build  (Nic Ferrier <nferrier@tapsellferrier.co.uk>)
Responses Re: [PATCHES] the build
List pgsql-jdbc
Nic,

I think I would prefer using something other than JAVAC as the name.
Perhaps something like JAVA_COMPILER would be better.  Ant calls it
COMPILER but that clearly would be confusing.  JAVAC doesn't convey that
this is the type of compiler, instead it seems to indicate the compiler
executable name.

On the broader questions you are raising let me add the following comments.

I am not against adding an ant task, but I don't know what that entails
or what the implications are for the build environment.  So in principal
I am OK with the idea, but reserve final judgment until after I
understand better the implications of it.

Wouldn't it be simpler (although not as eligant) to just have different
targets for each of the jdbc versions?  If the target was the default
the current logic would be used, else if it was specified then just go
ahead and build that specific version.  This does get a bit complicated
with the different possible builds (jdbc1, jdbc2, jdbc2ee, jdbc2+ssl,
jdbc2ee+ssl, jdbc3), but I don't currently build all of these
permutations for posting to the website anyway, so I am not sure we need
them all to be available for cross-compilation either.

thanks,
--Barry

Nic Ferrier wrote:
> Barry Lind <blind@xythos.com> writes:
>
>
>>I don't understand this patch.  From the ant doc I see the following:
>>
>> >>It is possible to use different compilers. This can be specified by
>> >>either setting the global build.compiler property, which will affect
>> >>all <javac> tasks throughout the build, or by setting the compiler
>> >>attribute, specific to the current <javac> task. Valid values for
>> >>either the build.compiler property or the compiler attribute are:
>> >>
>> >>    * classic (the standard compiler of JDK 1.1/1.2) – javac1.1 and
>> >>javac1.2 can be used as aliases.
>> >>    * modern (the standard compiler of JDK 1.3/1.4) – javac1.3 and
>> >>javac1.4 can be used as aliases.
>> >>    * jikes (the Jikes compiler).
>> >>    * jvc (the Command-Line Compiler from Microsoft's SDK for Java /
>> >>Visual J++) – microsoft can be used as an alias.
>> >>    * kjc (the kopi compiler).
>> >>    * gcj (the gcj compiler from gcc).
>> >>    * sj (Symantec java compiler) – symantec can be used as an alias.
>> >>    * extJavac (run either modern or classic in a JVM of its own).
>>
>>I don't see 'javac' as a valid option for this parameter.  So I don't
>>understand why your patch is attempting to set that value.
>
>
> You're quite right Barry, sorry.
>
> Here's an emended patch.
>
>
> Index: src/Makefile.global.in
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/Makefile.global.in,v
> retrieving revision 1.161
> diff -p -u -r1.161 Makefile.global.in
> --- src/Makefile.global.in    2003/04/04 20:42:11    1.161
> +++ src/Makefile.global.in    2003/04/16 12:39:53
> @@ -177,6 +177,9 @@ ifeq ($(GCC), yes)
>    CFLAGS += -Wall -Wmissing-prototypes -Wmissing-declarations
>  endif
>
> +JAVAC    =
> +
> +
>  # Kind-of compilers
>
>  YACC = @YACC@
> Index: src/interfaces/jdbc/Makefile
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/Makefile,v
> retrieving revision 1.38
> diff -p -u -r1.38 Makefile
> --- src/interfaces/jdbc/Makefile    2003/02/12 06:13:04    1.38
> +++ src/interfaces/jdbc/Makefile    2003/04/16 12:39:53
> @@ -16,7 +16,12 @@ majorversion:= $(shell echo $(VERSION) |
>  minorversion:= $(shell echo $(VERSION) | sed 's/^[0-9][0-9]*\.\([0-9][0-9]*\).*$$/\1/')
>
>  build.properties: $(top_builddir)/src/Makefile.global
> +ifeq "$(JAVAC)" ""
>      @echo "# This file was created by 'make build.properties'." > build.properties
> +else
> +    @echo "# This file was created by 'make build.properties'." > build.properties
> +    @echo build.compiler=$(JAVAC) >> build.properties
> +endif
>      @echo major=$(majorversion) >> build.properties
>      @echo minor=$(minorversion) >> build.properties
>      @echo fullversion=$(VERSION) >> build.properties
> @@ -24,7 +29,7 @@ build.properties: $(top_builddir)/src/Ma
>      @echo enable_debug=$(enable_debug) >> build.properties
>
>  all: build.properties
> -    $(ANT) -buildfile $(srcdir)/build.xml all
> +    $(ANT) -emacs -buildfile $(srcdir)/build.xml all
>
>  install: installdirs build.properties
>      $(ANT) -buildfile $(srcdir)/build.xml install \
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>


pgsql-jdbc by date:

Previous
From: Nic Ferrier
Date:
Subject: Re: [PATCHES] the build
Next
From: Peter Eisentraut
Date:
Subject: Re: [PATCHES] the build