summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2012-06-21 14:22:24 +0800
committerDaniel Bovensiepen <[email protected]>2012-06-21 14:22:24 +0800
commit64693ef7fc349d37ea170de021b1f3c7763e817b (patch)
tree9ac58dd14f4a7c6749bc1ae2fd39abb0f6f494cd
parent396397bce17a0f03eab8ed6512651e665aa89c8a (diff)
downloadmruby-64693ef7fc349d37ea170de021b1f3c7763e817b.tar.gz
mruby-64693ef7fc349d37ea170de021b1f3c7763e817b.zip
Create new constants to indicate optional features
-rw-r--r--src/kernel.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/kernel.c b/src/kernel.c
index fd0440e05..d2fceae55 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -1206,6 +1206,39 @@ mrb_init_kernel(mrb_state *mrb)
#ifdef ENABLE_KERNEL_SPRINTF
mrb_define_method(mrb, krn, "sprintf", mrb_f_sprintf, ARGS_ANY()); /* in sprintf.c */
mrb_define_method(mrb, krn, "format", mrb_f_sprintf, ARGS_ANY()); /* in sprintf.c */
+ mrb_define_const(mrb, krn, "SprintfEnabled", mrb_true_value());
+#else
+ mrb_define_const(mrb, krn, "SprintfEnabled", mrb_false_value());
+#endif
+
+#ifdef ENABLE_MATH
+ mrb_define_const(mrb, krn, "MathEnabled", mrb_true_value());
+#else
+ mrb_define_const(mrb, krn, "MathEnabled", mrb_false_value());
+#endif
+
+#ifdef ENABLE_TIME
+ mrb_define_const(mrb, krn, "TimeEnabled", mrb_true_value());
+#else
+ mrb_define_const(mrb, krn, "TimeEnabled", mrb_false_value());
+#endif
+
+#ifdef ENABLE_REGEXP
+ mrb_define_const(mrb, krn, "RegExpEnabled", mrb_true_value());
+#else
+ mrb_define_const(mrb, krn, "RegExpEnabled", mrb_false_value());
+#endif
+
+#ifdef ENABLE_STRUCT
+ mrb_define_const(mrb, krn, "StructEnabled", mrb_true_value());
+#else
+ mrb_define_const(mrb, krn, "StructEnabled", mrb_false_value());
+#endif
+
+#ifdef MRB_USE_FLOAT
+ mrb_define_const(mrb, krn, "UsingFloat", mrb_true_value());
+#else
+ mrb_define_const(mrb, krn, "UsingFloat", mrb_false_value());
#endif
mrb_include_module(mrb, mrb->object_class, mrb->kernel_module);