diff options
-rw-r--r-- | buildMinGW.conf | 4 | ||||
-rw-r--r-- | src/file.cpp | 2 | ||||
-rw-r--r-- | support/windows/bzlib.h | 282 | ||||
-rw-r--r-- | support/windows/libbz2.a | bin | 0 -> 5664846 bytes |
4 files changed, 286 insertions, 2 deletions
diff --git a/buildMinGW.conf b/buildMinGW.conf index 6d406d6..6702973 100644 --- a/buildMinGW.conf +++ b/buildMinGW.conf | |||
@@ -20,9 +20,9 @@ filesIn("src") filter regexp("^src/(.*)\\.h$", "bu/{re:1}.h"): | |||
20 | "libbu++win.a": | 20 | "libbu++win.a": |
21 | rule "lib", | 21 | rule "lib", |
22 | target file, | 22 | target file, |
23 | set "CXXFLAGS" += "-I.", | 23 | set "CXXFLAGS" += "-I. -Isupport/windows", |
24 | #input filesIn("src") filter regexp("^.*\\.cpp$") | 24 | #input filesIn("src") filter regexp("^.*\\.cpp$") |
25 | input ["src/array.cpp", "src/list.cpp", "src/exceptionbase.cpp", "src/fbasicstring.cpp", "src/fstring.cpp", "src/file.cpp", "src/set.cpp", "src/hash.cpp", "src/sptr.cpp", "src/tafnode.cpp", "src/tafreader.cpp", "src/tafwriter.cpp", "src/stdstream.cpp", "src/stream.cpp", "src/archive.cpp", "src/archival.cpp", "src/socket.cpp", "src/serversocket.cpp", "src/unitsuite.cpp", "src/win32_compatibility.cpp", "src/membuf.cpp", "src/formatter.cpp", "src/sio.cpp", "src/md5.cpp", "src/cryptohash.cpp"] | 25 | input ["src/array.cpp", "src/list.cpp", "src/exceptionbase.cpp", "src/fbasicstring.cpp", "src/fstring.cpp", "src/file.cpp", "src/set.cpp", "src/hash.cpp", "src/sptr.cpp", "src/tafnode.cpp", "src/tafreader.cpp", "src/tafwriter.cpp", "src/stdstream.cpp", "src/stream.cpp", "src/archive.cpp", "src/archival.cpp", "src/socket.cpp", "src/serversocket.cpp", "src/unitsuite.cpp", "src/win32_compatibility.cpp", "src/membuf.cpp", "src/formatter.cpp", "src/sio.cpp", "src/md5.cpp", "src/cryptohash.cpp", "src/filter.cpp", "src/bzip2.cpp"] |
26 | 26 | ||
27 | rule "exe": | 27 | rule "exe": |
28 | matches regexp("(.*)\\.win_o$"), | 28 | matches regexp("(.*)\\.win_o$"), |
diff --git a/src/file.cpp b/src/file.cpp index aa0ea32..4776217 100644 --- a/src/file.cpp +++ b/src/file.cpp | |||
@@ -227,6 +227,8 @@ int Bu::File::getPosixFlags( int iFlags ) | |||
227 | if( (iFlags&Exclusive) == Exclusive ) | 227 | if( (iFlags&Exclusive) == Exclusive ) |
228 | iRet |= O_EXCL; | 228 | iRet |= O_EXCL; |
229 | 229 | ||
230 | iRet |= O_BINARY; | ||
231 | |||
230 | return iRet; | 232 | return iRet; |
231 | } | 233 | } |
232 | 234 | ||
diff --git a/support/windows/bzlib.h b/support/windows/bzlib.h new file mode 100644 index 0000000..c5b75d6 --- /dev/null +++ b/support/windows/bzlib.h | |||
@@ -0,0 +1,282 @@ | |||
1 | |||
2 | /*-------------------------------------------------------------*/ | ||
3 | /*--- Public header file for the library. ---*/ | ||
4 | /*--- bzlib.h ---*/ | ||
5 | /*-------------------------------------------------------------*/ | ||
6 | |||
7 | /* ------------------------------------------------------------------ | ||
8 | This file is part of bzip2/libbzip2, a program and library for | ||
9 | lossless, block-sorting data compression. | ||
10 | |||
11 | bzip2/libbzip2 version 1.0.5 of 10 December 2007 | ||
12 | Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> | ||
13 | |||
14 | Please read the WARNING, DISCLAIMER and PATENTS sections in the | ||
15 | README file. | ||
16 | |||
17 | This program is released under the terms of the license contained | ||
18 | in the file LICENSE. | ||
19 | ------------------------------------------------------------------ */ | ||
20 | |||
21 | |||
22 | #ifndef _BZLIB_H | ||
23 | #define _BZLIB_H | ||
24 | |||
25 | #ifdef __cplusplus | ||
26 | extern "C" { | ||
27 | #endif | ||
28 | |||
29 | #define BZ_RUN 0 | ||
30 | #define BZ_FLUSH 1 | ||
31 | #define BZ_FINISH 2 | ||
32 | |||
33 | #define BZ_OK 0 | ||
34 | #define BZ_RUN_OK 1 | ||
35 | #define BZ_FLUSH_OK 2 | ||
36 | #define BZ_FINISH_OK 3 | ||
37 | #define BZ_STREAM_END 4 | ||
38 | #define BZ_SEQUENCE_ERROR (-1) | ||
39 | #define BZ_PARAM_ERROR (-2) | ||
40 | #define BZ_MEM_ERROR (-3) | ||
41 | #define BZ_DATA_ERROR (-4) | ||
42 | #define BZ_DATA_ERROR_MAGIC (-5) | ||
43 | #define BZ_IO_ERROR (-6) | ||
44 | #define BZ_UNEXPECTED_EOF (-7) | ||
45 | #define BZ_OUTBUFF_FULL (-8) | ||
46 | #define BZ_CONFIG_ERROR (-9) | ||
47 | |||
48 | typedef | ||
49 | struct { | ||
50 | char *next_in; | ||
51 | unsigned int avail_in; | ||
52 | unsigned int total_in_lo32; | ||
53 | unsigned int total_in_hi32; | ||
54 | |||
55 | char *next_out; | ||
56 | unsigned int avail_out; | ||
57 | unsigned int total_out_lo32; | ||
58 | unsigned int total_out_hi32; | ||
59 | |||
60 | void *state; | ||
61 | |||
62 | void *(*bzalloc)(void *,int,int); | ||
63 | void (*bzfree)(void *,void *); | ||
64 | void *opaque; | ||
65 | } | ||
66 | bz_stream; | ||
67 | |||
68 | |||
69 | #ifndef BZ_IMPORT | ||
70 | #define BZ_EXPORT | ||
71 | #endif | ||
72 | |||
73 | #ifndef BZ_NO_STDIO | ||
74 | /* Need a definitition for FILE */ | ||
75 | #include <stdio.h> | ||
76 | #endif | ||
77 | |||
78 | #ifdef _WIN32 | ||
79 | # include <windows.h> | ||
80 | # ifdef small | ||
81 | /* windows.h define small to char */ | ||
82 | # undef small | ||
83 | # endif | ||
84 | # ifdef BZ_EXPORT | ||
85 | # define BZ_API(func) WINAPI func | ||
86 | # define BZ_EXTERN extern | ||
87 | # else | ||
88 | /* import windows dll dynamically */ | ||
89 | # define BZ_API(func) (WINAPI * func) | ||
90 | # define BZ_EXTERN | ||
91 | # endif | ||
92 | #else | ||
93 | # define BZ_API(func) func | ||
94 | # define BZ_EXTERN extern | ||
95 | #endif | ||
96 | |||
97 | |||
98 | /*-- Core (low-level) library functions --*/ | ||
99 | |||
100 | BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( | ||
101 | bz_stream* strm, | ||
102 | int blockSize100k, | ||
103 | int verbosity, | ||
104 | int workFactor | ||
105 | ); | ||
106 | |||
107 | BZ_EXTERN int BZ_API(BZ2_bzCompress) ( | ||
108 | bz_stream* strm, | ||
109 | int action | ||
110 | ); | ||
111 | |||
112 | BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) ( | ||
113 | bz_stream* strm | ||
114 | ); | ||
115 | |||
116 | BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) ( | ||
117 | bz_stream *strm, | ||
118 | int verbosity, | ||
119 | int small | ||
120 | ); | ||
121 | |||
122 | BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( | ||
123 | bz_stream* strm | ||
124 | ); | ||
125 | |||
126 | BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) ( | ||
127 | bz_stream *strm | ||
128 | ); | ||
129 | |||
130 | |||
131 | |||
132 | /*-- High(er) level library functions --*/ | ||
133 | |||
134 | #ifndef BZ_NO_STDIO | ||
135 | #define BZ_MAX_UNUSED 5000 | ||
136 | |||
137 | typedef void BZFILE; | ||
138 | |||
139 | BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) ( | ||
140 | int* bzerror, | ||
141 | FILE* f, | ||
142 | int verbosity, | ||
143 | int small, | ||
144 | void* unused, | ||
145 | int nUnused | ||
146 | ); | ||
147 | |||
148 | BZ_EXTERN void BZ_API(BZ2_bzReadClose) ( | ||
149 | int* bzerror, | ||
150 | BZFILE* b | ||
151 | ); | ||
152 | |||
153 | BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) ( | ||
154 | int* bzerror, | ||
155 | BZFILE* b, | ||
156 | void** unused, | ||
157 | int* nUnused | ||
158 | ); | ||
159 | |||
160 | BZ_EXTERN int BZ_API(BZ2_bzRead) ( | ||
161 | int* bzerror, | ||
162 | BZFILE* b, | ||
163 | void* buf, | ||
164 | int len | ||
165 | ); | ||
166 | |||
167 | BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) ( | ||
168 | int* bzerror, | ||
169 | FILE* f, | ||
170 | int blockSize100k, | ||
171 | int verbosity, | ||
172 | int workFactor | ||
173 | ); | ||
174 | |||
175 | BZ_EXTERN void BZ_API(BZ2_bzWrite) ( | ||
176 | int* bzerror, | ||
177 | BZFILE* b, | ||
178 | void* buf, | ||
179 | int len | ||
180 | ); | ||
181 | |||
182 | BZ_EXTERN void BZ_API(BZ2_bzWriteClose) ( | ||
183 | int* bzerror, | ||
184 | BZFILE* b, | ||
185 | int abandon, | ||
186 | unsigned int* nbytes_in, | ||
187 | unsigned int* nbytes_out | ||
188 | ); | ||
189 | |||
190 | BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) ( | ||
191 | int* bzerror, | ||
192 | BZFILE* b, | ||
193 | int abandon, | ||
194 | unsigned int* nbytes_in_lo32, | ||
195 | unsigned int* nbytes_in_hi32, | ||
196 | unsigned int* nbytes_out_lo32, | ||
197 | unsigned int* nbytes_out_hi32 | ||
198 | ); | ||
199 | #endif | ||
200 | |||
201 | |||
202 | /*-- Utility functions --*/ | ||
203 | |||
204 | BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) ( | ||
205 | char* dest, | ||
206 | unsigned int* destLen, | ||
207 | char* source, | ||
208 | unsigned int sourceLen, | ||
209 | int blockSize100k, | ||
210 | int verbosity, | ||
211 | int workFactor | ||
212 | ); | ||
213 | |||
214 | BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) ( | ||
215 | char* dest, | ||
216 | unsigned int* destLen, | ||
217 | char* source, | ||
218 | unsigned int sourceLen, | ||
219 | int small, | ||
220 | int verbosity | ||
221 | ); | ||
222 | |||
223 | |||
224 | /*-- | ||
225 | Code contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp) | ||
226 | to support better zlib compatibility. | ||
227 | This code is not _officially_ part of libbzip2 (yet); | ||
228 | I haven't tested it, documented it, or considered the | ||
229 | threading-safeness of it. | ||
230 | If this code breaks, please contact both Yoshioka and me. | ||
231 | --*/ | ||
232 | |||
233 | BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) ( | ||
234 | void | ||
235 | ); | ||
236 | |||
237 | #ifndef BZ_NO_STDIO | ||
238 | BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) ( | ||
239 | const char *path, | ||
240 | const char *mode | ||
241 | ); | ||
242 | |||
243 | BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) ( | ||
244 | int fd, | ||
245 | const char *mode | ||
246 | ); | ||
247 | |||
248 | BZ_EXTERN int BZ_API(BZ2_bzread) ( | ||
249 | BZFILE* b, | ||
250 | void* buf, | ||
251 | int len | ||
252 | ); | ||
253 | |||
254 | BZ_EXTERN int BZ_API(BZ2_bzwrite) ( | ||
255 | BZFILE* b, | ||
256 | void* buf, | ||
257 | int len | ||
258 | ); | ||
259 | |||
260 | BZ_EXTERN int BZ_API(BZ2_bzflush) ( | ||
261 | BZFILE* b | ||
262 | ); | ||
263 | |||
264 | BZ_EXTERN void BZ_API(BZ2_bzclose) ( | ||
265 | BZFILE* b | ||
266 | ); | ||
267 | |||
268 | BZ_EXTERN const char * BZ_API(BZ2_bzerror) ( | ||
269 | BZFILE *b, | ||
270 | int *errnum | ||
271 | ); | ||
272 | #endif | ||
273 | |||
274 | #ifdef __cplusplus | ||
275 | } | ||
276 | #endif | ||
277 | |||
278 | #endif | ||
279 | |||
280 | /*-------------------------------------------------------------*/ | ||
281 | /*--- end bzlib.h ---*/ | ||
282 | /*-------------------------------------------------------------*/ | ||
diff --git a/support/windows/libbz2.a b/support/windows/libbz2.a new file mode 100644 index 0000000..f407d87 --- /dev/null +++ b/support/windows/libbz2.a | |||
Binary files differ | |||