| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | |
| 3 | include $(TOPDIR)/rules.mk |
| 4 | |
| 5 | PKG_NAME:=elfutils |
| 6 | PKG_VERSION:=0.191 |
| 7 | PKG_RELEASE:=2 |
| 8 | |
| 9 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 |
| 10 | PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) |
| 11 | PKG_HASH:=df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871 |
| 12 | |
| 13 | PKG_LICENSE:=GPL-3.0-or-later |
| 14 | PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3 |
| 15 | PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils |
| 16 | |
| 17 | PKG_FIXUP:=autoreconf |
| 18 | |
| 19 | PKG_PROGRAMS:=elflint findtextrel elfcmp unstrip stack elfcompress elfclassify srcfiles |
| 20 | |
| 21 | PKG_SUBDIRS := \ |
| 22 | config \ |
| 23 | lib \ |
| 24 | libelf \ |
| 25 | libcpu \ |
| 26 | backends \ |
| 27 | libebl \ |
| 28 | libdwelf \ |
| 29 | libdwfl \ |
| 30 | libdw \ |
| 31 | src |
| 32 | |
| 33 | PKG_GNULIB_BASE:=libgnu |
| 34 | |
| 35 | PKG_GNULIB_ARGS = \ |
| 36 | --dir=$(HOST_BUILD_DIR) \ |
| 37 | --libtool \ |
| 38 | --avoid=reallocarray \ |
| 39 | --import |
| 40 | |
| 41 | PKG_GNULIB_MODS = \ |
| 42 | argp \ |
| 43 | fallocate-posix \ |
| 44 | fnmatch-gnu \ |
| 45 | fts \ |
| 46 | obstack \ |
| 47 | progname \ |
| 48 | strchrnul \ |
| 49 | tsearch |
| 50 | |
| 51 | include $(INCLUDE_DIR)/host-build.mk |
| 52 | |
| 53 | export $(PKG_GNULIB_BASE)=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/.libs/$(PKG_GNULIB_BASE).a |
| 54 | export $(PKG_GNULIB_BASE)_fallocate-posix=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-posix_fallocate.o |
| 55 | export $(PKG_GNULIB_BASE)_tsearch=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-tsearch.o |
| 56 | |
| 57 | HOST_MAKE_FLAGS += \ |
| 58 | DEFAULT_INCLUDES='-I. -I$$$$(top_builddir) -I$$$$(top_srcdir)/$(PKG_GNULIB_BASE)' \ |
| 59 | AM_LDFLAGS='$$$$(STACK_USAGE_NO_ERROR)' \ |
| 60 | LIBS+='$$$$(if $$$$(findstring $(lastword $(PKG_SUBDIRS)),$$$$(subdir)), $$$$($(PKG_GNULIB_BASE)))' \ |
| 61 | LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_fallocate-posix))' \ |
| 62 | LIBS+='$$$$(wildcard $$$$($(PKG_GNULIB_BASE)_tsearch))' \ |
| 63 | REPLACE_FCNTL=0 REPLACE_FREE=0 REPLACE_FSTAT=0 REPLACE_OPEN=0 \ |
| 64 | bin_PROGRAMS='$(PKG_PROGRAMS)' EXEEXT= |
| 65 | |
| 66 | HOST_CPPFLAGS += "'-I$$$$(top_srcdir)/lib'" |
| 67 | |
| 68 | ifeq ($(HOST_OS),Darwin) |
| 69 | HOST_CFLAGS += -I/opt/homebrew/include |
| 70 | endif |
| 71 | |
| 72 | HOST_CFLAGS += -Wno-error -fPIC |
| 73 | |
| 74 | HOST_CONFIGURE_ARGS += \ |
| 75 | --without-libintl-prefix \ |
| 76 | --without-libiconv-prefix \ |
| 77 | --disable-debuginfod \ |
| 78 | --disable-libdebuginfod \ |
| 79 | --disable-nls \ |
| 80 | --disable-shared \ |
| 81 | --enable-static \ |
| 82 | --without-lzma \ |
| 83 | --without-bzlib \ |
| 84 | --without-zstd |
| 85 | |
| 86 | ifeq ($(HOST_OS),Darwin) |
| 87 | HOST_CONFIGURE_ARGS += --disable-symbol-versioning |
| 88 | endif |
| 89 | |
| 90 | HOST_CONFIGURE_VARS += \ |
| 91 | ac_cv_search_argp_parse=yes \ |
| 92 | ac_cv_search_fts_close=yes \ |
| 93 | ac_cv_search__obstack_free=yes \ |
| 94 | ac_cv_buildid=yes |
| 95 | |
| 96 | Hooks/HostConfigure/Pre := Host/Gnulib/Prepare $(Hooks/HostConfigure/Pre) |
| 97 | Hooks/HostCompile/Pre := Host/Gnulib/Compile $(Hooks/HostCompile/Pre) |
| 98 | |
| 99 | define Host/Uninstall |
| 100 | -$(call Host/Compile/Default,uninstall) |
| 101 | endef |
| 102 | |
| 103 | $(eval $(call HostBuild)) |