-
Notifications
You must be signed in to change notification settings - Fork 6.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
[ffmpeg] Use vcpkg_fixup_pkgconfig. #13919
Conversation
This fixes passing errors when a pc file contains libs of the form "example.lib" by converting them to "-lexample". Note that it also ensures that a '-l' is prefixed to all libs.
This strips cygdrive to make paths compatible. It also searches and replaces known lib paths by adding an additional lower case drive letter search and replacement. To handle mangled files with msvc linker commands "libpath:" is converted to standard "-L" syntax.
…ng character. This improves detection as the existing vcpkg_fixup_pkgconfig function checks for the libs in current case and then checks libs in all lower case. Changing to an upper case leading character fixes compatibility with several ports.
fdc138d
to
8288f21
Compare
This is in part why I pushed this PR as #13126 does not work with ffmpeg so this PR shows what is required for ffmpeg. Seeing as how #13126 has been pending for some time having this PR already merged would update the CI to test ffmpeg to ensure it still works before applying #13126
Fair enough, but they are required for ffmpeg and I figured that having them all in one easy to locate place would be easier than having them scattered through various port files so that when ever #9966 is actually applied then it would be easier to remove them from system libraries than check each port. This PR is ready to go now, whereas It would appear that #13126 and #9966 are still a little ways off. When they are done then by all means replace what was done here but atleast in the mean time this fixes a known issue. |
Also contains several modifications required to get vcpkg_fixup_pkgconfig to work correctly when applied to ffmpeg:
[vcpkg_common_definitions] Make all windows libs have a capital leading character. This improves detection as the existing vcpkg_fixup_pkgconfig function checks for the libs in current case and then checks libs in all lower case. Changing to an upper case leading character fixes compatibility with several ports.
Fixes #12376