Revert "mjit_build_dir: separate MJIT_BUILD_DIR"

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2018-11-06 05:14:36 +00:00
Родитель a5400ebbd5
Коммит b11b804f8f
3 изменённых файлов: 4 добавлений и 23 удалений

Просмотреть файл

@ -445,7 +445,6 @@ clean-local::
$(Q)$(RM) $(MJIT_MIN_HEADER) $(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h
$(Q)$(RM) $(MJIT_HEADER_INSTALL_DIR)/rb_mjit_min_header-*.h
$(Q)$(RM) $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time mjit_config.h
$(Q)$(RM) mjit_build_dir.*
-$(Q) $(RMDIRS) $(MJIT_HEADER_INSTALL_DIR) 2> $(NULL) || exit 0
# DTrace static library hacks described here:
@ -608,6 +607,7 @@ mjit_config.h:
echo '#define RUBY_MJIT_CONFIG_H 1'; \
echo; \
sep=; \
quote MJIT_BUILD_DIR "`$(CHDIR) . && pwd`"; \
quote MJIT_MIN_HEADER_NAME "/$(MJIT_HEADER_INSTALL_DIR)/$(MJIT_MIN_HEADER_NAME)"; \
sep=,; \
quote "MJIT_CC_COMMON " "`command -v $(MJIT_CC)`"; \
@ -630,10 +630,3 @@ mjit_config.h:
echo; \
echo '#endif /* RUBY_MJIT_CONFIG_H */'; \
} > $@
main: mjit_build_dir.$(SOEXT)
mjit_build_dir.$(SOEXT): $(MJIT_MIN_HEADER)
$(Q) { \
echo 'const char MJIT_BUILD_DIR[] = "'"`$(CHDIR) . && pwd`"'";'; \
} > $(@:.$(SOEXT)=.c)
$(Q) $(DLDSHARED) $(MJIT_DLDFLAGS) $(ARCH_FLAG) $(CFLAGS) $(CPPFLAGS) $(@:.$(SOEXT)=.c) $(OUTFLAG)$@

12
mjit.c
Просмотреть файл

@ -381,7 +381,7 @@ init_header_filename(void)
const size_t libpathflag_len = sizeof(libpathflag) - 1;
#endif
#ifndef LOAD_RELATIVE
const char *build_dir = 0;
static const char build_dir[] = MJIT_BUILD_DIR;
struct stat st;
#endif
@ -394,12 +394,7 @@ init_header_filename(void)
/* This path is not intended to be used on production, but using build directory's
header file here because people want to run `make test-all` without running
`make install`. Don't use $MJIT_SEARCH_BUILD_DIR except for test-all. */
build_dir = dlsym(RTLD_DEFAULT, "MJIT_BUILD_DIR");
if (!build_dir) {
verbose(1, "No mjit_build_directory");
}
else if (build_dir[0] != '/') {
if (build_dir[0] != '/') {
verbose(1, "Non-absolute path MJIT_BUILD_DIR: %s", build_dir);
}
else if (stat(build_dir, &st) || !S_ISDIR(st.st_mode)) {
@ -410,9 +405,8 @@ init_header_filename(void)
return FALSE;
}
else {
verbose(3, "MJIT_BUILD_DIR: %s", build_dir);
basedir = build_dir;
baselen = strlen(build_dir);
baselen = sizeof(build_dir) - 1;
}
}
#endif

Просмотреть файл

@ -30,12 +30,6 @@ module JITSupport
args << '--jit-save-temps' if save_temps
args << '-e' << script
base_env = { 'MJIT_SEARCH_BUILD_DIR' => 'true' } # workaround to skip requiring `make install` for `make test-all`
if preloadenv = RbConfig::CONFIG['PRELOADENV']
so = "mjit_build_dir.#{RbConfig::CONFIG['SOEXT']}"
if File.exist?(so)
base_env[preloadenv] = so
end
end
args.unshift(env ? base_env.merge!(env) : base_env)
EnvUtil.invoke_ruby(args,
'', true, true, timeout: timeout,