package/libs/zlib: Add ARM and NEON optimizations
[openwrt/staging/wigyori.git] / package / libs / zlib / patches / 003-attach-sourcefiles-in-patch-002-to-buildsystem.patch
diff --git a/package/libs/zlib/patches/003-attach-sourcefiles-in-patch-002-to-buildsystem.patch b/package/libs/zlib/patches/003-attach-sourcefiles-in-patch-002-to-buildsystem.patch
new file mode 100644 (file)
index 0000000..68f317b
--- /dev/null
@@ -0,0 +1,100 @@
+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