From f5ee9e74ba813fc775bb3f516fde09de229a4409 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 23 Jul 2022 09:24:46 +0100 Subject: [PATCH] ui/drivers/cocoa: fix -fno-common build (#14204) `llvm-11` changed the default from `-fcommon` to `-fno-common`: https://reviews.llvm.org/D75056 As a result build fails as: LD retroarch duplicate symbol '_apple_platform' in: obj-unix/release/ui/drivers/ui_cocoa.o obj-unix/release/ui/drivers/cocoa/cocoa_common.o duplicate symbol '_apple_platform' in: obj-unix/release/ui/drivers/ui_cocoa.o obj-unix/release/gfx/drivers_context/cocoa_gl_ctx.o ld: 2 duplicate symbols for architecture x86_64 The change moves `apple_platform` definition from `apple_platform.h` to `cocoa_common.m` leaving only declaration in `apple_platform.h`. --- ui/drivers/cocoa/apple_platform.h | 4 +--- ui/drivers/cocoa/cocoa_common.m | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ui/drivers/cocoa/apple_platform.h b/ui/drivers/cocoa/apple_platform.h index be8228d375..c7f78faaf6 100644 --- a/ui/drivers/cocoa/apple_platform.h +++ b/ui/drivers/cocoa/apple_platform.h @@ -34,10 +34,8 @@ #if defined(HAVE_COCOA_METAL) || defined(HAVE_COCOATOUCH) extern id apple_platform; - -id apple_platform; #else -id apple_platform; +extern id apple_platform; #endif #if defined(HAVE_COCOATOUCH) diff --git a/ui/drivers/cocoa/cocoa_common.m b/ui/drivers/cocoa/cocoa_common.m index 229e1700f0..63b6ebfc90 100644 --- a/ui/drivers/cocoa/cocoa_common.m +++ b/ui/drivers/cocoa/cocoa_common.m @@ -38,6 +38,11 @@ #include "../../input/drivers/cocoa_input.h" #include "../../input/drivers_keyboard/keyboard_event_apple.h" +#if defined(HAVE_COCOA_METAL) || defined(HAVE_COCOATOUCH) +id apple_platform; +#else +id apple_platform; +#endif static CocoaView* g_instance;