Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 71a0624

Browse files
committed
Fix building freetype 2.6.1 on macOS clang 18
Freetype 2.6.1 has an outdated copy of a zlib header which has a bad check for choosing whether to define Byte on macOS. This adds a patched version of the zconf.h header that has a proper check for __MACTYPES__, which is defined by the macOS SDK.
1 parent 07002c2 commit 71a0624

File tree

1 file changed

+284
-0
lines changed
  • subprojects/packagefiles/freetype-2.6.1-meson/src/gzip

1 file changed

+284
-0
lines changed
Lines changed: 284 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,284 @@
1+
/* zconf.h -- configuration of the zlib compression library
2+
* Copyright (C) 1995-2002 Jean-loup Gailly.
3+
* For conditions of distribution and use, see copyright notice in zlib.h
4+
*/
5+
6+
/* @(#) $Id$ */
7+
8+
#ifndef _ZCONF_H
9+
#define _ZCONF_H
10+
11+
/*
12+
* If you *really* need a unique prefix for all types and library functions,
13+
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
14+
*/
15+
#ifdef Z_PREFIX
16+
# define deflateInit_ z_deflateInit_
17+
# define deflate z_deflate
18+
# define deflateEnd z_deflateEnd
19+
# define inflateInit_ z_inflateInit_
20+
# define inflate z_inflate
21+
# define inflateEnd z_inflateEnd
22+
# define deflateInit2_ z_deflateInit2_
23+
# define deflateSetDictionary z_deflateSetDictionary
24+
# define deflateCopy z_deflateCopy
25+
# define deflateReset z_deflateReset
26+
# define deflateParams z_deflateParams
27+
# define inflateInit2_ z_inflateInit2_
28+
# define inflateSetDictionary z_inflateSetDictionary
29+
# define inflateSync z_inflateSync
30+
# define inflateSyncPoint z_inflateSyncPoint
31+
# define inflateReset z_inflateReset
32+
# define compress z_compress
33+
# define compress2 z_compress2
34+
# define uncompress z_uncompress
35+
# define adler32 z_adler32
36+
# define crc32 z_crc32
37+
# define get_crc_table z_get_crc_table
38+
39+
# define Byte z_Byte
40+
# define uInt z_uInt
41+
# define uLong z_uLong
42+
# define Bytef z_Bytef
43+
# define charf z_charf
44+
# define intf z_intf
45+
# define uIntf z_uIntf
46+
# define uLongf z_uLongf
47+
# define voidpf z_voidpf
48+
# define voidp z_voidp
49+
#endif
50+
51+
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
52+
# define WIN32
53+
#endif
54+
#if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386)
55+
# ifndef __32BIT__
56+
# define __32BIT__
57+
# endif
58+
#endif
59+
#if defined(__MSDOS__) && !defined(MSDOS)
60+
# define MSDOS
61+
#endif
62+
63+
/* WinCE doesn't have errno.h */
64+
#ifdef _WIN32_WCE
65+
# define NO_ERRNO_H
66+
#endif
67+
68+
69+
/*
70+
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
71+
* than 64k bytes at a time (needed on systems with 16-bit int).
72+
*/
73+
#if defined(MSDOS) && !defined(__32BIT__)
74+
# define MAXSEG_64K
75+
#endif
76+
#ifdef MSDOS
77+
# define UNALIGNED_OK
78+
#endif
79+
80+
#if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC)
81+
# define STDC
82+
#endif
83+
#if defined(__STDC__) || defined(__cplusplus) || defined(__OS2__)
84+
# ifndef STDC
85+
# define STDC
86+
# endif
87+
#endif
88+
89+
#ifndef STDC
90+
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
91+
# define const
92+
# endif
93+
#endif
94+
95+
/* Some Mac compilers merge all .h files incorrectly: */
96+
#if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__)
97+
# define NO_DUMMY_DECL
98+
#endif
99+
100+
/* Old Borland C and LCC incorrectly complains about missing returns: */
101+
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
102+
# define NEED_DUMMY_RETURN
103+
#endif
104+
105+
#if defined(__LCC__)
106+
# define NEED_DUMMY_RETURN
107+
#endif
108+
109+
/* Maximum value for memLevel in deflateInit2 */
110+
#ifndef MAX_MEM_LEVEL
111+
# ifdef MAXSEG_64K
112+
# define MAX_MEM_LEVEL 8
113+
# else
114+
# define MAX_MEM_LEVEL 9
115+
# endif
116+
#endif
117+
118+
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
119+
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
120+
* created by gzip. (Files created by minigzip can still be extracted by
121+
* gzip.)
122+
*/
123+
#ifndef MAX_WBITS
124+
# define MAX_WBITS 15 /* 32K LZ77 window */
125+
#endif
126+
127+
/* The memory requirements for deflate are (in bytes):
128+
(1 << (windowBits+2)) + (1 << (memLevel+9))
129+
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
130+
plus a few kilobytes for small objects. For example, if you want to reduce
131+
the default memory requirements from 256K to 128K, compile with
132+
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
133+
Of course this will generally degrade compression (there's no free lunch).
134+
135+
The memory requirements for inflate are (in bytes) 1 << windowBits
136+
that is, 32K for windowBits=15 (default value) plus a few kilobytes
137+
for small objects.
138+
*/
139+
140+
/* Type declarations */
141+
142+
#ifndef OF /* function prototypes */
143+
# ifdef STDC
144+
# define OF(args) args
145+
# else
146+
# define OF(args) ()
147+
# endif
148+
#endif
149+
150+
/* The following definitions for FAR are needed only for MSDOS mixed
151+
* model programming (small or medium model with some far allocations).
152+
* This was tested only with MSC; for other MSDOS compilers you may have
153+
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
154+
* just define FAR to be empty.
155+
*/
156+
#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
157+
/* MSC small or medium model */
158+
# define SMALL_MEDIUM
159+
# ifdef _MSC_VER
160+
# define FAR _far
161+
# else
162+
# define FAR far
163+
# endif
164+
#endif
165+
#if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
166+
# ifndef __32BIT__
167+
# define SMALL_MEDIUM
168+
# define FAR _far
169+
# endif
170+
#endif
171+
172+
/* Compile with -DZLIB_DLL for Windows DLL support */
173+
#if defined(ZLIB_DLL)
174+
# if defined(_WINDOWS) || defined(WINDOWS)
175+
# ifdef FAR
176+
# undef FAR
177+
# endif
178+
# include <windows.h>
179+
# define ZEXPORT(x) x WINAPI
180+
# ifdef WIN32
181+
# define ZEXPORTVA(x) x WINAPIV
182+
# else
183+
# define ZEXPORTVA(x) x FAR _cdecl _export
184+
# endif
185+
# endif
186+
# if defined (__BORLANDC__)
187+
# if (__BORLANDC__ >= 0x0500) && defined (WIN32)
188+
# include <windows.h>
189+
# define ZEXPORT(x) x __declspec(dllexport) WINAPI
190+
# define ZEXPORTRVA(x) x __declspec(dllexport) WINAPIV
191+
# else
192+
# if defined (_Windows) && defined (__DLL__)
193+
# define ZEXPORT(x) x _export
194+
# define ZEXPORTVA(x) x _export
195+
# endif
196+
# endif
197+
# endif
198+
#endif
199+
200+
201+
#ifndef ZEXPORT
202+
# define ZEXPORT(x) static x
203+
#endif
204+
#ifndef ZEXPORTVA
205+
# define ZEXPORTVA(x) static x
206+
#endif
207+
#ifndef ZEXTERN
208+
# define ZEXTERN(x) static x
209+
#endif
210+
#ifndef ZEXTERNDEF
211+
# define ZEXTERNDEF(x) static x
212+
#endif
213+
214+
#ifndef FAR
215+
# define FAR
216+
#endif
217+
218+
#if !defined(__MACTYPES__)
219+
typedef unsigned char Byte; /* 8 bits */
220+
#endif
221+
typedef unsigned int uInt; /* 16 bits or more */
222+
typedef unsigned long uLong; /* 32 bits or more */
223+
224+
#ifdef SMALL_MEDIUM
225+
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
226+
# define Bytef Byte FAR
227+
#else
228+
typedef Byte FAR Bytef;
229+
#endif
230+
typedef char FAR charf;
231+
typedef int FAR intf;
232+
typedef uInt FAR uIntf;
233+
typedef uLong FAR uLongf;
234+
235+
#ifdef STDC
236+
typedef void FAR *voidpf;
237+
typedef void *voidp;
238+
#else
239+
typedef Byte FAR *voidpf;
240+
typedef Byte *voidp;
241+
#endif
242+
243+
#ifdef HAVE_UNISTD_H
244+
# include <sys/types.h> /* for off_t */
245+
# include <unistd.h> /* for SEEK_* and off_t */
246+
# define z_off_t off_t
247+
#endif
248+
#ifndef SEEK_SET
249+
# define SEEK_SET 0 /* Seek from beginning of file. */
250+
# define SEEK_CUR 1 /* Seek from current position. */
251+
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
252+
#endif
253+
#ifndef z_off_t
254+
# define z_off_t long
255+
#endif
256+
257+
/* MVS linker does not support external names larger than 8 bytes */
258+
#if defined(__MVS__)
259+
# pragma map(deflateInit_,"DEIN")
260+
# pragma map(deflateInit2_,"DEIN2")
261+
# pragma map(deflateEnd,"DEEND")
262+
# pragma map(inflateInit_,"ININ")
263+
# pragma map(inflateInit2_,"ININ2")
264+
# pragma map(inflateEnd,"INEND")
265+
# pragma map(inflateSync,"INSY")
266+
# pragma map(inflateSetDictionary,"INSEDI")
267+
# pragma map(inflate_blocks,"INBL")
268+
# pragma map(inflate_blocks_new,"INBLNE")
269+
# pragma map(inflate_blocks_free,"INBLFR")
270+
# pragma map(inflate_blocks_reset,"INBLRE")
271+
# pragma map(inflate_codes_free,"INCOFR")
272+
# pragma map(inflate_codes,"INCO")
273+
# pragma map(inflate_fast,"INFA")
274+
# pragma map(inflate_flush,"INFLU")
275+
# pragma map(inflate_mask,"INMA")
276+
# pragma map(inflate_set_dictionary,"INSEDI2")
277+
# pragma map(inflate_copyright,"INCOPY")
278+
# pragma map(inflate_trees_bits,"INTRBI")
279+
# pragma map(inflate_trees_dynamic,"INTRDY")
280+
# pragma map(inflate_trees_fixed,"INTRFI")
281+
# pragma map(inflate_trees_free,"INTRFR")
282+
#endif
283+
284+
#endif /* _ZCONF_H */

0 commit comments

Comments
 (0)