mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 22:47:56 +00:00
f9a1996367
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>
119 lines
2.9 KiB
Makefile
119 lines
2.9 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=elfutils
|
|
PKG_VERSION:=0.191
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
|
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
|
|
PKG_HASH:=df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871
|
|
|
|
PKG_LICENSE:=GPL-3.0-or-later
|
|
PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3
|
|
PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
|
|
PKG_PROGRAMS:=elflint findtextrel elfcmp unstrip stack elfcompress elfclassify srcfiles
|
|
|
|
PKG_SUBDIRS := \
|
|
libgnu \
|
|
config \
|
|
lib \
|
|
libelf \
|
|
libcpu \
|
|
backends \
|
|
libebl \
|
|
libdwelf \
|
|
libdwfl \
|
|
libdw \
|
|
src
|
|
|
|
PKG_GNULIB_BASE:=libgnu
|
|
|
|
PKG_GNULIB_ARGS = \
|
|
--dir=$(HOST_BUILD_DIR) \
|
|
--local-dir=$(STAGING_DIR_HOST)/share/gnulib \
|
|
--source-base=$(PKG_GNULIB_BASE) \
|
|
--libtool \
|
|
--avoid=reallocarray \
|
|
--import
|
|
|
|
PKG_GNULIB_MODS = \
|
|
argp \
|
|
fallocate-posix \
|
|
fnmatch-gnu \
|
|
fts \
|
|
obstack \
|
|
progname \
|
|
strchrnul \
|
|
tsearch
|
|
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
|
|
export $(PKG_GNULIB_BASE)=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/.libs/$(PKG_GNULIB_BASE).a
|
|
export $(PKG_GNULIB_BASE)_fallocate-posix=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-posix_fallocate.o
|
|
export $(PKG_GNULIB_BASE)_tsearch=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-tsearch.o
|
|
|
|
HOST_MAKE_FLAGS += \
|
|
DEFAULT_INCLUDES='-I. -I$$$$(top_builddir) -I$$$$(top_srcdir)/$(PKG_GNULIB_BASE)' \
|
|
AM_LDFLAGS='$$$$(STACK_USAGE_NO_ERROR)' \
|
|
LIBS+='$$$$(if $$$$(findstring $(lastword $(PKG_SUBDIRS)),$$$$(subdir)), $$$$($(PKG_GNULIB_BASE)))' \
|
|
LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_fallocate-posix))' \
|
|
LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_tsearch))' \
|
|
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
|
|
|
|
HOST_CFLAGS += -Wno-error -fPIC
|
|
HOST_CXXFLAGS += -O2
|
|
|
|
HOST_CONFIGURE_ARGS += \
|
|
--without-libintl-prefix \
|
|
--without-libiconv-prefix \
|
|
--disable-debuginfod \
|
|
--disable-libdebuginfod \
|
|
--disable-nls \
|
|
--disable-shared \
|
|
--enable-static \
|
|
--without-lzma \
|
|
--without-bzlib \
|
|
--without-zstd
|
|
|
|
ifeq ($(HOST_OS),Darwin)
|
|
HOST_CONFIGURE_ARGS += --disable-symbol-versioning
|
|
endif
|
|
|
|
HOST_CONFIGURE_VARS += \
|
|
ac_cv_search_argp_parse=yes \
|
|
ac_cv_search_fts_close=yes \
|
|
ac_cv_search__obstack_free=yes \
|
|
ac_cv_buildid=yes
|
|
|
|
Hooks/HostConfigure/Pre := Host/Gnulib $(Hooks/HostConfigure/Pre)
|
|
define Host/Gnulib
|
|
$(STAGING_DIR_HOST)/bin/gnulib-tool $(PKG_GNULIB_ARGS) $(PKG_GNULIB_MODS);
|
|
endef
|
|
|
|
define Host/Compile
|
|
$(call Host/Compile/Default,SUBDIRS='$$$$(wildcard $(PKG_SUBDIRS))')
|
|
endef
|
|
|
|
define Host/Install
|
|
$(call Host/Compile/Default,install SUBDIRS='$$$$(wildcard $(PKG_SUBDIRS))')
|
|
endef
|
|
|
|
define Host/Uninstall
|
|
-$(call Host/Compile/Default,uninstall)
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|