mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* version.c, version.h: NO_STRING_LITERAL_CONCATENATION support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@22371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8fd2e12607
commit
bcc1e704a6
3 changed files with 56 additions and 14 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Tue Feb 17 17:02:45 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* version.c, version.h: NO_STRING_LITERAL_CONCATENATION support.
|
||||||
|
|
||||||
Tue Feb 17 17:00:49 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Tue Feb 17 17:00:49 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* configure.in (MAJOR, MINOR, TEENY): uses RUBY_VERSION_*.
|
* configure.in (MAJOR, MINOR, TEENY): uses RUBY_VERSION_*.
|
||||||
|
|
34
version.c
34
version.c
|
@ -14,15 +14,31 @@
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#define PRINT(type) puts(ruby_##type)
|
#define PRINT(type) puts(TOKEN_PASTE(ruby_,type))
|
||||||
#define MKSTR(type) rb_obj_freeze(rb_str_new(ruby_##type, sizeof(ruby_##type)-1))
|
#ifndef rb_str_new_cstr
|
||||||
|
#define rb_str_new_cstr(str) rb_str_new(str, strlen(str))
|
||||||
|
#endif
|
||||||
|
#define MKSTR(type) rb_obj_freeze(rb_str_new_cstr(TOKEN_PASTE(ruby_,type)))
|
||||||
|
|
||||||
const char ruby_version[] = RUBY_VERSION;
|
const char ruby_version[] = RUBY_VERSION;
|
||||||
const char ruby_release_date[] = RUBY_RELEASE_DATE;
|
const char ruby_release_date[] = RUBY_RELEASE_DATE;
|
||||||
const char ruby_platform[] = RUBY_PLATFORM;
|
const char ruby_platform[] = RUBY_PLATFORM;
|
||||||
const int ruby_patchlevel = RUBY_PATCHLEVEL;
|
const int ruby_patchlevel = RUBY_PATCHLEVEL;
|
||||||
|
#ifdef RUBY_DESCRIPTION
|
||||||
const char ruby_description[] = RUBY_DESCRIPTION;
|
const char ruby_description[] = RUBY_DESCRIPTION;
|
||||||
|
#else
|
||||||
|
char ruby_description[
|
||||||
|
sizeof("ruby () []") +
|
||||||
|
sizeof(RUBY_VERSION)-1 + sizeof(RUBY_PATCHLEVEL_STR)-1 +
|
||||||
|
sizeof(RUBY_RELEASE_DATE)-1 + sizeof(RUBY_REVISION_STR)-1 +
|
||||||
|
sizeof(RUBY_PLATFORM)-1];
|
||||||
|
#endif
|
||||||
|
#ifdef RUBY_COPYRIGHT
|
||||||
const char ruby_copyright[] = RUBY_COPYRIGHT;
|
const char ruby_copyright[] = RUBY_COPYRIGHT;
|
||||||
|
#else
|
||||||
|
char ruby_copyright[
|
||||||
|
sizeof("ruby - Copyright (C) - ") + 20 + sizeof(RUBY_AUTHOR)-1];
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
Init_version()
|
Init_version()
|
||||||
|
@ -31,6 +47,20 @@ Init_version()
|
||||||
VALUE d = MKSTR(release_date);
|
VALUE d = MKSTR(release_date);
|
||||||
VALUE p = MKSTR(platform);
|
VALUE p = MKSTR(platform);
|
||||||
|
|
||||||
|
#ifndef RUBY_DESCRIPTION
|
||||||
|
snprintf(ruby_description, sizeof(ruby_description),
|
||||||
|
"ruby %s%s (%s%s) [%s]",
|
||||||
|
RUBY_VERSION, RUBY_PATCHLEVEL_STR,
|
||||||
|
RUBY_RELEASE_DATE, RUBY_REVISION_STR,
|
||||||
|
RUBY_PLATFORM);
|
||||||
|
#endif
|
||||||
|
#ifndef RUBY_COPYRIGHT
|
||||||
|
snprintf(ruby_copyright, sizeof(ruby_copyright),
|
||||||
|
"ruby - Copyright (C) %d-%d %s",
|
||||||
|
RUBY_BIRTH_YEAR, RUBY_RELEASE_YEAR,
|
||||||
|
RUBY_AUTHOR);
|
||||||
|
#endif
|
||||||
|
|
||||||
rb_define_global_const("RUBY_VERSION", v);
|
rb_define_global_const("RUBY_VERSION", v);
|
||||||
rb_define_global_const("RUBY_RELEASE_DATE", d);
|
rb_define_global_const("RUBY_RELEASE_DATE", d);
|
||||||
rb_define_global_const("RUBY_PLATFORM", p);
|
rb_define_global_const("RUBY_PLATFORM", p);
|
||||||
|
|
32
version.h
32
version.h
|
@ -16,9 +16,11 @@ RUBY_EXTERN const char ruby_version[];
|
||||||
RUBY_EXTERN const char ruby_release_date[];
|
RUBY_EXTERN const char ruby_release_date[];
|
||||||
RUBY_EXTERN const char ruby_platform[];
|
RUBY_EXTERN const char ruby_platform[];
|
||||||
RUBY_EXTERN const int ruby_patchlevel;
|
RUBY_EXTERN const int ruby_patchlevel;
|
||||||
|
#ifndef NO_STRING_LITERAL_CONCATENATION
|
||||||
RUBY_EXTERN const char ruby_description[];
|
RUBY_EXTERN const char ruby_description[];
|
||||||
RUBY_EXTERN const char ruby_copyright[];
|
RUBY_EXTERN const char ruby_copyright[];
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define RUBY_AUTHOR "Yukihiro Matsumoto"
|
#define RUBY_AUTHOR "Yukihiro Matsumoto"
|
||||||
#define RUBY_BIRTH_YEAR 1993
|
#define RUBY_BIRTH_YEAR 1993
|
||||||
|
@ -32,24 +34,29 @@ RUBY_EXTERN const char ruby_copyright[];
|
||||||
#define RUBY_REVISION 0
|
#define RUBY_REVISION 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if RUBY_VERSION_TEENY > 0 && RUBY_PATCHLEVEL < 5000
|
#if RUBY_PATCHLEVEL == -1
|
||||||
#define RUBY_RELEASE_STR "patchlevel"
|
#define RUBY_PATCHLEVEL_STR "dev"
|
||||||
#define RUBY_RELEASE_NUM RUBY_PATCHLEVEL
|
|
||||||
#else
|
#else
|
||||||
#ifdef RUBY_BRANCH_NAME
|
#define RUBY_PATCHLEVEL_STR "p"STRINGIZE(RUBY_PATCHLEVEL)
|
||||||
#define RUBY_RELEASE_STR RUBY_BRANCH_NAME
|
|
||||||
#else
|
|
||||||
#define RUBY_RELEASE_STR "revision"
|
|
||||||
#endif
|
|
||||||
#define RUBY_RELEASE_NUM RUBY_REVISION
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if RUBY_REVISION
|
||||||
|
# ifdef RUBY_BRANCH_NAME
|
||||||
|
# define RUBY_REVISION_STR " "RUBY_BRANCH_NAME" "STRINGIZE(RUBY_REVISION)
|
||||||
|
# else
|
||||||
|
# define RUBY_REVISION_STR " revision "STRINGIZE(RUBY_REVISION)
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# define RUBY_REVISION_STR ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NO_STRING_LITERAL_CONCATENATION
|
||||||
#ifndef RUBY_DESCRIPTION
|
#ifndef RUBY_DESCRIPTION
|
||||||
# define RUBY_DESCRIPTION \
|
# define RUBY_DESCRIPTION \
|
||||||
"ruby "RUBY_VERSION \
|
"ruby "RUBY_VERSION \
|
||||||
" ("RUBY_RELEASE_DATE" " \
|
RUBY_PATCHLEVEL_STR \
|
||||||
RUBY_RELEASE_STR" " \
|
" ("RUBY_RELEASE_DATE \
|
||||||
STRINGIZE(RUBY_RELEASE_NUM)") " \
|
RUBY_REVISION_STR") " \
|
||||||
"["RUBY_PLATFORM"]"
|
"["RUBY_PLATFORM"]"
|
||||||
#endif
|
#endif
|
||||||
#ifndef RUBY_COPYRIGHT
|
#ifndef RUBY_COPYRIGHT
|
||||||
|
@ -59,3 +66,4 @@ RUBY_EXTERN const char ruby_copyright[];
|
||||||
STRINGIZE(RUBY_RELEASE_YEAR)" " \
|
STRINGIZE(RUBY_RELEASE_YEAR)" " \
|
||||||
RUBY_AUTHOR
|
RUBY_AUTHOR
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue