diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-29 08:45:24 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-29 08:45:24 +0000 |
commit | 400202f6a5b5f833b13ecc1b9b9628de05ea27a8 (patch) | |
tree | caf9e474c3c55bae35e661a59cb3d83f6f52dfb5 /include/ruby | |
parent | 43c4d8093074e4d7c2639a7fd81c889739599b4d (diff) | |
download | ruby-400202f6a5b5f833b13ecc1b9b9628de05ea27a8.tar.gz |
* main.c (main): use platform-independent per-process initialization.
[ruby-dev:31900]
* ruby.c (ruby_sysinit): new function for per-process initialization.
* include/ruby/ruby.h (RUBY_GLOBAL_SETUP): toplevel setup declaration.
* include/ruby/win32.h, win32/mkexports.rb: alias NtInitialize
ruby_sysinit.
* win32/win32.c (rb_w32_sysinit): renamed from NtInitialize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include/ruby')
-rw-r--r-- | include/ruby/ruby.h | 9 | ||||
-rw-r--r-- | include/ruby/win32.h | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 8947549f55..b6039fb366 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -958,6 +958,15 @@ rb_special_const_p(VALUE obj) static char *dln_libs_to_be_linked[] = { EXTLIB, 0 }; #endif +#if (defined(__APPLE__) || defined(__NeXT__)) && defined(__MACH__) +/* to link startup code with ObjC support */ +#define RUBY_GLOBAL_SETUP static void objcdummyfunction(void) {objc_msgSend();} +#else +#define RUBY_GLOBAL_SETUP +#endif + +void ruby_sysinit(int *, char ***); + #define RUBY_VM 1 /* YARV */ #define HAVE_NATIVETHREAD int is_ruby_native_thread(void); diff --git a/include/ruby/win32.h b/include/ruby/win32.h index 9f5ccf8889..02021f19d9 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -204,7 +204,7 @@ struct timezone { #undef isascii #define isascii __isascii #endif -extern void NtInitialize(int *, char ***); +#define NtInitialize ruby_sysinit extern int rb_w32_cmdvector(const char *, char ***); extern rb_pid_t rb_w32_pipe_exec(const char *, const char *, int, int *); extern int flock(int fd, int oper); |