Actions
Feature #15914
openmkmf without libruby
Status:
Open
Assignee:
-
Target version:
-
Description
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 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
:
# 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
:
# 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.
Actions
Like0
Like0Like0Like0