c43c51d855162c24c24fbbbff464c11520173b3a
[mruby.git] / include / mruby / version.h
blobc43c51d855162c24c24fbbbff464c11520173b3a
1 /**
2 ** @file mruby/version.h - mruby version definition
3 **
4 ** See Copyright Notice in mruby.h
5 */
7 #ifndef MRUBY_VERSION_H
8 #define MRUBY_VERSION_H
10 #include "common.h"
12 /**
13 * mruby version definition macros
15 MRB_BEGIN_DECL
18 * A passed in expression.
20 #define MRB_STRINGIZE0(expr) #expr
23 * Passes in an expression to MRB_STRINGIZE0.
25 #define MRB_STRINGIZE(expr) MRB_STRINGIZE0(expr)
28 * The version of Ruby used by mruby.
30 #define MRUBY_RUBY_VERSION "2.0"
33 * Ruby engine.
35 #define MRUBY_RUBY_ENGINE "mruby"
38 * Major release version number.
40 #define MRUBY_RELEASE_MAJOR 2
43 * Minor release version number.
45 #define MRUBY_RELEASE_MINOR 1
48 * Tiny release version number.
50 #define MRUBY_RELEASE_TEENY 1
53 * The mruby version.
55 #define MRUBY_VERSION MRB_STRINGIZE(MRUBY_RELEASE_MAJOR) "." MRB_STRINGIZE(MRUBY_RELEASE_MINOR) "." MRB_STRINGIZE(MRUBY_RELEASE_TEENY)
58 * Release number.
60 #define MRUBY_RELEASE_NO (MRUBY_RELEASE_MAJOR * 100 * 100 + MRUBY_RELEASE_MINOR * 100 + MRUBY_RELEASE_TEENY)
63 * Release year.
65 #define MRUBY_RELEASE_YEAR 2020
68 * Release month.
70 #define MRUBY_RELEASE_MONTH 4
73 * Release day.
75 #define MRUBY_RELEASE_DAY 20
78 * Release date as a string.
80 #define MRUBY_RELEASE_DATE \
81 MRUBY_RELEASE_YEAR_STR "-" \
82 MRUBY_RELEASE_MONTH_STR "-" \
83 MRUBY_RELEASE_DAY_STR
84 #define MRUBY_RELEASE_YEAR_STR MRB_STRINGIZE(MRUBY_RELEASE_YEAR)
85 #if MRUBY_RELEASE_MONTH < 10
86 #define MRUBY_RELEASE_MONTH_STR "0" MRB_STRINGIZE(MRUBY_RELEASE_MONTH)
87 #else
88 #define MRUBY_RELEASE_MONTH_STR MRB_STRINGIZE(MRUBY_RELEASE_MONTH)
89 #endif
90 #if MRUBY_RELEASE_DAY < 10
91 #define MRUBY_RELEASE_DAY_STR "0" MRB_STRINGIZE(MRUBY_RELEASE_DAY)
92 #else
93 #define MRUBY_RELEASE_DAY_STR MRB_STRINGIZE(MRUBY_RELEASE_DAY)
94 #endif
97 * The year mruby was first created.
99 #define MRUBY_BIRTH_YEAR 2010
102 * MRuby's authors.
104 #define MRUBY_AUTHOR "mruby developers"
107 * mruby's version, and release date.
109 #define MRUBY_DESCRIPTION \
110 "mruby " MRUBY_VERSION \
111 " (" MRUBY_RELEASE_DATE ")" \
114 * mruby's copyright information.
116 #define MRUBY_COPYRIGHT \
117 "mruby - Copyright (c) " \
118 MRB_STRINGIZE(MRUBY_BIRTH_YEAR)"-" \
119 MRB_STRINGIZE(MRUBY_RELEASE_YEAR)" " \
120 MRUBY_AUTHOR \
122 MRB_END_DECL
124 #endif /* MRUBY_VERSION_H */