[MonoDevelop] Autotools plugin.

Lluis Sanchez lluis at ximian.com
Mon Jul 3 06:30:33 EDT 2006

El dv 30 de 06 del 2006 a les 16:56 +0000, en/na Scott Ellington va
> hey Miguel,
> On Fri, 2006-06-30 at 14:01 -0400, Miguel de Icaza wrote:
> > Currently the pkg-config stuff happens at the project level, and I
> > believe that this should happen at the library level (as class libraries
> > are the ones that need this bit).
> I'm not sure what you mean.  Maybe you could clarify?
> Right now how it works is that it creates a pc file for the entire
> solution.  It finds all buildable projects which are of type library
> (dlls) and includes them in the Libs variable.  I'm not sure of a better
> way.

I think this is the correct way.

> > 
> > I also think that it should probably be enabled by default for all class
> > libraries as that is our mechanism to find/locate libraries (Lluis is
> > talking about adding this feature to the GUI for the "Add References"
> > bit, so it will fit nicely).
> I'm not sure how I would do this.  How would I know which solution is a
> class library?  In terms of MonoDevelop, creating a solution of type
> 'Library' just instantiates a base setup.  There is no information held
> within the solution that specifies that this is what it is.  Maybe Lluis
> has an idea, or maybe I am missing something.

I think handling all this at solution level is ok. You only need to
generate a .pc file if the solution contains at least one library.

> Another question: This pkgconfig file allows people to compile against
> the libraries, but it still doesn't help them at runtime.  Both Banshee
> and MD have pc files set up this same way.  Though I understand that the
> primary uses of their pc files would be plugins.

In the case of MD and Banshee, yes.

> However, I suspect that we would want to enable people to release an
> independent library upon which other applications could use.  I see on
> the deployment guidelines page
> ( http://www.mono-project.com/Guidelines:Application_Deployment#Libraries_with_Unstable_APIs ) 
> there is a defined process for doing this in a pc file.  
> This involves adding a separate variable with which consumers can use to copy 
> the dlls into the base directory.  Yet, I have never seen this used.  
> So, should this be implemented?

It's very easy to implemente, so I would say yes.

> This brings up another issue: Installation to GAC.  Probably that should
> be implemented as well.  We would then need some notion of an unstable
> versus a stable library in MD.  This could be something that the
> autotools addin stores, but it may be worthwhile for MD to track it so
> that others may use this info ( NAnt, etc. ).

I think we can add an "Install to GAC" flag in DeployTarget (or maybe in
a new subclass DotNetDeploymetTarget). In this way a solution could have
different deploy targets for unstable and stable releases.


More information about the Monodevelop-list mailing list