FFmpeg doesn't build with default_library=shared
While trying to build FFmpeg wrap and setting default_library=shared I get errors during the makedef step:
FAILED: subprojects/FFmpeg/avutil.def
/home/builder/.local/bin/meson --internal exe --capture subprojects/FFmpeg/avutil.def -- /usr/bin/python3 /home/builder/source/subprojects/FFmpeg/compat/windows/makedef.py --nm /usr/bin/nm --prefix '' --vscript subprojects/FFmpeg/libavutil/libavutil.ver subprojects/FFmpeg/libavutil-static.a
--- stderr ---
usage: makedef.py [-h] [--prefix PREFIX]
(--nm NM_PATH | --dumpbin DUMPBIN_PATH | --list)
(--regex REGEX [REGEX ...] | --vscript VERSION_SCRIPT) --os
{win,linux,darwin}
FILE
makedef.py: error: the following arguments are required: --os
I don't have the required permissions to fork and do a proper MR, so if a maintainer could verify and apply the following patch (or equivalent) that would be nice:
From 87868c5aa1a047418f4d9c5ed5891357260852ac Mon Sep 17 00:00:00 2001
From: Matthieu Rogez <matthieu.rogez@fivesgroup.com>
Date: Thu, 30 May 2024 10:32:53 +0000
Subject: [PATCH] meson: add missing os argument to makedef
without this, ffmpeg was failing to build with "default_library=shared".
---
meson.build | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meson.build b/meson.build
index eebbc8ec87..6321d398a7 100644
--- a/meson.build
+++ b/meson.build
@@ -2980,6 +2980,8 @@ if host_machine.system() == 'windows'
makedef_args += ['--os', 'win']
elif host_machine.system() in ['darwin', 'ios']
makedef_args += ['--os', 'darwin']
+else
+ makedef_args += ['--os', 'linux']
endif
final_conf = configuration_data()
--
2.30.2