diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2020-05-13 01:17:30 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2020-05-13 01:17:30 +0900 |
commit | e1855100e46040e73630b378974c17764e0cccee (patch) | |
tree | 298846e4039e6e528333933c8e6876418e78d49d /lib/bundler/inline.rb | |
parent | 1c4eb70654aa20dd7caf3ce31be944396c5d31b8 (diff) | |
download | ruby-e1855100e46040e73630b378974c17764e0cccee.tar.gz |
ext/fiddle/extconf.rb: check if ffi_closure_alloc is available
to define HAVE_FFI_CLOSURE_ALLOC.
The macro is used in closure.c, so have_func check is needed.
If pkg-config is not installed, extconf.rb fails to detect the version
of libffi, and does not add "-DUSE_FFI_CLOSURE_ALLOC=1" even when system
libffi version is >= 3.2.
If USE_FFI_CLOSURE_ALLOC is not defined, closure.c attempts to check if
HAVE_FFI_CLOSURE_ALLOC is defined or not, but have_func was removed with
528a3a17977aa1843a26630c96635c3cb161e729, so the macro is always not
defined.
This resulted in this deprecation warning:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200512T123003Z.log.html.gz
```
compiling closure.c
closure.c: In function 'initialize':
closure.c:265:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations]
265 | result = ffi_prep_closure(pcl, cif, callback, (void *)self);
| ^~~~~~
In file included from ./fiddle.h:42,
from closure.c:1:
/usr/include/x86_64-linux-gnu/ffi.h:334:1: note: declared here
334 | ffi_prep_closure (ffi_closure*,
| ^~~~~~~~~~~~~~~~
```
Diffstat (limited to 'lib/bundler/inline.rb')
0 files changed, 0 insertions, 0 deletions