2f5d554f4d
With Microblaze Gcc version < 8.x the build hangs due to gcc bug 85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. The bug shows up when building ddrescue with optimization but not when building with -O0. To work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we force using -O0. Fixes: http://autobuild.buildroot.net/results/2af69401acb76be3d3fd427d1c58fed3af33bf9b/ Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> [Thomas: tweak CFLAGS logic, improve commit log] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
36 lines
880 B
Makefile
36 lines
880 B
Makefile
################################################################################
|
|
#
|
|
# ddrescue
|
|
#
|
|
################################################################################
|
|
|
|
DDRESCUE_VERSION = 1.22
|
|
DDRESCUE_SOURCE = ddrescue-$(DDRESCUE_VERSION).tar.lz
|
|
DDRESCUE_SITE = http://download.savannah.gnu.org/releases/ddrescue
|
|
DDRESCUE_LICENSE = GPL-2.0+
|
|
DDRESCUE_LICENSE_FILES = COPYING
|
|
|
|
define DDRESCUE_CONFIGURE_CMDS
|
|
(cd $(@D); \
|
|
$(TARGET_MAKE_ENV) ./configure \
|
|
--prefix=/usr \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
)
|
|
endef
|
|
|
|
DDRESCUE_CXXFLAGS = $(TARGET_CXXFLAGS)
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
|
|
DDRESCUE_CXXFLAGS += -O0
|
|
endif
|
|
|
|
define DDRESCUE_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) CXXFLAGS="$(DDRESCUE_CXXFLAGS)" -C $(@D)
|
|
endef
|
|
|
|
define DDRESCUE_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install
|
|
endef
|
|
|
|
$(eval $(generic-package))
|