[vlc-commits] src: darwin/dirs: Package libraries and modules into Frameworks directory
David Fuhrmann
git at videolan.org
Wed Mar 20 19:22:33 CET 2019
vlc | branch: master | David Fuhrmann <dfuhrmann at videolan.org> | Mon Mar 18 19:56:50 2019 +0100| [965c4a0294c4130f10d80338d98ac4923c0da932] | committer: David Fuhrmann
src: darwin/dirs: Package libraries and modules into Frameworks directory
This is the correct place for bundling shared libraries (even if
they are not in the Framework structure).
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=965c4a0294c4130f10d80338d98ac4923c0da932
---
bin/Makefile.am | 4 ++--
extras/package/macosx/package.mak | 13 ++++++-------
src/darwin/dirs.m | 3 +--
3 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/bin/Makefile.am b/bin/Makefile.am
index 6766004cf7..fed00b2b4d 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -47,8 +47,8 @@ endif
vlc_osx_SOURCES = darwinvlc.m
vlc_osx_LDFLAGS = $(LDFLAGS_vlc) -Wl,-framework,CoreFoundation,-framework,Cocoa
-vlc_osx_LDFLAGS += -Xlinker -rpath -Xlinker "@executable_path/lib/"
-vlc_osx_LDFLAGS += -Xlinker -rpath -Xlinker "@executable_path/plugins/"
+vlc_osx_LDFLAGS += -Xlinker -rpath -Xlinker "@executable_path/../Frameworks/"
+vlc_osx_LDFLAGS += -Xlinker -rpath -Xlinker "@executable_path/../Frameworks/plugins/"
if HAVE_BREAKPAD
vlc_osx_LDFLAGS += -Wl,-framework,Breakpad
vlc_osx_OBJCFLAGS = -F$(CONTRIB_DIR)/Frameworks
diff --git a/extras/package/macosx/package.mak b/extras/package/macosx/package.mak
index 4f92487198..b3e70dde59 100644
--- a/extras/package/macosx/package.mak
+++ b/extras/package/macosx/package.mak
@@ -34,7 +34,7 @@ endif
if BUILD_LUA
## Copy lua scripts
cp -r "$(pkgdatadir)/lua" $@/Contents/Resources/share/
- cp -r "$(pkglibexecdir)/lua" $@/Contents/MacOS/
+ cp -r "$(pkglibexecdir)/lua" $@/Contents/Frameworks/
endif
## HRTFs
cp -r $(srcdir)/share/hrtfs $@/Contents/Resources/share/
@@ -45,17 +45,16 @@ endif
test -d "$(prefix)/share/locale" && cp -r "$(prefix)/share/locale" $@/Contents/Resources/share/ || true
printf "APPLVLC#" >| $@/Contents/PkgInfo
## Copy libs
- mkdir -p $@/Contents/MacOS/lib
- find $(prefix)/lib -name 'libvlc*.dylib' -maxdepth 1 -exec cp -a {} $@/Contents/MacOS/lib \;
+ find $(prefix)/lib -name 'libvlc*.dylib' -maxdepth 1 -exec cp -a {} $@/Contents/Frameworks \;
## Copy plugins
- mkdir -p $@/Contents/MacOS/plugins
- find $(prefix)/lib/vlc/plugins -name 'lib*_plugin.dylib' -maxdepth 2 -exec cp -a {} $@/Contents/MacOS/plugins \;
+ mkdir -p $@/Contents/Frameworks/plugins
+ find $(prefix)/lib/vlc/plugins -name 'lib*_plugin.dylib' -maxdepth 2 -exec cp -a {} $@/Contents/Frameworks/plugins \;
## Copy libbluray jar
- -cp -a $(CONTRIB_DIR)/share/java/libbluray*.jar $@/Contents/MacOS/plugins/
+ -cp -a $(CONTRIB_DIR)/share/java/libbluray*.jar $@/Contents/Frameworks/plugins/
## Install binary
cp $(prefix)/bin/vlc $@/Contents/MacOS/VLC
## Generate plugin cache
- bin/vlc-cache-gen $@/Contents/MacOS/plugins
+ bin/vlc-cache-gen $@/Contents/Frameworks/plugins
find $@ -type d -exec chmod ugo+rx '{}' \;
find $@ -type f -exec chmod ugo+r '{}' \;
diff --git a/src/darwin/dirs.m b/src/darwin/dirs.m
index 6db871981e..039673e0d3 100644
--- a/src/darwin/dirs.m
+++ b/src/darwin/dirs.m
@@ -47,11 +47,10 @@ char *config_GetLibDir (void)
{
if (isBundle()) {
NSBundle *bundle = [NSBundle mainBundle];
- NSString *path = bundle.executablePath;
+ NSString *path = bundle.privateFrameworksPath;
if (!path)
return NULL;
- path = [path stringByDeletingLastPathComponent];
return strdup(path.UTF8String);
}
More information about the vlc-commits
mailing list