GNOME Bugzilla – Bug 691808
Fix again builddir != srcdir
Last modified: 2013-02-04 19:33:16 UTC
The previous fixed causes a make distcheck failure for baobab, because the .vapi file depends on the .gir file, which is not shipped, thus both get rebuilt during make, but inside distcheck $(srcdir) is not writable. The solution here is to ship the .gir file too, which fixes distcheck because it builds from a tarball. Git builds need to ensure the source directory is writable. It is not a good idea in principle to dist .gir files, because they are arch-dependent (for example they encode integer type sizes and resolve type differently according to the glib configuration), but vala insists in disting vapis, so I don't think there is a better way to handle this.
Created attachment 233544 [details] [review] Fix again builddir != srcdir
Comment on attachment 233544 [details] [review] Fix again builddir != srcdir Oh ugh no, I made a mistake testing this, and turns out it's even more broken.
Argh, there is just no way to fix this: if the gir file is built inside $(srcdir), Makefile.introspection complains that the Gd_1_0_* variables don't have the right name, but if the gir file is built inside $(builddir), the vapi is regenerated inside distcheck, which breaks. I guess we just need to tell people that git out-of-tree builds of vala+libgd (or vala+anything-gir) just cannot work, and tarballs must be made from same dir builds. (Adding baobab maintainer to the bug, just for reference)
I suggest it always builds libgd vapi files. The main drawback, as far as I am concerned, is that non-gir distro (rhel5/rhel6) won't be able to build tarball from source. But that shouldn't really be a problem for libgd, since we tend to depend on very very new stuff. Either we discuss the fix here or in bug 690972.
Let's go back to 690972 *** This bug has been marked as a duplicate of bug 690972 ***