summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-14 03:22:24 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-14 03:22:24 +0000
commit02d28d01cf4a70ad8f5902d5a5eaa103a74103cf (patch)
treee6b14c497d7b4e4b37a894e5b6109afce6060d5d
parent3976eb12ff5596f70350a3697389eedd9aa1710e (diff)
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
-rw-r--r--ChangeLog6
-rw-r--r--Makefile.in2
-rw-r--r--common.mk2
-rw-r--r--ruby.c11
4 files changed, 12 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 52784f96b2..b8735a1ed1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
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
$LIBS, not $LDFLAGS. the former is propagated to exts.mk when
enable-static-linked-ext.
diff --git a/Makefile.in b/Makefile.in
index 5a2094e074..98749dec61 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -112,7 +112,7 @@ XRUBY_LIBDIR = @XRUBY_LIBDIR@
XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
-DEFAULT_PRELUDES = $(@USE_RUBYGEMS@_GEM_PRELUDE)
+DEFAULT_PRELUDES = $(GEM_PRELUDE)
#### End of system configuration section. ####
diff --git a/common.mk b/common.mk
index d42363401a..a3e3f5a268 100644
--- a/common.mk
+++ b/common.mk
@@ -112,8 +112,6 @@ GOLFOBJS = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)
PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(srcdir)/enc/prelude.rb $(DEFAULT_PRELUDES)
GEM_PRELUDE = $(srcdir)/gem_prelude.rb
-YES_GEM_PRELUDE = $(GEM_PRELUDE)
-NO_GEM_PRELUDE =
PRELUDES = prelude.c miniprelude.c
GOLFPRELUDES = golf_prelude.c
diff --git a/ruby.c b/ruby.c
index 6723d200cf..233e14025b 100644
--- a/ruby.c
+++ b/ruby.c
@@ -52,7 +52,10 @@
char *getenv();
#endif
-#if defined DISABLE_RUBYGEMS && DISABLE_RUBYGEMS
+#ifndef DISABLE_RUBYGEMS
+# define DISABLE_RUBYGEMS 0
+#endif
+#if DISABLE_RUBYGEMS
#define DEFAULT_RUBYGEMS_ENABLED "disabled"
#else
#define DEFAULT_RUBYGEMS_ENABLED "enabled"
@@ -114,7 +117,7 @@ cmdline_options_init(struct cmdline_options *opt)
opt->src.enc.index = src_encoding_index;
opt->ext.enc.index = -1;
opt->intern.enc.index = -1;
-#if defined DISABLE_RUBYGEMS && DISABLE_RUBYGEMS
+#if DISABLE_RUBYGEMS
opt->disable |= DISABLE_BIT(gems);
#endif
return opt;
@@ -1446,11 +1449,7 @@ process_options(int argc, char **argv, struct cmdline_options *opt)
}
}
if (!(opt->disable & DISABLE_BIT(gems))) {
-#if defined DISABLE_RUBYGEMS && DISABLE_RUBYGEMS
- rb_require("rubygems");
-#else
rb_define_module("Gem");
-#endif
}
ruby_init_prelude();
ruby_set_argv(argc, argv);