summaryrefslogtreecommitdiff
path: root/version.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2017-08-30 23:23:38 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-08-31 18:00:45 +0900
commit32a059151507876de804adbfbf4926937333e091 (patch)
treeee0add1d9ddc64c4cdd7d225439f7b6df12ce7b8 /version.c
parent2b967cd4b73425681877c247e5731353e171a3ef (diff)
downloadruby-32a059151507876de804adbfbf4926937333e091.tar.gz
Move macros from version.h to version.c
Moved the contents of `ruby_description` and `ruby_copyright` which are never used in the other places.
Diffstat (limited to 'version.c')
-rw-r--r--version.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/version.c b/version.c
index a628952907..5ccc4cc508 100644
--- a/version.c
+++ b/version.c
@@ -20,6 +20,29 @@
#define EXIT_SUCCESS 0
#endif
+#ifdef RUBY_REVISION
+# if RUBY_PATCHLEVEL == -1
+# ifndef RUBY_BRANCH_NAME
+# define RUBY_BRANCH_NAME "master"
+# endif
+# define RUBY_REVISION_STR " "RUBY_BRANCH_NAME" "RUBY_REVISION
+# else
+# define RUBY_REVISION_STR " revision "RUBY_REVISION
+# endif
+#else
+# define RUBY_REVISION "HEAD"
+# define RUBY_REVISION_STR ""
+#endif
+#if !defined RUBY_RELEASE_DATETIME || RUBY_PATCHLEVEL != -1
+# undef RUBY_RELEASE_DATETIME
+# define RUBY_RELEASE_DATETIME RUBY_RELEASE_DATE
+#endif
+
+# define RUBY_DESCRIPTION_WITH(opt) \
+ "ruby " RUBY_VERSION RUBY_PATCHLEVEL_STR " " \
+ "(" RUBY_RELEASE_DATETIME RUBY_REVISION_STR ")" opt " " \
+ "[" RUBY_PLATFORM "]"
+
#define PRINT(type) puts(ruby_##type)
#define MKSTR(type) rb_obj_freeze(rb_usascii_str_new_static(ruby_##type, sizeof(ruby_##type)-1))
#define MKINT(name) INT2FIX(ruby_##name)
@@ -44,7 +67,9 @@ const int ruby_patchlevel = RUBY_PATCHLEVEL;
const char ruby_description[] = RUBY_DESCRIPTION_WITH("");
static const char ruby_description_with_mjit[] = RUBY_DESCRIPTION_WITH(" +MJIT");
static const char ruby_description_with_yjit[] = RUBY_DESCRIPTION_WITH(" +YJIT");
-const char ruby_copyright[] = RUBY_COPYRIGHT;
+const char ruby_copyright[] = "ruby - Copyright (C) "
+ RUBY_BIRTH_YEAR_STR "-" RUBY_RELEASE_YEAR_STR " "
+ RUBY_AUTHOR;
const char ruby_engine[] = "ruby";
// Might change after initialization