|
- /*
- ==============================================================================
-
- 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 <Foundation/Foundation.h>
- #import <UIKit/UIKit.h>
- #import <CoreData/CoreData.h>
- #import <MobileCoreServices/MobileCoreServices.h>
- #include <sys/fcntl.h>
- #else
- #define Point CarbonDummyPointName
- #define Component CarbonDummyCompName
- #import <Cocoa/Cocoa.h>
- #import <CoreAudio/HostTime.h>
- #undef Point
- #undef Component
- #include <sys/dir.h>
- #endif
-
- #include <sys/socket.h>
- #include <sys/sysctl.h>
- #include <sys/stat.h>
- #include <sys/param.h>
- #include <sys/mount.h>
- #include <sys/utsname.h>
- #include <sys/mman.h>
- #include <fnmatch.h>
- #include <utime.h>
- #include <dlfcn.h>
- #include <ifaddrs.h>
- #include <net/if_dl.h>
- #include <mach/mach_time.h>
- #include <mach-o/dyld.h>
- #include <objc/runtime.h>
- #include <objc/objc.h>
- #include <objc/message.h>
-
- //==============================================================================
- #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
- #if JUCE_MINGW
- #define _WIN32_WINNT 0x0501
- #else
- #define _WIN32_WINNT 0x0600
- #endif
- #define _UNICODE 1
- #define UNICODE 1
- #ifndef _WIN32_IE
- #define _WIN32_IE 0x0400
- #endif
-
- #include <windows.h>
- #include <shellapi.h>
- #include <tchar.h>
- #include <stddef.h>
- #include <ctime>
- #include <wininet.h>
- #include <nb30.h>
- #include <iphlpapi.h>
- #include <mapi.h>
- #include <float.h>
- #include <process.h>
- #include <shlobj.h>
- #include <shlwapi.h>
- #include <mmsystem.h>
-
- #if JUCE_MINGW
- #include <basetyps.h>
- #else
- #include <crtdbg.h>
- #include <comutil.h>
- #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 <sched.h>
- #include <pthread.h>
- #include <sys/time.h>
- #include <errno.h>
- #include <sys/stat.h>
- #include <sys/dir.h>
- #include <sys/ptrace.h>
- #include <sys/vfs.h>
- #include <sys/wait.h>
- #include <sys/mman.h>
- #include <fnmatch.h>
- #include <utime.h>
- #include <pwd.h>
- #include <fcntl.h>
- #include <dlfcn.h>
- #include <netdb.h>
- #include <arpa/inet.h>
- #include <netinet/in.h>
- #include <sys/types.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
- #include <net/if.h>
- #include <sys/sysinfo.h>
- #include <sys/file.h>
- #include <sys/prctl.h>
- #include <signal.h>
- #include <stddef.h>
-
- //==============================================================================
- #elif JUCE_ANDROID
- #include <jni.h>
- #include <pthread.h>
- #include <sched.h>
- #include <sys/time.h>
- #include <utime.h>
- #include <errno.h>
- #include <fcntl.h>
- #include <dlfcn.h>
- #include <sys/stat.h>
- #include <sys/statfs.h>
- #include <sys/ptrace.h>
- #include <sys/sysinfo.h>
- #include <sys/mman.h>
- #include <pwd.h>
- #include <dirent.h>
- #include <fnmatch.h>
- #include <sys/wait.h>
- #endif
-
- // Need to clear various moronic redefinitions made by system headers..
- #undef max
- #undef min
- #undef direct
- #undef check
-
- #endif // __JUCE_BASICNATIVEHEADERS_JUCEHEADER__
|