20
20
#define EXIT_SUCCESS 0
21
21
#endif
22
22
23
+ #ifdef RUBY_REVISION
24
+ # if RUBY_PATCHLEVEL == -1
25
+ # ifndef RUBY_BRANCH_NAME
26
+ # define RUBY_BRANCH_NAME "master"
27
+ # endif
28
+ # define RUBY_REVISION_STR " "RUBY_BRANCH_NAME" "RUBY_REVISION
29
+ # else
30
+ # define RUBY_REVISION_STR " revision "RUBY_REVISION
31
+ # endif
32
+ #else
33
+ # define RUBY_REVISION "HEAD"
34
+ # define RUBY_REVISION_STR ""
35
+ #endif
36
+ #if !defined RUBY_RELEASE_DATETIME || RUBY_PATCHLEVEL != -1
37
+ # undef RUBY_RELEASE_DATETIME
38
+ # define RUBY_RELEASE_DATETIME RUBY_RELEASE_DATE
39
+ #endif
40
+
41
+ # define RUBY_DESCRIPTION_WITH (opt ) \
42
+ "ruby " RUBY_VERSION RUBY_PATCHLEVEL_STR " " \
43
+ "(" RUBY_RELEASE_DATETIME RUBY_REVISION_STR ")" opt " " \
44
+ "[" RUBY_PLATFORM "]"
45
+
23
46
#define PRINT (type ) puts(ruby_##type)
24
47
#define MKSTR (type ) rb_obj_freeze(rb_usascii_str_new_static(ruby_##type, sizeof(ruby_##type)-1))
25
48
#define MKINT (name ) INT2FIX(ruby_##name)
@@ -44,7 +67,9 @@ const int ruby_patchlevel = RUBY_PATCHLEVEL;
44
67
const char ruby_description [] = RUBY_DESCRIPTION_WITH ("" );
45
68
static const char ruby_description_with_mjit [] = RUBY_DESCRIPTION_WITH (" +MJIT" );
46
69
static const char ruby_description_with_yjit [] = RUBY_DESCRIPTION_WITH (" +YJIT" );
47
- const char ruby_copyright [] = RUBY_COPYRIGHT ;
70
+ const char ruby_copyright [] = "ruby - Copyright (C) "
71
+ RUBY_BIRTH_YEAR_STR "-" RUBY_RELEASE_YEAR_STR " "
72
+ RUBY_AUTHOR ;
48
73
const char ruby_engine [] = "ruby" ;
49
74
50
75
// Might change after initialization
0 commit comments