openwrtv4/package/libs/zlib/patches/003-attach-sourcefiles-in-patch-002-to-buildsystem.patch
Daniel Engberg 3acecba520 package/libs/zlib: Add ARM and NEON optimizations
This adds two optimizations for ARM:
NEON optimized Adler(-)32 checksum algorithm (ARMv7 and newer NEON CPUs)
ARM(v7+) specific optimization for inflate
I've also connected inflate optimization to the build using the following
source as template.
0397489124 (diff-a62ad2db6c83dbc205d34bb9a8884f16)

Additional info:
https://codereview.chromium.org/2676493007/
https://codereview.chromium.org/2722063002/

Sources:
https://github.com/madler/zlib/pull/251 (only the first commit)
https://github.com/madler/zlib/pull/256

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-01-02 17:11:12 +01:00

100 lines
1.4 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8e75f66..24d7329 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -95,34 +95,67 @@ set(ZLIB_PUBLIC_HDRS
${CMAKE_CURRENT_BINARY_DIR}/zconf.h
zlib.h
)
-set(ZLIB_PRIVATE_HDRS
- crc32.h
- deflate.h
- gzguts.h
- inffast.h
- inffixed.h
- inflate.h
- inftrees.h
- trees.h
- zutil.h
-)
-set(ZLIB_SRCS
- adler32.c
- compress.c
- crc32.c
- deflate.c
- gzclose.c
- gzlib.c
- gzread.c
- gzwrite.c
- inflate.c
- infback.c
- inftrees.c
- inffast.c
- trees.c
- uncompr.c
- zutil.c
-)
+
+if(ARMv8)
+ set(ZLIB_PRIVATE_HDRS
+ crc32.h
+ deflate.h
+ gzguts.h
+ inffast.h
+ inffixed.h
+ inflate.h
+ inftrees.h
+ trees.h
+ zutil.h
+ contrib/arm/chunkcopy.h
+ )
+ set(ZLIB_SRCS
+ adler32.c
+ compress.c
+ crc32.c
+ deflate.c
+ gzclose.c
+ gzlib.c
+ gzread.c
+ gzwrite.c
+ infback.c
+ inftrees.c
+ contrib/arm/inflate.c
+ contrib/arm/inffast.c
+ trees.c
+ uncompr.c
+ zutil.c
+ )
+ else()
+ set(ZLIB_PRIVATE_HDRS
+ crc32.h
+ deflate.h
+ gzguts.h
+ inffast.h
+ inffixed.h
+ inflate.h
+ inftrees.h
+ trees.h
+ zutil.h
+ )
+ set(ZLIB_SRCS
+ adler32.c
+ compress.c
+ crc32.c
+ deflate.c
+ gzclose.c
+ gzlib.c
+ gzread.c
+ gzwrite.c
+ inflate.c
+ infback.c
+ inftrees.c
+ inffast.c
+ trees.c
+ uncompr.c
+ zutil.c
+ )
+endif()
if(NOT MINGW)
set(ZLIB_DLL_SRCS