From a8c6a52a1ac9240c15a38f9b9a50b01096e09b41 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 16 Oct 2013 13:50:29 +0000 Subject: win32/setup.mak: check psapi.h * win32/setup.mak (check-psapi.h): check if psapi.h is available. * win32/win32.c (CHECK_CONSOLE_EMULATOR): enable console emulator DLL check only when psapi.h is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- win32/Makefile.sub | 3 +++ win32/setup.mak | 15 ++++++++++++--- win32/win32.c | 13 +++++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) (limited to 'win32') diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 39c63b9dcf..02e7339ad6 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -678,6 +678,9 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub #define HAVE_DAYLIGHT 1 #define HAVE_GMTIME_R 1 #define HAVE_TYPE_NET_LUID 1 +!if defined(HAVE_PSAPI_H) && $(HAVE_PSAPI_H) +#define HAVE_PSAPI_H 1 +!endif #define SETPGRP_VOID 1 #define RSHIFT(x,y) ((x)>>(int)y) #define HAVE_RB_FD_INIT 1 diff --git a/win32/setup.mak b/win32/setup.mak index 515271b85e..aa1a754cdd 100644 --- a/win32/setup.mak +++ b/win32/setup.mak @@ -70,11 +70,11 @@ USE_RUBYGEMS = $(USE_RUBYGEMS) @echo !endif>> $(MAKEFILE) !endif --system-vars-: -osname- -runtime- +-system-vars-: -osname- -runtime- -headers- --system-vars32-: -osname32- -runtime- +-system-vars32-: -osname32- -runtime- -headers- --system-vars64-: -osname64- -runtime- +-system-vars64-: -osname64- -runtime- -headers- -osname32-: nul @echo TARGET_OS = mswin32>>$(MAKEFILE) @@ -100,6 +100,15 @@ int main(void) {FILE *volatile f = stdin; return 0;} @$(WIN32DIR:/=\)\rtname conftest.exe >>$(MAKEFILE) @$(WIN32DIR:/=\)\rm.bat conftest.* +-headers-: check-psapi.h + +check-psapi.h: nul + ($(CC) -MD <>$(MAKEFILE) HAVE_PSAPI_H=1) & $(WIN32DIR:/=\)\rm.bat conftest.* +#include +#include +int main(void) {return (EnumProcesses(NULL,0,NULL) ? 0 : 1);} +<< + -version-: nul @$(APPEND) @$(CPP) -I$(srcdir) -I$(srcdir)/include <<"Creating $(MAKEFILE)" | findstr "=" >>$(MAKEFILE) diff --git a/win32/win32.c b/win32/win32.c index 85daa61e88..46bdbf99e4 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -39,7 +39,12 @@ #include #include #include +#ifdef HAVE_PSAPI_H #include +# define CHECK_CONSOLE_EMULATOR 1 +#else +# define CHECK_CONSOLE_EMULATOR 0 +#endif #include #if _MSC_VER >= 1400 #include @@ -606,7 +611,11 @@ static CRITICAL_SECTION select_mutex; static int NtSocketsInitialized = 0; static st_table *socklist = NULL; static st_table *conlist = NULL; +#if CHECK_CONSOLE_EMULATOR #define conlist_disabled ((st_table *)-1) +#else +#define conlist_disabled ((st_table *)NULL) +#endif static char *envarea; static char *uenvarea; @@ -5834,6 +5843,7 @@ rb_w32_pipe(int fds[2]) return 0; } +#if CHECK_CONSOLE_EMULATOR /* License: Ruby's */ static int console_emulator_p(void) @@ -5860,6 +5870,9 @@ console_emulator_p(void) return 0; } +#else +#define console_emulator_p() 0 +#endif /* License: Ruby's */ static struct constat * -- cgit v1.2.3