Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 60 lines (49 sloc) 1.797 kB
9c1d230 committing experimental branch content
Laurent Sansonetti authored
1 /**********************************************************************
2
3 version.c -
4
5 $Author: nobu $
6 created at: Thu Sep 30 20:08:01 JST 1993
7
8 Copyright (C) 1993-2007 Yukihiro Matsumoto
9
10 **********************************************************************/
11
12 #include "ruby/ruby.h"
13 #include "version.h"
14 #include "revision.h"
15 #include <stdio.h>
16
17 #define PRINT(type) puts(ruby_##type)
18 #define MKSTR(type) rb_obj_freeze(rb_usascii_str_new(ruby_##type, sizeof(ruby_##type)-1))
19
20 const int ruby_version_code = RUBY_VERSION_CODE;
21 const char ruby_version[] = RUBY_VERSION;
22 const char ruby_release_date[] = RUBY_RELEASE_DATE;
23 const char ruby_platform[] = RUBY_PLATFORM;
24 const int ruby_patchlevel = RUBY_PATCHLEVEL;
25 const char ruby_description[] = RUBY_DESCRIPTION;
26 const char ruby_copyright[] = RUBY_COPYRIGHT;
27 const char ruby_engine[] = RUBY_ENGINE;
28
29 void
30 Init_version(void)
31 {
32 rb_define_global_const("RUBY_VERSION", MKSTR(version));
33 rb_define_global_const("RUBY_RELEASE_DATE", MKSTR(release_date));
34 rb_define_global_const("RUBY_PLATFORM", MKSTR(platform));
35 rb_define_global_const("RUBY_PATCHLEVEL", INT2FIX(RUBY_PATCHLEVEL));
36 rb_define_global_const("RUBY_REVISION", INT2FIX(RUBY_REVISION));
37 rb_define_global_const("RUBY_DESCRIPTION", MKSTR(description));
38 rb_define_global_const("RUBY_COPYRIGHT", MKSTR(copyright));
39 rb_define_global_const("RUBY_ENGINE", MKSTR(engine));
40 #if WITH_OBJC
41 rb_define_global_const("RUBY_ARCH", rb_str_new2(RUBY_ARCH));
42 rb_define_global_const("MACRUBY_VERSION", rb_float_new(MACRUBY_VERSION));
43 rb_define_global_const("MACRUBY_REVISION", rb_str_new2(MACRUBY_REVISION));
44 #endif
45 }
46
47 void
48 ruby_show_version(void)
49 {
50 PRINT(description);
51 fflush(stdout);
52 }
53
54 void
55 ruby_show_copyright(void)
56 {
57 PRINT(copyright);
58 exit(0);
59 }
Something went wrong with that request. Please try again.