package/flann: re-enable package on microblaze
authorGiulio Benetti <giulio.benetti@micronovasrl.com>
Fri, 14 Jun 2019 21:03:34 +0000 (23:03 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Wed, 19 Jun 2019 19:52:58 +0000 (21:52 +0200)
With Microblaze gcc version <= 9.x, the build of flannel fails due to
gcc 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.

Note that the comment was talking about gcc bug 69401, but this gcc
bug is a duplicate of 68485. Since all Buildroot packages now use the
reference to gcc bug 68485 and the option is named
BR2_TOOLCHAIN_HAS_GCC_BUG_68485, we use this naming as well for flann.

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/flann/Config.in
package/flann/flann.mk

index a2cd50c86734e151d144ae3521f5a8aa7ef17341..3725fc784ff46a3ef84cecc9e00c7e0d5c4bf504 100644 (file)
@@ -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
index d091ec18a0ce2a464377a65cba54570427dc345c..6c2e6a9e78985536a6dd5ff6c513d67447bea7ea 100644 (file)
@@ -18,4 +18,12 @@ FLANN_CONF_OPTS = \
        -DPYTHON_EXECUTABLE=OFF \
        -DCMAKE_DISABLE_FIND_PACKAGE_HDF5=TRUE
 
+FLANN_CXXFLAGS = $(TARGET_CXXFLAGS)
+
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
+FLANN_CXXFLAGS += -O0
+endif
+
+FLANN_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(FLANN_CXXFLAGS)"
+
 $(eval $(cmake-package))