On 10/05/2012 08:42 AM, Eric Blake wrote: > On 10/05/2012 07:05 AM, Michal Privoznik wrote: >> Currently, we are checking if libvirt.so contains public symbols. >> However, sometimes we rename an internal symbol and forget to >> change libvirt_private.syms accordingly. Hence, it's safer to check >> for internal symbols as well. >> --- >> src/Makefile.am | 7 ++++++- >> src/check-symfile.pl | 2 +- >> 2 files changed, 7 insertions(+), 2 deletions(-) >> > > Phooey. I had only tested in-tree builds when I gave ack. > >> check-symfile: libvirt.syms libvirt.la >> $(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \ >> .libs/libvirt.so > > This works in VPATH builds, since libvirt.syms is version-controlled... > >> + >> +check-private-symfile: libvirt_private.syms libvirt.la >> + $(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_private.syms \ >> + .libs/libvirt.so > > ...but this fails in a VPATH build, since libvirt_private.syms is > generated into builddir. I'm working on a followup. I got that backwards. libvirt.syms is generated, and in builddir, and _includes_ all of libvirt_public.syms AND libvirt_private.syms. libvirt_private.syms is in srcdir only, so the VPATH build is failing to find it. The reason that your patch "worked" at detecting the failure is not because of the new makefile rule, but because of the fix to use keys(%wantsyms) instead of @wantsyms in the perl script, where check-symfile, rather than the new check-private-symfile, was detecting the error. -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list