If there is no system libelf.h then the building of system-elf-gelf-test
fails with:
../libelf/gelf.h:32:10: fatal error: libelf.h: No such file or directory
This is because although the testcase includes the headers as
../libelf/libelf.h and ../libelf/gelf.h, gelf.h itself does an
Fix this by putting a copy of libelf.h in the build test directory
and using -I. for building system-elf-gelf-test.
* tests/Makefile.am (BUILT_SOURCES): New for libelf.h.
(CLEANFILES): Add libelf.h.
(libelf.h): New target that copies srdir libelf.h.
(system_elf_gelf_test_CPPFLAGS): Add -I.
https://sourceware.org/bugzilla/show_bug.cgi?id=30812
Signed-off-by: Mark Wielaard <mark@klomp.org>
# We want to test the libelf headers against the system elf.h header.
# Don't include any -I CPPFLAGS. Except when we install our own elf.h.
+# For the gelf test we do want our own libelf.h, but nothing else.
+BUILT_SOURCES = libelf.h
+CLEANFILES += libelf.h
+libelf.h: $(top_srcdir)/libelf/libelf.h
+ cp $< $@
if !INSTALL_ELFH
system_elf_libelf_test_CPPFLAGS =
-system_elf_gelf_test_CPPFLAGS =
+system_elf_gelf_test_CPPFLAGS = -I.
else
system_elf_libelf_test_CPPFLAGS = -I$(top_srcdir)/libelf
system_elf_gelf_test_CPPFLAGS = -I$(top_srcdir)/libelf