Fix libwebp static libs order

This commit is contained in:
crazywhalecc 2025-07-22 22:09:45 +08:00
parent 2c81ca2bf8
commit a095d489f3
No known key found for this signature in database
GPG Key ID: 1F4BDD59391F2680
3 changed files with 8 additions and 9 deletions

View File

@ -555,12 +555,12 @@
}, },
"libwebp": { "libwebp": {
"source": "libwebp", "source": "libwebp",
"static-libs-unix": [ "pkg-configs": [
"libwebp.a", "libwebp",
"libwebpdecoder.a", "libwebpdecoder",
"libwebpdemux.a", "libwebpdemux",
"libwebpmux.a", "libwebpmux",
"libsharpyuv.a" "libsharpyuv"
], ],
"static-libs-windows": [ "static-libs-windows": [
"libwebp.lib", "libwebp.lib",

View File

@ -22,8 +22,7 @@ trait libwebp
->addConfigureArgs('-DWEBP_BUILD_EXTRAS=ON') ->addConfigureArgs('-DWEBP_BUILD_EXTRAS=ON')
->build(); ->build();
// patch pkgconfig // patch pkgconfig
$this->patchPkgconfPrefix(['libsharpyuv.pc', 'libwebp.pc', 'libwebpdecoder.pc', 'libwebpdemux.pc', 'libwebpmux.pc'], PKGCONF_PATCH_PREFIX | PKGCONF_PATCH_LIBDIR); $this->patchPkgconfPrefix(patch_option: PKGCONF_PATCH_PREFIX | PKGCONF_PATCH_LIBDIR);
$this->patchPkgconfPrefix(['libsharpyuv.pc'], PKGCONF_PATCH_CUSTOM, ['/^includedir=.*$/m', 'includedir=${prefix}/include/webp']); $this->patchPkgconfPrefix(['libsharpyuv.pc'], PKGCONF_PATCH_CUSTOM, ['/^includedir=.*$/m', 'includedir=${prefix}/include/webp']);
$this->patchPkgconfPrefix(['libwebp.pc'], PKGCONF_PATCH_CUSTOM, ['/-lwebp$/m', '-lwebp -lsharpyuv']);
} }
} }

View File

@ -86,7 +86,7 @@ class SPCConfigUtil
if (SPCTarget::getTargetOS() === 'Darwin') { if (SPCTarget::getTargetOS() === 'Darwin') {
$libs .= " {$this->getFrameworksString($extensions)}"; $libs .= " {$this->getFrameworksString($extensions)}";
} }
$libs .= $this->builder instanceof MacOSBuilder ? ' -lc++' : ' -lstdc++'; $libs .= $this->builder->hasCpp() && $this->builder instanceof MacOSBuilder ? ' -lc++' : ' -lstdc++';
if ($this->libs_only_deps) { if ($this->libs_only_deps) {
return [ return [