ruby-changes:26454
From: usa <ko1@a...>
Date: Thu, 20 Dec 2012 18:47:54 +0900 (JST)
Subject: [ruby-changes:26454] usa:r38505 (ruby_1_9_3): merge revision(s) 38073,38251,38252: [Backport #7552]
usa 2012-12-20 18:45:19 +0900 (Thu, 20 Dec 2012) New Revision: 38505 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=38505 Log: merge revision(s) 38073,38251,38252: [Backport #7552] * ext/fiddle/extconf.rb, ext/fiddle/function.c (Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an enumeration. [ruby-core:50398] [Bug #7483] Modified directories: branches/ruby_1_9_3/ Modified files: branches/ruby_1_9_3/ChangeLog branches/ruby_1_9_3/ext/fiddle/closure.c branches/ruby_1_9_3/ext/fiddle/extconf.rb branches/ruby_1_9_3/ext/fiddle/function.c branches/ruby_1_9_3/version.h Index: ruby_1_9_3/ChangeLog =================================================================== --- ruby_1_9_3/ChangeLog (revision 38504) +++ ruby_1_9_3/ChangeLog (revision 38505) @@ -1,3 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/ruby_1_9_3/ChangeLog#L1 +Thu Dec 20 18:43:00 2012 Naohisa Goto <ngotogenome@g...> + + * ext/fiddle/extconf.rb, ext/fiddle/function.c + (Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an + enumeration. [ruby-core:50398] [Bug #7483] + Thu Dec 20 18:40:25 2012 Nobuyoshi Nakada <nobu@r...> * thread.c (exec_event_hooks): exceptions in event hooks should not Index: ruby_1_9_3/ext/fiddle/function.c =================================================================== --- ruby_1_9_3/ext/fiddle/function.c (revision 38504) +++ ruby_1_9_3/ext/fiddle/function.c (revision 38505) @@ -179,7 +179,7 @@ Init_fiddle_function(void) https://github.com/ruby/ruby/blob/trunk/ruby_1_9_3/ext/fiddle/function.c#L179 */ rb_define_const(cFiddleFunction, "DEFAULT", INT2NUM(FFI_DEFAULT_ABI)); -#ifdef FFI_STDCALL +#ifdef HAVE_CONST_FFI_STDCALL /* * Document-const: STDCALL * @@ -203,7 +203,7 @@ Init_fiddle_function(void) https://github.com/ruby/ruby/blob/trunk/ruby_1_9_3/ext/fiddle/function.c#L203 /* * Document-method: new - * call-seq: new(ptr, *args, ret_type, abi = DEFAULT) + * call-seq: new(ptr, args, ret_type, abi = DEFAULT) * * Constructs a Function object. * * +ptr+ is a referenced function, of a DL::Handle Index: ruby_1_9_3/ext/fiddle/extconf.rb =================================================================== --- ruby_1_9_3/ext/fiddle/extconf.rb (revision 38504) +++ ruby_1_9_3/ext/fiddle/extconf.rb (revision 38505) @@ -19,6 +19,36 @@ end https://github.com/ruby/ruby/blob/trunk/ruby_1_9_3/ext/fiddle/extconf.rb#L19 have_header 'sys/mman.h' +if have_header "dlfcn.h" + have_library "dl" + + %w{ dlopen dlclose dlsym }.each do |func| + abort "missing function #{func}" unless have_func(func) + end + + have_func "dlerror" +elsif have_header "windows.h" + %w{ LoadLibrary FreeLibrary GetProcAddress }.each do |func| + abort "missing function #{func}" unless have_func(func) + end +end + +have_const('FFI_STDCALL', 'ffi.h') || have_const('FFI_STDCALL', 'ffi/ffi.h') + +config = File.read(RbConfig.expand(File.join($arch_hdrdir, "ruby/config.h"))) +types = {"SIZE_T"=>"SSIZE_T", "PTRDIFF_T"=>nil, "INTPTR_T"=>nil} +types.each do |type, signed| + if /^\#define\s+SIZEOF_#{type}\s+(SIZEOF_(.+)|\d+)/ =~ config + if size = $2 and size != 'VOIDP' + size = types.fetch(size) {size} + $defs << format("-DTYPE_%s=TYPE_%s", signed||type, size) + end + if signed + check_signedness(type.downcase, "stddef.h") + end + end +end + create_makefile 'fiddle' # :startdoc: Index: ruby_1_9_3/ext/fiddle/closure.c =================================================================== --- ruby_1_9_3/ext/fiddle/closure.c (revision 38504) +++ ruby_1_9_3/ext/fiddle/closure.c (revision 38505) @@ -284,7 +284,7 @@ Init_fiddle_closure() https://github.com/ruby/ruby/blob/trunk/ruby_1_9_3/ext/fiddle/closure.c#L284 /* * Document-method: new * - * call-seq: new(ret, *args, abi = Fiddle::DEFAULT) + * call-seq: new(ret, args, abi = Fiddle::DEFAULT) * * Construct a new Closure object. * Index: ruby_1_9_3/version.h =================================================================== --- ruby_1_9_3/version.h (revision 38504) +++ ruby_1_9_3/version.h (revision 38505) @@ -1,5 +1,5 @@ https://github.com/ruby/ruby/blob/trunk/ruby_1_9_3/version.h#L1 #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 351 +#define RUBY_PATCHLEVEL 352 #define RUBY_RELEASE_DATE "2012-12-20" #define RUBY_RELEASE_YEAR 2012 Property changes on: ruby_1_9_3 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r38073,38251-38252 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/