Diff for /imach/src/imach.c between versions 1.171 and 1.174

version 1.171, 2014/12/23 13:26:59 version 1.174, 2015/01/03 16:15:49
Line 1 Line 1
 /* $Id$  /* $Id$
   $State$    $State$
   $Log$    $Log$
     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 546
   
 #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 5462  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(__GNUC__) 
   #include <gnu/libc-version.h>  /* Only on gnu */
   #endif
   
 #include <stdint.h>  #include <stdint.h>
    printf("Compiled with:");fprintf(ficlog,"Compiled with:");     printf("Compiled with:");fprintf(ficlog,"Compiled with:");
 #if defined(__clang__)  #if defined(__clang__)
Line 5481  void syscompilerinfo() Line 5531  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 5559  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 5530  void syscompilerinfo() Line 5584  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()
      //   {
 #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 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  #endif
         
   /* printf("GNU libc version: %s\n", gnu_get_libc_version()); */  
   
  }   }
   

Removed from v.1.171  
changed lines
  Added in v.1.174


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>