kumquat-buildroot/package/lmbench/lmbench.mk
Giulio Benetti 63943ecf45 package/lmbench: fix build failure due to gcc bug 101915
The lmbench package exhibits gcc bug 101915 when built for the
Microblaze architecture with optimization enabled, which causes a build
failure.

As done for other packages in Buildroot work around this gcc bug by
setting optimization to -O0 if BR2_TOOLCHAIN_HAS_GCC_BUG_101915=y.

Fixes:
http://autobuild.buildroot.net/results/ae1/ae1e4d61ed367c6cb64442c60d98882cc7985346/

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-08-19 22:58:02 +02:00

47 lines
1.5 KiB
Makefile

################################################################################
#
# lmbench
#
################################################################################
LMBENCH_VERSION = 3.0-a9
LMBENCH_SOURCE = lmbench-$(LMBENCH_VERSION).tgz
LMBENCH_SITE = http://downloads.sourceforge.net/project/lmbench/development/lmbench-$(LMBENCH_VERSION)
LMBENCH_LICENSE = lmbench license (based on GPL-2.0)
LMBENCH_LICENSE_FILES = COPYING COPYING-2
LMBENCH_CFLAGS = $(TARGET_CFLAGS)
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
LMBENCH_DEPENDENCIES += host-pkgconf libtirpc
LMBENCH_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`
LMBENCH_LDLIBS = `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`
endif
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101915),y)
LMBENCH_CFLAGS += -O0
endif
LMBENCH_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK
define LMBENCH_CONFIGURE_CMDS
sed -i 's/CFLAGS=/CFLAGS+=/g' $(@D)/src/Makefile
sed -i 's/LDLIBS=/LDLIBS+=/g' $(@D)/scripts/build
sed -i '/cd .*doc/d' $(@D)/src/Makefile
sed -i '/include/d' $(@D)/src/Makefile
touch $@
endef
# Note: there is a second stage 'make' invocation from the 'scripts/build'
# script. So the variables override below don't take direct effect in
# src/Makefile.
define LMBENCH_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CFLAGS="$(LMBENCH_CFLAGS)" LDLIBS="$(LMBENCH_LDLIBS)" OS=$(ARCH) CC="$(TARGET_CC)" -C $(@D)/src
endef
define LMBENCH_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CFLAGS="$(TARGET_CFLAGS)" OS=$(ARCH) CC="$(TARGET_CC)" BASE=$(TARGET_DIR)/usr -C $(@D)/src install
endef
$(eval $(generic-package))