Marvin Scholz pushed to branch master at VideoLAN / VLC
Commits:
07ec33df by David Fuhrmann at 2026-02-06T23:12:10+00:00
package: macosx: Add vlc-preparser to macOS bundle
Add helper binary into VLC.app bundle into MacOS subdirectory, alongside
the main executable.
- - - - -
f1f7183a by David Fuhrmann at 2026-02-06T23:12:10+00:00
src: darwindirs: Change location for VLC_(PKG_)LIBEXEC_DIR
Look inside the main directory for auxilary executables, when searching
for the correct VLC_PKG_LIBEXEC_DIR and VLC_LIBEXEC_DIR path.
- - - - -
2 changed files:
- extras/package/macosx/package.mak
- src/darwin/dirs.m
Changes:
=====================================
extras/package/macosx/package.mak
=====================================
@@ -66,6 +66,8 @@ endif
## Install binary
cp "$(macos_destdir)$(prefix)/bin/vlc" $@/Contents/MacOS/VLC
install_name_tool -rpath "$(libdir)" "@executable_path/../Frameworks/"
$@/Contents/MacOS/VLC
+ cp "$(macos_destdir)$(pkglibexecdir)/vlc-preparser" $@/Contents/MacOS/
+ install_name_tool -rpath "$(libdir)" "@executable_path/../Frameworks/"
$@/Contents/MacOS/vlc-preparser
## Generate plugin cache
if test "$(build)" = "$(host)"; then \
VLC_LIB_PATH="$@/Contents/Frameworks" bin/vlc-cache-gen
$@/Contents/Frameworks/plugins ; \
=====================================
src/darwin/dirs.m
=====================================
@@ -68,6 +68,25 @@ static char *config_getLibraryDirReal(const char *fallback)
return NULL;
}
+// Gets absolute path to auxiliary executable dir
+// Usually stored alongside main executables in appleOS bundles
+static char *config_getLibExecDir(const char *fallback)
+{
+ if (config_isBundle()) {
+ NSBundle *bundle = [NSBundle mainBundle];
+ NSString *path = [bundle pathForAuxiliaryExecutable: @""];
+ if (!path)
+ return NULL;
+
+ return strdup(path.UTF8String);
+ }
+
+ if (fallback)
+ return strdup(fallback);
+
+ return NULL;
+}
+
static char *config_getDataDirReal(const char *fallback)
{
const char *dir = getenv("VLC_DATA_PATH");
@@ -119,12 +138,11 @@ char *config_GetSysPath(vlc_sysdir_t type, const char
*filename)
dir = config_getLibraryDirReal(LIBDIR);
break;
-
case VLC_PKG_LIBEXEC_DIR:
- dir = config_getLibraryDirReal(PKGLIBEXECDIR);
+ dir = config_getLibExecDir(PKGLIBEXECDIR);
break;
case VLC_LIBEXEC_DIR:
- dir = config_getLibraryDirReal(LIBEXECDIR);
+ dir = config_getLibExecDir(LIBEXECDIR);
break;
case VLC_LOCALE_DIR:
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/735b2faec1474cde52fe8c8251a9bfda6fb45f02...f1f7183a0ac5077cbdf2ee65a807f4fa27aa2fec
--
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/735b2faec1474cde52fe8c8251a9bfda6fb45f02...f1f7183a0ac5077cbdf2ee65a807f4fa27aa2fec
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits