tools/elfutils: remove header symlink between subdirectories

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>
This commit is contained in:
Michael Pratt 2024-05-15 19:43:00 -04:00 committed by Robert Marko
parent e7599942af
commit f9a1996367

View File

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