mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Prefer exe/ruby
to execute from it
This commit is contained in:
parent
f744d80106
commit
c7b71af9e2
2 changed files with 10 additions and 5 deletions
|
@ -878,7 +878,7 @@ $(PLATFORM_D):
|
|||
@$(NULLCMD) > $@
|
||||
|
||||
exe/$(PROGRAM): ruby-runner.c ruby-runner.h exe/.time miniruby$(EXEEXT) {$(VPATH)}config.h
|
||||
$(Q) $(CC) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) -DRUBY_INSTALL_NAME=$(@F) $(COUTFLAG)ruby-runner.$(OBJEXT) -c $(CSRCFLAG)$(srcdir)/ruby-runner.c
|
||||
$(Q) $(CC) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) -DRUBY_RUNNER_PATH=$(@D) -DRUBY_INSTALL_NAME=$(@F) $(COUTFLAG)ruby-runner.$(OBJEXT) -c $(CSRCFLAG)$(srcdir)/ruby-runner.c
|
||||
$(Q) $(PURIFY) $(CC) $(CFLAGS) $(LDFLAGS) $(OUTFLAG)$@ ruby-runner.$(OBJEXT) $(LIBS)
|
||||
$(Q) $(POSTLINK)
|
||||
$(Q) ./miniruby$(EXEEXT) \
|
||||
|
|
|
@ -17,7 +17,7 @@ const char MJIT_HEADER[] = BUILDDIR "/" MJIT_MIN_HEADER;
|
|||
#define STRINGIZE0(expr) #expr
|
||||
|
||||
static void
|
||||
insert_env_path(const char *envname, const char *paths, size_t size, int prepend)
|
||||
insert_env_path(const char *envname, const char *paths, size_t size, int prepend, int add)
|
||||
{
|
||||
const char *env = getenv(envname);
|
||||
char c = 0;
|
||||
|
@ -28,6 +28,9 @@ insert_env_path(const char *envname, const char *paths, size_t size, int prepend
|
|||
n = strlen(env);
|
||||
while (n > 0 && env[n-1] == PATH_SEP) --n;
|
||||
}
|
||||
else if (!add) {
|
||||
return;
|
||||
}
|
||||
if (c) {
|
||||
char *e = malloc(size+n+1);
|
||||
size_t pos = 0;
|
||||
|
@ -56,6 +59,7 @@ int
|
|||
main(int argc, char **argv)
|
||||
{
|
||||
static const char builddir[] = BUILDDIR;
|
||||
static const char exedir[] = BUILDDIR"/"STRINGIZE(RUBY_RUNNER_PATH);
|
||||
static const char rubypath[] = BUILDDIR"/"STRINGIZE(RUBY_INSTALL_NAME);
|
||||
static const char rubylib[] =
|
||||
ABS_SRCDIR"/lib"
|
||||
|
@ -73,11 +77,12 @@ main(int argc, char **argv)
|
|||
const char *rubyname = rubypath + dirsize;
|
||||
char *arg0 = argv[0], *p;
|
||||
|
||||
insert_env_path(LIBPATHENV, builddir, dirsize, 1);
|
||||
insert_env_path("RUBYLIB", rubylib, sizeof(rubylib), 0);
|
||||
insert_env_path(LIBPATHENV, builddir, dirsize, 1, 1);
|
||||
insert_env_path("RUBYLIB", rubylib, sizeof(rubylib), 0, 1);
|
||||
insert_env_path("PATH", exedir, sizeof(exedir), 1, 0);
|
||||
#ifndef LOAD_RELATIVE
|
||||
if (PRELOADENV[0] && stat(mjit_build_dir, &stbuf) == 0) {
|
||||
insert_env_path(PRELOADENV, mjit_build_dir, sizeof(mjit_build_dir), 1);
|
||||
insert_env_path(PRELOADENV, mjit_build_dir, sizeof(mjit_build_dir), 1, 1);
|
||||
setenv("MJIT_SEARCH_BUILD_DIR", "true", 0);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue