[Win32utils-devel] MSVC and FFI build warnings

Heesob Park phasis at gmail.com
Fri Jan 20 20:03:32 EST 2012

2012/1/21 Daniel Berger <djberg96 at gmail.com>:
> Hi
> <snip>
>> require 'ffi' is actulally require 'ffi.rb'.
>> And in ffi.rb, you can see require 'ffi_c'.
>> I cannot understand why "ffi.so" is created.
>> /ext/ffi_c/extconf.rb creates Makefile for ffi_c.so.
>> Could you show me the generated Makefile?
> VC++ 9 on Windows Vista
> ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mswin32_90]
> I ran ruby extconf.rb using the latest from your repo:
>>ruby extconf.rb
> checking for ffi.h... no
> checking for ffi.h in /usr/local/include... no
> checking for rb_thread_blocking_region()... no
> checking for ruby_thread_has_gvl_p()... no
> checking for ruby_native_thread_p()... no
> checking for rb_thread_call_with_gvl()... no
> creating extconf.h
> creating Makefile
> Here's the Makefile:

Your Makefile looks OK.

In Makefile, TARGET and DLLIB defined as like this:
TARGET = ffi_c

So, after runng Makefile, the result so file is not "ffi.so" but
"ffi_c.so", isn't it?
What's the output of "nmake install"?

In my environment,
C:\work\ffi-ffi-a48ba61\ext\ffi_c>nmake install

Microsoft(R) Program Maintenance Utility Version 9.00.30729.01
Copyright (c) Microsoft Corporation. All rights reserved.

install -c -p -m 0755 ffi_c.so c:\lib\ruby\site_ruby\1.8\i386-msvcr90


Park Heesob

More information about the win32utils-devel mailing list