aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/zlib
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2018-01-04 14:43:34 +0100
committerJo-Philipp Wich <jo@mein.io>2018-01-07 12:33:47 +0100
commit3f5e39e960921167421317e2cdf6a37ae1330352 (patch)
treeaeebe0e7375b14e1d3b5aebd2902aa7698c03615 /package/libs/zlib
parent8a57531855bd13d5930d74abd8d708be3a14b887 (diff)
downloadupstream-3f5e39e960921167421317e2cdf6a37ae1330352.tar.gz
upstream-3f5e39e960921167421317e2cdf6a37ae1330352.tar.bz2
upstream-3f5e39e960921167421317e2cdf6a37ae1330352.zip
zlib: only enable NEON optimizations on eligible targets
Instead of inferring the availability of NEON support from the target optimization flags, use a preprocessor test to decide whether to enable ARMv8 NEON optimizations. Fixes the following build error spotted by the mediatek/32 buildbot: [ 26%] Building C object CMakeFiles/zlib.dir/contrib/arm/inflate.o In file included from .../zlib-1.2.11/contrib/arm/chunkcopy.h:10:0, from .../zlib-1.2.11/contrib/arm/inflate.c:87: .../arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h ^ In file included from .../zlib-1.2.11/contrib/arm/inflate.c:87:0: .../zlib-1.2.11/contrib/arm/chunkcopy.h:18:9: error: unknown type name 'uint8x16_t' typedef uint8x16_t chunkcopy_chunk_t; ^ [...] CMakeFiles/zlib.dir/build.make:302: recipe for target 'CMakeFiles/zlib.dir/contrib/arm/inflate.o' failed Fixes: 3acecba520 "package/libs/zlib: Add ARM and NEON optimizations" Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'package/libs/zlib')
-rw-r--r--package/libs/zlib/Makefile6
1 files changed, 2 insertions, 4 deletions
diff --git a/package/libs/zlib/Makefile b/package/libs/zlib/Makefile
index 94977b0589..a7c61f7dd0 100644
--- a/package/libs/zlib/Makefile
+++ b/package/libs/zlib/Makefile
@@ -60,10 +60,8 @@ ifeq ($(CONFIG_ZLIB_OPTIMIZE_SPEED),y)
TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS)) -O3
endif
-ifneq ($(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)),)
- CMAKE_OPTIONS += \
- -DARMv8=ON
-endif
+CMAKE_OPTIONS += \
+ -DARMv8=$$$$(echo -e '\#ifdef __ARM_NEON__\nON\n\#else\nOFF\n\#endif' | $$(TARGET_CC) $$(TARGET_CFLAGS) -x c -E - | grep -xE 'ON|OFF')
define Build/InstallDev
mkdir -p $(1)/usr/include