use pkgconfig to determine libs

This commit is contained in:
DubbleClick
2025-07-21 12:10:14 +07:00
parent 81a59be0c4
commit e98e221d93
5 changed files with 51 additions and 7 deletions

View File

@@ -61,8 +61,7 @@ class grpc extends Extension
private function getLibraries(): array
{
[, $out] = shell()->execWithResult('$PKG_CONFIG --libs --static grpc');
$libs = join(' ', $out) . ' -lupb -lupb_message_lib -lupb_json_lib -lupb_textformat_lib -lupb_mini_descriptor_lib -lupb_wire_lib -lupb_mem_lib -lupb_base_lib -lutf8_range';
$libs = shell()->execWithResult('$PKG_CONFIG --libs --static grpc')[1][0];
$filtered = str_replace('-pthread', '', $libs);
$filtered = preg_replace('/-L\S+/', '', $filtered);
$filtered = preg_replace('/(?:\S*\/)?lib([a-zA-Z0-9_+-]+)\.a\b/', '-l$1', $filtered);