[MonoDevelop] AutoTools

Lluis Sanchez lluis at ximian.com
Thu Mar 23 20:54:52 EST 2006


El jue, 23-03-2006 a las 16:46 -0500, Scott Ellington escribió:
> Hi,
> 
> Let me go ahead and summarize what my ideas are for this Addin and then
> mention a few issues I already foresee:
> 
> This addin will take the configuration details for a given solution and
> it's child solutions and projects, and create a complete AutoTools setup
> for it.  This will allow developers to follow Mono's deployment
> guidelines
> ( http://www.mono-project.com/Guidelines:Application_Deployment )
> without having to get their hands dirty in the pain that is autotools.
> 
> Lluis and others have other goals for AutoTools integration.  It would
> be better for them to describe those.

I'd like to be able to generate the MD makefiles using that add-in.
However, this is not a requirement, just a long term goal (or short/mid
term if somebody else is also interested in helping).

We can follow an incremental approach. We can start with a simple
generation, taking only the basic information about a project. We can
later improve the generation by using additional information such as
project multiple configurations. And finaly we can extend the existing
project model to be able to implement complex build or deploy rules.

> 
> Here are couple of issue that have already sprung to mind (Note: my
> Autotools knowledge is not limitless, so please correct me if I am
> mistaken in any way):
> 
> 1) autotools works in a hierarchical manner.  That is, everything is
> under one directory, often organized into subdirectories.  Yet MD can
> link to projects/solutions in different directories and so forth.  I
> don't know exactly how to reconcile this.

It's easy: for now just show a message saying that Makefiles can't be
generated from such a project structure. Support for this can be added
in a later stage.

> 
> 2) MD stores reference to things like gtk# as GAC references.  Yet we
> would probably want to be testing for the gtk-sharp-2.0 pkg-config
> module.  How do we go about this?  Do we need another reference type?

MD stores the full assembly name in references, but internally it deals
with packages. If you want to know which package is required for a given
assembly just call Runtime.SystemAssemblyService.GetPackageFromFullName
(asmName).

> 
> This brings up another possible feature for the autotools addin:
> creating pkg-config (pc) files for libraries.

Yeah, it would be useful.

> 
> There are probably many more issues, these are just the first I see.

Here is another issue: how to support multiple languages?
And here is another one: how to support custom build rules, such as the
one needed for generating the stetic code in a gtk# project?

Lluis.




More information about the Monodevelop-list mailing list