From: shevegen@... Date: 2019-06-12T09:37:38+00:00 Subject: [ruby-core:93065] [Ruby trunk Feature#15914] mkmf without libruby Issue #15914 has been updated by shevegen (Robert A. Heiler). It took me a moment to understand what you mean. I guess the intention for your change is to have more more flexibility; if this is the case then personally I think this may be a useful change. ---------------------------------------- Feature #15914: mkmf without libruby https://bugs.ruby-lang.org/issues/15914#change-78471 * Author: glebm (Gleb Mazovetskiy) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- It would be nice to be able to use `mkmf` without `libruby`. Motivating use-case: Many gems provide Ruby bindings to C ABI via [Ruby FFI](https://github.com/ffi/ffi) instead of libruby. This is because Ruby FFI is easier to use, is compatible with JRuby out-of-the-box, and allows binding to system libraries without compilation. I currently use the following set of hacks to stop `mkmf` from including libruby: `ext/extconf.rb`: ``` ruby # Don't link libruby. $LIBRUBYARG = nil # Disable .def file generation for mingw, as it defines an # `Init_libsass` export which we don't have. MakeMakefile.send(:remove_const, :EXPORT_PREFIX) MakeMakefile::EXPORT_PREFIX = nil ``` `ext/depend`: ``` ruby # Replaces default mkmf dependencies. Default mkmf dependencies include all libruby headers. # We don't need libruby and some of these headers are missing on JRuby (breaking compilation there). $(OBJS): $(HDRS) ``` (full example: https://github.com/sass/sassc-ruby/tree/master/ext) It'd be nice to have mkmf support for this without hacks. -- https://bugs.ruby-lang.org/ Unsubscribe: