kumquat-buildroot/package/elfutils/elfutils.mk
Giulio Benetti 404cbe8a42 package/elfutils: fix host build failure due to missing demangle support
When building on hosts with libstdc++ without demangle support this error
shows up:
checking for __cxa_demangle in -lstdc++... no
configure: error: __cxa_demangle not found in libstdc++, use --disable-demangler to disable demangler support.
make[1]: *** [package/pkg-generic.mk:273: /home/giuliobenetti/br_reproduce/c2524c7580d97f7387ec22da62be71d77f2ed8ec/output/build/host-elfutils-0.189/.stamp_configured] Error 1
make: *** [Makefile:23: _all] Error 2

So let's disable demangler for host by default.

Fixes: still not showed by autobuilders. Reproduced on Ubuntu 22.04 with
Ubuntu APT g++ 11.4.0

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Christian Stewart <christian@aperture.us>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5f2c9f882d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-06-03 12:49:59 +02:00

92 lines
2.3 KiB
Makefile

################################################################################
#
# elfutils
#
################################################################################
ELFUTILS_VERSION = 0.189
ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2
ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION)
ELFUTILS_INSTALL_STAGING = YES
ELFUTILS_LICENSE = GPL-2.0+ or LGPL-3.0+ (library)
ELFUTILS_LICENSE_FILES = COPYING COPYING-GPLV2 COPYING-LGPLV3
ELFUTILS_CPE_ID_VALID = YES
ELFUTILS_DEPENDENCIES = host-pkgconf zlib $(TARGET_NLS_DEPENDENCIES)
HOST_ELFUTILS_DEPENDENCIES = host-pkgconf host-zlib host-bzip2 host-xz
# We patch configure.ac
ELFUTILS_AUTORECONF = YES
HOST_ELFUTILS_AUTORECONF = YES
# Pass a custom program prefix to avoid a naming conflict between
# elfutils binaries and binutils binaries.
ELFUTILS_CONF_OPTS += \
--program-prefix="eu-"
HOST_ELFUTILS_CONF_OPTS = \
--with-bzlib \
--with-lzma \
--without-zstd \
--disable-demangler \
--disable-progs
ELFUTILS_LDFLAGS = $(TARGET_LDFLAGS) \
$(TARGET_NLS_LIBS)
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
ELFUTILS_LDFLAGS += -latomic
endif
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),)
ELFUTILS_DEPENDENCIES += musl-fts argp-standalone
endif
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
ELFUTILS_CONF_OPTS += --disable-symbol-versioning
endif
# disable for now, needs "distro" support
ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod
HOST_ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod
ELFUTILS_CONF_ENV += \
LDFLAGS="$(ELFUTILS_LDFLAGS)"
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
ELFUTILS_CONF_OPTS += --enable-demangler
else
ELFUTILS_CONF_OPTS += --disable-demangler
endif
ifeq ($(BR2_PACKAGE_BZIP2),y)
ELFUTILS_DEPENDENCIES += bzip2
ELFUTILS_CONF_OPTS += --with-bzlib
else
ELFUTILS_CONF_OPTS += --without-bzlib
endif
ifeq ($(BR2_PACKAGE_XZ),y)
ELFUTILS_DEPENDENCIES += xz
ELFUTILS_CONF_OPTS += --with-lzma
else
ELFUTILS_CONF_OPTS += --without-lzma
endif
ifeq ($(BR2_PACKAGE_ZSTD),y)
ELFUTILS_DEPENDENCIES += zstd
ELFUTILS_CONF_OPTS += --with-zstd
else
ELFUTILS_CONF_OPTS += --without-zstd
endif
ifeq ($(BR2_PACKAGE_ELFUTILS_PROGS),y)
ELFUTILS_CONF_OPTS += --enable-progs
ELFUTILS_LICENSE += , GPL-3.0+ (programs)
ELFUTILS_LICENSE_FILES += COPYING
else
ELFUTILS_CONF_OPTS += --disable-progs
endif
$(eval $(autotools-package))
$(eval $(host-autotools-package))