[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
DLLIB = $(TARGET).so

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


Regards,

Park Heesob


More information about the win32utils-devel mailing list