[MonoDevelop] Autotool Deployment Addin

Matze Braun matze at braunis.de
Mon Mar 27 13:45:40 EST 2006


Attached to this mail is an AddIn for Autotool deployment of monodevelop
projects. You basically right click on the assembly and monodevelop will
create a configure.ac and a bunch of Makefile.am and wrapper scripts for
your exe files. The thing works good enough that a project of mine with
a few dozens .cs files spread over 7 projects in a solution can be
successfully deployed and a "make install", "make dist" and "make
distcheck" work nicely.

The main part of the Addin is a template engine which gets fed with
information from the monodevelop projects. The Addin contains several
template files for Makefile.am and configure.ac as resources. The plan
is that the user can override these in his projects when he has special

Things to be done:
 - Deploy into a new directory and copy relevant files over instead of
spreading the Makefile.ams around the project
 - An option to let users override the templates that are used
 - Some wizard or something that explains users on first export how to
override templates, asks for missing info and maybe sets a default
directory for deployment
 - Automatically running autoreconf -i in the deployed directory
 - An option to deploy and "make dist" in 1 go

There are some Problems for which I still have no solution:
 - Where to get package name and package version from. For package name
you can probably use the name of the solution, but a solution has no
version. I could also use additional informations like a contact e-mail
 - Files in monodevelop projects have a fixed set of properties and
buildactions. So currently it's not possible to do custom rules to
handle .addin.xml files in a sensible manner for example. It would be
nice to have a way to add custom attributes to files in a monodevelop
 - What should I do with the build  configurations? Currently I simply
always use the Release configuration
 - I'm not sure how to support additional languages. Sure I could add
rules for boo or nemerle. But that would mean I have to make the plugin
dependent on the boo and nemerle plugin to gather the compiler flags,
having this dependency is not a good idea since many people don't have
these plugins installed.
 - How could I allow users to use custom templates for solution files
(custom configure.ac template for example)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: AutotoolDeploy.tar.bz2
Type: application/x-bzip-compressed-tar
Size: 8854 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/monodevelop-list/attachments/20060327/e1565c5a/AutotoolDeploy.tar.bin

More information about the Monodevelop-list mailing list