1#ifndef RUBY_TOPLEVEL_VERSION_H
2#define RUBY_TOPLEVEL_VERSION_H
10# define RUBY_VERSION_MAJOR RUBY_API_VERSION_MAJOR
11# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
12#define RUBY_VERSION_TEENY 1
13#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
14#define RUBY_PATCHLEVEL 31
17#include "ruby/internal/abi.h"
23#define TOKEN_PASTE(x,y) x##y
25#define ONLY_ONE_DIGIT(x) TOKEN_PASTE(10,x) < 1000
26#define WITH_ZERO_PADDING(x) TOKEN_PASTE(0,x)
27#define RUBY_BIRTH_YEAR_STR STRINGIZE(RUBY_BIRTH_YEAR)
28#define RUBY_RELEASE_YEAR_STR STRINGIZE(RUBY_RELEASE_YEAR)
29#if ONLY_ONE_DIGIT(RUBY_RELEASE_MONTH)
30#define RUBY_RELEASE_MONTH_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_MONTH))
32#define RUBY_RELEASE_MONTH_STR STRINGIZE(RUBY_RELEASE_MONTH)
34#if ONLY_ONE_DIGIT(RUBY_RELEASE_DAY)
35#define RUBY_RELEASE_DAY_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_DAY))
37#define RUBY_RELEASE_DAY_STR STRINGIZE(RUBY_RELEASE_DAY)
42#ifdef RUBY_ABI_VERSION
43# define RUBY_ABI_VERSION_SUFFIX "+"STRINGIZE(RUBY_ABI_VERSION)
45# define RUBY_ABI_VERSION_SUFFIX ""
47#if !defined RUBY_LIB_VERSION && defined RUBY_LIB_VERSION_STYLE
48# if RUBY_LIB_VERSION_STYLE == 3
49# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR) \
50 "."STRINGIZE(RUBY_API_VERSION_TEENY) RUBY_ABI_VERSION_SUFFIX
51# elif RUBY_LIB_VERSION_STYLE == 2
52# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR) \
53 RUBY_ABI_VERSION_SUFFIX
57#if RUBY_PATCHLEVEL == -1
58#define RUBY_PATCHLEVEL_STR "dev"
59#elif defined RUBY_ABI_VERSION
60#error RUBY_ABI_VERSION is defined in non-development branch
62#define RUBY_PATCHLEVEL_STR ""