Issue #5243 has been updated by Charlie Savage.


Thanks!
----------------------------------------
Bug #5243: VC 2010 Has stdint.h - Patch to Fix Build Files
http://redmine.ruby-lang.org/issues/5243

Author: Charlie Savage
Status: Closed
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 <stdint.h>.  However, the Ruby makefiles in win32 have not taken this into account.

This causes problems when compiling extensions that require <stdint.h>.  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 <stdint.h>.  I have successfully built and tested this patch using VC 2010.


-- 
http://redmine.ruby-lang.org