build: avoid check-symfile on non-Linux

I tested both OpenBSD and cygwin; both failed 'make check' with:

  GEN    check-symfile
Can't return outside a subroutine at ./check-symfile.pl line 13.

Perl requires 'exit 77' instead of 'return 77' in that context,
but even with that tweak, the build still fails, since the exit
code of 77 is only special to explicit TESTS=foo listings, and
not to make-only dependency rules where we are not going through
automake's test framework.

* src/check-symfile.pl: Kill bogus platform check...
* src/Makefile.am (check-symfile): ...and replace with an automake
conditional.
This commit is contained in:
Eric Blake 2012-09-05 13:10:18 -06:00
parent 98e732fc34
commit ae94cf2d13
2 changed files with 5 additions and 6 deletions

View File

@ -312,10 +312,14 @@ PDWTAGS = \
fi
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
# rule for libvirt.la
# rule for libvirt.la. However, checking symbols relies on Linux ELF layout
if WITH_LINUX
check-symfile: libvirt.syms libvirt.la
$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
.libs/libvirt.so
else
check-symfile:
endif
PROTOCOL_STRUCTS = \
$(srcdir)/remote_protocol-structs \

View File

@ -8,11 +8,6 @@ my @elflibs = @ARGV;
my @wantsyms;
my %gotsyms;
# Skip on non-linux
if ($^O ne "linux") {
return 77; # Automake's skip code
}
open SYMFILE, $symfile or die "cannot read $symfile: $!";
while (<SYMFILE>) {