[Mono-devel-list] Build system
Miguel de Icaza
miguel at ximian.com
Thu May 22 20:21:33 EDT 2003
Today on IRC we were discussing a few problems we have with the build
system. The major one being that we have a dual build system: one with
nant for Windows and one with makefiles.
The elements that come into play are:
* The makefile.gnu system is pretty complete, and is only used
in Linux. The toplevel `makefile' on the other hand is used
to drive the process: on Windows it does some make, and some
nant and on Linux it does the full process using makefile.gnu
* The Nant system today is used to build not only the standard
classes, but also versions of the library for use in
* We need a mechanism to pass a set of defines. The problem
arised when we tried to target both .NET 1.0 and .NET 1.1
APIs, but this problem will repeat when we target the
CompactFramework and the ECMA-only builds.
Maintaining two places with defines just does not work.
What I would like to do is:
* Move the whole build system to the makefile.gnu setup, and
drop entirely nant, and the toplevel makefile.
* Rename `makefile.gnu' everywhere to `makefile', so the process
becomes just `make' instead of the old `make -f makefile.gnu'
* We need probably help from Peter here, but I want to be able
to define at the toplevel a set of MCS flags to pass, like:
-d:CORE -d:NET_1_1, etc.
Miguel de Icaza <miguel at ximian.com>
More information about the Mono-devel-list