-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
osdep: move cfstr<->cstr conversions to a new apple_utils.c file
- Loading branch information
Showing
6 changed files
with
71 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* | ||
* Apple-specific utility functions | ||
* | ||
* This file is part of mpv. | ||
* | ||
* mpv is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 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 Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with mpv. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#include "apple_utils.h" | ||
|
||
#include "mpv_talloc.h" | ||
|
||
CFStringRef cfstr_from_cstr(const char *str) | ||
{ | ||
return CFStringCreateWithCString(NULL, str, kCFStringEncodingUTF8); | ||
} | ||
|
||
char *cfstr_get_cstr(const CFStringRef cfstr) | ||
{ | ||
if (!cfstr) | ||
return NULL; | ||
CFIndex size = | ||
CFStringGetMaximumSizeForEncoding( | ||
CFStringGetLength(cfstr), kCFStringEncodingUTF8) + 1; | ||
char *buffer = talloc_zero_size(NULL, size); | ||
CFStringGetCString(cfstr, buffer, size, kCFStringEncodingUTF8); | ||
return buffer; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/* | ||
* Apple-specific utility functions | ||
* | ||
* This file is part of mpv. | ||
* | ||
* mpv is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 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 Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with mpv. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#ifndef MPV_APPLE_UTILS | ||
#define MPV_APPLE_UTILS | ||
|
||
#include <CoreFoundation/CoreFoundation.h> | ||
|
||
CFStringRef cfstr_from_cstr(const char *str); | ||
char *cfstr_get_cstr(const CFStringRef cfstr); | ||
|
||
#endif /* MPV_APPLE_UTILS */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rcombs This has broken linking on 10.6, at least with
waf
-based build.See: https://trac.macports.org/ticket/67903
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI mpv does not support 0.36.0 anymore, waf was also removed.
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sfan5 Unfortunately, 0.37.0 is broken for a number of macOS versions (in fact for most of them), since it requires a broken version of
libplacebo
, apparently uses Swift (!) and possibly some other reasons.UPD. Well, no surprise, it was deliberately broken in 23de1de
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it is the wrong build setup: when Cocoa is disabled, this file is still expected for linking, but
wscript_build.py
apparently only includes it for Cocoa.UPD. I can confirm this exactly is the case.
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mpv doesn't support macOS older than 10.15 anymore. also what @sfan5 said, waf as a build system was removed.
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
meson.build
has some checks wrong by the way:This is a Linux-specific flag, which meson forces for macOS, and that breaks configure.
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i am just wondering, if you know/knew about those issues why not/didn't you report them properly on the issue tracker? or rather please report it/them.
0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Akemi If a PR with a fix will be accepted against 0.36.0, I will make it. It is a simple fix: 309b19d
(I might have bumped into the error earlier, but did not investigate the reason back then and just stayed on 0.34.x.)
waf
build also passes-rdynamic
but it is just ignored by the compiler/linker, nothing breaks.meson
fails at configure. I may fix that – if PR gonna be accepted. (Macports usedwaf
build prior to 0.37.0, so it was irrelevant; I discovered a failure only once I tried meson today, thinking to keep two versions is the same port.)0463096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRs will only be accepted against master. besides security fixes we won't backport anything else for older releases, i believe.
if there is an issue, i didn't look into it, then a fix for meson will most likely be accepted.