Hi Jürg,

* Jürg Billeter wrote on Thu, Apr 16, 2009 at 09:19:13PM CEST:
> On Thu, 2009-04-16 at 21:09 +0200, Ralf Wildenhues wrote:
> > What about shared libraries, do they have .vapi's, too?
> 
> Yes, shared libraries have .vapi files, too. They are installed
> into /usr/share/vala/vapi/ by default.
> 
> The .so name and the .vapi name do not need to match in any way, the
> convention for shared libraries is to use the pkg-config name, if
> applicable. When writing the .vapi file, the compiler just uses the
> argument of the --library option and appends .vapi.

OK.  What if, as is common for libraries generated by libtool, there is
both a static and a shared library, from the same sources.  Will the
.vapi file be applicable (i.e., be the same) for both?

> > What if I want to build one big shared (or static) library from a set of
> > convenience archives (uninstalled .a libraries with PIC code)?  Do you
> > have means to generate a .vapi for the big library from the .vapi's of
> > the several small ones (plus maybe a couple of loose objects, too)?
> 
> That's where it starts getting a bit tricky. While generating the
> big .vapi file is as simple as concatenating the .vapi files of the
> convenience libraries, I don't know how we can avoid a manual `cat' rule
> without making it a lot more complex.

Well, automake and/or libtool might be able to help out here.
This situation is a bit similar to C++ compilers needing pre-linking
actions like collecting template instantiations.

Doing something like this automatically in autotools will likely require
that we know the library name to .vapi name mapping though.

Cheers,
Ralf
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to