[Mono-devel-list] Build system

Miguel de Icaza miguel at ximian.com
Thu May 22 20:21:33 EDT 2003

Hello everyone,

   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 mailing list