[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Vala support for automake
From: |
Jürg Billeter |
Subject: |
Re: Vala support for automake |
Date: |
Thu, 16 Apr 2009 21:19:13 +0200 |
On Thu, 2009-04-16 at 21:09 +0200, Ralf Wildenhues wrote:
> * Jürg Billeter wrote on Thu, Apr 16, 2009 at 09:02:30PM CEST:
> > On Thu, 2009-04-16 at 20:49 +0200, Ralf Wildenhues wrote:
> > > bin_PROGRAMS = foo
> > > foo_SOURCES = foo1.vala foo2.vala
> > > foo_LDADD = libbar.a
> > > noinst_LIBRARIES = libbar.a
> > > libbar_a_SOURCES = bar1.vala bar2.vala
> > >
> > > How would valac cope with the necessarily separate invocations for
> > > foo*.vala and bar*.vala? And what happens if you try to put vala
> > > code into shared libraries, and use them from other vala code?
> >
> > In this case you instruct valac to generate a bar.vapi and a bar.h file
> > and use those files in the program by specifying
> >
> > libbar_a_VALAFLAGS = --library bar -H bar.h
> > foo_VALAFLAGS = bar.vapi
> >
> > A .vapi file contains declarations for Vala libraries, similar to a .h
> > file for C libraries.
>
> How is the semantic relationship between the .vapi name and its library?
> s/^lib//; s/\.a$//; s/$/.vapi/ ?
>
> 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.
> 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.
Thanks,
Jürg
- Re: Vala support for automake, Jürg Billeter, 2009/04/05
- Re: Vala support for automake, Ralf Wildenhues, 2009/04/07
- Re: Vala support for automake, Jürg Billeter, 2009/04/07
- Re: Vala support for automake, Ralf Wildenhues, 2009/04/15
- Re: Vala support for automake, Jürg Billeter, 2009/04/15
- Re: Vala support for automake, Ralf Wildenhues, 2009/04/16
- Re: Vala support for automake, Jürg Billeter, 2009/04/16
- Re: Vala support for automake, Ralf Wildenhues, 2009/04/16
- Re: Vala support for automake,
Jürg Billeter <=
- Re: Vala support for automake, Ralf Wildenhues, 2009/04/18
- Re: [Vala] Vala support for automake, Yu Feng, 2009/04/26
- Re: [Vala] Vala support for automake, Ralf Wildenhues, 2009/04/26
- Re: [Vala] Vala support for automake, Yu Feng, 2009/04/26
- Re: Vala support for automake, Ralf Wildenhues, 2009/04/19
- Re: Vala support for automake, Ralf Wildenhues, 2009/04/19