Re: [Vala] Vala support for automake
- From: Ralf Wildenhues <Ralf Wildenhues gmx de>
- To: Jürg Billeter <j bitron ch>
- Cc: vala-list gnome org, automake-patches gnu org
- Subject: Re: [Vala] Vala support for automake
- Date: Thu, 16 Apr 2009 20:49:22 +0200
Hi Jürg,
* Jürg Billeter wrote on Wed, Apr 15, 2009 at 08:56:44PM CEST:
On Wed, 2009-04-15 at 20:42 +0200, Ralf Wildenhues wrote:
I'm looking at adding per-target flag support for vala sources.
Say I have baz.vala and want to create from that
foo-baz.c foo-baz.h
in one valac invocation, as well as
bar-baz.c bar-baz.h
in another 'valac -D BAR' invocation. Is there some flag I can pass to
valac that will use these output names for me? If yes, does it do so
without generating intermediate baz.c baz.h files or any other temporary
files that have a name which would conflict with parallel make -jN
execution?
valac does not currently support any transformation on the output names
of the .c files. It's not as easy as a simple -o option because you have
multiple input and output files per invocation in general (see below).
Ah. Good to know.
If you think it would make sense to add a --suffix option or similar to
valac, I could certainly take a look at it.
I think a --prefix option should do the trick, but I haven't thought
this through yet.
Also, I see that your vala compile passes all sources to valac. Is that
intentional (or just because that was good enough)? I.e., if you have
bin_PROGRAMS = foo
foo_SOURCES = a.c b.vala c.l d.java e.vala
do you really want to invoke
valac -C a.c b.vala c.l d.java e.vala
That was not intentional. valac won't mind unnecessary .c files but will
reject files with other extensions.
Ah; that looks like a bug we should fix and test.
rather than
valac -C b.vala e.vala
This would be the correct commandline.
OK.
or even
valac -C b.vala
valac -C e.vala
This would not work, valac requires all Vala source files of the same
program / library on the same commandline. The reason is that the source
files can depend on each other, but there is no header/include
mechanism.
Hmm. What if I do something like this:
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?
Thanks,
Ralf
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]