[Mono-list] Mono Tools and Utilities
Jonathan Pryor
jonpryor@vt.edu
Sun, 12 Oct 2003 10:59:47 -0400
This message is part announcement, and part discussion request.
Announcement:
------------
The mono-tools CVS repository is now buildable, and it's fairly easy to
create RPMs for it, too! (RPMs can be built with "cvs co mono-tools &&
cd mono-tools && ./autogen.sh && make dist-rpm".)
At present, the only software built and packaged is Type Reflector.
History:
-------
Mono-tools was originally created to keep the build order acyclic.
Long ago (mono-0.18), type-reflector was in mcs/tools. The reason it
was removed was because of build order: type-reflector would attempt to
build against Gtk# and System.Windows.Forms.
The reason this is a problem is because if you're doing a fresh build,
gtk-sharp won't be built until after mcs is built, yet type-reflector
was part of mcs. So, to build a fully-functional type-reflector, you'd
have to build mcs twice (once to bootstrap, and once after building
gtk-sharp to get "full functionality").
Thus, it was wholly reasonable to move type-reflector. It was moved to
mono-tools, but mono-tools wasn't buildable or packagable until
yesterday.
Discussion:
----------
There are other programs within mcs/tools that also make use of Gtk#.
These include:
SqlSharp (which uses Gtk# in mcs/tools/SqlSharp/gui/gtk-sharp)
security/certview/
I would propose moving these into mono-tools, so that the CVS build
order can remain acyclic.
However, these tools currently use the mcs Makefile build system
(located in mcs/build).
So I would also propose the following:
1. Move mcs/build into a new CVS repository, "build"
2. Use the CVS aliasing functionality [1] to insert the "build"
CVS repository into the "mcs" and "mono-tools" repositories.
This would allow the build system to be located in one
location, and all users would receive updates
simultaneously.
[1] http://www.cvshome.org/docs/manual/cvs-1.11.7/cvs_18.html#SEC158
Questions:
---------
1. Should we do this? (Move SqlSharp & certview into mono-tools, move
the mcs/build scripts into a new CVS repository.)
2. Is there anything else that should be moved/aliased into mono-tools?
The debugger is currently aliased into mono-tools, but is neither built
nor packaged (as I've had little success with it yet, but have hopes for
the future).
Thanks
- Jon