On Wed, 2011-06-29 at 09:29 -0400, Sam Hartman wrote:
> >>>>> "Sam" == Sam Thursfield <[log in to unmask]> writes:
>
> Sam> On Tue, 2011-06-21 at 16:38 -0400, Sam Hartman wrote:
> >> (sid-amd64-sbuild)root@moonshot:/home/hartmans/checkout/ui# make dist
> >> make: *** No rule to make target `src/moonshot-msrpc.h', needed by
> >> `distdir'. S
> >> top.
> >>
>
> Sam> I've deferred this issue for now. It's some problem with automake
> Sam> conditionals; on 'make' the correct rules are executed but on 'make
> Sam> dist' for some reason automake is getting things wrong. A workaround for
> Sam> now is just delete the 'if IPC_MSRPC' sections from Makefile.am when you
> Sam> want to 'make dist'.
>
> Deferring this really doesn't work because my build procedure involves a
> make dist step.
>
> My main question is why do you include moonshot-msrpc.h in
> noinst_HEADERS. As best I can tell all that does is include the header
> in make dist. dont think it makes sense to have something in
> BUILT_SOURCES and noinst_HEADERS.
What we really have here is a fundamental problem with conditionally
generated source code. Of course 'make dist' does its best to include
all the source code. Vala's make rule causes every generated .c file to
be dist'ed as well as the .vala files. However, for example
moonshot-msrpc-server.vala cannot be compiled on Linux, so we get (if
the noinst_HEADERS etc. stuff is commented out):
make: *** No rule to make target `src/moonshot-msrpc-server.c', needed
by `distdir'. Stop.
I've managed to hack together a solution, which involves not trying to
dist the Windows generated files, putting the dbus and msrpc server code
in the same .vala file and using #if to select which version to use and
also not distributing msrpc-client.vala
Not very nice but at least it works now
Sam
|