diff --git a/ChangeLog b/ChangeLog index 176d71a210..6218232921 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Apr 16 16:08:18 2012 Nobuyoshi Nakada + + * configure.in (RUBY_MSVCRT_VERSION): define on mingw too. + + * win32/Makefile.sub (config.h): prefix RT_VER with RUBY and make + more descriptive to get rid of potential conflict. + Mon Apr 16 15:19:39 2012 Nobuyoshi Nakada * configure.in (NO_RUBY_VENDOR_LIB): fix missing comma. diff --git a/configure.in b/configure.in index c4692742e0..f7e6f3cd95 100644 --- a/configure.in +++ b/configure.in @@ -343,6 +343,9 @@ AS_CASE(["$target_os"], sed -n '/^[[ ]]*dll name: \(msvc.*\)\.dll$/{s//\1/p;q;}'`], [rb_cv_msvcrt=msvcrt]) test "$rb_cv_msvcrt" = "" && rb_cv_msvcrt=msvcrt]) + RT_VER=`echo "$rb_cv_msvcrt" | tr -cd [0-9]` + test "$RT_VER" = "" && RT_VER=60 + AC_DEFINE_UNQUOTED(RUBY_MSVCRT_VERSION, $RT_VER) ]) : ${enable_shared=yes} ], diff --git a/error.c b/error.c index 10061b46a8..bda0f34539 100644 --- a/error.c +++ b/error.c @@ -288,7 +288,7 @@ rb_bug(const char *fmt, ...) report_bug(file, line, fmt, args); va_end(args); -#if defined(_WIN32) && defined(RT_VER) && RT_VER >= 80 +#if defined(_WIN32) && defined(RUBY_MSVCRT_VERSION) && RUBY_MSVCRT_VERSION >= 80 _set_abort_behavior( 0, _CALL_REPORTFAULT); #endif diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 0bfd05e857..33ea9835d1 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -474,7 +474,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub !if "$(ENABLE_WIN95)" == "yes" && "$(MACHINE)" == "x86" #define WIN95 1 !endif -#define RT_VER $(RT_VER) +#define RUBY_MSVCRT_VERSION $(RT_VER) #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 diff --git a/win32/win32.c b/win32/win32.c index 84c929d371..c114aa7660 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -598,7 +598,7 @@ init_func(void) static void init_stdhandle(void); -#if RT_VER >= 80 +#if RUBY_MSVCRT_VERSION >= 80 /* License: Ruby's */ static void invalid_parameter(const wchar_t *expr, const wchar_t *func, const wchar_t *file, unsigned int line, uintptr_t dummy) @@ -732,7 +732,7 @@ socklist_delete(SOCKET *sockp, int *flagp) void rb_w32_sysinit(int *argc, char ***argv) { -#if RT_VER >= 80 +#if RUBY_MSVCRT_VERSION >= 80 static void set_pioinfo_extra(void); _CrtSetReportMode(_CRT_ASSERT, 0); @@ -2132,7 +2132,7 @@ typedef struct { int lockinitflag; CRITICAL_SECTION lock; #endif -#if RT_VER >= 80 +#if RUBY_MSVCRT_VERSION >= 80 char textmode; char pipech2[2]; #endif @@ -2153,7 +2153,7 @@ static inline ioinfo* _pioinfo(int); #define _osfile(i) (_pioinfo(i)->osfile) #define _pipech(i) (_pioinfo(i)->pipech) -#if RT_VER >= 80 +#if RUBY_MSVCRT_VERSION >= 80 static size_t pioinfo_extra = 0; /* workaround for VC++8 SP1 */ /* License: Ruby's */ @@ -6208,7 +6208,7 @@ rb_w32_fsopen(const char *path, const char *mode, int shflags) } #endif -#if defined(_MSC_VER) && RT_VER <= 60 +#if defined(_MSC_VER) && RUBY_MSVCRT_VERSION <= 60 extern long _ftol(double); /* License: Ruby's */ long