package/assimp: re-enable package on Microblaze
authorGiulio Benetti <giulio.benetti@micronovasrl.com>
Wed, 22 May 2019 13:59:02 +0000 (15:59 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Fri, 24 May 2019 20:54:01 +0000 (22:54 +0200)
With Microblaze ccc version < 8.x the build hangs due to bug 85180:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. To avoid this, the
assimp package has a !BR2_microblaze dependency. However, gcc bug
85180 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_85180, and
re-enables assimp on Microblaze.

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

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

index 41c1bb348b270a50cb3248a4101525fe49f3b00a..630758f3e775b15592188f33aeaebb94a1cec25d 100644 (file)
@@ -1,9 +1,5 @@
 config BR2_PACKAGE_ASSIMP
        bool "assimp"
-       # All gcc versions affected by
-       # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that
-       # cause an infinite loop in gcc when building this package.
-       depends on !BR2_microblaze
        depends on BR2_INSTALL_LIBSTDCPP
        select BR2_PACKAGE_ZLIB
        help
@@ -16,5 +12,4 @@ config BR2_PACKAGE_ASSIMP
          http://www.assimp.org
 
 comment "assimp needs a toolchain w/ C++"
-       depends on !BR2_microblaze
        depends on !BR2_INSTALL_LIBSTDCPP
index 131672042381461d6f945a07658fe992b9f0abc1..5720f9793f024bb95e4cbaaf6761607e03439670 100644 (file)
@@ -24,6 +24,10 @@ ifeq ($(BR2_sh):$(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:y:)
 ASSIMP_CXXFLAGS += -O2
 endif
 
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
+ASSIMP_CXXFLAGS += -O0
+endif
+
 ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \
        -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)"