[Mono-devel-list] Build system
bmaurer at users.sourceforge.net
Fri May 23 11:43:48 EDT 2003
Here is my best shot at this, remember, I am a build file newbie.
I think we should make a rule such as the following (this is in
pseudo-make, I said I was a newbie ;-)
%.dll : %/$CONFIG getCsFiles(%/$CONFIG))
We would make a config file for each type of build (linux, windows,
corcompare, etc). The file could look something like this:
We could then on the command line specify
We could add a default in the makefile so that we didn't have to specify
the options every time.
Is it possible to do anything like this?
From: mono-devel-list-admin at lists.ximian.com
[mailto:mono-devel-list-admin at lists.ximian.com] On Behalf Of Miguel de
Sent: Thursday, May 22, 2003 8:22 PM
To: mono-devel-list at ximian.com; peter at ximian.com
Subject: [Mono-devel-list] Build system
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>
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
More information about the Mono-devel-list