fbxarch.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00034 #ifndef _FBXSDK_CORE_ARCH_ARCH_H_
00035 #define _FBXSDK_CORE_ARCH_ARCH_H_
00036 
00037 //------------------------------------------------------------------------------------
00038 
00039 #if defined(_WIN32) || defined(_WIN64)  //Windows
00040 
00041     #define FBXSDK_ENV_WIN 1
00042 
00043     #if defined(_M_X64)
00044         #define FBXSDK_ARCH_64 1
00045     #elif defined(_M_IX86)
00046         #define FBXSDK_ARCH_32 1
00047     #else
00048         #error Unsupported architecture!
00049     #endif
00050 
00051     #if defined(_MSC_VER)
00052         #define FBXSDK_COMPILER_MSC 1
00053     #elif defined(__GNUC__)
00054         #define FBXSDK_COMPILER_GNU 1
00055     #elif defined(__ICL)
00056         #define FBXSDK_COMPILER_INTEL 1
00057     #else
00058         #error Unsupported compiler!
00059     #endif
00060 
00061 #elif defined(__APPLE__) || defined(__MACH__)   //MacOS/X
00062 
00063     #define FBXSDK_ENV_MAC 1
00064 
00065     #if defined(__i386__)
00066         #define FBXSDK_ARCH_32 1
00067     #elif defined(__x86_64__) || defined(__x86_64)
00068         #define FBXSDK_ARCH_64 1
00069     #else
00070         #error Unsupported architecture!
00071     #endif
00072 
00073     #define FBXSDK_COMPILER_GNU 1
00074 
00075 #elif defined(__linux__) || defined(__CYGWIN__) //Linux
00076 
00077     #define FBXSDK_ENV_LINUX 1
00078 
00079     #if defined(__i386__)
00080         #define FBXSDK_ARCH_32 1
00081     #elif defined(__x86_64__) || defined(__x86_64)
00082         #define FBXSDK_ARCH_64 1
00083     #else
00084         #error Unsupported architecture!
00085     #endif
00086 
00087     #define FBXSDK_COMPILER_GNU 1
00088 
00089 #else
00090     #error Unsupported platform!
00091 #endif
00092 
00093 #if defined(FBXSDK_SHARED) && defined(FBXSDK_ENV_WIN)
00094     #define FBXSDK_DLLIMPORT __declspec(dllimport)
00095     #define FBXSDK_DLLEXPORT __declspec(dllexport)
00096 #else
00097     #define FBXSDK_DLLIMPORT
00098     #define FBXSDK_DLLEXPORT
00099 #endif
00100 
00101 #ifndef FBXSDK_DLL
00102     #define FBXSDK_DLL FBXSDK_DLLIMPORT
00103 #endif
00104 
00105 #endif /* _FBXSDK_CORE_ARCH_ARCH_H_ */