[MonoDevelop] Autotools plugin.

Miguel de Icaza miguel at ximian.com
Mon Jul 3 14:19:35 EDT 2006


Hello,

> > 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.

Well, the situation is that I might have a solution that has a number of
libraries, for example, I could have a non-GUI library (mylib), then a
GUI library that builds on the other (mylib-gui)

And I should be able for example to build app that only requires mylib,
but not mylib-gui.   

Alternatively, I could have a dozen of libraries in my solution, and
there is really no need for a third-party application to depend on a
dozen libraries just because we chose to generate .pc files for the
whole solution instead of .pc files on a per-library basis.


> > 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.

I think this is not right ;-)

I think that we should generate a .pc file for each .dll target (library
target).  

(In fact, I might even go further than this, and say that we might want
a .pc file *per* project, as .pc files are very useful to check for
dependencies and versions, so people could say "You need f-spot 1.2.3"
using pkg-config).

But again, I think we need to have this at the project-level, not the
solution level.

Miguel.


More information about the Monodevelop-list mailing list