Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 012d151

Browse files
jdarpinianCommit Bot
authored andcommitted
Stop using __has_include<Cocoa/Cocoa.h>
__has_include seems to cause problems with goma builds. Instead, detect iOS vs MacOS using TargetConditionals.h. Also use plain C++ instead of Objective-C++ when possible. Bug: angleproject:3439 Bug: 1015591 Change-Id: I816624e0cdc54ad3a18d3891b4efecf6fe640574 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894243 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
1 parent 5c0e6e5 commit 012d151

File tree

9 files changed

+54
-26
lines changed

9 files changed

+54
-26
lines changed

src/common/platform.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,13 @@
114114
# endif // defined(__GNUC__) || defined(__clang__)
115115
#endif // !defined(ANGLE_LIKELY) || !defined(ANGLE_UNLIKELY)
116116

117+
#ifdef ANGLE_PLATFORM_APPLE
118+
# include <TargetConditionals.h>
119+
# if TARGET_OS_OSX
120+
# define ANGLE_PLATFORM_MACOS 1
121+
# elif TARGET_OS_IOS
122+
# define ANGLE_PLATFORM_IOS 1
123+
# endif
124+
#endif
125+
117126
#endif // COMMON_PLATFORM_H_

src/gpu_info_util/SystemInfo_mac.mm

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
// found in the LICENSE file.
55
//
66

7-
// SystemInfo_mac.cpp: implementation of the Mac-specific parts of SystemInfo.h
7+
// SystemInfo_mac.mm: implementation of the Mac-specific parts of SystemInfo.h
88

9-
#if __has_include(<Cocoa/Cocoa.h>)
9+
#include "common/platform.h"
10+
11+
#ifdef ANGLE_PLATFORM_MACOS
1012

1113
# include "gpu_info_util/SystemInfo_internal.h"
1214

@@ -242,4 +244,4 @@ bool GetSystemInfo(SystemInfo *info)
242244

243245
} // namespace angle
244246

245-
#endif // __has_include(<Cocoa/Cocoa.h>)
247+
#endif // ANGLE_PLATFORM_MACOS

src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
// DeviceCGL.cpp: CGL implementation of egl::Device
88

9-
#if __has_include(<Cocoa/Cocoa.h>)
9+
#include "common/platform.h"
10+
11+
#ifdef ANGLE_PLATFORM_MACOS
1012

1113
# include "libANGLE/renderer/gl/cgl/DeviceCGL.h"
1214

@@ -56,4 +58,4 @@ void DeviceCGL::generateExtensions(egl::DeviceExtensions *outExtensions) const
5658

5759
} // namespace rx
5860

59-
#endif // __has_include(<Cocoa/Cocoa.h>)
61+
#endif // ANGLE_PLATFORM_MACOS

src/libANGLE/renderer/gl/cgl/DisplayCGL.mm

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
// DisplayCGL.mm: CGL implementation of egl::Display
88

9-
#if __has_include(<Cocoa/Cocoa.h>)
9+
#include "common/platform.h"
10+
11+
#ifdef ANGLE_PLATFORM_MACOS
1012

1113
# include "libANGLE/renderer/gl/cgl/DisplayCGL.h"
1214

@@ -446,4 +448,4 @@
446448
}
447449
}
448450

449-
#endif // __has_include(<Cocoa/Cocoa.h>)
451+
#endif // ANGLE_PLATFORM_MACOS

src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm renamed to src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77
// PBufferSurfaceCGL.cpp: an implementation of PBuffers created from IOSurfaces using
88
// EGL_ANGLE_iosurface_client_buffer
99

10-
#if __has_include(<Cocoa/Cocoa.h>)
10+
#include "common/platform.h"
11+
12+
#ifdef ANGLE_PLATFORM_MACOS
1113

1214
# include "libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.h"
1315

14-
# import <Cocoa/Cocoa.h>
1516
# include <IOSurface/IOSurface.h>
1617
# include <OpenGL/CGLIOSurface.h>
18+
# include <OpenGL/OpenGL.h>
1719

1820
# include "common/debug.h"
1921
# include "libANGLE/AttributeMap.h"
@@ -333,4 +335,4 @@ void destroy(const gl::Context *context) override
333335

334336
} // namespace rx
335337

336-
#endif // __has_include(<Cocoa/Cocoa.h>)
338+
#endif // ANGLE_PLATFORM_MACOS

src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.mm renamed to src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,15 @@
99

1010
#include "libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.h"
1111

12-
#include "common/debug.h"
13-
#include "libANGLE/renderer/gl/FunctionsGL.h"
14-
#include "libANGLE/renderer/gl/FramebufferGL.h"
15-
#include "libANGLE/renderer/gl/RendererGL.h"
16-
#include "libANGLE/renderer/gl/StateManagerGL.h"
12+
#include "common/platform.h"
13+
14+
#ifdef ANGLE_PLATFORM_MACOS
15+
16+
# include "common/debug.h"
17+
# include "libANGLE/renderer/gl/FramebufferGL.h"
18+
# include "libANGLE/renderer/gl/FunctionsGL.h"
19+
# include "libANGLE/renderer/gl/RendererGL.h"
20+
# include "libANGLE/renderer/gl/StateManagerGL.h"
1721

1822
namespace rx
1923
{
@@ -29,8 +33,7 @@
2933
mStateManager(renderer->getStateManager()),
3034
mColorRenderbuffer(0),
3135
mDSRenderbuffer(0)
32-
{
33-
}
36+
{}
3437

3538
PbufferSurfaceCGL::~PbufferSurfaceCGL()
3639
{
@@ -98,9 +101,7 @@
98101
return egl::NoError();
99102
}
100103

101-
void PbufferSurfaceCGL::setSwapInterval(EGLint interval)
102-
{
103-
}
104+
void PbufferSurfaceCGL::setSwapInterval(EGLint interval) {}
104105

105106
EGLint PbufferSurfaceCGL::getWidth() const
106107
{
@@ -141,3 +142,5 @@
141142
}
142143

143144
} // namespace rx
145+
146+
#endif // ANGLE_PLATFORM_MACOS

src/libANGLE/renderer/gl/cgl/RendererCGL.mm renamed to src/libANGLE/renderer/gl/cgl/RendererCGL.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88

99
#include "libANGLE/renderer/gl/cgl/RendererCGL.h"
1010

11-
#include "libANGLE/renderer/gl/cgl/DisplayCGL.h"
11+
#include "common/platform.h"
12+
13+
#ifdef ANGLE_PLATFORM_MACOS
14+
15+
# include "libANGLE/renderer/gl/cgl/DisplayCGL.h"
1216

1317
namespace rx
1418
{
@@ -27,3 +31,5 @@
2731
}
2832

2933
} // namespace rx
34+
35+
#endif // ANGLE_PLATFORM_MACOS

src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
// WindowSurfaceCGL.cpp: CGL implementation of egl::Surface for windows
88

9-
#if __has_include(<Cocoa/Cocoa.h>)
9+
#include "common/platform.h"
10+
11+
#ifdef ANGLE_PLATFORM_MACOS
1012

1113
# include "libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h"
1214

@@ -337,4 +339,4 @@ - (void)drawInCGLContext:(CGLContextObj)glContext
337339

338340
} // namespace rx
339341

340-
#endif // __has_include(<Cocoa/Cocoa.h>)
342+
#endif // ANGLE_PLATFORM_MACOS

src/libGLESv2.gni

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -854,11 +854,11 @@ libangle_gl_cgl_sources = [
854854
"src/libANGLE/renderer/gl/cgl/DeviceCGL.h",
855855
"src/libANGLE/renderer/gl/cgl/DisplayCGL.mm",
856856
"src/libANGLE/renderer/gl/cgl/DisplayCGL.h",
857-
"src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm",
857+
"src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp",
858858
"src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.h",
859-
"src/libANGLE/renderer/gl/cgl/RendererCGL.mm",
859+
"src/libANGLE/renderer/gl/cgl/RendererCGL.cpp",
860860
"src/libANGLE/renderer/gl/cgl/RendererCGL.h",
861-
"src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.mm",
861+
"src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp",
862862
"src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.h",
863863
"src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm",
864864
"src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h",

0 commit comments

Comments
 (0)