summaryrefslogtreecommitdiffstats
path: root/libzip-multilib.patch
blob: 175698b6d2b37efbc3123f678d26ea6bd08bad40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
From 72440acea2369d3903ef73c62f02d62bd6dcde0a Mon Sep 17 00:00:00 2001
From: Dieter Baron <dillo@nih.at>
Date: Tue, 2 Jan 2018 15:15:48 +0100
Subject: [PATCH] Simplify generated zipconf.h by moving logic into
 CMakeLists.txt.

---
 CMakeLists.txt     |  82 ++++++++++++++++++++++++++++++++++++++++++
 cmake-zipconf.h.in | 103 ++++++-----------------------------------------------
 2 files changed, 92 insertions(+), 93 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3366b25..dfa22d5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -169,6 +169,88 @@ ENDIF(CMAKE_SYSTEM_NAME MATCHES BSD)
 CONFIGURE_FILE(libzip.pc.in libzip.pc @ONLY)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 
+# fixed size integral types
+
+IF(HAVE_STDINT_H_LIBZIP)
+  SET(LIBZIP_TYPES_INCLUDE "#include <stdint.h>")
+ELSEIF(HAVE_INTTYPES_H_LIBZIP)
+  SET(LIBZIP_TYPES_INCLUDE "#include <inttypes.h>")
+ELSEIF(HAVE_SYS_TYPES_H_LIBZIP)
+  SET(LIBZIP_TYPES_INCLUDE "#include <sys/types.h>")
+ENDIF()
+
+IF(HAVE_INT8_T_LIBZIP)
+  SET(ZIP_INT8_T int8_t)
+ELSEIF(HAVE___INT8_LIBZIP)
+  SET(ZIP_INT8_T __int8)
+ELSE()
+  SET(ZIP_INT8_T "signed char")
+ENDIF()
+
+IF(HAVE_UINT8_T_LIBZIP)
+  SET(ZIP_UINT8_T uint8_t)
+ELSEIF(HAVE___INT8_LIBZIP)
+  SET(ZIP_UINT8_T "unsigned __int8")
+ELSE()
+  SET(ZIP_UINT8_T "unsigned char")
+ENDIF()
+
+IF(HAVE_INT16_T_LIBZIP)
+  SET(ZIP_INT16_T int16_t)
+ELSEIF(HAVE___INT16_LIBZIP)
+  SET(INT16_T_LIBZIP __int16)
+ELSEIF(SHORT_LIBZIP EQUAL 2)
+  SET(INT16_T_LIBZIP short)
+ENDIF()
+
+IF(HAVE_UINT16_T_LIBZIP)
+  SET(ZIP_UINT16_T uint16_t)
+ELSEIF(HAVE___INT16_LIBZIP)
+  SET(UINT16_T_LIBZIP "unsigned __int16")
+ELSEIF(SHORT_LIBZIP EQUAL 2)
+  SET(UINT16_T_LIBZIP "unsigned short")
+ENDIF()
+
+IF(HAVE_INT32_T_LIBZIP)
+  SET(ZIP_INT32_T int32_t)
+ELSEIF(HAVE___INT32_LIBZIP)
+  SET(ZIP_INT32_T __int32)
+ELSEIF(INT_LIBZIP EQUAL 4)
+  SET(ZIP_INT32_T int)
+ELSEIF(LONG_LIBZIP EQUAL 4)
+  SET(ZIP_INT32_T long)
+ENDIF()
+
+IF(HAVE_UINT32_T_LIBZIP)
+SET(ZIP_UINT32_T uint32_t)
+ELSEIF(HAVE___INT32_LIBZIP)
+SET(ZIP_UINT32_T "unsigned __int32")
+ELSEIF(INT_LIBZIP EQUAL 4)
+SET(ZIP_UINT32_T "unsigned int")
+ELSEIF(LONG_LIBZIP EQUAL 4)
+SET(ZIP_UINT32_T "unsigned long")
+ENDIF()
+
+IF(HAVE_INT64_T_LIBZIP)
+  SET(ZIP_INT64_T int64_t)
+ELSEIF(HAVE___INT64_LIBZIP)
+  SET(ZIP_INT64_T __int64)
+ELSEIF(LONG_LIBZIP EQUAL 8)
+  SET(ZIP_INT64_T long)
+ELSEIF(LONG_LONG_LIBZIP EQUAL 8)
+  SET(ZIP_INT64_T "long long")
+ENDIF()
+
+IF(HAVE_UINT64_T_LIBZIP)
+  SET(ZIP_UINT64_T uint64_t)
+ELSEIF(HAVE___INT64_LIBZIP)
+  SET(ZIP_UINT64_T "unsigned __int64")
+ELSEIF(LONG_LIBZIP EQUAL 8)
+  SET(ZIP_UINT64_T "unsigned long")
+ELSEIF(LONG_LONG_LIBZIP EQUAL 8)
+  SET(ZIP_UINT64_T "unsigned long long")
+ENDIF()
+
 # write out config file
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake-zipconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/zipconf.h)
diff --git a/cmake-zipconf.h.in b/cmake-zipconf.h.in
index f0e24e8..6ff4fe3 100644
--- a/cmake-zipconf.h.in
+++ b/cmake-zipconf.h.in
@@ -15,99 +15,16 @@
 
 #cmakedefine ZIP_STATIC
 
-#cmakedefine HAVE_INTTYPES_H_LIBZIP
-#cmakedefine HAVE_STDINT_H_LIBZIP
-#cmakedefine HAVE_SYS_TYPES_H_LIBZIP
-#cmakedefine HAVE___INT8_LIBZIP
-#cmakedefine HAVE_INT8_T_LIBZIP
-#cmakedefine HAVE_UINT8_T_LIBZIP
-#cmakedefine HAVE___INT16_LIBZIP
-#cmakedefine HAVE_INT16_T_LIBZIP
-#cmakedefine HAVE_UINT16_T_LIBZIP
-#cmakedefine HAVE___INT32_LIBZIP
-#cmakedefine HAVE_INT32_T_LIBZIP
-#cmakedefine HAVE_UINT32_T_LIBZIP
-#cmakedefine HAVE___INT64_LIBZIP
-#cmakedefine HAVE_INT64_T_LIBZIP
-#cmakedefine HAVE_UINT64_T_LIBZIP
-#cmakedefine HAVE_SSIZE_T_LIBZIP
-#cmakedefine SHORT_LIBZIP ${SHORT_LIBZIP}
-#cmakedefine INT_LIBZIP ${INT_LIBZIP}
-#cmakedefine LONG_LIBZIP ${LONG_LIBZIP}
-#cmakedefine LONG_LONG_LIBZIP ${LONG_LONG_LIBZIP}
-
-#if defined(HAVE_STDINT_H_LIBZIP)
-#include <stdint.h>
-#elif defined(HAVE_INTTYPES_H_LIBZIP)
-#include <inttypes.h>
-#elif defined(HAVE_SYS_TYPES_H_LIBZIP)
-#include <sys/types.h>
-#endif
-
-#if defined(HAVE_INT8_T_LIBZIP)
-typedef int8_t zip_int8_t;
-#elif defined(HAVE___INT8_LIBZIP)
-typedef __int8 zip_int8_t;
-#else
-typedef signed char zip_int8_t;
-#endif
-#if defined(HAVE_UINT8_T_LIBZIP)
-typedef uint8_t zip_uint8_t;
-#elif defined(HAVE___INT8_LIBZIP)
-typedef unsigned __int8 zip_uint8_t;
-#else
-typedef unsigned char zip_uint8_t;
-#endif
-#if defined(HAVE_INT16_T_LIBZIP)
-typedef int16_t zip_int16_t;
-#elif defined(HAVE___INT16_LIBZIP)
-typedef __int16 zip_int16_t;
-#elif defined(SHORT_LIBZIP) && SHORT_LIBZIP == 2
-typedef signed short zip_int16_t;
-#endif
-#if defined(HAVE_UINT16_T_LIBZIP)
-typedef uint16_t zip_uint16_t;
-#elif defined(HAVE___INT16_LIBZIP)
-typedef unsigned __int16 zip_uint16_t;
-#elif defined(SHORT_LIBZIP) && SHORT_LIBZIP == 2
-typedef unsigned short zip_uint16_t;
-#endif
-#if defined(HAVE_INT32_T_LIBZIP)
-typedef int32_t zip_int32_t;
-#elif defined(HAVE___INT32_LIBZIP)
-typedef __int32 zip_int32_t;
-#elif defined(INT_LIBZIP) && INT_LIBZIP == 4
-typedef signed int zip_int32_t;
-#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 4
-typedef signed long zip_int32_t;
-#endif
-#if defined(HAVE_UINT32_T_LIBZIP)
-typedef uint32_t zip_uint32_t;
-#elif defined(HAVE___INT32_LIBZIP)
-typedef unsigned __int32 zip_uint32_t;
-#elif defined(INT_LIBZIP) && INT_LIBZIP == 4
-typedef unsigned int zip_uint32_t;
-#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 4
-typedef unsigned long zip_uint32_t;
-#endif
-#if defined(HAVE_INT64_T_LIBZIP)
-typedef int64_t zip_int64_t;
-#elif defined(HAVE___INT64_LIBZIP)
-typedef __int64 zip_int64_t;
-#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 8
-typedef signed long zip_int64_t;
-#elif defined(LONG_LONG_LIBZIP) && LONG_LONG_LIBZIP == 8
-typedef signed long long zip_int64_t;
-#endif
-#if defined(HAVE_UINT64_T_LIBZIP)
-typedef uint64_t zip_uint64_t;
-#elif defined(HAVE___INT64_LIBZIP)
-typedef unsigned __int64 zip_uint64_t;
-#elif defined(LONG_LIBZIP) && LONG_LONG_LIBZIP == 8
-typedef unsigned long zip_uint64_t;
-#elif defined(LONG_LONG_LIBZIP) && LONG_LONG_LIBZIP == 8
-typedef unsigned long long zip_uint64_t;
-#endif
+${LIBZIP_TYPES_INCLUDE}
+
+typedef ${ZIP_INT8_T} zip_int8_t;
+typedef ${ZIP_UINT8_T} zip_uint8_t;
+typedef ${ZIP_INT16_T} zip_int16_t;
+typedef ${ZIP_UINT16_T} zip_uint16_t;
+typedef ${ZIP_INT32_T} zip_int32_t;
+typedef ${ZIP_UINT32_T} zip_uint32_t;
+typedef ${ZIP_INT64_T} zip_int64_t;
+typedef ${ZIP_UINT64_T} zip_uint64_t;
 
 #define ZIP_INT8_MIN	 (-ZIP_INT8_MAX-1)
 #define ZIP_INT8_MAX	 0x7f