aboutsummaryrefslogtreecommitdiffstats
path: root/ext/fiddle
Commit message (Collapse)AuthorAgeFilesLines
* fiddle: check assemblernobu2015-01-111-0/+3
| | | | | | * ext/fiddle/extconf.rb: requires assembler for src/win{32,64}.S. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: fix for old VCnobu2015-01-111-0/+15
| | | | | | | * ext/fiddle/win32/libffi-3.2.1-mswin.patch (include/ffi.h.in): old version VCs did not support long long, use __int64 instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cparser.rb: limit word numbernobu2015-01-031-1/+1
| | | | | | | * ext/fiddle/lib/fiddle/cparser.rb (parse_ctype): limit split word number as the rest are not used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/lib/fiddle/cparser.rb: r49110 brake Fiddle::Import withhsbt2015-01-031-0/+1
| | | | | | | | type_alias * test/fiddle/test_cparser.rb: added type_alias test for parse_ctype and parse_struct_signature. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2015-01-031-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/lib/fiddle/cparser.rb: Support for Fiddle::CParserhsbt2015-01-031-70/+86
| | | | | | | | to handle rich signatures including parameter names and function pointer types. Patch by @theryan [fix GH-590] * test/fiddle/test_cparser.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: append libffi config.lognobu2014-12-301-1/+7
| | | | | | * ext/fiddle/extconf.rb: copy config.log of libffi when failed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* libffi.mk.tmpl: fix STATICLIBnobu2014-12-251-1/+1
| | | | | | | * ext/fiddle/win32/libffi.mk.tmpl (STATICLIB): fix static library name. [ruby-core:67128] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extconf.rb: libffi PIC objectsnobu2014-12-251-2/+3
| | | | | | | * ext/fiddle/extconf.rb: make PIC objects if it will be linked as a shared object eventually. [ruby-core:67128] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/win32/libffi-3.2.1-mswin.patch: support mswin32.usa2014-12-251-3/+47
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: depend rulesnobu2014-12-241-3/+14
| | | | | | | * ext/fiddle/depend: mark PHONY targets, and workaround of unexpected DEPEND_RULES on mswin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: win32/libffi-config.rbnobu2014-12-245-21/+197
| | | | | | | * ext/fiddle/win32/libffi-config.rb: generate necessary files to build on mswin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: remove ffitarget.h generated by configure onusa2014-12-241-0/+3
| | | | | | | | mswin, because it's not normal file (cygwin's symlink) and have system attribute. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: extlibsnobu2014-12-232-0/+134
| | | | | | | * ext/fiddle/extlibs: libffi-3.2.1 and patch for mswin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extconf.rb: no empty CPPnobu2014-12-231-1/+1
| | | | | | | * ext/fiddle/extconf.rb: pass CPP only if necessary, should not make it empty. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extmk.rb: replace current directory namenobu2014-12-231-3/+1
| | | | | | | | * ext/extmk.rb (extmake): replace "./" at beginning in LOCAL_LIBS with the current directory name for values cached in previous Makefile. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: use RMALLnobu2014-12-231-1/+1
| | | | | | | * ext/fiddle/depend (realclean-libffi): use RMALL instead of RMDIRS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: clean-libffinobu2014-12-232-2/+21
| | | | | | * ext/fiddle/depend (clean-libffi): clean libffi directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extconf.rb: try modversion ff pkg_config succeedednobu2014-12-231-2/+2
| | | | | | | * ext/fiddle/extconf.rb: when pkg_config failed, module version is not available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extconf.rb: libffi on mswinnobu2014-12-231-8/+35
| | | | | | | * ext/fiddle/extconf.rb: try to compile libffi as mingw on mswin if possible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extconf.rb: libffi with librubynobu2014-12-222-2/+6
| | | | | | | * ext/fiddle/extconf.rb: link libffi with libruby for symbols provided by ruby on some platforms, e.g. alloca. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extconf.rb: configure libffi firstnobu2014-12-221-14/+25
| | | | | | | * ext/fiddle/extconf.rb: configure libffi for the check requires the headers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: modversion may be unavailablenobu2014-12-211-17/+17
| | | | | | * ext/fiddle/extconf.rb: modversion may be unavailable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: do not disturb other checksnobu2014-12-211-2/+7
| | | | | | | | | * ext/fiddle/extconf.rb: add the local ffi library and header just before create_makefile, not to disturb other checks. also prepend the extension path name to the local library name for static linked ext. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* handle.c: suppress warningsnobu2014-12-211-1/+1
| | | | | | | * ext/fiddle/handle.c (CHECK_DLERROR): suppress warnings for using the result of an assignment as a condition without parentheses. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: fix build failuresnobu2014-12-212-23/+28
| | | | | | | | | | * ext/fiddle/depend (build-libffi): get rid of eventually empty target for nmake. * ext/fiddle/extconf.rb: omit stuffs for libffi unless bundled libffi is found and used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* handle.c: suppress a warningnobu2014-12-211-0/+1
| | | | | | | * ext/fiddle/handle.c (rb_fiddle_handle_initialize): suppress an unused-but-set-variable warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: configure in mflagsnobu2014-12-202-5/+13
| | | | | | | | * ext/fiddle/extconf.rb: configure is already in mflags, use system instead of xsystem which requires a string, and logging libffi configure output. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: bundled libffinobu2014-12-202-13/+76
| | | | | | | * ext/fiddle/depend, ext/fiddle/extconf.rb: try to build bundled libffi if existing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dl/*: remove DL as it is replaced by Fiddle.tenderlove2014-10-312-6/+1
| | | | | | | | | [Feature #5458] Thanks to Jonan Scheffler <jonanscheffler@gmail.com> for this patch * test/dl/*: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext: protoize no-arguments functionsnobu2014-10-042-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* protoize no-arguments functionsnobu2014-09-301-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle/import.rb: fix typonobu2014-09-151-1/+1
| | | | | | | * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo, SIZEOF_LONG_LON. [Fix GH-714] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle/extconf.rb: supply 0nobu2014-06-211-1/+2
| | | | | | | | * ext/fiddle/extconf.rb: supply 0 to fill RUBY_LIBFFI_MODVERSION with 3-digit. libffi 3.1 returns just 2-digit. [ruby-core:62920] [Bug #9897] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle/function.c: fix memory leak on exceptionnobu2014-03-091-4/+5
| | | | | | | * ext/fiddle/function.c (function_call): fix memory leak when an exception occurs at argument conversion or the function call. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle/function.c: check argument sizenobu2014-03-091-0/+14
| | | | | | | * ext/fiddle/function.c (initialize): check argument number if the temporary buffer exceeds size_t max. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/dl, ext/fiddle: fix memory leaknobu2014-03-082-0/+2
| | | | | | | | | * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free), ext/fiddle/handle.c (fiddle_handle_free), ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak. based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use NUM2SIZET instead of NUM2INTkazu2014-02-251-2/+2
| | | | | | | | | | | | | * ext/dl/dl.c (rb_dl_realloc): use NUM2SIZET instead of NUM2INT. * ext/fiddle/fiddle.c (rb_fiddle_realloc): ditto. * ext/dl/dl.c (rb_dl_malloc): use NUM2SIZET instead of NUM2INT. Coverity Scan found this bug. * ext/fiddle/fiddle.c (rb_fiddle_malloc): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.mame2014-01-291-1/+1
| | | | | | [ruby-core:57599] [Bug #8978]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.tenderlove2014-01-281-1/+1
| | | | | | [ruby-core:57599] [Bug #8978]. Thanks mame! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/fiddle: backward compatibilitiesnobu2014-01-152-2/+21
| | | | | | | * ext/fiddle/function.c, ext/fiddle/pointer.c: add macros for backward compatibilities. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* function.c: adjust indentnobu2014-01-151-6/+6
| | | | | | * ext/fiddle/function.c (parse_keyword_arg_i): adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext: real class namenobu2014-01-131-1/+1
| | | | | | | | | | | * ext/dl/cptr.c (rb_dlptr_inspect): use real class name, not singleton class. * ext/fiddle/pointer.c (rb_fiddle_ptr_inspect): ditto. * ext/strscan/strscan.c (strscan_inspect): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext: use rb_sprintf() and rb_vsprintf() with PRIsVALUEnobu2014-01-121-4/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typoscharliesome2013-12-281-1/+1
| | | | | | | | | | | | * ext/fiddle/lib/fiddle/import.rb: ditto * ext/psych/lib/psych.rb: ditto * ext/psych/lib/psych/nodes/sequence.rb: ditto * ext/tk/lib/multi-tk.rb: ditto * ext/tk/lib/tcltk.rb: ditto Closes GH-490 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/*: [DOC] More doc on dlopen and RTLD_DEFAULT from r42186zzak2013-07-262-5/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/lib/fiddle.rb: [DOC] Document Fiddle.dlopen(nil)zzak2013-07-262-3/+13
| | | | | | | * ext/fiddle/handle.c: [DOC] Document Fiddle::Handle.new(nil) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32: movenobu2013-07-133-1258/+0
| | | | | | | | * ext/win32: move from ext/dl and ext/fiddle. since ext/extmk.rb builds extensions in alphabetical order, compiled?('fiddle') under ext/dl makes no sense. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/win32/lib/win32/registry.rbusa2013-07-121-1/+1
| | | | | | | (Win32::Registry::API#make_wstr): same as r41922. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/{dl,fiddle}/win32/lib/win32/registry.rb: hope that the finalusa2013-07-091-31/+47
| | | | | | | | resolution to fix the failure of test-all. and includes Win64 support (fixed a potential bug). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e