Miguel,

This is great news. Are there any plans to update the build system to allow us 
to compile the runtime itself using Visual Studio (i.e. a Microsoft compiler)?

Now before everyone starts with the eye rolling and “why the hell would you 
want to do that?” questions, let me explain.  As of today, we can create 
applications in C# that will run on Windows and a large array of Linux machines 
(including Android) but Windows CE has been orphaned.  Microsoft is not putting 
any effort into the Compact Framework, but there are still people developing 
for Windows CE devices.  I’d like to put a last nail in the coffin of the 
Compact Framework by getting Mono supported on Windows CE so we can all move 
into using technology from the current decade, not the last one.

I don’t see any real path for getting the runtimes to compile for Windows CE  
for ARM and 586 (not 686, since we have new Intel processors now that are 586 
based).  There is an old (last touch in 2009) CeGCC project that might be a 
step, but I was hoping for something a little simpler.  I’m up for any 
suggestions.

-Chris Tacke





From: mono-devel-list-boun...@lists.ximian.com 
[mailto:mono-devel-list-boun...@lists.ximian.com] On Behalf Of Miguel de Icaza
Sent: Friday, May 23, 2014 9:59 PM
To: mono-devel
Subject: [Mono-dev] Update on Build System

Hey guys,

#1 Makefile Build System Update

So the clean staged setup has been added to mono/master and in practice most of 
you will never notice an improvement.

Those working on libraries that had cross dependencies will enjoy reliable and 
working builds.   If you make a change in say System, and you type "make" in 
mcs/class/System, it will make sure that all the dependencies are properly 
compiled and the result will be stable.

#2 MSBuild setup

Based on the work above, I have updated the MSBuild setup, and it is now 
possible to build most of the managed code with xbuild.   This means that you 
can use this from Visual Studio or Xamarin Studio.

Since xbuild does not support passing /keyfile to the C# compiler, I still have 
to fix about 6-7 assemblies that use -keyfile to be signed.

Once that happens, you should be able to build all of Mono's managed code with:

xbuild msvc/scripts/net_4_5.sln

Currently I disabled generating project files for profiles other than 4.5, just 
because it is easier to debug this way.

I am also a bit sad that our xbuild does not have any support for parallel 
builds, it would have been a neat hack to make the xbuild-based build system 
parallel and get this for free.

#3 Future Parallel Work - Makefiles

I tried to implement parallel builds for mcs/class/Facades, and while it works, 
it regressed some of the other standard targets that we have (the other 
-local).   I will have to revisit this later.

But the principle behind the patch that enabled this could be used for 
mcs/class and parallelize all the builds as well.   We only need to (a) 
generate the assembly dependencies [1] and (b) we need to figure out the -local 
target breakage (same stuff I broke for Facades).

[1]  (which we have from the xbuild work above)
Miguel
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to