This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: build failure using ant with default settings


Hi Per,

I see that you checked in some edits to build.xml after this, so thanks. Things still aren't quite right, though. Specifically, if you don't explicitly specify the value of with-swing, then even if build- settings sets it to true, lib-scm-classes does not build windows.scm, and slib-scm-classes does not build swing.scm.

As far as I can tell, the problem is that the filesets used by scm- classes and slib-scm-classes are defined at the top level, which must get evaluated as build.xml is read in, before any targets are run (specifically before build-settings is run and has a chance to set with-swing=true). There are two ways to fix this:

1. Move the with-swing condition out of the build-settings target to the top level, so that it gets evaluated before the filesets are created.
2. Move the file set definitions down into their respective targets.


Attaching a patch which does Option 2.

-J

On Apr 18, 2012, at 12:24 PM, Jamison Hope wrote:

With a fresh checkout of Kawa, `ant` with default build settings:

	with-awt=true
	with-swing=true
	with-sax2=true
	enable-jemacs=false
	enable-xml=true
	enable-servlet=false
	enable-android=false

fails in slib-scm-classes when it tries to compile gnu/kawa/slib/ swing.scm.
There are a bunch of unknown class warnings for gnu.kawa.models classes and
finally a NPE "in inline-compiler for #<procedure as>" at swing.scm: 19:37.


I don't have time to fully debug this at the moment, but the workaround is
to first invoke `ant -Denable-jemacs=true jemacs-java-classes` and then `ant`.


One problem, clearly, is that swing.scm, and therefore the slib-scm- classes
target, depends upon gnu/kawa/models/*.java but this is not reflected in
build.xml. Another is that gnu/kawa/models/*.java are only compiled if
enable-jemacs=true.


I presume that Make-based building does not have this issue (or that it used
to but this got fixed at some point) and so to fix the ant targets we just
need to update them to match what Make does.


Any volunteers?

Thanks,
Jamie

--
Jamison Hope
The PTR Group
www.theptrgroup.com




-- Jamison Hope The PTR Group www.theptrgroup.com


Attachment: build-xml.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]