[Mono-dev] How can I build a minimal mono runtime system?

Robert Jordan robertj at gmx.net
Tue Dec 21 09:26:36 EST 2010

On 21.12.2010 14:43, CodeSlinger wrote:
> I have to respectfully disagree that being able to remove major subsystems
> that one does not need at all is fluff - major components such as the
> compilers, the GUI and ALL of the web components instead of just moonlight.
> Some of the current "--with/--enable" options, esp. some of the
> "--enable-minimal" choices that are there, feel much more fluffy and are
> often even advised to not be used. I'm not looking to remove at a small

These options are *really* useful. A lot of work was invested
to make *runtime's footprint* customizable. This does not apply to the
class libs because it's trivial for (embedded systems) developers
to remove functionality. There are even tools (linker) that remove
unused code from assemblies...

> granularity stuff like generics, or debugging or decimal features, just
> whole subsystems. You either need the web stuff or not. The GUI stuff or
> not. Something akin to the V4 client framework might also make sense. There
> are a lot of small Linux systems and a lot of Linux'es used without GUI
> since they are used as servers. It would help if I knew what all the .dll
> modules were so I guess I try to figure that out next so I can remove a
> bunch of them for a minimal copy to our prod system. My .02 anyway...thanks,

We're actually speaking about *trivial* customizations that are
as simple as:

find /opt/mono -name "System.Web*" -delete
find /opt/mono -name "System.Drawing*" -delete

It's really not worthwhile to argue about 20-30MB given that
you're not even working on an embedded system.


More information about the Mono-devel-list mailing list