summaryrefslogtreecommitdiff
path: root/version.h
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-07-12 16:44:57 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-08-12 15:57:25 +0900
commitcd1a0b3caaa5446e9258c192cf483b6dfe8d7819 (patch)
tree7dcc4a1f0a2ff245fd7e1f36b4d10994574491f3 /version.h
parenta201cfd0cdb9f613f687dc6fee1908ec54e63c72 (diff)
downloadruby-cd1a0b3caaa5446e9258c192cf483b6dfe8d7819.tar.gz
Stop defining `RUBY_ABI_VERSION` if released versions
As commented in include/ruby/internal/abi.h, since teeny versions of Ruby should guarantee ABI compatibility, `RUBY_ABI_VERSION` has no role in released versions of Ruby.
Diffstat (limited to 'version.h')
-rw-r--r--version.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/version.h b/version.h
index 1b561623e9..d79ba396f7 100644
--- a/version.h
+++ b/version.h
@@ -38,18 +38,25 @@
#define RUBY_RELEASE_DAY_STR STRINGIZE(RUBY_RELEASE_DAY)
#endif
+#ifdef RUBY_ABI_VERSION
+# define RUBY_ABI_VERSION_SUFFIX "+"STRINGIZE(RUBY_ABI_VERSION)
+#else
+# define RUBY_ABI_VERSION_SUFFIX ""
+#endif
#if !defined RUBY_LIB_VERSION && defined RUBY_LIB_VERSION_STYLE
# if RUBY_LIB_VERSION_STYLE == 3
# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR) \
- "."STRINGIZE(RUBY_API_VERSION_TEENY)"+"STRINGIZE(RUBY_ABI_VERSION)
+ "."STRINGIZE(RUBY_API_VERSION_TEENY) RUBY_ABI_VERSION_SUFFIX
# elif RUBY_LIB_VERSION_STYLE == 2
# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR) \
- "+"STRINGIZE(RUBY_ABI_VERSION)
+ RUBY_ABI_VERSION_SUFFIX
# endif
#endif
#if RUBY_PATCHLEVEL == -1
#define RUBY_PATCHLEVEL_STR "dev"
+#elif defined RUBY_ABI_VERSION
+#error RUBY_ABI_VERSION is defined in non-development branch
#else
#define RUBY_PATCHLEVEL_STR ""
#endif