Geir Magnusson Jr wrote:
> What I don't understand is the "motivation" or the "theory" behind how
> and why it was done.  I'm hoping that if I grok that, all will fall into
> place for me and with that different perspective, I might find it easier
> to work with.

The two main requirements behind the design of this build system were
1. Unify the build system for the class library and VM
2. Do not use Cygwin for the build on Windows

(and a number of other reasonable requirements
3. incremental build
4. tracking C++ dependencies
5. keeping platform-specific configuration in a compact and readable form)

> As I understand it, it's really a "meta  build" system, as it's purpose
> seems to be to create the actual ant scripts that execute to do the
> work.  Why?

(less sure about this one)
As far as I understand, the trick with preprocessing XML files allows to keep
platform-specific configuration compactly in one readable file.
And by the way, the XML transformation (what you call "meta build" system) is
only limited to filtering XML fragments based on the detected platform.

> Also, it doesn't use 'make' for building the C/C++ code.  Why?

Using GNU make leads to requirement to have GNU tools on Windows (contradicts
requirement (2) above)
NMAKE cannot be used since it is not available on the Linux.
Moreover, <cctask> from Ant-contrib is not bad in tracking dependencies
and running various kinds of compilers.

We used GNU Make for some time while preparing DRLVM contribution,
but moved on to Ant-based system later because of requirements (1), (2).

--
Salikh Zakirov, Intel Middleware Products Division 

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to