version 1.171, 2014/12/23 13:26:59
|
version 1.177, 2015/01/03 18:40:56
|
Line 1
|
Line 1
|
/* $Id$ |
/* $Id$ |
$State$ |
$State$ |
$Log$ |
$Log$ |
|
Revision 1.177 2015/01/03 18:40:56 brouard |
|
Summary: Still testing ilc32 on OSX |
|
|
|
Revision 1.176 2015/01/03 16:45:04 brouard |
|
*** empty log message *** |
|
|
|
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 |
|
Summary: Back from Visual Studio and Intel, options for compiling for Windows XP |
|
|
Revision 1.171 2014/12/23 13:26:59 brouard |
Revision 1.171 2014/12/23 13:26:59 brouard |
Summary: Back from Visual C |
Summary: Back from Visual C |
|
|
Line 537
|
Line 555
|
|
|
#ifdef _WIN32 |
#ifdef _WIN32 |
#include <io.h> |
#include <io.h> |
|
#include <windows.h> |
|
#include <tchar.h> |
#else |
#else |
#include <unistd.h> |
#include <unistd.h> |
#endif |
#endif |
Line 5451 int calandcheckages(int imx, int maxwav,
|
Line 5471 int calandcheckages(int imx, int maxwav,
|
return (1); |
return (1); |
} |
} |
|
|
|
#if defined(_MSC_VER) |
|
/*printf("Visual C++ compiler: %s \n;", _MSC_FULL_VER);*/ |
|
/*fprintf(ficlog, "Visual C++ compiler: %s \n;", _MSC_FULL_VER);*/ |
|
//#include "stdafx.h" |
|
//#include <stdio.h> |
|
//#include <tchar.h> |
|
//#include <windows.h> |
|
//#include <iostream> |
|
typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); |
|
|
|
LPFN_ISWOW64PROCESS fnIsWow64Process; |
|
|
|
BOOL IsWow64() |
|
{ |
|
BOOL bIsWow64 = FALSE; |
|
|
|
//typedef BOOL (APIENTRY *LPFN_ISWOW64PROCESS) |
|
// (HANDLE, PBOOL); |
|
|
|
//LPFN_ISWOW64PROCESS fnIsWow64Process; |
|
|
|
HMODULE module = GetModuleHandle(_T("kernel32")); |
|
const char funcName[] = "IsWow64Process"; |
|
fnIsWow64Process = (LPFN_ISWOW64PROCESS) |
|
GetProcAddress(module, funcName); |
|
|
|
if (NULL != fnIsWow64Process) |
|
{ |
|
if (!fnIsWow64Process(GetCurrentProcess(), |
|
&bIsWow64)) |
|
//throw std::exception("Unknown error"); |
|
printf("Unknown error\n"); |
|
} |
|
return bIsWow64 != FALSE; |
|
} |
|
#endif |
|
|
void syscompilerinfo() |
void syscompilerinfo() |
{ |
{ |
/* #include "syscompilerinfo.h"*/ |
/* #include "syscompilerinfo.h"*/ |
/* #include <gnu/libc-version.h> */ /* Only on gnu */ |
|
|
#if defined __INTEL_COMPILER |
|
struct utsname sysInfo; |
|
#elif defined(__GNUC__) |
|
#include <gnu/libc-version.h> /* Only on gnu */ |
|
struct utsname sysInfo; |
|
#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 5481 void syscompilerinfo()
|
Line 5550 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 5505 void syscompilerinfo()
|
Line 5578 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; |
|
|
|
if (uname(&sysInfo) != -1) { |
|
printf(" %s %s %s %s %s\n",sysInfo.sysname, sysInfo.nodename, sysInfo.release, sysInfo.version, sysInfo.machine); |
|
fprintf(ficlog," %s %s %s %s %s\n ",sysInfo.sysname, sysInfo.nodename, sysInfo.release, sysInfo.version, sysInfo.machine); |
|
} |
|
else |
|
perror("uname() error"); |
|
*/ |
|
#if defined(__GNUC__) |
#if defined(__GNUC__) |
# if defined(__GNUC_PATCHLEVEL__) |
# if defined(__GNUC_PATCHLEVEL__) |
# define __GNUC_VERSION__ (__GNUC__ * 10000 \ |
# define __GNUC_VERSION__ (__GNUC__ * 10000 \ |
Line 5530 void syscompilerinfo()
|
Line 5594 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__); |
|
|
|
if (uname(&sysInfo) != -1) { |
|
printf("Running on: %s %s %s %s %s\n",sysInfo.sysname, sysInfo.nodename, sysInfo.release, sysInfo.version, sysInfo.machine); |
|
fprintf(ficlog,"Running on: %s %s %s %s %s\n ",sysInfo.sysname, sysInfo.nodename, sysInfo.release, sysInfo.version, sysInfo.machine); |
|
} |
|
else |
|
perror("uname() error"); |
|
#ifndef __INTEL_COMPILER |
|
printf("GNU libc version: %s\n", gnu_get_libc_version()); |
|
fprintf(ficlog,"GNU libc version: %s\n", gnu_get_libc_version()); |
|
#endif |
#endif |
#endif |
|
|
|
// void main() |
|
// { |
#if defined(_MSC_VER) |
#if defined(_MSC_VER) |
/*printf("Visual C++ compiler: %s \n;", _MSC_FULL_VER);*/ |
if (IsWow64()){ |
/*fprintf(ficlog, "Visual C++ compiler: %s \n;", _MSC_FULL_VER);*/ |
printf("The program (probably compiled for 32bit) is running under WOW64 (64bit) emulation.\n"); |
|
fprintf(ficlog, "The program (probably compiled for 32bit) is running under WOW64 (64bit) emulation.\n"); |
|
} |
|
else{ |
|
printf("The process is not running under WOW64 (i.e probably on a 64bit Windows).\n"); |
|
frintf(ficlog,"The programm is not running under WOW64 (i.e probably on a 64bit Windows).\n"); |
|
} |
|
// printf("\nPress Enter to continue..."); |
|
// getchar(); |
|
// } |
|
|
#endif |
#endif |
|
|
/* printf("GNU libc version: %s\n", gnu_get_libc_version()); */ |
|
|
|
} |
} |
|
|