1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

ruby.c: gem_prelude to load rubygems

* ruby.c (process_options): use gem_prelude instead of requiring
  rubygems directly when --enable=gems is given.
* Makefile.in (DEFAULT_PRELUDES): always use gem_prelude regardless of
  --disable-rubygems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-10-14 03:22:24 +00:00
parent 3976eb12ff
commit 02d28d01cf
4 changed files with 12 additions and 9 deletions

View file

@ -1,5 +1,11 @@
2013-10-14 Nobuyoshi Nakada <nobu@ruby-lang.org> 2013-10-14 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c (process_options): use gem_prelude instead of requiring
rubygems directly when --enable=gems is given.
* Makefile.in (DEFAULT_PRELUDES): always use gem_prelude regardless of
--disable-rubygems.
* lib/mkmf.rb (have_framework): should append framework options to * lib/mkmf.rb (have_framework): should append framework options to
$LIBS, not $LDFLAGS. the former is propagated to exts.mk when $LIBS, not $LDFLAGS. the former is propagated to exts.mk when
enable-static-linked-ext. enable-static-linked-ext.

View file

@ -112,7 +112,7 @@ XRUBY_LIBDIR = @XRUBY_LIBDIR@
XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@ XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@ XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
DEFAULT_PRELUDES = $(@USE_RUBYGEMS@_GEM_PRELUDE) DEFAULT_PRELUDES = $(GEM_PRELUDE)
#### End of system configuration section. #### #### End of system configuration section. ####

View file

@ -112,8 +112,6 @@ GOLFOBJS = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)
PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(srcdir)/enc/prelude.rb $(DEFAULT_PRELUDES) PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(srcdir)/enc/prelude.rb $(DEFAULT_PRELUDES)
GEM_PRELUDE = $(srcdir)/gem_prelude.rb GEM_PRELUDE = $(srcdir)/gem_prelude.rb
YES_GEM_PRELUDE = $(GEM_PRELUDE)
NO_GEM_PRELUDE =
PRELUDES = prelude.c miniprelude.c PRELUDES = prelude.c miniprelude.c
GOLFPRELUDES = golf_prelude.c GOLFPRELUDES = golf_prelude.c

11
ruby.c
View file

@ -52,7 +52,10 @@
char *getenv(); char *getenv();
#endif #endif
#if defined DISABLE_RUBYGEMS && DISABLE_RUBYGEMS #ifndef DISABLE_RUBYGEMS
# define DISABLE_RUBYGEMS 0
#endif
#if DISABLE_RUBYGEMS
#define DEFAULT_RUBYGEMS_ENABLED "disabled" #define DEFAULT_RUBYGEMS_ENABLED "disabled"
#else #else
#define DEFAULT_RUBYGEMS_ENABLED "enabled" #define DEFAULT_RUBYGEMS_ENABLED "enabled"
@ -114,7 +117,7 @@ cmdline_options_init(struct cmdline_options *opt)
opt->src.enc.index = src_encoding_index; opt->src.enc.index = src_encoding_index;
opt->ext.enc.index = -1; opt->ext.enc.index = -1;
opt->intern.enc.index = -1; opt->intern.enc.index = -1;
#if defined DISABLE_RUBYGEMS && DISABLE_RUBYGEMS #if DISABLE_RUBYGEMS
opt->disable |= DISABLE_BIT(gems); opt->disable |= DISABLE_BIT(gems);
#endif #endif
return opt; return opt;
@ -1446,11 +1449,7 @@ process_options(int argc, char **argv, struct cmdline_options *opt)
} }
} }
if (!(opt->disable & DISABLE_BIT(gems))) { if (!(opt->disable & DISABLE_BIT(gems))) {
#if defined DISABLE_RUBYGEMS && DISABLE_RUBYGEMS
rb_require("rubygems");
#else
rb_define_module("Gem"); rb_define_module("Gem");
#endif
} }
ruby_init_prelude(); ruby_init_prelude();
ruby_set_argv(argc, argv); ruby_set_argv(argc, argv);