diff options
Diffstat (limited to 'trunk/version.c')
-rw-r--r-- | trunk/version.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/trunk/version.c b/trunk/version.c new file mode 100644 index 0000000000..53edf02574 --- /dev/null +++ b/trunk/version.c @@ -0,0 +1,52 @@ +/********************************************************************** + + version.c - + + $Author$ + created at: Thu Sep 30 20:08:01 JST 1993 + + Copyright (C) 1993-2007 Yukihiro Matsumoto + +**********************************************************************/ + +#include "ruby/ruby.h" +#include "version.h" +#include <stdio.h> + +#define PRINT(type) puts(ruby_##type) +#define MKSTR(type) rb_obj_freeze(rb_usascii_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; +const char ruby_engine[] = "ruby"; + +void +Init_version(void) +{ + 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)); + rb_define_global_const("RUBY_ENGINE", MKSTR(engine)); +} + +void +ruby_show_version(void) +{ + PRINT(description); + fflush(stdout); +} + +void +ruby_show_copyright(void) +{ + PRINT(copyright); + exit(0); +} |