package/opencv3: fix aarch64 build
authorBernd Kuhls <bernd.kuhls@t-online.de>
Mon, 30 Jul 2018 16:08:36 +0000 (18:08 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 31 Jul 2018 20:05:38 +0000 (22:05 +0200)
Commit a17402e42d8c996af239cfdb536e74188d6c6245 ("opencv3:
conditionally enable NEON and VFPv3 optimizations") broke the build on
AArch64, because the VFPv3 optimizations are not supported by OpenCV
on this architecture:

  https://github.com/opencv/opencv/blob/3.4/cmake/OpenCVCompilerOptimizations.cmake#L275

However BR2_ARM_CPU_HAS_VFPV3 is always true on AArch64, causing this
build failure for every AArch64 build of OpenCV 3. This commit fixes
that by enabling VFPV3 only on ARM, and not on AArch64.

Fixes:

  http://autobuild.buildroot.net/results/d38fb092cffe086f93b469d1181da77fba0994bd/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/opencv3/opencv3.mk

index 53b771ef2574a0e90431bd7ebc5e8d954208dbb1..e8afa7cccf11f77ccaa0e58d4a569fbd37d0cf61 100644 (file)
@@ -100,8 +100,13 @@ OPENCV3_CONF_OPTS += \
 #   adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot.
 OPENCV3_CONF_OPTS += \
        -DENABLE_POWERPC=OFF \
-       -DENABLE_NEON=$(if $(BR2_ARM_CPU_HAS_NEON),ON,OFF) \
-       -DENABLE_VFPV3=$(if $(BR2_ARM_CPU_HAS_VFPV3),ON,OFF)
+       -DENABLE_NEON=$(if $(BR2_ARM_CPU_HAS_NEON),ON,OFF)
+
+ifeq ($(BR2_ARCH_IS_64):$(BR2_ARM_CPU_HAS_VFPV3),:y)
+OPENCV3_CONF_OPTS += -DENABLE_VFPV3=ON
+else
+OPENCV3_CONF_OPTS += -DENABLE_VFPV3=OFF
+endif
 
 # Cuda stuff
 OPENCV3_CONF_OPTS += \