zlib: only enable NEON optimizations on eligible targets
authorJo-Philipp Wich <jo@mein.io>
Thu, 4 Jan 2018 13:43:34 +0000 (14:43 +0100)
committerJo-Philipp Wich <jo@mein.io>
Sun, 7 Jan 2018 11:33:47 +0000 (12:33 +0100)
commit3f5e39e960921167421317e2cdf6a37ae1330352
treeaeebe0e7375b14e1d3b5aebd2902aa7698c03615
parent8a57531855bd13d5930d74abd8d708be3a14b887
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>
package/libs/zlib/Makefile