/*********************************************************************************************
 *                                                                                           *
 *                                                                                           *
 *   Copyright 1989-2018 by AutoDesSys, Inc.                                                 *
 *                                                                                           *
 *   This software and its associated documentation contains proprietary,                    *
 *   confidential, and trade secret information of AutoDesSys Inc. and may not be            *
 *   disclosed, copied in any form, or used for any purpose except as specifically           *
 *   permitted in writing by AutoDesSys, Inc.                                                *
 *                                                                                           *
 *   AutoDesSys, Inc. grants permission to use the software to those who purchase            *
 *   a license.  Such a usage will be made according to the terms and conditions             *
 *   specified in the license agreement to which a licensee agrees before installing         *
 *   and commencing usage of the software.  The license agreement can be found               *
 *   on the envelop that contains the software CD.                                           *
 *                                                                                           *
 *   AutoDesSys, Inc. also grants permission to licensees to develop extensions to           *
 *   the software, which can be in the form of scripts or plugins.  The permission           *
 *   includes calling the API and call back functions provided by AutoDesSys, Inc.           *
 *   and accessing information relevant to these functions and the general workings          *
 *   of form.Z, but only up to the point to which AutoDesSys, Inc. has chosen to             *
 *   expose, through its form.Z SDK Manual.  All extensions developed by third               *
 *   parties will include a copy of this copyright note in an easily accessible place or     *
 *   a clear instruction to read this original note by AutoDesSys, Inc.                      *
 *                                                                                           *
 *   All the software distributed under a license, either for the purpose of using it or     *
 *   for the purpose of developing extensions, is distributed AS IS, WITHOUT                 *
 *   WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND                                    *
 *   AutoDesSys, Inc. HEREBY DISCLAIMS ALL SUCH WARRANTIES,                                  *
 *   INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF                                         *
 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.                                    *
 *                                                                                           *
 *   formZ, RenderZone, and RadioZity are registered trademarks of AutoDesSys, Inc.          *
 *                                                                                           *
 *   form.Z SDK, Version 8.6.3, Dec 03, 2018                                                 *
 *                                                                                           *
 *                                                                                           *
 *********************************************************************************************/


#ifndef __FZRT_FORMZ_PLATFORM_H
#define __FZRT_FORMZ_PLATFORM_H



#define MACINTOSH			0
#define WINDOWS				1


#if defined(__MWERKS__)
 #if (__MWERKS__ < 0x0900) || macintosh
 	
		#define __PLATFORM__		MACINTOSH

		#define FZ_FUNCTION_PASCAL         		1
		#define FZ_FUNCTION_WIN32CC				0       
		#if (__MWERKS__ >= 0x2000)
			#define FZ_FUNCTION_DECLSPEC    	1
		#else
			#define FZ_FUNCTION_DECLSPEC    	0
		#endif
		#define FZ_PRAGMA_STRUCT_ALIGN			1
		#define FZ_PRAGMA_STRUCT_PACK			0
		#define FZ_PRAGMA_STRUCT_PACKPUSH 		0
		#define FZ_PRAGMA_ENUM_PACK 			0
		#define FZ_PRAGMA_ENUM_ALWAYSINT      	1
		#define FZ_PRAGMA_ENUM_OPTIONS         	0

	#elif (__MWERKS__ >= 0x0900) && __INTEL__
	
   		
   		
		#define __PLATFORM__		WINDOWS
		
		#define FZ_FUNCTION_PASCAL				0
		#define FZ_FUNCTION_WIN32CC				1   
		#define FZ_FUNCTION_DECLSPEC			1      
		#define FZ_PRAGMA_STRUCT_ALIGN			0
		#define FZ_PRAGMA_STRUCT_PACK			1
		#define FZ_PRAGMA_STRUCT_PACKPUSH		1
		#define FZ_PRAGMA_ENUM_PACK				0
		#define FZ_PRAGMA_ENUM_ALWAYSINT		1
		#define FZ_PRAGMA_ENUM_OPTIONS			0
		
	#elif (__MWERKS__ >= 0x2110) && __MACH__
		
		#define __PLATFORM__		MACINTOSH
		
		#define FZ_FUNCTION_PASCAL           	1
		#define FZ_FUNCTION_DECLSPEC           	1
		#define FZ_FUNCTION_WIN32CC            	0           
		#define FZ_PRAGMA_STRUCT_ALIGN         	1
		#define FZ_PRAGMA_STRUCT_PACK          	1
		#define FZ_PRAGMA_STRUCT_PACKPUSH      	0
		#define FZ_PRAGMA_ENUM_PACK            	0
		#define FZ_PRAGMA_ENUM_ALWAYSINT       	1
		#define FZ_PRAGMA_ENUM_OPTIONS         	0
	#endif
#elif defined(__GNUC__) && (defined(__APPLE_CPP__) || defined(__APPLE_CC__) )
	
 
		#define __PLATFORM__		MACINTOSH
		
		#define FZ_PRAGMA_STRUCT_ALIGN         1
		#define FZ_PRAGMA_STRUCT_PACK          0
		#define FZ_PRAGMA_STRUCT_PACKPUSH      0
		#define FZ_PRAGMA_ENUM_PACK            0
		#define FZ_PRAGMA_ENUM_ALWAYSINT       0
		#define FZ_PRAGMA_ENUM_OPTIONS         0
		#define FZ_FUNCTION_PASCAL             0
		#define FZ_FUNCTION_DECLSPEC           0
		#define FZ_FUNCTION_WIN32CC            0  
		         
#elif defined(_MSC_VER) && !defined(__MWERKS__) 
	
	#if defined(_M_IX86)  
	
		#define __PLATFORM__		WINDOWS
		
		#define FZ_PRAGMA_STRUCT_ALIGN         0
		#define FZ_PRAGMA_STRUCT_PACK          1
		#define FZ_PRAGMA_STRUCT_PACKPUSH      1
		#define FZ_PRAGMA_ENUM_PACK            0
		#define FZ_PRAGMA_ENUM_ALWAYSINT       0
		#define FZ_PRAGMA_ENUM_OPTIONS         0
		#define FZ_FUNCTION_PASCAL             0
		#define FZ_FUNCTION_DECLSPEC       		1
		#define FZ_FUNCTION_WIN32CC        		1   
	#endif

#endif 


#if !defined(__PLATFORM__) || ((__PLATFORM__ != WINDOWS) && (__PLATFORM__ != MACINTOSH))
	#error Unsupported compiler or platform
#endif	




#endif 
