]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
tests: Fix system_elf_gelf_test build without system libelf.h
authorMark Wielaard <mark@klomp.org>
Sun, 3 Sep 2023 16:25:56 +0000 (18:25 +0200)
committerMark Wielaard <mark@klomp.org>
Mon, 4 Sep 2023 11:40:19 +0000 (13:40 +0200)
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>
tests/Makefile.am

index 49069ccfb4bb397653323bb9f8791ed801d97f7c..32b18e6ef633c0866250a2fdffc52ac599126bb1 100644 (file)
@@ -807,9 +807,14 @@ nvidia_extended_linemap_libdw_LDADD = $(libelf) $(libdw)
 
 # 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