tools/elfutils: remove header symlink between subdirectories
authorMichael Pratt <mcpratt@pm.me>
Wed, 15 May 2024 23:43:00 +0000 (19:43 -0400)
committerRobert Marko <robimarko@gmail.com>
Mon, 8 Jul 2024 06:49:42 +0000 (08:49 +0200)
Replace the symlink in the build recipe for gnulib
with an extra include path flag in CPPFLAGS to the lib subdirectory
so that it is the last in the order of include paths,
and use a quote escape to make the flag a literal string
in order to use Make variables within it.

The original reason this is necessary is because the config.h header
provided by the project at the top-level build directory
calls another header eu-config.h
which is stored in the lib subdirectory instead of the top-level,
and building the gnulib library requires the config.h header.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/15853
Signed-off-by: Robert Marko <robimarko@gmail.com>
tools/elfutils/Makefile

index 11a2ff7261592d837a151a98c2b533d5a6f0a6a8..bbbb1da9140faec30e5c523dcfb4e1d88e6a5f8c 100644 (file)
@@ -67,6 +67,8 @@ HOST_MAKE_FLAGS += \
        REPLACE_FCNTL=0 REPLACE_FREE=0 REPLACE_FSTAT=0 REPLACE_OPEN=0 \
        bin_PROGRAMS='$(PKG_PROGRAMS)' EXEEXT=
 
+HOST_CPPFLAGS += "'-I$$$$(top_srcdir)/lib'"
+
 ifeq ($(HOST_OS),Darwin)
   HOST_CFLAGS += -I/opt/homebrew/include
 endif
@@ -99,7 +101,6 @@ HOST_CONFIGURE_VARS += \
 Hooks/HostConfigure/Pre := Host/Gnulib $(Hooks/HostConfigure/Pre)
 define Host/Gnulib
        $(STAGING_DIR_HOST)/bin/gnulib-tool $(PKG_GNULIB_ARGS) $(PKG_GNULIB_MODS);
-       ln -sf ../lib/eu-config.h $(HOST_BUILD_DIR)/libgnu/;
 endef
 
 define Host/Compile