mirror of https://github.com/mpv-player/mpv
allows the Mac OS X version of MPlayer to look for its data files inside the Resources directory of the appwrapper. patch by Chris Roccati <roccati@pobox.com>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15146 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
82806120f4
commit
55adc096e1
|
@ -185,6 +185,7 @@ Optional features:
|
||||||
--disable-enca Disable using ENCA charset oracle library [autodetect]
|
--disable-enca Disable using ENCA charset oracle library [autodetect]
|
||||||
--disable-macosx Disable Mac OS X specific features [autodetect]
|
--disable-macosx Disable Mac OS X specific features [autodetect]
|
||||||
--enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
|
--enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
|
||||||
|
--enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
|
||||||
--disable-inet6 Disable IPv6 support [autodetect]
|
--disable-inet6 Disable IPv6 support [autodetect]
|
||||||
--disable-gethostbyname2 gethostbyname() function is not provided by the C
|
--disable-gethostbyname2 gethostbyname() function is not provided by the C
|
||||||
library [autodetect]
|
library [autodetect]
|
||||||
|
@ -1400,6 +1401,7 @@ _menu=no
|
||||||
_qtx=auto
|
_qtx=auto
|
||||||
_macosx=auto
|
_macosx=auto
|
||||||
_macosx_finder_support=no
|
_macosx_finder_support=no
|
||||||
|
_macosx_bundle=auto
|
||||||
_sortsub=yes
|
_sortsub=yes
|
||||||
_freetypeconfig='freetype-config'
|
_freetypeconfig='freetype-config'
|
||||||
_fribidi=no
|
_fribidi=no
|
||||||
|
@ -1684,6 +1686,8 @@ for ac_option do
|
||||||
--disable-macosx) _macosx=no ;;
|
--disable-macosx) _macosx=no ;;
|
||||||
--enable-macosx-finder-support) _macosx_finder_support=yes ;;
|
--enable-macosx-finder-support) _macosx_finder_support=yes ;;
|
||||||
--disable-macosx-finder-support) _macosx_finder_support=no ;;
|
--disable-macosx-finder-support) _macosx_finder_support=no ;;
|
||||||
|
--enable-macosx-bundle) _macosx_bundle=yes;;
|
||||||
|
--disable-macosx-bundle) _macosx_bundle=no;;
|
||||||
|
|
||||||
--enable-sortsub) _sortsub=yes ;;
|
--enable-sortsub) _sortsub=yes ;;
|
||||||
--disable-sortsub) _sortsub=no ;;
|
--disable-sortsub) _sortsub=no ;;
|
||||||
|
@ -3208,6 +3212,18 @@ else
|
||||||
fi
|
fi
|
||||||
echores "$_macosx_finder_support"
|
echores "$_macosx_finder_support"
|
||||||
|
|
||||||
|
echocheck "Mac OS X Bundle file locations"
|
||||||
|
if test "$_macosx_bundle" = auto ; then
|
||||||
|
_macosx_bundle=$_macosx_finder_support
|
||||||
|
fi
|
||||||
|
if test "$_macosx_bundle" = yes; then
|
||||||
|
_def_macosx_bundle='#define MACOSX_BUNDLE 1'
|
||||||
|
else
|
||||||
|
_def_macosx_bundle='#undef MACOSX_BUNDLE'
|
||||||
|
_macosx_bundle=no
|
||||||
|
fi
|
||||||
|
echores "$_macosx_bundle"
|
||||||
|
|
||||||
echocheck "Samba support (libsmbclient)"
|
echocheck "Samba support (libsmbclient)"
|
||||||
if test "$_smbsupport" = yes; then
|
if test "$_smbsupport" = yes; then
|
||||||
_ld_smb="-lsmbclient"
|
_ld_smb="-lsmbclient"
|
||||||
|
@ -6824,6 +6840,7 @@ XMMS_PLUGINS = $_xmms
|
||||||
XMMS_LIB = $_xmms_lib
|
XMMS_LIB = $_xmms_lib
|
||||||
MACOSX = $_macosx
|
MACOSX = $_macosx
|
||||||
MACOSX_FINDER_SUPPORT = $_macosx_finder_support
|
MACOSX_FINDER_SUPPORT = $_macosx_finder_support
|
||||||
|
MACOSX_BUNDLE = $_macosx_bundle
|
||||||
MACOSX_FRAMEWORKS = $_macosx_frameworks
|
MACOSX_FRAMEWORKS = $_macosx_frameworks
|
||||||
TOOLAME=$_toolame
|
TOOLAME=$_toolame
|
||||||
TOOLAME_EXTRAFLAGS=$_toolame_extraflags
|
TOOLAME_EXTRAFLAGS=$_toolame_extraflags
|
||||||
|
@ -7131,6 +7148,7 @@ $_def_dshow
|
||||||
/* Mac OS X specific features */
|
/* Mac OS X specific features */
|
||||||
$_def_macosx
|
$_def_macosx
|
||||||
$_def_macosx_finder_support
|
$_def_macosx_finder_support
|
||||||
|
$_def_macosx_bundle
|
||||||
|
|
||||||
/* Build our Win32-loader */
|
/* Build our Win32-loader */
|
||||||
$_def_win32_loader
|
$_def_win32_loader
|
||||||
|
|
45
get_path.c
45
get_path.c
|
@ -8,6 +8,16 @@
|
||||||
* by the caller.
|
* by the caller.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
#ifdef MACOSX_BUNDLE
|
||||||
|
#include <Carbon/Carbon.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
char *get_path(char *filename){
|
char *get_path(char *filename){
|
||||||
char *homedir;
|
char *homedir;
|
||||||
char *buff;
|
char *buff;
|
||||||
|
@ -17,6 +27,9 @@ char *get_path(char *filename){
|
||||||
static char *config_dir = "/.mplayer";
|
static char *config_dir = "/.mplayer";
|
||||||
#endif
|
#endif
|
||||||
int len;
|
int len;
|
||||||
|
#ifdef MACOSX_BUNDLE
|
||||||
|
struct stat dummy;
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((homedir = getenv("HOME")) == NULL)
|
if ((homedir = getenv("HOME")) == NULL)
|
||||||
#if defined(__MINGW32__)||defined(__CYGWIN__) /*hack to get fonts etc. loaded outside of cygwin environment*/
|
#if defined(__MINGW32__)||defined(__CYGWIN__) /*hack to get fonts etc. loaded outside of cygwin environment*/
|
||||||
|
@ -42,6 +55,38 @@ char *get_path(char *filename){
|
||||||
return NULL;
|
return NULL;
|
||||||
sprintf(buff, "%s%s/%s", homedir, config_dir, filename);
|
sprintf(buff, "%s%s/%s", homedir, config_dir, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MACOSX_BUNDLE
|
||||||
|
if(stat(buff, &dummy)) {
|
||||||
|
CFIndex maxlen=64;
|
||||||
|
CFURLRef resources=NULL;
|
||||||
|
|
||||||
|
free(buff);
|
||||||
|
buff=NULL;
|
||||||
|
|
||||||
|
resources=CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle());
|
||||||
|
if(resources) {
|
||||||
|
|
||||||
|
buff=malloc(maxlen);
|
||||||
|
*buff=0;
|
||||||
|
|
||||||
|
while(!CFURLGetFileSystemRepresentation(resources, true, buff, maxlen)) {
|
||||||
|
maxlen*=2;
|
||||||
|
buff=realloc(buff, maxlen);
|
||||||
|
}
|
||||||
|
CFRelease(resources);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(buff&&filename) {
|
||||||
|
if((strlen(filename)+strlen(buff)+2)>maxlen) {
|
||||||
|
maxlen=strlen(filename)+strlen(buff)+2;
|
||||||
|
buff=realloc(buff, maxlen);
|
||||||
|
}
|
||||||
|
strcat(buff,"/");
|
||||||
|
strcat(buff, filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
mp_msg(MSGT_GLOBAL,MSGL_V,"get_path('%s') -> '%s'\n",filename,buff);
|
mp_msg(MSGT_GLOBAL,MSGL_V,"get_path('%s') -> '%s'\n",filename,buff);
|
||||||
return buff;
|
return buff;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue