-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[openh264] Use meson to build the project #24564
Conversation
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Let's double check that the |
This comment has been minimized.
This comment has been minimized.
I didn't test on Windows yet, only on Linux and MacOS. For Android is cross-building with success.
|
Signed-off-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
Checked current names for Windows libraries in Conan Center using RREV https://conan.io/center/recipes/openh264?version=2.4.1 MSVC Shared=True:
MSVC Shared=False
When building |
Signed-off-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
…ndex into openh264/meson
@elvisdukaj I'm capable to reproduce your error on Linux! Indeed there is a linkage error when using static library:
It's clear some library is missing and
|
This comment has been minimized.
This comment has been minimized.
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.
In this PR, the windows package for the shared variant contains the following:
(see log)
openh264/2.4.1 package(): Packaged 1 '.dll' file: openh264-7.dll
in the remote, the currently published package contains
openh264.dll
Merging this PR as is would break consumers that expect openh264.dll
to exist.
From what I can see, the .lib
file is the same in both cases, although I can see it is being renamed:
Installing openh264.lib
vsopenh264/2.4.1 package(): Packaged 1 '.lib' file: openh264_dll.lib
The DLL cannot be renamed (the name for it is embedded in the .lib file) - either we cause the build system to emit the previous names, or we need to duplicate the DLL and have both. I'd prefer the former, if possible, and note in the recipe why this is done.
These "meson" migrations make me uncomfortable because it is quite the breaking change to produce a differently named DLL...
Signed-off-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 20 (
Conan v2 pipeline ✔️
All green in build 20 ( |
Windows and Linux are now producing the same files as before, good job! on macOS there is slight difference - before we have these;
now with this PR we'd have these two:
This may be fine - an executable linked against the current available package would look for
I think it should be fine, but I would double check if the files in the new package have the correct version info, otherwise it shouldn't be a problem |
Update the new files have
which is a different version scheme than before (2.4.1/ 2.4.0) - however, I can see that a package linked against the old one still works with the new one - so I think that will be good enough too merge! |
* Use meson to build openh264 Signed-off-by: Uilian Ries <uilianries@gmail.com> * Do not support Android Signed-off-by: Uilian Ries <uilianries@gmail.com> * Disable tests Signed-off-by: Uilian Ries <uilianries@gmail.com> * Honor windows lib names Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove extra libraries Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove extra libraries Signed-off-by: Uilian Ries <uilianries@gmail.com> * Add nasm as tool requirement Signed-off-by: Uilian Ries <uilianries@gmail.com> * use nasm only when building x86 Signed-off-by: Uilian Ries <uilianries@gmail.com> * use nasm only when building x86 Signed-off-by: Uilian Ries <uilianries@gmail.com> * Disable Macos for 2.1.1 Signed-off-by: Uilian Ries <uilianries@gmail.com> * Build on Windows Signed-off-by: Uilian Ries <uilianries@gmail.com> * Honor windows lib names Signed-off-by: Uilian Ries <uilianries@gmail.com> * Trigger CI Signed-off-by: Uilian Ries <uilianries@gmail.com> * Rename library Signed-off-by: Uilian Ries <uilianries@gmail.com> * Remove pdb for any version Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix apple rpath Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix static linkage for Android Signed-off-by: Uilian Ries <uilianries@gmail.com> * Preserve .dll names Signed-off-by: Uilian Ries <uilianries@gmail.com> * Fix preserve condition Signed-off-by: Uilian Ries <uilianries@gmail.com> --------- Signed-off-by: Uilian Ries <uilianries@gmail.com>
Summary
Changes to recipe: openh264/2.4.1
Motivation
When checking FFMPEG project to be cross-built to Android, OpenH264 failed:
Using the native Meson support it works and reduced workaround and patches.
Details