@@ -2,9 +2,6 @@ config BR2_PACKAGE_FLANN
bool "flann"
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
- # all gcc versions fail to build flann on Microblaze due to
- # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69401
- depends on !BR2_microblaze
help
FLANN is a library for performing fast approximate nearest
neighbor searches in high dimensional spaces. It contains a
@@ -25,5 +22,4 @@ config BR2_PACKAGE_FLANN_EXAMPLES
endif
comment "flann needs a toolchain w/ C++, dynamic library"
- depends on !BR2_microblaze
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
@@ -18,4 +18,8 @@ FLANN_CONF_OPTS = \
-DPYTHON_EXECUTABLE=OFF \
-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=TRUE
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
+FLANN_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O0"
+endif
+
$(eval $(cmake-package))
With Microblaze Gcc version <= 9.x build fails tue to bug 68485: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485. To avoid this, the flann package has a !BR2_microblaze dependency. However, gcc bug 68485 only triggers when optimization is enabled, so we can work around the issue by passing -O0, which is what we do in other Buildroot packages to work around this bug. So, this commit passes -O0 when BR2_TOOLCHAIN_HAS_GCC_BUG_68485, and re-enables flann on Microblaze. Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> --- package/flann/Config.in | 4 ---- package/flann/flann.mk | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-)