|
@@ -0,0 +1,53 @@
|
|
|
+From 992a497e9c5c421d3931e02a01e9d7c159f27135 Mon Sep 17 00:00:00 2001
|
|
|
+From: Luca Ceresoli <luca@lucaceresoli.net>
|
|
|
+Date: Thu, 26 Nov 2015 12:49:10 +0100
|
|
|
+Subject: [PATCH] Add a CMakeFile.txt to ease cross-compilation
|
|
|
+
|
|
|
+Info-ZIP's UnZip 6.0 has a complex, hand-crafted Makefile with a
|
|
|
+companion configure script which try to support an extremely wide
|
|
|
+range of UNIX-like operating systems. The result is an overly complex
|
|
|
+mass of code that does not support cross-compilation in several ways.
|
|
|
+
|
|
|
+Zip 3.0 has a similar build system, and has as many as 6 patches in
|
|
|
+Buildroot to cross-compile [0]. UnZip fails at building even with
|
|
|
+these patches adapted and a few more on top of them.
|
|
|
+
|
|
|
+Instead of tweaking and fixing a huge and complex build system, skip
|
|
|
+it entirely and add a pretty simple CMakeLists.txt that cross-compiles
|
|
|
+smoothly using CMake. It also preserves all of the Buildroot-provided
|
|
|
+build options and flags as the original Makefile does.
|
|
|
+
|
|
|
+[0] http://git.buildroot.net/buildroot/tree/package/infozip?id=2015.11-rc3
|
|
|
+
|
|
|
+Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
|
|
|
+---
|
|
|
+ CMakeLists.txt | 17 +++++++++++++++++
|
|
|
+ 1 file changed, 17 insertions(+)
|
|
|
+ create mode 100644 CMakeLists.txt
|
|
|
+
|
|
|
+diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
|
+new file mode 100644
|
|
|
+index 0000000..27951b4
|
|
|
+--- /dev/null
|
|
|
++++ b/CMakeLists.txt
|
|
|
+@@ -0,0 +1,17 @@
|
|
|
++cmake_minimum_required(VERSION 2.8)
|
|
|
++INCLUDE(CheckFunctionExists)
|
|
|
++
|
|
|
++project(unzip C)
|
|
|
++
|
|
|
++CHECK_FUNCTION_EXISTS(lchmod HAVE_LCHMOD)
|
|
|
++if(NOT HAVE_LCHMOD)
|
|
|
++add_definitions("-DNO_LCHMOD")
|
|
|
++endif()
|
|
|
++
|
|
|
++set(UNZIP_SOURCES unzip.c crc32.c crypt.c envargs.c explode.c
|
|
|
++ extract.c fileio.c globals.c inflate.c list.c match.c process.c
|
|
|
++ ttyio.c ubz2err.c unreduce.c unshrink.c zipinfo.c unix/unix.c)
|
|
|
++
|
|
|
++include_directories(.)
|
|
|
++add_executable(unzip ${UNZIP_SOURCES})
|
|
|
++install(TARGETS unzip DESTINATION bin)
|
|
|
+--
|
|
|
+1.9.1
|
|
|
+
|