diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-06-10 21:43:14 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-06-10 21:44:55 +0000 |
commit | 5e8979ad38efdc4de3a69cc53aea33710d478406 (patch) | |
tree | 7712b540e5e067e17e7d074ec5a0884ff21330bd | |
parent | 25bfeb87bbc6266e7e20a2b7fec21b84c8ca0e2c (diff) | |
download | unicorn-5e8979ad38efdc4de3a69cc53aea33710d478406.tar.gz |
Rubinius now supports rb_str_set_len() and sets -fPIC. We shouldn't check for rb_str_modify() since link-time detection is broken under Rubinius and even 1.8.6 has rb_str_modify().
-rw-r--r-- | ext/unicorn_http/ext_help.h | 8 | ||||
-rw-r--r-- | ext/unicorn_http/extconf.rb | 6 |
2 files changed, 3 insertions, 11 deletions
diff --git a/ext/unicorn_http/ext_help.h b/ext/unicorn_http/ext_help.h index 888bd36..cc157cb 100644 --- a/ext/unicorn_http/ext_help.h +++ b/ext/unicorn_http/ext_help.h @@ -10,22 +10,18 @@ #ifndef RUBINIUS # define rb_str_update(x) do {} while (0) -# define rb_str_flush(x) do {} while (0) #endif /* !RUBINIUS */ #ifndef HAVE_RB_STR_SET_LEN # ifdef RUBINIUS -# define rb_str_set_len(str,len) rb_str_resize(str,len) -# else /* 1.8.6 optimized version */ +# error we should never get here with current Rubinius (1.x) +# endif /* this is taken from Ruby 1.8.7, 1.8.6 may not have it */ static void rb_18_str_set_len(VALUE str, long len) { RSTRING(str)->len = len; RSTRING(str)->ptr[len] = '\0'; - rb_str_flush(str); } -# define rb_str_set_len(str,len) rb_18_str_set_len(str,len) -# endif /* ! RUBINIUS */ #endif /* !defined(HAVE_RB_STR_SET_LEN) */ /* not all Ruby implementations support frozen objects (Rubinius does not) */ diff --git a/ext/unicorn_http/extconf.rb b/ext/unicorn_http/extconf.rb index 0c6a186..fabe507 100644 --- a/ext/unicorn_http/extconf.rb +++ b/ext/unicorn_http/extconf.rb @@ -6,9 +6,5 @@ dir_config("unicorn_http") have_macro("SIZEOF_OFF_T", "ruby.h") or check_sizeof("off_t", "sys/types.h") have_macro("SIZEOF_LONG", "ruby.h") or check_sizeof("long", "sys/types.h") have_func("rb_str_set_len", "ruby.h") -have_func("rb_str_modify", "ruby.h") -# -fPIC is needed for Rubinius, MRI already uses it regardless -with_cflags($CFLAGS + " -fPIC ") do - create_makefile("unicorn_http") -end +create_makefile("unicorn_http") |