diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-05-03 13:19:11 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-05-03 13:19:11 +0000 |
commit | 1a89cc308d823033715131c2709a009ee971eb28 (patch) | |
tree | 1b7449c06b8a8ca3a73d629083810fb85857673d /ext | |
parent | 5bfe949dd543199a1776f1f816d47217837b896d (diff) | |
download | ruby-1a89cc308d823033715131c2709a009ee971eb28.tar.gz |
* configure.in, defines.h, eval_load.c (rb_feature_p, rb_provided,
search_required, rb_require_safe), ext/extmk.rb: Fix
a bug where a statically linked extension cannot be autoloaded.
[ruby-dev:30023] / [ruby-dev:30239]
* thread.c: added an internal class, Barrier.
* yarvcore.h (struct rb_vm_struct): moved loading_table from global.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/extmk.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb index 15d2abb608..f40bfa6ecf 100644 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -452,14 +452,14 @@ unless $extlist.empty? src = %{\ #include "ruby.h" -#define init(func, name) { \ - void func _((void)); \ - ruby_sourcefile = src = rb_source_filename(name); \ - func(); \ - rb_provide(src); \ +#define init(func, name) { \\ + extern void func _((void)); \\ + ruby_init_ext(name, func); \\ } -void Init_ext _((void))\n{\n char *src;#$extinit} +void ruby_init_ext _((const char *name, void (*init)(void))); + +void Init_ext _((void))\n{\n#$extinit} } if !modified?(extinit.c, MTIMES) || IO.read(extinit.c) != src open(extinit.c, "w") {|fe| fe.print src} |