123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- /*
- ==============================================================================
- This file is part of the juce_core module of the JUCE library.
- Copyright (c) 2013 - Raw Material Software Ltd.
- Permission to use, copy, modify, and/or distribute this software for any purpose with
- or without fee is hereby granted, provided that the above copyright notice and this
- permission notice appear in all copies.
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
- TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
- NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
- IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- ------------------------------------------------------------------------------
- NOTE! This permissive ISC license applies ONLY to files within the juce_core module!
- All other JUCE modules are covered by a dual GPL/commercial license, so if you are
- using any other modules, be sure to check that you also comply with their license.
- For more details, visit www.juce.com
- ==============================================================================
- */
- #ifndef JUCE_STANDARDHEADER_H_INCLUDED
- #define JUCE_STANDARDHEADER_H_INCLUDED
- //==============================================================================
- /** Current JUCE version number.
- See also SystemStats::getJUCEVersion() for a string version.
- */
- #define JUCE_MAJOR_VERSION 3
- #define JUCE_MINOR_VERSION 0
- #define JUCE_BUILDNUMBER 7
- /** Current Juce version number.
- Bits 16 to 32 = major version.
- Bits 8 to 16 = minor version.
- Bits 0 to 8 = point release.
- See also SystemStats::getJUCEVersion() for a string version.
- */
- #define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)
- //==============================================================================
- #include "juce_PlatformDefs.h"
- //==============================================================================
- // Now we'll include some common OS headers..
- #if JUCE_MSVC
- #pragma warning (push)
- #pragma warning (disable: 4514 4245 4100)
- #endif
- #include <cstdlib>
- #include <cstdarg>
- #include <climits>
- #include <limits>
- #include <cmath>
- #include <cwchar>
- #include <stdexcept>
- #include <typeinfo>
- #include <cstring>
- #include <cstdio>
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #if JUCE_USE_INTRINSICS
- #include <intrin.h>
- #endif
- #if JUCE_MAC || JUCE_IOS
- #include <libkern/OSAtomic.h>
- #endif
- #if JUCE_LINUX
- #include <signal.h>
- #if __INTEL_COMPILER
- #if __ia64__
- #include <ia64intrin.h>
- #else
- #include <ia32intrin.h>
- #endif
- #endif
- #endif
- #if JUCE_MSVC && JUCE_DEBUG
- #include <crtdbg.h>
- #endif
- #if JUCE_MSVC
- #pragma warning (pop)
- #endif
- #if JUCE_ANDROID
- #include <sys/atomics.h>
- #include <byteswap.h>
- #endif
- // undef symbols that are sometimes set by misguided 3rd-party headers..
- #undef check
- #undef TYPE_BOOL
- #undef max
- #undef min
- //==============================================================================
- // DLL building settings on Windows
- #if JUCE_MSVC
- #ifdef JUCE_DLL_BUILD
- #define JUCE_API __declspec (dllexport)
- #pragma warning (disable: 4251)
- #elif defined (JUCE_DLL)
- #define JUCE_API __declspec (dllimport)
- #pragma warning (disable: 4251)
- #endif
- #ifdef __INTEL_COMPILER
- #pragma warning (disable: 1125) // (virtual override warning)
- #endif
- #elif defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)
- #define JUCE_API __attribute__ ((visibility("default")))
- #endif
- //==============================================================================
- #ifndef JUCE_API
- #define JUCE_API /**< This macro is added to all juce public class declarations. */
- #endif
- #if JUCE_MSVC && JUCE_DLL_BUILD
- #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) public: declaration; private:
- #else
- #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) declaration;
- #endif
- /** This macro is added to all juce public function declarations. */
- #define JUCE_PUBLIC_FUNCTION JUCE_API JUCE_CALLTYPE
- #if (! defined (JUCE_CATCH_DEPRECATED_CODE_MISUSE)) && JUCE_DEBUG && ! DOXYGEN
- /** This turns on some non-essential bits of code that should prevent old code from compiling
- in cases where method signatures have changed, etc.
- */
- #define JUCE_CATCH_DEPRECATED_CODE_MISUSE 1
- #endif
- #ifndef DOXYGEN
- #define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
- #endif
- #endif // JUCE_STANDARDHEADER_H_INCLUDED
|