blob: 2836cadc87d60b66fea2946b4ed2d8490a619522 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001# SPDX-License-Identifier: GPL-2.0-only
2
3include $(TOPDIR)/rules.mk
4
5PKG_NAME:=elfutils
6PKG_VERSION:=0.191
7PKG_RELEASE:=2
8
9PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
10PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION)
11PKG_HASH:=df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871
12
13PKG_LICENSE:=GPL-3.0-or-later
14PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3
15PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils
16
17PKG_FIXUP:=autoreconf
18
19PKG_PROGRAMS:=elflint findtextrel elfcmp unstrip stack elfcompress elfclassify srcfiles
20
21PKG_SUBDIRS := \
22 config \
23 lib \
24 libelf \
25 libcpu \
26 backends \
27 libebl \
28 libdwelf \
29 libdwfl \
30 libdw \
31 src
32
33PKG_GNULIB_BASE:=libgnu
34
35PKG_GNULIB_ARGS = \
36 --dir=$(HOST_BUILD_DIR) \
37 --libtool \
38 --avoid=reallocarray \
39 --import
40
41PKG_GNULIB_MODS = \
42 argp \
43 fallocate-posix \
44 fnmatch-gnu \
45 fts \
46 obstack \
47 progname \
48 strchrnul \
49 tsearch
50
51include $(INCLUDE_DIR)/host-build.mk
52
53export $(PKG_GNULIB_BASE)=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/.libs/$(PKG_GNULIB_BASE).a
54export $(PKG_GNULIB_BASE)_fallocate-posix=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-posix_fallocate.o
55export $(PKG_GNULIB_BASE)_tsearch=$(HOST_BUILD_DIR)/$(PKG_GNULIB_BASE)/$(PKG_GNULIB_BASE)_la-tsearch.o
56
57HOST_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
66HOST_CPPFLAGS += "'-I$$$$(top_srcdir)/lib'"
67
68ifeq ($(HOST_OS),Darwin)
69 HOST_CFLAGS += -I/opt/homebrew/include
70endif
71
72HOST_CFLAGS += -Wno-error -fPIC
73
74HOST_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
86ifeq ($(HOST_OS),Darwin)
87 HOST_CONFIGURE_ARGS += --disable-symbol-versioning
88endif
89
90HOST_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
96Hooks/HostConfigure/Pre := Host/Gnulib/Prepare $(Hooks/HostConfigure/Pre)
97Hooks/HostCompile/Pre := Host/Gnulib/Compile $(Hooks/HostCompile/Pre)
98
99define Host/Uninstall
100 -$(call Host/Compile/Default,uninstall)
101endef
102
103$(eval $(call HostBuild))