]> henry.ined.fr Git - .git/commitdiff
Summary: Still in cross-compilation
authorN. Brouard <brouard@ined.fr>
Sat, 3 Jan 2015 16:15:49 +0000 (16:15 +0000)
committerN. Brouard <brouard@ined.fr>
Sat, 3 Jan 2015 16:15:49 +0000 (16:15 +0000)
src/imach.c

index a51d0b1cd395b1a73f3b2683818fb41a3681c4c7..5f2b2476af1f160275b1d0a36a2824d3b18629b3 100644 (file)
@@ -1,6 +1,9 @@
 /* $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
 
@@ -5495,7 +5498,10 @@ BOOL IsWow64()
 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__)
@@ -5522,21 +5528,21 @@ void syscompilerinfo()
 #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__          */
@@ -5550,11 +5556,11 @@ void syscompilerinfo()
 /* _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;
@@ -5575,25 +5581,30 @@ void syscompilerinfo()
 #  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()); */
 
  }