Bug #15391 ยป ruby-2.6.0-Make-JIT-honor-configured-Ruby-header-locations.patch
Makefile.in | ||
---|---|---|
echo '#define RUBY_MJIT_CONFIG_H 1'; \
|
||
echo; \
|
||
sep=; \
|
||
quote MJIT_MIN_HEADER_NAME "/$(MJIT_HEADER_INSTALL_DIR)/$(MJIT_MIN_HEADER_NAME)"; \
|
||
quote MJIT_MIN_HEADER_NAME "$(MJIT_HEADER_INSTALL_DIR)/$(MJIT_MIN_HEADER_NAME)"; \
|
||
sep=,; \
|
||
quote "MJIT_CC_COMMON " $(MJIT_CC); \
|
||
quote "MJIT_CFLAGS MJIT_ARCHFLAG" $(MJIT_CFLAGS); \
|
common.mk | ||
---|---|---|
$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h
|
||
$(ECHO) building $@
|
||
$(MINIRUBY) $(srcdir)/tool/transform_mjit_header.rb "$(CC) $(ARCH_FLAG)" $(MJIT_HEADER:.h=)$(MJIT_HEADER_ARCH).h $@
|
||
$(Q) $(MAKEDIRS) $(MJIT_HEADER_INSTALL_DIR)
|
||
$(Q) $(MAKE_LINK) $@ $(MJIT_HEADER_INSTALL_DIR)/$(@F)
|
||
.PHONY: showflags
|
||
exts enc trans: $(SHOWFLAGS)
|
configure.ac | ||
---|---|---|
[multiarch=], [unset multiarch])
|
||
AS_IF([test ${multiarch+set}], [
|
||
AC_DEFINE(ENABLE_MULTIARCH)
|
||
MJIT_HEADER_INSTALL_DIR=include/'${arch}/${RUBY_VERSION_NAME}'
|
||
], [
|
||
MJIT_HEADER_INSTALL_DIR=include/'${RUBY_VERSION_NAME}/${arch}'
|
||
])
|
||
archlibdir='${libdir}/${arch}'
|
||
... | ... | |
AC_SUBST(sitearchhdrdir)dnl
|
||
AC_SUBST(vendorarchhdrdir)dnl
|
||
MJIT_HEADER_INSTALL_DIR=${rubyarchhdrdir}
|
||
AC_ARG_WITH(prelude,
|
||
AS_HELP_STRING([--with-prelude=FILE-LIST], [specify additional preludes separated by space]),
|
||
[prelude=$withval])
|
mjit.c | ||
---|---|---|
static const char header_name[] = MJIT_MIN_HEADER_NAME;
|
||
const size_t header_name_len = sizeof(header_name) - 1;
|
||
header_file = xmalloc(baselen + header_name_len + 1);
|
||
p = append_str2(header_file, basedir, baselen);
|
||
p = append_str2(p, header_name, header_name_len + 1);
|
||
header_file = xmalloc(header_name_len + 1);
|
||
p = append_str2(header_file, header_name, header_name_len);
|
||
if ((fd = rb_cloexec_open(header_file, O_RDONLY, 0)) < 0) {
|
||
verbose(1, "Cannot access header file: %s", header_file);
|
||
xfree(header_file);
|