You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
playlist_manager: replace HAVE_COCOATOUCH gate with SDK-version gate
In hindsight the HAVE_COCOATOUCH gate applied by cc1a131 and
345a2ef was too coarse. RetroArchPlaylistManager.m/.h is not
iOS/tvOS-only - the file is portable to modern macOS, and the only
reason it couldn't be built for macOS earlier was that its syntax
requires Xcode 7 / SDK 10.11 (nullability macros
NS_ASSUME_NONNULL_BEGIN/END, nullable, _Nonnull; Obj-C lightweight
generics NSArray<...>). Pre-10.11 macOS (and PPC/Leopard in
particular, where GCC 4.0 doesn't understand the syntax at all)
should be excluded, but modern macOS should be able to use it.
Introduce a new feature flag HAVE_RETROARCH_PLAYLIST_MANAGER and
gate all the call sites on it instead:
qb/config.params.sh - declare HAVE_RETROARCH_PLAYLIST_MANAGER=auto
near HAVE_COCOA. qb.make.sh auto-plumbs this into config.mk via
the existing CONFIG_OPTS iteration.
qb/config.libs.sh - extend the existing Darwin probe to compute
macos_target_pre_10_11 alongside macos_target_pre_10_7, then set
HAVE_RETROARCH_PLAYLIST_MANAGER=yes if HAVE_COCOATOUCH=yes OR
macos_target_pre_10_11=no; else no.
Makefile.common - flip ifeq ($(HAVE_COCOATOUCH), 1) to
ifeq ($(HAVE_RETROARCH_PLAYLIST_MANAGER), 1).
griffin/griffin_objc.m - flip #ifdef HAVE_COCOATOUCH to
#ifdef HAVE_RETROARCH_PLAYLIST_MANAGER around the .m include.
ui/drivers/cocoa/cocoa_common.h - add a C-preprocessor synthesis
block for non-qb builds (e.g. RetroArch.xcodeproj) that sets
HAVE_RETROARCH_PLAYLIST_MANAGER based on HAVE_COCOATOUCH or
MAC_OS_X_VERSION_MAX_ALLOWED >= 101100. Guarded with #ifndef
so the qb-set value wins when present. Also flip the
cocoa_launch_game_by_filename forward-decl gate.
ui/drivers/cocoa/cocoa_common.m - flip the two existing gates
(header include and function body open/close).
Behavioral outcomes:
- iOS/tvOS: HAVE_COCOATOUCH -> HAVE_RETROARCH_PLAYLIST_MANAGER.
No change; file still built.
- Modern macOS (10.11+): now builds the file. This is NEW -
the previous HAVE_COCOATOUCH gate excluded it even though
the file would have compiled fine there.
- Pre-10.11 macOS (includes PPC/Leopard/Xcode 3.1): correctly
excluded, same as before.
- Non-Darwin: HAVE_RETROARCH_PLAYLIST_MANAGER stays 'auto',
never emitted as 1 in config.mk; Makefile gate is false;
nothing changes (and these builds never reached the file
anyway, guarded further by HAVE_COCOA_COMMON).
Supersedes the over-gating in cc1a131 (source-side) and
345a2ef (Makefile-side).
0 commit comments