aboutsummaryrefslogtreecommitdiffstats
path: root/ext/fiddle/extconf.rb
Commit message (Collapse)AuthorAgeFilesLines
* fiddle: $LOCAL_LIBS needs to be expandednobu2015-07-291-1/+1
| | | | | | | * ext/fiddle/extconf.rb: revert part of r51401 and expand $LOCAL_LIBS as it will be extracted and copied to exts.mk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: unexpand LIBFFI_DIRnobu2015-07-271-3/+4
| | | | | | * ext/fiddle/extconf.rb: use LIBFFI_DIR instead of expanding it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* libff: fix enable-shared conditionnobu2015-03-131-1/+1
| | | | | | | | | | * ext/fiddle/extconf.rb: needs --enable-shared when linked to libruby or fiddle.so. since --with-static-linked-ext does no longer link extensions to ruby program with --enable-shared, the only combination needs --enable-static is --disable-shared and --with-static-linked-ext. [ruby-dev:48901] [Bug #10960] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: --disable-bundled-libffinobu2015-01-171-2/+4
| | | | | | | * ext/fiddle/extconf.rb: disable bundled libffi if explicitly disabled by --disable-bundled-libffi. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 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: 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
* 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
* fiddle: win32/libffi-config.rbnobu2014-12-241-19/+24
| | | | | | | * 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
* 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: clean-libffinobu2014-12-231-2/+4
| | | | | | * 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-221-1/+4
| | | | | | | * 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
* fiddle: fix build failuresnobu2014-12-211-20/+26
| | | | | | | | | | * 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
* fiddle: configure in mflagsnobu2014-12-201-5/+11
| | | | | | | | * 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-201-13/+54
| | | | | | | * 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
* 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
* * ext/fiddle/extconf.rb: ignore rc version of libffi to fix build failure.ktsj2013-05-191-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: define RUBY_LIBFFI_MODVERSION macro.naruse2013-04-101-0/+4
| | | | | | | * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 or 1 with platform and libffi's version. [Bug #3371] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb, ext/fiddle/function.cngoto2012-11-301-0/+2
| | | | | | | (Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an enumeration. [ruby-core:50398] [Bug #7483] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/handle.c: Make Fiddle independent of DL, copy DL::Handletenderlove2012-11-271-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | to Fiddle::Handle. * ext/fiddle/pointer.c: Make Fiddle independent of DL, copy DL::Pointer to Fiddle::Pointer. * test/fiddle/test_func.rb: relevent tests * test/fiddle/test_handle.rb: ditto * test/fiddle/test_pointer.rb: ditto * ext/dl/lib/dl/struct.rb: use Fiddle::Pointer if available * ext/fiddle/extconf.rb: check for dlfcn.h * ext/fiddle/fiddle.c: add constants for sizeof() things * ext/fiddle/fiddle.h: include dlfcn.h * ext/fiddle/function.c: expose a C function for creating new Fiddle::Function objects. * ext/fiddle/lib/fiddle.rb: include constants for dl backwards compat * ext/fiddle/lib/fiddle/function.rb: read the pointer from the function for dl backwards compat. * test/dl/test_callback.rb: check the addresses of the pointers rather than their types. * test/fiddle/helper.rb: remove dependency on dl * test/fiddle/test_closure.rb: ditto * test/fiddle/test_fiddle.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* reverting r37881tenderlove2012-11-271-14/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/handle.c: Make Fiddle independent of DL, copy DL::Handletenderlove2012-11-271-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | to Fiddle::Handle. * ext/fiddle/pointer.c: Make Fiddle independent of DL, copy DL::Pointer to Fiddle::Pointer. * test/fiddle/test_func.rb: relevent tests * test/fiddle/test_handle.rb: ditto * test/fiddle/test_pointer.rb: ditto * ext/dl/lib/dl/struct.rb: use Fiddle::Pointer if available * ext/fiddle/extconf.rb: check for dlfcn.h * ext/fiddle/fiddle.c: add constants for sizeof() things * ext/fiddle/fiddle.h: include dlfcn.h * ext/fiddle/function.c: expose a C function for creating new Fiddle::Function objects. * ext/fiddle/lib/fiddle.rb: include constants for dl backwards compat * ext/fiddle/lib/fiddle/function.rb: read the pointer from the function for dl backwards compat. * test/dl/test_callback.rb: check the addresses of the pointers rather than their types. * test/fiddle/helper.rb: remove dependency on dl * test/fiddle/test_closure.rb: ditto * test/fiddle/test_fiddle.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: Use an exception instaed of bare abort.kosaki2012-05-181-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dl/dl.c (Init_dl): support intrinsic types, size_t, ptrdiff_tnobu2012-02-251-0/+14
| | | | | | | | and intptr_t. [ruby-core:42460][Feature #5992] * ext/fiddle/fiddle.c (Init_fiddle): ditto. * ext/dl/lib/dl/cparser.rb (DL::CParser#parse_ctype): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * Use _WIN32 rather than checking for windows.h. Thanks Jon Forums!tenderlove2011-01-051-1/+0
| | | | | | [ruby-core:33977] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: check for windows.h while building fiddle.tenderlove2010-12-271-0/+1
| | | | | | Thanks Jon Forums! [ruby-core:33923] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: fixing ffi library location on windows.tenderlove2010-11-041-1/+1
| | | | | | Thanks Usa! [ruby-core:32930] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: check ffi.h even when pkg-config succeeded.mame2010-06-151-1/+2
| | | | | | | | On Debian/lenny, which is a "supported" platform, ffi.h is installed in /usr/include/i486-linux-gnu/. This causes build error when using gcc whose target is not i486-linux-gnu. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: De Morgan's laws.eban2010-06-151-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/extconf.rb: use pkg_config to find ffi.h.eban2010-06-151-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/*: Adding fiddle library to wrap libffitenderlove2010-05-061-0/+23
* test/fiddle/*: testing fiddle extension * ext/dl/lib/dl.rb: Requiring fiddle if it is available * ext/dl/lib/dl/callback.rb: using Fiddle if it is available * ext/dl/lib/dl/func.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e