// AppSource\Source\SDKLib\Include\Kernel\StdHeaders.h
//     kernel header file
//
// Core Global include. 
//
// Copyright 1997-2003 Nemetschek North America. All Rights Reserved.
//


/////////////////////////////////
//
// Precompiled Headers Note
//
/////////////////////////////////
//
//	Under Windows, StdHeaders.cpp (which includes this file)
//	is built at the start of a full build
//	into a precompiled header (.PCH) file. For each file in the 
//	project for which the "Use Precompiled Headers" option is enabled
//	the .PCH file is loaded in lieu of compiling the top of the source
//	file up through the 
//
//		#include "StdHeaders.h"
//
//	line. Any source code above this line will be silently ignored by
//	the compiler. Using precompiled headers results in significantly
//	speedier compiles.
//
//
//	Precompiled headers are only used in the DEBUG builds.
//	All Beta, Demo, and Release builds turn off precompiled headers.
//
//	It is possible for the precompiled headers file to become out of date
//	such that the make system does not know to rebuild it. If you see compile
//	errors related to code that is defined in one of the included files below,
//	You should try to manually rebuild StdHeaders.cpp and then rebuild the
//	problematic file before you spend a long time debugging a mysterious problem.
//
//	Paul Pharr		8/29/97
//
//
/////////////////////////////////
//
//	On the Mac, the use of precompiled headers is handled by CorePrecompiledHeaders.h so
//  StdHeaders.h gets no special treatment.
//
/////////////////////////////////

// XXX_JDW_ALTURA [2003-08-22] - Maybe should have compile flag to turn off QTML for 
// externals that don't need it... i'll add one and review it later


#if _WINDOWS
	#define _WIN32_WINNT 0x0410
	
	#include "Windows.h"
	#ifdef NNA_BUILD_WITH_QUICKTIME_
		#include <QTML.h>
		#include <fp.h>
	#endif // NNA_BUILD_WITH_QUICKTIME_
#endif


#include "CoreDefines.h"


#if GS_WIN
	#include "AlturaDefs.h"
	
	#if _MINICAD_EXTERNAL_ || _GSESDK_
		#include "WinDefinitions.h"
	#endif
#else
	#include <math.h>  // Avoids conflicting std/non-std versions of abs and fabs
#endif


#include "GSDebug.h"


#if _MINICAD_EXTERNAL_ || _GSESDK_
	#include "GSCore.h"
#endif


#if _MINICAD_

	#if defined(_WINDOWS)
		// XXX_JDW_ALTURA CLEANUP [2003-11-10]
		// If this isn't included before GSWin.h, you get a lot of linker errors
		// on functions line ___isfinite, ___isnan, etc. [DaveB 10/21/03]
		#include <fp.h>

		#include "GSWin.h"

		#include "CorePrecompiledHeaders.h"
	#else
		#ifndef _COREPREFIXDEBUG_
			// Should only get here in when not using a precompiled header which should only be
			// when doing non-Dev builds. [DaveB 10/28/03]
			#include "CorePrecompiledHeaders.h"
		#endif
		#include "Builtins.h"
	#endif

	// XXX_JDW_ALTURA [2004-07-26] - review placement of these, which I added to make sure we have a 
	//	consistent undef of the Mac APIs which shouldn't be used
	#include "UndefineMacResourcesAPI.h"
	#include "MemoryAllocation.h"

#endif // _MINICAD_
