I've done some tweaking to the build scripts around compiler usage and
wanted to run it by the list for comments, etc.

 

*       I've removed the "-showversion" JVM argument from the module build
scripts that were using it when executing the tests. The launcher behavior
changed a bit here, so this isn't working with the IBM VME yet. This can be
added back later. Note: this wasn't consistently being used in all scripts
prior to this change.

 

*       Following the lead of other 'javac' properties configured in the
/make/properties.xml file, I've added a 'hy.javac.compiler' property that is
used by the scripts to set the 'compiler' property on 'javac' tasks.
Currently, this is just set to 'modern' to maintain the previous behavior.

 

*       I've updated all of the build scripts that were calling 'javac' to
consistently use all of the 'hy.javac.*' properties, including the compiler
property. Additionally, I've removed all script elements that were setting
the 'build.compiler' property.

 

The rationale behind all of the compiler tweaks was to centralize and
standardize the compiler setting a bit more. The custom property can always
be dumped and we can just use the standard Ant 'build.compiler', but this
time use it in the 'properties.xml' file, so it's centralized still.

 

The other big reason to do this is to attempt to use the Eclipse (ECJ)
compiler for the build. I've tested using the ECJ by setting the new
property and the build and tests work as normal, but I haven't found a way
to use the ECJ without manually placing the ECJ JAR in the ANT_HOME\lib
folder. As such, I've left the compiler property at 'modern' for now.

 

I'd like to permanently set the compiler property to use the ECJ v3.2, but
this will seemingly "break the build" if Ant isn't setup properly. Does
anyone have any objections to using ECJ as the standard compiler? Since
Harmony will use this as it's 'javac', I believe it would be proper for
Harmony to be built with the same compiler.

 

Does anyone know of any means of "dynamically" setting up Ant with ECJ? One
thought I had was an extension to 'fetch-depends' that copies ECJ to
ANT_HOME\lib for builders. I'm not sure if that would be considered
desirable behavior.

 

-Nathan

Reply via email to