summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--include/ruby/version.h61
-rw-r--r--version.h14
3 files changed, 67 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d95526612..c5333b1888 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed May 13 15:23:18 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * include/ruby/version.h: extracted the extensions interface and
+ the never-changable info.
+
Wed May 13 03:20:47 2009 Tanaka Akira <akr@fsij.org>
* time.c (time_init_1): unused variable removed.
diff --git a/include/ruby/version.h b/include/ruby/version.h
new file mode 100644
index 0000000000..32b09b3f52
--- /dev/null
+++ b/include/ruby/version.h
@@ -0,0 +1,61 @@
+/**********************************************************************
+
+ ruby/version.h -
+
+ $Author$
+ created at: Wed May 13 12:56:56 JST 2009
+
+ Copyright (C) 1993-2009 Yukihiro Matsumoto
+ Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
+ Copyright (C) 2000 Information-technology Promotion Agency, Japan
+
+**********************************************************************/
+
+/*
+ * This file contains only
+ * - never-changable informations, and
+ * - interfaces accessible from extension libraries.
+ *
+ * Never try to check RUBY_VERSION_CODE etc in extension libraries,
+ * check the features with mkmf.rb instead.
+ */
+
+#ifndef RUBY_VERSION_H
+#define RUBY_VERSION_H 1
+
+/* The origin. */
+#define RUBY_AUTHOR "Yukihiro Matsumoto"
+#define RUBY_BIRTH_YEAR 1993
+#define RUBY_BIRTH_MONTH 2
+#define RUBY_BIRTH_DAY 24
+
+#ifdef RUBY_EXTERN
+#if defined(__cplusplus)
+extern "C" {
+#if 0
+} /* satisfy cc-mode */
+#endif
+#endif
+/*
+ * Interfaces from extension libraries.
+ *
+ * Before using these infos, think thrice whether they are really
+ * necessary or not, and if the answer was yes, think twice a week
+ * later again.
+ */
+RUBY_EXTERN const char ruby_version[];
+RUBY_EXTERN const char ruby_release_date[];
+RUBY_EXTERN const char ruby_platform[];
+RUBY_EXTERN const int ruby_patchlevel;
+RUBY_EXTERN const char ruby_description[];
+RUBY_EXTERN const char ruby_copyright[];
+RUBY_EXTERN const char ruby_engine[];
+#if defined(__cplusplus)
+#if 0
+{ /* satisfy cc-mode */
+#endif
+} /* extern "C" { */
+#endif
+#endif
+
+#endif
diff --git a/version.h b/version.h
index e04d67f773..2a781d59dd 100644
--- a/version.h
+++ b/version.h
@@ -10,19 +10,7 @@
#define RUBY_RELEASE_MONTH 5
#define RUBY_RELEASE_DAY 13
-#ifdef RUBY_EXTERN
-RUBY_EXTERN const char ruby_version[];
-RUBY_EXTERN const char ruby_release_date[];
-RUBY_EXTERN const char ruby_platform[];
-RUBY_EXTERN const int ruby_patchlevel;
-RUBY_EXTERN const char ruby_description[];
-RUBY_EXTERN const char ruby_copyright[];
-#endif
-
-#define RUBY_AUTHOR "Yukihiro Matsumoto"
-#define RUBY_BIRTH_YEAR 1993
-#define RUBY_BIRTH_MONTH 2
-#define RUBY_BIRTH_DAY 24
+#include "ruby/version.h"
#if !defined RUBY_LIB_VERSION && defined RUBY_LIB_VERSION_STYLE
# if RUBY_LIB_VERSION_STYLE == 3