From: Akio Tajima Date: 2011-10-29T20:56:51+09:00 Subject: [ruby-core:40508] [ruby-trunk - Bug #5243][Assigned] VC 2010 Has stdint.h - Patch to Fix Build Files Issue #5243 has been updated by Akio Tajima. Category changed from core to build Status changed from Open to Assigned Assignee set to Akio Tajima Target version deleted (1.9.3) Start date changed from 08/28/2011 to 10/29/2011 ruby -v changed from ruby 1.9.3dev (2011-08-28 revision 33105) [i386-mswin32_100] to ruby 2.0.0dev (2011-10-29) [i386-mswin32_100] I've reproduced the bug and found it's harmful (one can't avoid it). The patch is not fit for x64, so I reconfigure it. Thanks. ---------------------------------------- Bug #5243: VC 2010 Has stdint.h - Patch to Fix Build Files http://redmine.ruby-lang.org/issues/5243 Author: Charlie Savage Status: Assigned Priority: Normal Assignee: Akio Tajima Category: build Target version: ruby -v: ruby 2.0.0dev (2011-10-29) [i386-mswin32_100] VC 2010 added the c99 include file . However, the Ruby makefiles in win32 have not taken this into account. This causes problems when compiling extensions that require . A good example of this is the ffi gem. Here is what happens: 1. From config.h -> typedef signed char int8_t; 2. Then from stdint.h -> typedef signed char int8_t; That turns into: typedef signed char signed char; Which causes this error: c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(17): warning C4114: same type qualifier used more than once c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(17): error C2632: 'char' followed by 'char' is illegal The attached patch updates win32/Makefile.sub to understand that VC2010 and higher have . I have successfully built and tested this patch using VC 2010. -- http://redmine.ruby-lang.org