On 11/23/05, Graeme Johnson <[EMAIL PROTECTED]> wrote: > 'make' also simplifies the bootstrapping issue. When you are doing the > initial port of the VM to a new platform, and you don't have java > running yet, having your build instructions encoded in Ant is problematic. >
Well, good point. However, as it was suggested earlier in the thread, let's separate the building platforms and the target platforms. I would expect that one most likely will choose some conventional platform for the development and building. Hence, there is a high probability that Java is already available there. Bootstraping for "Javaless" platforms can be solved with C cross compiler. GCC does exactly the same to bootstrap. > Relying on the availability of a previous java port to get the Harmony > VM building seems like a questionable porting story. 'make' of one flavor > > or another is pretty much universally available, and seems like the > pragmatic choice for building C code. I would agree that make is the preferred choice for any Unix developers. The problem actually comes when we start to develop on Windows (I believe, there still be a plenty of such developers). Let's consider the specific example – I'm building on Windows. I can use nmake, but, it is MSVC specific and is not available on Linux, hence it can't be our choice. Next, I'll try to use gmake – this, however, requires me to install cygwin in addition to MSVC. Note that I already have Java installed since I'm building the java sources with ant. Then the question comes, why do I have to install something else? The problem is that C development toolset isn't necessarily associated with the make toolset, and the make toolsets are not always compatible with each other. Make-based builds sometimes tend to do not work even between the different Linux distributions, if not specially hacked. Java luckily conforms to a single standard, hence works everywhere similarly, if only available. I'm currently working on preparing a prototype of a full ant-based build system which would allow to build the provided class libraries contributions. Perhaps it would make sense to return to this talk some time later if I get the prototype working. Thank you, Andrey Chernyshev Intel Managed Runtime Division