mirror of https://github.com/mpv-player/mpv
OSX: fix compilation with 10.7 SDK
Recent work in the OS X parts of the code started using clang's support for Obj-C's support for Literals and Subscripting. These particular language features remove a lot of boilerplate code and allow to interact with collections as consicely as one would do in scripting languages like Ruby or Python. Even if these are compiler features, Subscripting needs some runtime support. This is provided with libarclite (coming with the compiler), but we need to add the proper method definitions since the 10.7 SDK headers do not include them. That is because 10.7 shipped before this language features. This will cause some warnings when compiling with the 10.7 SDK because the commit also redefines BOOL to make autoboxing/unboxing of BOOL literals to work. If you need to test this for whatever reason on 10.8, just pass in the correct SDK to configure's extra cflags: ./configure --extra-cflags='-mmacosx-version-min=10.7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk' Fixes #117
This commit is contained in:
parent
a9f76c6d86
commit
0407869ae3
|
@ -24,6 +24,7 @@
|
|||
#include "core/input/keycodes.h"
|
||||
|
||||
#include "osdep/macosx_application_objc.h"
|
||||
#include "osdep/macosx_compat.h"
|
||||
|
||||
static pthread_t playback_thread_id;
|
||||
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Application Event Handling
|
||||
*
|
||||
* This file is part of mpv.
|
||||
*
|
||||
* mpv is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* mpv is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with mpv. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef MPV_MACOSX_COMPAT
|
||||
#define MPV_MACOSX_COMPAT
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
#if !defined(MAC_OS_X_VERSION_10_8)
|
||||
# define MAC_OS_X_VERSION_10_8 MAC_OS_X_VERSION_10_7 + 1
|
||||
#endif
|
||||
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8)
|
||||
@interface NSArray (SubscriptingAdditions)
|
||||
- (id)objectAtIndexedSubscript:(NSUInteger)index;
|
||||
@end
|
||||
|
||||
@interface NSMutableArray (SubscriptingAdditions)
|
||||
- (void)setObject: (id)object atIndexedSubscript:(NSUInteger)index;
|
||||
@end
|
||||
|
||||
@interface NSDictionary (SubscriptingAdditions)
|
||||
- (id)objectForKeyedSubscript:(id)key;
|
||||
@end
|
||||
|
||||
@interface NSMutableDictionary (SubscriptingAdditions)
|
||||
- (void)setObject: (id)object forKeyedSubscript:(id)key;
|
||||
@end
|
||||
|
||||
#if __has_feature(objc_bool)
|
||||
#define YES __objc_yes
|
||||
#define NO __objc_no
|
||||
#else
|
||||
#define YES ((BOOL)1)
|
||||
#define NO ((BOOL)0)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* MPV_MACOSX_COMPAT */
|
|
@ -30,8 +30,10 @@
|
|||
#include "core/mp_fifo.h"
|
||||
// doesn't make much sense, but needed to access keymap functionality
|
||||
#include "video/out/vo.h"
|
||||
#include "osdep/macosx_events.h"
|
||||
|
||||
#import "osdep/macosx_application_objc.h"
|
||||
#include "osdep/macosx_events.h"
|
||||
#include "osdep/macosx_compat.h"
|
||||
|
||||
#define NSLeftAlternateKeyMask (0x000020 | NSAlternateKeyMask)
|
||||
#define NSRightAlternateKeyMask (0x000040 | NSAlternateKeyMask)
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
|
||||
#include "osdep/macosx_application.h"
|
||||
#include "osdep/macosx_events.h"
|
||||
#include "osdep/macosx_compat.h"
|
||||
|
||||
@interface GLMPlayerWindow : NSWindow <NSWindowDelegate>
|
||||
- (BOOL)canBecomeKeyWindow;
|
||||
|
|
Loading…
Reference in New Issue