1################################################################################ 2# 3# elfutils 4# 5################################################################################ 6 7ELFUTILS_VERSION = 0.184 8ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2 9ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION) 10ELFUTILS_INSTALL_STAGING = YES 11ELFUTILS_LICENSE = GPL-2.0+ or LGPL-3.0+ (library) 12ELFUTILS_LICENSE_FILES = COPYING COPYING-GPLV2 COPYING-LGPLV3 13ELFUTILS_CPE_ID_VENDOR = elfutils_project 14ELFUTILS_DEPENDENCIES = host-pkgconf zlib $(TARGET_NLS_DEPENDENCIES) 15HOST_ELFUTILS_DEPENDENCIES = host-pkgconf host-zlib host-bzip2 host-xz 16 17# We patch configure.ac 18ELFUTILS_AUTORECONF = YES 19HOST_ELFUTILS_AUTORECONF = YES 20 21# Pass a custom program prefix to avoid a naming conflict between 22# elfutils binaries and binutils binaries. 23ELFUTILS_CONF_OPTS += \ 24 --program-prefix="eu-" 25 26HOST_ELFUTILS_CONF_OPTS = \ 27 --with-bzlib \ 28 --with-lzma \ 29 --without-zstd \ 30 --disable-progs 31 32# elfutils gets confused when lfs mode is forced, so don't 33ELFUTILS_CFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS)) 34ELFUTILS_CPPFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS)) 35 36# sparc64 needs -fPIC instead of -fpic 37ifeq ($(BR2_sparc64),y) 38ELFUTILS_CFLAGS += -fPIC 39endif 40 41ELFUTILS_CONF_ENV += \ 42 CFLAGS="$(ELFUTILS_CFLAGS)" \ 43 CPPFLAGS="$(ELFUTILS_CPPFLAGS)" 44 45ELFUTILS_LDFLAGS = $(TARGET_LDFLAGS) \ 46 $(TARGET_NLS_LIBS) 47 48ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 49ELFUTILS_LDFLAGS += -latomic 50endif 51 52ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) 53ELFUTILS_DEPENDENCIES += musl-fts 54ELFUTILS_LDFLAGS += -lfts 55endif 56 57# disable for now, needs "distro" support 58ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod 59HOST_ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod 60 61ELFUTILS_CONF_ENV += \ 62 LDFLAGS="$(ELFUTILS_LDFLAGS)" 63 64ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) 65ELFUTILS_DEPENDENCIES += argp-standalone 66ELFUTILS_CONF_OPTS += --disable-symbol-versioning 67endif 68 69ifeq ($(BR2_PACKAGE_BZIP2),y) 70ELFUTILS_DEPENDENCIES += bzip2 71ELFUTILS_CONF_OPTS += --with-bzlib 72else 73ELFUTILS_CONF_OPTS += --without-bzlib 74endif 75 76ifeq ($(BR2_PACKAGE_XZ),y) 77ELFUTILS_DEPENDENCIES += xz 78ELFUTILS_CONF_OPTS += --with-lzma 79else 80ELFUTILS_CONF_OPTS += --without-lzma 81endif 82 83ifeq ($(BR2_PACKAGE_ZSTD),y) 84ELFUTILS_DEPENDENCIES += zstd 85ELFUTILS_CONF_OPTS += --with-zstd 86else 87ELFUTILS_CONF_OPTS += --without-zstd 88endif 89 90ifeq ($(BR2_PACKAGE_ELFUTILS_PROGS),y) 91ELFUTILS_CONF_OPTS += --enable-progs 92ELFUTILS_LICENSE += , GPL-3.0+ (programs) 93ELFUTILS_LICENSE_FILES += COPYING 94else 95ELFUTILS_CONF_OPTS += --disable-progs 96endif 97 98define ELFUTILS_INSTALL_LIBEBL 99 $(INSTALL) -D -m 0755 $(@D)/libebl/libebl.a $(STAGING_DIR)/usr/lib/ 100endef 101ELFUTILS_POST_INSTALL_STAGING_HOOKS += ELFUTILS_INSTALL_LIBEBL 102 103$(eval $(autotools-package)) 104$(eval $(host-autotools-package)) 105