/* $Id$
$State$
$Log$
+ Revision 1.173 2015/01/03 12:06:26 brouard
+ Summary: trying to detect cross-compilation
+
Revision 1.172 2014/12/27 12:07:47 brouard
Summary: Back from Visual Studio and Intel, options for compiling for Windows XP
void syscompilerinfo()
{
/* #include "syscompilerinfo.h"*/
- /* #include <gnu/libc-version.h> */ /* Only on gnu */
+#if defined(__GNUC__)
+#include <gnu/libc-version.h> /* Only on gnu */
+#endif
+
#include <stdint.h>
printf("Compiled with:");fprintf(ficlog,"Compiled with:");
#if defined(__clang__)
#if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
printf(" Oracle Solaris Studio");fprintf(ficlog," Oracle Solaris Studio\n");/* Oracle Solaris Studio. ----------------------------------- */
#endif
- printf(". ");fprintf(ficlog,". ");
+ printf(" for ");fprintf(ficlog," for ");
// http://stackoverflow.com/questions/4605842/how-to-identify-platform-compiler-from-preprocessor-macros
#ifdef _WIN32 // note the underscore: without it, it's not msdn official!
// Windows (x64 and x86)
- printf("Windows (x64 and x86). ");fprintf(ficlog,"Windows (x64 and x86). ");
+ printf("Windows (x64 and x86) ");fprintf(ficlog,"Windows (x64 and x86) ");
#elif __unix__ // all unices, not all compilers
// Unix
- printf("Unix. ");fprintf(ficlog,"Unix. ");
+ printf("Unix ");fprintf(ficlog,"Unix ");
#elif __linux__
// linux
- printf("linux. ");fprintf(ficlog,"linux. ");
+ printf("linux ");fprintf(ficlog,"linux ");
#elif __APPLE__
- // Mac OS, not sure if this is covered by __posix__ and/or __unix__ though...
- printf("Mac OS. ");fprintf(ficlog,"Mac OS. ");
+ // Mac OS, not sure if this is covered by __posix__ and/or __unix__ though..
+ printf("Mac OS ");fprintf(ficlog,"Mac OS ");
#endif
/* __MINGW32__ */
/* _DEBUG // Defined when you compile with /LDd, /MDd, and /MTd. */
#if UINTPTR_MAX == 0xffffffff
- printf(" 32-bit.\n"); fprintf(ficlog," 32-bit.\n");/* 32-bit */
+ printf(" 32-bit"); fprintf(ficlog," 32-bit");/* 32-bit */
#elif UINTPTR_MAX == 0xffffffffffffffff
- printf(" 64-bit.\n"); fprintf(ficlog," 64-bit.\n");/* 64-bit */
+ printf(" 64-bit"); fprintf(ficlog," 64-bit");/* 64-bit */
#else
- printf(" wtf-bit.\n"); fprintf(ficlog," wtf-bit.\n");/* wtf */
+ printf(" wtf-bit"); fprintf(ficlog," wtf-bit");/* wtf */
#endif
/* struct utsname sysInfo;
# define __GNUC_VERSION__ (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100)
# endif
- printf("GNU C version %d.\n", __GNUC_VERSION__);
- fprintf(ficlog, "GNU C version %d.\n", __GNUC_VERSION__);
+ printf(" using GNU C version %d.\n", __GNUC_VERSION__);
+ fprintf(ficlog, " using GNU C version %d.\n", __GNUC_VERSION__);
+ printf("GNU libc version: %s\n", gnu_get_libc_version());
+ fprintf(ficlog,"GNU libc version: %s\n", gnu_get_libc_version());
+
#endif
// void main()
// {
#if defined(_MSC_VER)
- if (IsWow64())
- printf("The process is running under WOW64.\n");
- else
- printf("The process is not running under WOW64.\n");
-
+ if (IsWow64()){
+ printf("The program (probably compile for 32bit) is running under WOW64 (64bit) emulation.\n");
+ fprintf(ficlog, "The program (ie 32bit) is running under WOW64 (64bit) emulation.\n");
+ }
+ else{
+ printf("The process is not running under WOW64 (i.e probably on a 64bits windows).\n");
+ frintf(ficlog,"The programm is not running under WOW64 (i.e probably on a 64bits windows).\n");
+ }
// printf("\nPress Enter to continue...");
// getchar();
// }
#endif
- /* printf("GNU libc version: %s\n", gnu_get_libc_version()); */
}