|
@@ -863,152 +863,10 @@ start_civetweb(int argc, char *argv[])
|
|
* Show system information and exit
|
|
* Show system information and exit
|
|
* This is very useful for diagnosis. */
|
|
* This is very useful for diagnosis. */
|
|
if (argc > 1 && !strcmp(argv[1], "-I")) {
|
|
if (argc > 1 && !strcmp(argv[1], "-I")) {
|
|
- const char *version = mg_version();
|
|
|
|
-#if defined(_WIN32)
|
|
|
|
-#if !defined(__SYMBIAN32__)
|
|
|
|
- DWORD dwVersion = 0;
|
|
|
|
- DWORD dwMajorVersion = 0;
|
|
|
|
- DWORD dwMinorVersion = 0;
|
|
|
|
- SYSTEM_INFO si;
|
|
|
|
-
|
|
|
|
- GetSystemInfo(&si);
|
|
|
|
-
|
|
|
|
-#ifdef _MSC_VER
|
|
|
|
-#pragma warning(push)
|
|
|
|
-// GetVersion was declared deprecated
|
|
|
|
-#pragma warning(disable : 4996)
|
|
|
|
-#endif
|
|
|
|
- dwVersion = GetVersion();
|
|
|
|
-#ifdef _MSC_VER
|
|
|
|
-#pragma warning(pop)
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
- dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
|
|
|
|
- dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
|
|
|
|
|
|
|
|
(void)MakeConsole();
|
|
(void)MakeConsole();
|
|
- fprintf(stdout, "\n%s\n", g_server_name);
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "%s - Windows %u.%u\n",
|
|
|
|
- g_server_base_name,
|
|
|
|
- (unsigned)dwMajorVersion,
|
|
|
|
- (unsigned)dwMinorVersion);
|
|
|
|
-
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "CPU: type %u, cores %u, mask %x\n",
|
|
|
|
- (unsigned)si.wProcessorArchitecture,
|
|
|
|
- (unsigned)si.dwNumberOfProcessors,
|
|
|
|
- (unsigned)si.dwActiveProcessorMask);
|
|
|
|
-
|
|
|
|
-#else
|
|
|
|
- fprintf(stdout, "\n%s\n", g_server_name);
|
|
|
|
- fprintf(stdout, "%s - Symbian\n", g_server_base_name);
|
|
|
|
-#endif
|
|
|
|
-#else
|
|
|
|
- struct utsname name;
|
|
|
|
- memset(&name, 0, sizeof(name));
|
|
|
|
- uname(&name);
|
|
|
|
- fprintf(stdout, "\n%s\n", g_server_name);
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "%s - %s %s (%s) - %s\n",
|
|
|
|
- g_server_base_name,
|
|
|
|
- name.sysname,
|
|
|
|
- name.version,
|
|
|
|
- name.release,
|
|
|
|
- name.machine);
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
- fprintf(stdout, "Features:");
|
|
|
|
- if (mg_check_feature(1)) {
|
|
|
|
- fprintf(stdout, " Files");
|
|
|
|
- }
|
|
|
|
- if (mg_check_feature(2)) {
|
|
|
|
- fprintf(stdout, " HTTPS");
|
|
|
|
- }
|
|
|
|
- if (mg_check_feature(4)) {
|
|
|
|
- fprintf(stdout, " CGI");
|
|
|
|
- }
|
|
|
|
- if (mg_check_feature(8)) {
|
|
|
|
- fprintf(stdout, " IPv6");
|
|
|
|
- }
|
|
|
|
- if (mg_check_feature(16)) {
|
|
|
|
- fprintf(stdout, " WebSockets");
|
|
|
|
- }
|
|
|
|
- if (mg_check_feature(32)) {
|
|
|
|
- fprintf(stdout, " Lua");
|
|
|
|
- }
|
|
|
|
- fprintf(stdout, "\n");
|
|
|
|
-
|
|
|
|
-#ifdef USE_LUA
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "Lua Version: %u (%s)\n",
|
|
|
|
- (unsigned)LUA_VERSION_NUM,
|
|
|
|
- LUA_RELEASE);
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
- fprintf(stdout, "Version: %s\n", version);
|
|
|
|
-
|
|
|
|
- fprintf(stdout, "Build: %s\n", __DATE__);
|
|
|
|
-
|
|
|
|
-/* http://sourceforge.net/p/predef/wiki/Compilers/ */
|
|
|
|
-#if defined(_MSC_VER)
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "MSC: %u (%u)\n",
|
|
|
|
- (unsigned)_MSC_VER,
|
|
|
|
- (unsigned)_MSC_FULL_VER);
|
|
|
|
-#elif defined(__MINGW64__)
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "MinGW64: %u.%u\n",
|
|
|
|
- (unsigned)__MINGW64_VERSION_MAJOR,
|
|
|
|
- (unsigned)__MINGW64_VERSION_MINOR);
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "MinGW32: %u.%u\n",
|
|
|
|
- (unsigned)__MINGW32_MAJOR_VERSION,
|
|
|
|
- (unsigned)__MINGW32_MINOR_VERSION);
|
|
|
|
-#elif defined(__MINGW32__)
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "MinGW32: %u.%u\n",
|
|
|
|
- (unsigned)__MINGW32_MAJOR_VERSION,
|
|
|
|
- (unsigned)__MINGW32_MINOR_VERSION);
|
|
|
|
-#elif defined(__clang__)
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "clang: %u.%u.%u (%s)\n",
|
|
|
|
- __clang_major__,
|
|
|
|
- __clang_minor__,
|
|
|
|
- __clang_patchlevel__,
|
|
|
|
- __clang_version__);
|
|
|
|
-#elif defined(__GNUC__)
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "gcc: %u.%u.%u\n",
|
|
|
|
- (unsigned)__GNUC__,
|
|
|
|
- (unsigned)__GNUC_MINOR__,
|
|
|
|
- (unsigned)__GNUC_PATCHLEVEL__);
|
|
|
|
-#elif defined(__INTEL_COMPILER)
|
|
|
|
- fprintf(stdout, "Intel C/C++: %u\n", (unsigned)__INTEL_COMPILER);
|
|
|
|
-#elif defined(__BORLANDC__)
|
|
|
|
- fprintf(stdout, "Borland C: 0x%x\n", (unsigned)__BORLANDC__);
|
|
|
|
-#elif defined(__SUNPRO_C)
|
|
|
|
- fprintf(stdout, "Solaris: 0x%x\n", (unsigned)__SUNPRO_C);
|
|
|
|
-#else
|
|
|
|
- fprintf(stdout, "Other\n");
|
|
|
|
-#endif
|
|
|
|
- /* Determine 32/64 bit data mode.
|
|
|
|
- * see https://en.wikipedia.org/wiki/64-bit_computing */
|
|
|
|
- fprintf(stdout,
|
|
|
|
- "Data model: i:%u/%u/%u/%u, f:%u/%u/%u, c:%u/%u, "
|
|
|
|
- "p:%u, s:%u, t:%u\n",
|
|
|
|
- (unsigned)sizeof(short),
|
|
|
|
- (unsigned)sizeof(int),
|
|
|
|
- (unsigned)sizeof(long),
|
|
|
|
- (unsigned)sizeof(long long),
|
|
|
|
- (unsigned)sizeof(float),
|
|
|
|
- (unsigned)sizeof(double),
|
|
|
|
- (unsigned)sizeof(long double),
|
|
|
|
- (unsigned)sizeof(char),
|
|
|
|
- (unsigned)sizeof(wchar_t),
|
|
|
|
- (unsigned)sizeof(void *),
|
|
|
|
- (unsigned)sizeof(size_t),
|
|
|
|
- (unsigned)sizeof(time_t));
|
|
|
|
|
|
+ fprintf(stdout, "\n%s (%s)\n", g_server_base_name, g_server_name);
|
|
|
|
+ (void)mg_print_system_info(0, 0);
|
|
|
|
|
|
exit(EXIT_SUCCESS);
|
|
exit(EXIT_SUCCESS);
|
|
}
|
|
}
|