/* ============================================================================== This file is part of the JUCE library - "Jules' Utility Class Extensions" Copyright 2004-11 by Raw Material Software Ltd. ------------------------------------------------------------------------------ JUCE can be redistributed and/or modified under the terms of the GNU General Public License (Version 2), as published by the Free Software Foundation. A copy of the license is included in the JUCE distribution, or can be found online at www.gnu.org/licenses. JUCE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ------------------------------------------------------------------------------ To release a closed-source product which uses JUCE, commercial licenses are available: visit www.rawmaterialsoftware.com/juce for more information. ============================================================================== */ #ifndef __JUCE_BASICNATIVEHEADERS_JUCEHEADER__ #define __JUCE_BASICNATIVEHEADERS_JUCEHEADER__ #include "../system/juce_TargetPlatform.h" #undef T //============================================================================== #if JUCE_MAC || JUCE_IOS #if JUCE_IOS #import #import #import #import #include #else #define Point CarbonDummyPointName #define Component CarbonDummyCompName #import #import #undef Point #undef Component #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //============================================================================== #elif JUCE_WINDOWS #if JUCE_MSVC #ifndef _CPPRTTI #error "You're compiling without RTTI enabled! This is needed for a lot of JUCE classes, please update your compiler settings!" #endif #ifndef _CPPUNWIND #error "You're compiling without exceptions enabled! This is needed for a lot of JUCE classes, please update your compiler settings!" #endif #pragma warning (push) #pragma warning (disable : 4100 4201 4514 4312 4995) #endif #define STRICT 1 #define WIN32_LEAN_AND_MEAN 1 #define _WIN32_WINNT 0x0600 #define _UNICODE 1 #define UNICODE 1 #ifndef _WIN32_IE #define _WIN32_IE 0x0400 #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if JUCE_MINGW #include #else #include #include #endif #undef PACKED #if JUCE_MSVC #pragma warning (pop) #pragma warning (4: 4511 4512 4100 /*4365*/) // (enable some warnings that are turned off in VC8) #endif #if JUCE_MSVC && ! JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES #pragma comment (lib, "kernel32.lib") #pragma comment (lib, "user32.lib") #pragma comment (lib, "shell32.lib") #pragma comment (lib, "wininet.lib") #pragma comment (lib, "advapi32.lib") #pragma comment (lib, "ws2_32.lib") #pragma comment (lib, "version.lib") #pragma comment (lib, "shlwapi.lib") #pragma comment (lib, "winmm.lib") #ifdef _NATIVE_WCHAR_T_DEFINED #ifdef _DEBUG #pragma comment (lib, "comsuppwd.lib") #else #pragma comment (lib, "comsuppw.lib") #endif #else #ifdef _DEBUG #pragma comment (lib, "comsuppd.lib") #else #pragma comment (lib, "comsupp.lib") #endif #endif #endif /* Used with DynamicLibrary to simplify importing functions from a win32 DLL. dll: the DynamicLibrary object functionName: function to import localFunctionName: name you want to use to actually call it (must be different) returnType: the return type params: list of params (bracketed) */ #define JUCE_LOAD_WINAPI_FUNCTION(dll, functionName, localFunctionName, returnType, params) \ typedef returnType (WINAPI *type##localFunctionName) params; \ type##localFunctionName localFunctionName = (type##localFunctionName) dll.getFunction (#functionName); //============================================================================== #elif JUCE_LINUX #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //============================================================================== #elif JUCE_ANDROID #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif // Need to clear various moronic redefinitions made by system headers.. #undef max #undef min #undef direct #undef check #endif // __JUCE_BASICNATIVEHEADERS_JUCEHEADER__