needed --libs --static

This commit is contained in:
DubbleClick 2025-07-21 09:33:29 +07:00
parent 38cc4cfe7e
commit 76d7002646
2 changed files with 9 additions and 3 deletions

View File

@ -62,9 +62,13 @@ class grpc extends Extension
private function getLibraries(): array private function getLibraries(): array
{ {
[, $out] = shell()->execWithResult('$PKG_CONFIG --libs-only-l grpc'); [, $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 = 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 = str_replace('-l', '', $libs); $filtered = str_replace('-pthread', '', $libs);
return explode(' ', $libs); $filtered = preg_replace('/-L\S+/', '', $filtered);
$filtered = preg_replace('/(?:\S*\/)?lib([a-zA-Z0-9_+-]+)\.a\b/', '-l$1', $filtered);
$out = str_replace('-l', '', $filtered);
$out = preg_replace('/\s+/', ' ', $out);
return explode(' ', trim($out));
} }
} }

View File

@ -21,6 +21,8 @@ trait grpc
'-DCMAKE_CXX_FLAGS="-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK"' '-DCMAKE_CXX_FLAGS="-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK"'
) )
->build(); ->build();
copy($this->source_dir . '/third_party/re2/re2.pc', BUILD_LIB_PATH . '/pkgconfig/re2.pc');
//shell()->cd($this->source_dir) //shell()->cd($this->source_dir)
// ->exec('EXTRA_DEFINES=GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK EMBED_OPENSSL=false CXXFLAGS="-L' . BUILD_LIB_PATH . ' -I' . BUILD_INCLUDE_PATH . '" make static -j' . $this->builder->concurrency); // ->exec('EXTRA_DEFINES=GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK EMBED_OPENSSL=false CXXFLAGS="-L' . BUILD_LIB_PATH . ' -I' . BUILD_INCLUDE_PATH . '" make static -j' . $this->builder->concurrency);
//copy($this->source_dir . '/libs/opt/libgrpc.a', BUILD_LIB_PATH . '/libgrpc.a'); //copy($this->source_dir . '/libs/opt/libgrpc.a', BUILD_LIB_PATH . '/libgrpc.a');