version 1.172, 2014/12/27 12:07:47
|
version 1.175, 2015/01/03 16:33:42
|
Line 1
|
Line 1
|
/* $Id$ |
/* $Id$ |
$State$ |
$State$ |
$Log$ |
$Log$ |
|
Revision 1.175 2015/01/03 16:33:42 brouard |
|
*** empty log message *** |
|
|
|
Revision 1.174 2015/01/03 16:15:49 brouard |
|
Summary: Still in cross-compilation |
|
|
|
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 |
Revision 1.172 2014/12/27 12:07:47 brouard |
Summary: Back from Visual Studio and Intel, options for compiling for Windows XP |
Summary: Back from Visual Studio and Intel, options for compiling for Windows XP |
|
|
Line 5495 BOOL IsWow64()
|
Line 5504 BOOL IsWow64()
|
void syscompilerinfo() |
void syscompilerinfo() |
{ |
{ |
/* #include "syscompilerinfo.h"*/ |
/* #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> |
#include <stdint.h> |
|
int cross = CROSS; |
|
if (cross){ |
|
printf("Cross-"); |
|
fprintf(ficlog,"Cross-"); |
|
} |
printf("Compiled with:");fprintf(ficlog,"Compiled with:"); |
printf("Compiled with:");fprintf(ficlog,"Compiled with:"); |
#if defined(__clang__) |
#if defined(__clang__) |
printf(" Clang/LLVM");fprintf(ficlog," Clang/LLVM"); /* Clang/LLVM. ---------------------------------------------- */ |
printf(" Clang/LLVM");fprintf(ficlog," Clang/LLVM"); /* Clang/LLVM. ---------------------------------------------- */ |
Line 5522 void syscompilerinfo()
|
Line 5539 void syscompilerinfo()
|
#if defined(__SUNPRO_C) || defined(__SUNPRO_CC) |
#if defined(__SUNPRO_C) || defined(__SUNPRO_CC) |
printf(" Oracle Solaris Studio");fprintf(ficlog," Oracle Solaris Studio\n");/* Oracle Solaris Studio. ----------------------------------- */ |
printf(" Oracle Solaris Studio");fprintf(ficlog," Oracle Solaris Studio\n");/* Oracle Solaris Studio. ----------------------------------- */ |
#endif |
#endif |
printf(". ");fprintf(ficlog,". "); |
printf(" for ");fprintf(ficlog," for "); |
|
|
// http://stackoverflow.com/questions/4605842/how-to-identify-platform-compiler-from-preprocessor-macros |
// 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! |
#ifdef _WIN32 // note the underscore: without it, it's not msdn official! |
// Windows (x64 and x86) |
// Windows (x64 and x86) |
|
printf("Windows (x64 and x86) ");fprintf(ficlog,"Windows (x64 and x86) "); |
#elif __unix__ // all unices, not all compilers |
#elif __unix__ // all unices, not all compilers |
// Unix |
// Unix |
|
printf("Unix ");fprintf(ficlog,"Unix "); |
#elif __linux__ |
#elif __linux__ |
// linux |
// linux |
|
printf("linux ");fprintf(ficlog,"linux "); |
#elif __APPLE__ |
#elif __APPLE__ |
// Mac OS, not sure if this is covered by __posix__ and/or __unix__ though... |
// Mac OS, not sure if this is covered by __posix__ and/or __unix__ though.. |
|
printf("Mac OS ");fprintf(ficlog,"Mac OS "); |
#endif |
#endif |
|
|
/* __MINGW32__ */ |
/* __MINGW32__ */ |
Line 5546 void syscompilerinfo()
|
Line 5567 void syscompilerinfo()
|
/* _DEBUG // Defined when you compile with /LDd, /MDd, and /MTd. */ |
/* _DEBUG // Defined when you compile with /LDd, /MDd, and /MTd. */ |
|
|
#if UINTPTR_MAX == 0xffffffff |
#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 |
#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 |
#else |
printf(" wtf-bit.\n"); fprintf(ficlog," wtf-bit.\n");/* wtf */ |
printf(" wtf-bit"); fprintf(ficlog," wtf-bit");/* wtf */ |
#endif |
#endif |
|
|
/* struct utsname sysInfo; |
/* struct utsname sysInfo; |
Line 5571 void syscompilerinfo()
|
Line 5592 void syscompilerinfo()
|
# define __GNUC_VERSION__ (__GNUC__ * 10000 \ |
# define __GNUC_VERSION__ (__GNUC__ * 10000 \ |
+ __GNUC_MINOR__ * 100) |
+ __GNUC_MINOR__ * 100) |
# endif |
# endif |
printf("GNU C version %d.\n", __GNUC_VERSION__); |
printf(" using GNU C version %d.\n", __GNUC_VERSION__); |
fprintf(ficlog, "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 |
#endif |
|
|
// void main() |
// void main() |
// { |
// { |
#if defined(_MSC_VER) |
#if defined(_MSC_VER) |
if (IsWow64()) |
if (IsWow64()){ |
printf("The process is running under WOW64.\n"); |
printf("The program (probably compile for 32bit) is running under WOW64 (64bit) emulation.\n"); |
else |
fprintf(ficlog, "The program (ie 32bit) is running under WOW64 (64bit) emulation.\n"); |
printf("The process is not running under WOW64.\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..."); |
// printf("\nPress Enter to continue..."); |
// getchar(); |
// getchar(); |
// } |
// } |
|
|
#endif |
#endif |
|
|
/* printf("GNU libc version: %s\n", gnu_get_libc_version()); */ |
|
|
|
} |
} |
|
|