1
0
Fork 0
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:
jules 2015-11-30 11:47:04 +00:00
parent 24d974a7cd
commit 064e45bc85
14 changed files with 55 additions and 8 deletions

View file

@ -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>

View file

@ -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>

View file

@ -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"

View file

@ -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>

View file

@ -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"

View file

@ -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"

View file

@ -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()

View file

@ -48,6 +48,8 @@
#define __CADebugMacros_h__
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
#include "../../../juce_core/native/juce_mac_ClangBugWorkaround.h"
//=============================================================================
// Includes

View file

@ -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)

View file

@ -27,6 +27,7 @@
#include "AppConfig.h"
#include "../utility/juce_CheckSettingMacros.h"
#include "../../juce_core/native/juce_mac_ClangBugWorkaround.h"
#if JucePlugin_Build_AU

View 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

View file

@ -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

View 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

View file

@ -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