ruby/ext
KJ Tsanaktsidis e74ea904ad [ruby/zlib] Check for z_size_t along with {crc,adler}32_z in
extconf.rb
(https://github.com/ruby/zlib/pull/69)

The android NDK (android-ndk-r21e) does not have crc32_z, adler32_z, nor
z_size_t in its zlib.h header file. However, it _does_ have the crc32_z
and adler32_z symbols in the libz.a static library!

mkmf performs two tests for have_func:
* It sees if a program that includes the header and takes the address of
  the symbol can compile
* It sees if a program that defines the symbol as `extern void sym_name()`
  and calls it can be linked

If either test works, it considers the function present. The
android-ndk-r21e is passing the second test but not the first for
crc32_z/adler32_z. So, we define HAVE_ZLIB_SIZE_T_FUNCS, but then can't
actually compile the extension (since the prototypes aren't in the
header file).

We can keep this working how it was working before by _also_ checking
for `have_type("z_size_t", "zlib.h")`. The have_type check _only_ looks
in the header file for the type; if a program including the header file
and using the type can't compile, the type is considered absent
regardless of what might be in libz.a.

https://github.com/ruby/zlib/commit/3b9fe962d8
2023-10-26 09:56:21 +00:00
..
-test- [Bug #19902] Update the coderange regarding the changed region 2023-09-26 15:35:40 +09:00
bigdecimal [ruby/bigdecimal] Bump up to 3.1.5 2023-10-04 02:50:15 +00:00
cgi/escape [ruby/cgi] Add TruffleRuby support and add it in CI 2023-05-29 19:33:38 +00:00
continuation Update the depend files 2023-02-28 09:09:00 -08:00
coverage [Feature #19719] Universal Parser 2023-06-12 18:23:48 +09:00
date [ruby/date] [DOC] Fix link 2023-09-20 19:48:28 +00:00
digest Update the depend files 2023-02-28 09:09:00 -08:00
erb/escape [ruby/erb] Skip using the extension for truffleruby as well 2022-11-27 06:30:48 +00:00
etc [ruby/etc] Declare `getlogin` even if unistd.h is not available 2023-07-12 16:22:54 +00:00
fcntl [ruby/fcntl] Expose Fcntl::VERSION 2023-04-21 04:21:05 +00:00
fiddle [ruby/fiddle] Suppress -Wundef warnings on arm64 macOS and Windows 2023-09-17 22:42:50 +09:00
io [ruby/io-nonblock] Don't define nonblock methods if they are defined by core. 2023-10-23 22:53:00 +00:00
json [flori/json] Re-generate parser.c 2023-07-19 00:02:58 +09:00
monitor `rb_bug` prints a newline after the message 2023-05-20 21:43:30 +09:00
nkf [ruby/nkf] Bump up nkf-0.1.3 2023-05-25 09:11:36 +00:00
objspace Switch mid dump to dump_append_string_value 2023-10-12 10:22:32 +02:00
openssl [ruby/openssl] Ruby/OpenSSL 3.2.0 2023-09-21 20:01:23 +00:00
pathname [ruby/pathname] Expose Pathname::VERSION 2023-04-14 12:42:36 +09:00
psych [ruby/psych] Bump up v5.1.1.1 2023-10-16 11:55:01 +00:00
pty Hide the usage of `rb_io_t` where possible. (#7880) 2023-06-01 14:23:30 +09:00
rbconfig/sizeof Update the depend files 2023-02-28 09:09:00 -08:00
ripper Stop creating ripper.h because it's not used 2023-10-20 12:56:04 +09:00
rubyvm Added depend files 2019-07-14 01:31:29 +09:00
socket Do not use pthread_setaffinity_np on s390x 2023-10-25 20:04:18 +09:00
stringio [ruby/stringio] StringIO#pread: handle 0 length like IO#pread 2023-10-05 07:44:08 +00:00
strscan [ruby/strscan] Fix indentation in strscan.c 2023-07-28 10:12:52 -04:00
syslog [ruby/syslog] Improve the version extraction 2023-04-25 01:51:26 +00:00
win32 Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
win32ole [ruby/win32ole] Reuse WIN32OLE_VERSION for gem version 2023-04-21 04:46:10 +00:00
zlib [ruby/zlib] Check for z_size_t along with {crc,adler}32_z in 2023-10-26 09:56:21 +00:00
.document [ruby/io-console] [DOC] Split .document files to sync with ruby/ruby 2023-10-22 11:09:06 +09:00
Setup Clean up removed directories in ext/Setup* [ci skip] 2023-01-18 12:02:27 +09:00
Setup.atheos racc/cparse is extracted from ruby/ruby repository 2023-06-08 18:05:07 +09:00
Setup.nt racc/cparse is extracted from ruby/ruby repository 2023-06-08 18:05:07 +09:00
extmk.rb Use `File::NULL` instead of hard coded null device names 2023-07-10 19:21:47 +09:00