From 8265f3125e7201d8fc1af8bf778fd6cede6900db Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 13 May 2009 06:23:20 +0000 Subject: [PATCH] * include/ruby/version.h: extracted the extensions interface and the never-changable info. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++ include/ruby/version.h | 61 ++++++++++++++++++++++++++++++++++++++++++ version.h | 14 +--------- 3 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 include/ruby/version.h 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 + + * include/ruby/version.h: extracted the extensions interface and + the never-changable info. + Wed May 13 03:20:47 2009 Tanaka Akira * 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