diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-16 13:50:29 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-16 13:50:29 +0000 |
commit | a8c6a52a1ac9240c15a38f9b9a50b01096e09b41 (patch) | |
tree | 4f98a7f6fb4f72ebc4c5a66b037d99db503738f1 /win32 | |
parent | 8ead78806cd0f3b3e76c953c1f11181b9332db62 (diff) | |
download | ruby-a8c6a52a1ac9240c15a38f9b9a50b01096e09b41.tar.gz |
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
Diffstat (limited to 'win32')
-rw-r--r-- | win32/Makefile.sub | 3 | ||||
-rw-r--r-- | win32/setup.mak | 15 | ||||
-rw-r--r-- | win32/win32.c | 13 |
3 files changed, 28 insertions, 3 deletions
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 <<conftest.c psapi.lib -link && echo>>$(MAKEFILE) HAVE_PSAPI_H=1) & $(WIN32DIR:/=\)\rm.bat conftest.* +#include <windows.h> +#include <psapi.h> +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 <share.h> #include <shlobj.h> #include <mbstring.h> +#ifdef HAVE_PSAPI_H #include <psapi.h> +# define CHECK_CONSOLE_EMULATOR 1 +#else +# define CHECK_CONSOLE_EMULATOR 0 +#endif #include <shlwapi.h> #if _MSC_VER >= 1400 #include <crtdbg.h> @@ -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 * |