* ext/openssl/extconf.rb: check for functions added in 1.9.

* ext/openssl/ruby_missing.h: check per features instead by
  checking version code.  [ruby-core:10845]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2007-04-03 07:21:53 +00:00
Родитель 8b95ee24de
Коммит 043479247c
3 изменённых файлов: 20 добавлений и 11 удалений

Просмотреть файл

@ -1,3 +1,10 @@
Tue Apr 3 16:22:24 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/openssl/extconf.rb: check for functions added in 1.9.
* ext/openssl/ruby_missing.h: check per features instead by
checking version code. [ruby-core:10845]
Tue Apr 3 02:48:48 2007 Technorama <oss-ruby@technorama.net>
* ext/openssl/ossl_bn.c: More documentation.

Просмотреть файл

@ -59,6 +59,8 @@ unless have_header("openssl/conf_api.h")
exit 1
end
%w"rb_str_set_len rb_block_call".each {|func| have_func(func, "ruby.h")}
message "=== Checking for OpenSSL features... ===\n"
have_func("ERR_peek_last_error")
have_func("BN_mod_add")

Просмотреть файл

@ -9,33 +9,33 @@
* (See the file 'LICENCE'.)
*/
#if !defined(_OSSL_RUBY_MISSING_H_)
#define _OSS_RUBY_MISSING_H_
#include "version.h"
#define _OSSL_RUBY_MISSING_H_
#define rb_define_copy_func(klass, func) \
rb_define_method(klass, "initialize_copy", func, 1)
#if RUBY_VERSION_CODE >= 190
#ifndef GetReadFile
#define FPTR_TO_FD(fptr) (fptr->fd)
#else
#define FPTR_TO_FD(fptr) (fileno(GetReadFile(fptr)))
#endif
#ifndef HAVE_RB_IO_T
#define rb_io_t OpenFile
#define FPTR_TO_FD(fptr) (fileno(fptr->f))
#endif
#ifndef HAVE_RB_STR_SET_LEN
/* these methods should probably be backported to 1.8 */
#define rb_str_set_len(str, length) do { \
RSTRING(str)->ptr[length] = 0; \
RSTRING(str)->len = length; \
} while(0)
#endif /* ! HAVE_RB_STR_SET_LEN */
#ifndef HAVE_RB_BLOCK_CALL
/* the openssl module doesn't use arg[3-4] and arg2 is always rb_each */
#define rb_block_call(arg1, arg2, arg3, arg4, arg5, arg6) rb_iterate(rb_each, arg1, arg5, arg6)
#endif /* ! HAVE_RB_BLOCK_CALL */
#endif /* RUBY_VERSION_CODE >= 190 */
#endif /* _OSS_RUBY_MISSING_H_ */
#endif /* _OSSL_RUBY_MISSING_H_ */