diff --git a/src/frontend/com_sysinfo.c b/src/frontend/com_sysinfo.c index 41056c5c7..1bad409b6 100644 --- a/src/frontend/com_sysinfo.c +++ b/src/frontend/com_sysinfo.c @@ -24,7 +24,7 @@ #undef BOOLEAN #include "windows.h" #include - +#include #endif #include "stdio.h" @@ -381,9 +381,8 @@ get_sysmem(struct sys_memory *memall) TesError tesCreateSystemInfo(TesSystemInfo *info) { - OSVERSIONINFOA version; - char *versionStr = NULL, *procStr, *freeStr; - DWORD major, minor; + char *procStr, *freeStr; + char mversion[32]; DWORD dwLen = 0; HKEY hkBaseCPU; LONG lResult; @@ -392,61 +391,63 @@ tesCreateSystemInfo(TesSystemInfo *info) GetSystemInfo(&sysinfo); info->numPhysicalProcessors = 0; - info->numLogicalProcessors = sysinfo.dwNumberOfProcessors; //atoi(getenv("NUMBER_OF_PROCESSORS")); + info->numLogicalProcessors = sysinfo.dwNumberOfProcessors; info->osName = NULL; + mversion[0] = '\0'; - version.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); - if (GetVersionExA(&version) == 0) - return TES_FAIL; - - major = version.dwMajorVersion; - minor = version.dwMinorVersion; - switch (major) { - case 4: - if (minor == 0) - versionStr = "Windows 95/NT4.0"; - else if (minor == 10) - versionStr = "Windows 98"; - else if (minor == 90) - versionStr = "Windows ME"; - break; - case 5: - if (minor == 0) - versionStr = "Windows 2000"; - else if (minor == 1) - versionStr = "Windows XP"; - else if (minor == 2) - versionStr = "Windows Server 2003"; - break; - case 6: - if (minor == 0) - versionStr = "Windows Vista"; - else if (minor == 1) - versionStr = "Windows 7"; - else if (minor == 2) - versionStr = "Windows 8"; - else if (minor == 3) - versionStr = "Windows 8.1"; - break; - case 10: - if (minor == 0) - versionStr = "Windows 10"; - break; - default: - break; + if (IsWindowsXPOrGreater()) { + strcpy(mversion, "Windows XP"); } - if (versionStr != NULL) { - size_t lengthCSD = strlen(version.szCSDVersion); - size_t lengthVer = strlen(versionStr); - - info->osName = TMALLOC(char, lengthVer + lengthCSD + 2); - memcpy(info->osName, versionStr, lengthVer); - memcpy(info->osName + lengthVer + 1, version.szCSDVersion, lengthCSD); - info->osName[lengthVer] = ' '; - info->osName[lengthVer + lengthCSD + 1] = '\0'; + if (IsWindowsXPSP1OrGreater()) { + strcpy(mversion, "Windows XP Service Pack 1"); } + if (IsWindowsXPSP2OrGreater()) { + strcpy(mversion, "Windows XP Service Pack 2"); + } + + if (IsWindowsXPSP3OrGreater()) { + strcpy(mversion, "Windows XP Service Pack 3"); + } + + if (IsWindowsVistaOrGreater()) { + strcpy(mversion, "Windows Vista"); + } + + if (IsWindowsVistaSP1OrGreater()) { + strcpy(mversion, "Windows Vista Service Pack 1"); + } + + if (IsWindowsVistaSP2OrGreater()) { + strcpy(mversion, "Windows Vista Service Pack 2"); + } + + if (IsWindows7OrGreater()) { + strcpy(mversion, "Windows 7"); + } + + if (IsWindows7SP1OrGreater()) { + strcpy(mversion, "Windows 7 Service Pack 1"); + } + + if (IsWindows8OrGreater()) { + strcpy(mversion, "Windows 8"); + } + if (IsWindows8Point1OrGreater()) { + strcpy(mversion, "Windows 8.1"); + } +#if (_MSC_PLATFORM_TOOLSET > 140) + if (IsWindows10OrGreater()) { + strcpy(mversion, "Windows 10"); + } +#endif + if (IsWindowsServer()) { + printf("Server\n"); + } + + if (mversion[0] != '\0') + info->osName = tprintf("%s", mversion); lResult = RegOpenKeyExA(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", diff --git a/visualc/sharedspice.vcxproj b/visualc/sharedspice.vcxproj index 71fd47dd4..cf35a0786 100644 --- a/visualc/sharedspice.vcxproj +++ b/visualc/sharedspice.vcxproj @@ -113,7 +113,7 @@ Disabled ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;NGDEBUG;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) false false false @@ -156,7 +156,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) false MultiThreaded @@ -197,7 +197,7 @@ Disabled ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;NGDEBUG;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) false false false @@ -245,7 +245,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) false @@ -288,7 +288,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;USE_OMP;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) false MultiThreaded @@ -332,7 +332,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;USE_OMP;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) false diff --git a/visualc/vngspice.vcxproj b/visualc/vngspice.vcxproj index c2769c32c..a3899384e 100644 --- a/visualc/vngspice.vcxproj +++ b/visualc/vngspice.vcxproj @@ -1,4 +1,4 @@ - + @@ -206,7 +206,7 @@ Disabled ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;NGDEBUG;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) false @@ -249,7 +249,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) false @@ -297,7 +297,7 @@ Disabled ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;NGDEBUG;CONFIG64;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONFIG64;%(PreprocessorDefinitions) false @@ -345,7 +345,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;CONFIG64;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONFIG64;%(PreprocessorDefinitions) false @@ -392,7 +392,7 @@ Disabled ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;NGDEBUG;CONSOLE;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;%(PreprocessorDefinitions) false @@ -435,7 +435,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;CONSOLE;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;%(PreprocessorDefinitions) false @@ -481,7 +481,7 @@ Disabled ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;NGDEBUG;CONSOLE;CONFIG64;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;CONFIG64;%(PreprocessorDefinitions) false @@ -529,7 +529,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;CONSOLE;CONFIG64;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;%(PreprocessorDefinitions) false @@ -577,7 +577,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;USE_OMP;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) false @@ -627,7 +627,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;USE_OMP;CONFIG64;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;CONFIG64;%(PreprocessorDefinitions) false @@ -678,7 +678,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;CONSOLE;USE_OMP;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;USE_OMP;%(PreprocessorDefinitions) false @@ -728,7 +728,7 @@ Speed true ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\include;..\src\spicelib\parser;.;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;CONSOLE;CONFIG64;USE_OMP;%(PreprocessorDefinitions) + _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;USE_OMP;%(PreprocessorDefinitions) false