From aefc34a041240889948f5af09c1526077c4fc0ca Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 22 Dec 2007 06:14:50 +0000 Subject: * common.mk (encs, ext/ripper/ripper.c): needs MFLAGS. * configure.in (STRINGIZE): stringizing macro. * include/ruby/defines.h (STRINGIZE): fallback. * tool/make-snapshot: new file. * version.c (ruby_description, ruby_copyright): string constants for -v option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- version.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'version.c') diff --git a/version.c b/version.c index 4e54d063f7..9006d5e962 100644 --- a/version.c +++ b/version.c @@ -14,34 +14,38 @@ #include "version.h" #include +#define PRINT(type) puts(ruby_##type) +#define MKSTR(type) rb_obj_freeze(rb_str_new(ruby_##type, sizeof(ruby_##type)-1)) + const char ruby_version[] = RUBY_VERSION; const char ruby_release_date[] = RUBY_RELEASE_DATE; const char ruby_platform[] = RUBY_PLATFORM; const int ruby_patchlevel = RUBY_PATCHLEVEL; +const char ruby_description[] = RUBY_DESCRIPTION; +const char ruby_copyright[] = RUBY_COPYRIGHT; void Init_version(void) { - VALUE v = rb_obj_freeze(rb_str_new2(ruby_version)); - VALUE d = rb_obj_freeze(rb_str_new2(ruby_release_date)); - VALUE p = rb_obj_freeze(rb_str_new2(ruby_platform)); - - rb_define_global_const("RUBY_VERSION", v); - rb_define_global_const("RUBY_RELEASE_DATE", d); - rb_define_global_const("RUBY_PLATFORM", p); + rb_define_global_const("RUBY_VERSION", MKSTR(version)); + rb_define_global_const("RUBY_RELEASE_DATE", MKSTR(release_date)); + rb_define_global_const("RUBY_PLATFORM", MKSTR(platform)); rb_define_global_const("RUBY_PATCHLEVEL", INT2FIX(RUBY_PATCHLEVEL)); + rb_define_global_const("RUBY_REVISION", INT2FIX(RUBY_REVISION)); + rb_define_global_const("RUBY_DESCRIPTION", MKSTR(description)); + rb_define_global_const("RUBY_COPYRIGHT", MKSTR(copyright)); } void ruby_show_version(void) { - printf("ruby %s (%s patchlevel %d) [%s]\n", RUBY_VERSION, RUBY_RELEASE_DATE, RUBY_PATCHLEVEL, RUBY_PLATFORM); + PRINT(description); fflush(stdout); } void ruby_show_copyright(void) { - printf("ruby - Copyright (C) 1993-%d Yukihiro Matsumoto\n", RUBY_RELEASE_YEAR); + PRINT(copyright); exit(0); } -- cgit v1.2.3