mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-02-05 03:50:07 +00:00
Projucer: Added a workaround for build errors caused by a Clang bug when building audio plugin projects
This commit is contained in:
parent
24d974a7cd
commit
064e45bc85
14 changed files with 55 additions and 8 deletions
|
|
@ -50,6 +50,7 @@
|
|||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
|
||||
#include <TargetConditionals.h>
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
|
||||
#if TARGET_OS_MAC
|
||||
#include <pthread.h>
|
||||
|
|
|
|||
|
|
@ -47,6 +47,8 @@
|
|||
#ifndef __AUBuffer_h__
|
||||
#define __AUBuffer_h__
|
||||
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
|
||||
#include <TargetConditionals.h>
|
||||
#if !defined(__COREAUDIO_USE_FLAT_INCLUDES__)
|
||||
#include <AudioUnit/AudioUnit.h>
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
#define __AUCarbonViewBase_h__
|
||||
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
|
||||
#include <vector>
|
||||
#include "AUCarbonViewControl.h"
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
#ifndef __AUCarbonViewControl_h__
|
||||
#define __AUCarbonViewControl_h__
|
||||
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
#include <Carbon/Carbon.h>
|
||||
#include <AudioUnit/AudioUnitCarbonView.h>
|
||||
#include <AudioToolbox/AudioUnitUtilities.h>
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@
|
|||
Copyright (C) 2014 Apple Inc. All Rights Reserved.
|
||||
|
||||
*/
|
||||
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
#include "AUOutputElement.h"
|
||||
#include "AUBase.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@
|
|||
Copyright (C) 2014 Apple Inc. All Rights Reserved.
|
||||
|
||||
*/
|
||||
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
#include "AUScopeElement.h"
|
||||
#include "AUBase.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@
|
|||
Copyright (C) 2014 Apple Inc. All Rights Reserved.
|
||||
|
||||
*/
|
||||
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
#include "CAAUParameter.h"
|
||||
|
||||
CAAUParameter::CAAUParameter()
|
||||
|
|
|
|||
|
|
@ -48,6 +48,8 @@
|
|||
#define __CADebugMacros_h__
|
||||
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
|
||||
|
||||
//=============================================================================
|
||||
// Includes
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@
|
|||
Copyright (C) 2014 Apple Inc. All Rights Reserved.
|
||||
|
||||
*/
|
||||
|
||||
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
#include "CarbonEventHandler.h"
|
||||
|
||||
static pascal OSStatus TheEventHandler(EventHandlerCallRef inHandlerRef, EventRef inEvent, void *inUserData)
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "AppConfig.h"
|
||||
|
||||
#include "../utility/juce_CheckSettingMacros.h"
|
||||
#include "../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
|
||||
#if JucePlugin_Build_AU
|
||||
|
||||
|
|
|
|||
2
modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
Executable file → Normal file
2
modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
Executable file → Normal file
|
|
@ -25,8 +25,8 @@
|
|||
// Your project must contain an AppConfig.h file with your project-specific settings in it,
|
||||
// and your header search path must make it accessible to the module's files.
|
||||
#include "AppConfig.h"
|
||||
|
||||
#include "../utility/juce_CheckSettingMacros.h"
|
||||
#include "../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
|
||||
#if JucePlugin_Build_VST
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "AppConfig.h"
|
||||
|
||||
#include "../utility/juce_CheckSettingMacros.h"
|
||||
#include "../../juce_core/native/juce_mac_ClangBugWorkaround.h"
|
||||
|
||||
#if JucePlugin_Build_VST || JucePlugin_Build_VST3
|
||||
|
||||
|
|
|
|||
36
modules/juce_core/native/juce_mac_ClangBugWorkaround.h
Normal file
36
modules/juce_core/native/juce_mac_ClangBugWorkaround.h
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the juce_core module of the JUCE library.
|
||||
Copyright (c) 2015 - ROLI 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
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
|
||||
// This hack is a workaround for a bug (?) in Apple's 10.11 SDK headers
|
||||
// which cause some configurations of Clang to throw out a spurious error..
|
||||
#if JUCE_PROJUCER_LIVE_BUILD && (defined (__APPLE_CPP__) || defined(__APPLE_CC__))
|
||||
#include <CoreFoundation/CFAvailability.h>
|
||||
#undef CF_OPTIONS
|
||||
#define CF_OPTIONS(_type, _name) _type _name; enum
|
||||
#endif
|
||||
|
|
@ -55,16 +55,10 @@
|
|||
#define Point CarbonDummyPointName // (workaround to avoid definition of "Point" by old Carbon headers)
|
||||
#define Component CarbonDummyCompName
|
||||
#include <CoreFoundation/CoreFoundation.h> // (needed to find out what platform we're using)
|
||||
#include "../native/juce_mac_ClangBugWorkaround.h"
|
||||
#undef Point
|
||||
#undef Component
|
||||
|
||||
#if JUCE_PROJUCER_LIVE_BUILD
|
||||
// This hack is a workaround for a bug (?) in Apple's 10.11 SDK headers
|
||||
// which cause some configurations of Clang to throw out an error..
|
||||
#undef CF_OPTIONS
|
||||
#define CF_OPTIONS(_type, _name) _type _name; enum
|
||||
#endif
|
||||
|
||||
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
||||
#define JUCE_IPHONE 1
|
||||
#define JUCE_IOS 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue