1 based on https://github.com/gpsbabel/gpsbabel/commit/8bf7ad22e5d4e6d3e365fd81a7f183978cdc2fe5
3 diff --git a/Makefile.in b/Makefile.in
4 index 5b792f46f..1edc25e7e 100644
7 @@ -106,7 +114,7 @@ MINIZIP=zlib/contrib/minizip/zip.o \
8 ZLIB=zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o \
9 zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/trees.o \
10 zlib/uncompr.o zlib/gzlib.o zlib/gzclose.o zlib/gzread.o \
11 - zlib/gzwrite.o zlib/zutil.o $(MINIZIP)
12 + zlib/gzwrite.o zlib/zutil.o
15 LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \
16 @@ -117,7 +125,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \
17 src/core/xmlstreamwriter.o \
18 src/core/usasciicodec.o\
19 src/core/ziparchive.o \
20 - $(GARMIN) $(JEEPS) $(FMTS) $(FILTERS) $(SHAPE) @ZLIB@
21 + $(GARMIN) $(JEEPS) $(FMTS) $(FILTERS) $(SHAPE) @ZLIB@ @MINIZIP@
22 OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
24 DEPFILES = $(OBJS:.o=.d)
25 diff --git a/config.h.in b/config.h.in
26 index f669911cf..f553d8520 100644
30 /* Define to 1 if you have the `m' library (-lm). */
33 +/* Define to 1 if you have the `minizip' library (-lminizip). */
34 +#undef HAVE_LIBMINIZIP
36 /* Defined if you have libusb */
40 /* 1 to enable as many formats as possible */
41 #undef MAXIMAL_ENABLED
43 +/* 1 to inhibit our use of libminizip. */
44 +#undef MINIZIP_INHIBITED
46 /* Define to the address where bug reports for this package should be sent. */
47 #undef PACKAGE_BUGREPORT
49 diff --git a/configure.ac b/configure.ac
50 index bfa5f6609..0a49f627a 100644
53 @@ -121,9 +121,29 @@ AS_CASE([$with_zlib], ["system"], [
57 + ZLIB_CPP="-I\$(srcdir)/zlib"
58 AC_MSG_RESULT(using included version);;
64 +AC_MSG_CHECKING([whether to support zlib's minizip])
65 +AC_ARG_WITH([libminizip],
67 + [--with-libminizip=(included)|system|no],
69 +AS_CASE([$with_libminizip], ["system"], [
70 + AC_CHECK_LIB([minizip], [zipOpen64])
72 + AC_DEFINE(MINIZIP_INHIBITED, 1, [1 to inhibit our use of libminizip.])
75 + MINIZIP="\$(MINIZIP)"
76 + AC_MSG_RESULT([using included version])
83 @@ -265,7 +284,6 @@ AC_SUBST(USB_LIBS)
90 AS_CASE(["$target"], [*-linux-*], [
91 @@ -336,7 +354,7 @@ AC_MSG_RESULT([$DOCDIR])
93 # AC_CHECK_HEADERS([fcntl.h inttypes.h libintl.h limits.h malloc.h stddef.h stdint.h stdlib.h string.h strings.h sys/ioctl.h sys/time.h termios.h unistd.h])
94 # set up HAVE_STDARG_H for zlib.
95 -AC_CHECK_HEADERS([stdarg.h])
96 +AC_CHECK_HEADERS([unistd.h stdarg.h])
98 # Checks for typedefs, structures, and compiler characteristics.
100 diff --git a/defs.h b/defs.h
101 index ea2bc0ac5..98e025f16 100644
107 #elif !ZLIB_INHIBITED
108 -#include "zlib/zlib.h"
113 diff --git a/src/core/ziparchive.cc b/src/core/ziparchive.cc
114 index d4b5dcacc..947444505 100644
115 --- a/src/core/ziparchive.cc
116 +++ b/src/core/ziparchive.cc
120 #include "src/core/logging.h"
121 +#ifdef HAVE_LIBMINIZIP
122 +#include <minizip/zip.h>
124 #include "zlib/contrib/minizip/zip.h"
127 #include <QtCore/QFile>
128 #include <QtCore/QDebug>
129 diff --git a/src/core/ziparchive.h b/src/core/ziparchive.h
130 index 0c9f8f27b..e91da17e2 100644
131 --- a/src/core/ziparchive.h
132 +++ b/src/core/ziparchive.h
135 #include <QtCore/QString>
136 #include <QtCore/QStringList>
138 +#ifdef HAVE_LIBMINIZIP
139 +#include <minizip/zip.h>
141 #include "zlib/contrib/minizip/zip.h"