mjit.c: try installed header only
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7449619dd3
commit
15ede8ae82
@ -62,7 +62,6 @@ CAPIOUT = doc/capi
|
||||
MJIT_HEADER = rb_mjit_header.h
|
||||
MJIT_MIN_HEADER = $(MJIT_HEADER_BUILD_DIR)/rb_mjit_min_header-$(RUBY_PROGRAM_VERSION).h
|
||||
MJIT_CPPFLAGS = -DMJIT_HEADER_INSTALL_DIR=\""$(MJIT_HEADER_INSTALL_DIR)"\" \
|
||||
-DMJIT_HEADER_BUILD_DIR=\""$(MJIT_HEADER_BUILD_DIR)"\" \
|
||||
-DLIBRUBYARG_SHARED=\""$(LIBRUBYARG_SHARED)"\"
|
||||
MJIT_HEADER_BUILD_DIR = $(EXTOUT)/include/$(arch)
|
||||
MJIT_HEADER_INSTALL_DIR = include/$(RUBY_BASE_NAME)-$(ruby_version)/$(arch)
|
||||
|
35
mjit.c
35
mjit.c
@ -1057,23 +1057,6 @@ mjit_get_iseq_func(const struct rb_iseq_constant_body *body)
|
||||
#define append_str2(p, str, len) ((char *)memcpy((p), str, (len))+(len))
|
||||
#define append_str(p, str) append_str2(p, str, sizeof(str)-1)
|
||||
|
||||
static char *
|
||||
build_header_path(const char *basedir, size_t baselen, const char *dir, size_t dirlen)
|
||||
{
|
||||
static const char header_basename[] = "/" RUBY_MJIT_HEADER_FILE;
|
||||
char *p, *path = xmalloc(baselen + dirlen + sizeof(header_basename));
|
||||
if (path == NULL)
|
||||
return NULL;
|
||||
p = path;
|
||||
p = append_str2(p, basedir, baselen);
|
||||
p = append_str2(p, dir, dirlen);
|
||||
p = append_str2(p, header_basename, sizeof(header_basename));
|
||||
return path;
|
||||
}
|
||||
|
||||
#define BUILD_HEADER_PATH(basedir, baselen, dir) \
|
||||
build_header_path(basedir, baselen, dir, rb_strlen_lit(dir))
|
||||
|
||||
static void
|
||||
init_header_filename(void)
|
||||
{
|
||||
@ -1082,27 +1065,23 @@ init_header_filename(void)
|
||||
VALUE basedir_val;
|
||||
char *basedir;
|
||||
size_t baselen;
|
||||
#ifdef _WIN32
|
||||
static const char header_name[] =
|
||||
"/" MJIT_HEADER_INSTALL_DIR "/" RUBY_MJIT_HEADER_FILE;
|
||||
char *p;
|
||||
#endif
|
||||
|
||||
basedir_val = rb_const_get(rb_cObject, rb_intern_const("TMP_RUBY_PREFIX"));
|
||||
basedir = StringValuePtr(basedir_val);
|
||||
baselen = RSTRING_LEN(basedir_val);
|
||||
|
||||
header_file = BUILD_HEADER_PATH(basedir, baselen, "/"MJIT_HEADER_BUILD_DIR);
|
||||
header_file = xmalloc(baselen + sizeof(header_name));
|
||||
if (header_file == NULL)
|
||||
return;
|
||||
p = append_str2(header_file, basedir, baselen);
|
||||
p = append_str2(p, header_name, sizeof(header_name));
|
||||
if ((f = fopen(header_file, "r")) == NULL) {
|
||||
xfree(header_file);
|
||||
header_file = BUILD_HEADER_PATH(basedir, baselen, "/"MJIT_HEADER_INSTALL_DIR);
|
||||
if (header_file == NULL)
|
||||
return;
|
||||
if ((f = fopen(header_file, "r")) == NULL) {
|
||||
xfree(header_file);
|
||||
header_file = NULL;
|
||||
return;
|
||||
}
|
||||
header_file = NULL;
|
||||
return;
|
||||
}
|
||||
fclose(f);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user