aboutsummaryrefslogtreecommitdiff
path: root/src/common/file_util.cpp
diff options
context:
space:
mode:
authorJeffrey Pfau <jeffrey@endrift.com>2016-12-13 09:58:50 -0800
committerJeffrey Pfau <jeffrey@endrift.com>2016-12-13 10:20:33 -0800
commitfb952c399e1ba5435e8f76a34f609be5fd64f4eb (patch)
tree3139b2d7f6592026a46cc5deea9bf224846432e1 /src/common/file_util.cpp
parentc96acc19418bdfc28ebb44894393cc86599050e7 (diff)
Common: Fix gcc build on macOS
Diffstat (limited to 'src/common/file_util.cpp')
-rw-r--r--src/common/file_util.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index b6161f2dc0..c618495f72 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -40,9 +40,20 @@
#endif
#if defined(__APPLE__)
+// CFURL contains __attribute__ directives that gcc does not know how to parse, so we need to just
+// ignore them if we're not using clang. The macro is only used to prevent linking against
+// functions that don't exist on older versions of macOS, and the worst case scenario is a linker
+// error, so this is perfectly safe, just inconvenient.
+#ifndef __clang__
+#define availability(...)
+#endif
#include <CoreFoundation/CFBundle.h>
#include <CoreFoundation/CFString.h>
#include <CoreFoundation/CFURL.h>
+#ifdef availability
+#undef availability
+#endif
+
#endif
#include <algorithm>