From dadf06f72bcf7e6e8061be1a98ab3fefd03e0ef9 Mon Sep 17 00:00:00 2001 From: MATSUMOTO Ryosuke Date: Wed, 5 Feb 2014 23:54:15 +0900 Subject: Add global constant MRUBY_COPYRIGHT --- mrbgems/mruby-version/src/version.c | 1 + mrbgems/mruby-version/src/version.h | 17 +++++++++++++++-- src/print.c | 8 +++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/mrbgems/mruby-version/src/version.c b/mrbgems/mruby-version/src/version.c index bfd971209..313f55b7e 100644 --- a/mrbgems/mruby-version/src/version.c +++ b/mrbgems/mruby-version/src/version.c @@ -8,6 +8,7 @@ mrb_mruby_version_gem_init(mrb_state* mrb) mrb_define_global_const(mrb, "MRUBY_VERSION", mrb_str_new_cstr(mrb, MRUBY_VERSION)); mrb_define_global_const(mrb, "MRUBY_RELEASE_DATE", mrb_str_new_cstr(mrb, MRUBY_RELEASE_DATE)); mrb_define_global_const(mrb, "MRUBY_DESCRIPTION", mrb_str_new_cstr(mrb, MRUBY_DESCRIPTION)); + mrb_define_global_const(mrb, "MRUBY_COPYRIGHT", mrb_str_new_cstr(mrb, MRUBY_COPYRIGHT)); } void diff --git a/mrbgems/mruby-version/src/version.h b/mrbgems/mruby-version/src/version.h index ee64036b7..5ca3f3d59 100644 --- a/mrbgems/mruby-version/src/version.h +++ b/mrbgems/mruby-version/src/version.h @@ -7,6 +7,19 @@ #define MRUBY_RELEASE_MONTH 1 #define MRUBY_RELEASE_DAY 10 -#define MRUBY_DESCRIPTION \ - "mruby "MRUBY_VERSION \ +#define MRUBY_BIRTH_YEAR 2011 + +#define MRUBY_AUTHOR "mruby developers" + +#define STRINGIZE0(expr) #expr +#define STRINGIZE(expr) STRINGIZE0(expr) + +#define MRUBY_DESCRIPTION \ + "mruby "MRUBY_VERSION \ " ("MRUBY_RELEASE_DATE") " +#define MRUBY_COPYRIGHT \ + "mruby - Copyright (c) " \ + STRINGIZE(MRUBY_BIRTH_YEAR)"-" \ + STRINGIZE(MRUBY_RELEASE_YEAR)" " \ + MRUBY_AUTHOR + diff --git a/src/print.c b/src/print.c index 44b2049db..30b983264 100644 --- a/src/print.c +++ b/src/print.c @@ -73,6 +73,12 @@ mrb_show_copyright(mrb_state *mrb) static const char copyright_msg[] = "mruby - Copyright (c) 2010-2014 mruby developers\n"; mrb_value msg; - msg = mrb_str_new(mrb, copyright_msg, sizeof(copyright_msg) - 1); + if (mrb_const_defined(mrb, mrb_obj_value(mrb->object_class), mrb_intern_lit(mrb, "MRUBY_COPYRIGHT"))) { + msg = mrb_const_get(mrb, mrb_obj_value(mrb->object_class), mrb_intern_lit(mrb, "MRUBY_COPYRIGHT")); + msg = mrb_funcall(mrb, msg, "+", 1, mrb_str_new_cstr(mrb, "\n")); + } + else { + msg = mrb_str_new(mrb, copyright_msg, sizeof(copyright_msg) - 1); + } printstr(mrb, msg); } -- cgit v1.2.3