From: arton Date: 2011-05-12T22:15:24+09:00 Subject: [ruby-core:36132] Re: [ruby-cvs:38172] Ruby:r30989 (trunk): * include/ruby/win32.h: define WIN32 if neither _WIN64 nor WIN32 defined. it forces to use push/pop for pack(4) pragma. Hi, The lack of WIN32 causes bad result (compilation error) of conftest for win32 extension libraries. I believe it's not caused by Ruby itself, but the latest Windows SDK's header files for Win64 support. The problem is: - define 'have_header('..') in extconf.rb - mkmf.rb creates conftest.c for the header with some usual ruby's (cf, win32.h). - but no other user specific macro or header are supplied - win32.h includes winsock2.h and it requrires WIN32 or _WIN64 but there is no chance to supply it. - so compilation of conftest.c fails. - building the extension library may fail too. So, it's very harmful for ruby extension library programers without r30989. -- arton