From 161a92aff7765a62f75c6a5dd9d16b68486daa1a Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Mon, 21 Jul 2025 09:33:29 +0700 Subject: [PATCH] needed --libs --static --- src/SPC/builder/extension/grpc.php | 10 +++++++--- src/SPC/builder/unix/library/grpc.php | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/SPC/builder/extension/grpc.php b/src/SPC/builder/extension/grpc.php index e5459807..4cf06f4a 100644 --- a/src/SPC/builder/extension/grpc.php +++ b/src/SPC/builder/extension/grpc.php @@ -62,9 +62,13 @@ class grpc extends Extension 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 = str_replace('-l', '', $libs); - return explode(' ', $libs); + $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); + $out = str_replace('-l', '', $filtered); + $out = preg_replace('/\s+/', ' ', $out); + return explode(' ', trim($out)); } } diff --git a/src/SPC/builder/unix/library/grpc.php b/src/SPC/builder/unix/library/grpc.php index a6c329e3..8cacd39f 100644 --- a/src/SPC/builder/unix/library/grpc.php +++ b/src/SPC/builder/unix/library/grpc.php @@ -21,6 +21,8 @@ trait grpc '-DCMAKE_CXX_FLAGS="-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK"' ) ->build(); + copy($this->source_dir . '/third_party/re2/re2.pc', BUILD_LIB_PATH . '/pkgconfig/re2.pc'); + //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); //copy($this->source_dir . '/libs/opt/libgrpc.a', BUILD_LIB_PATH . '/libgrpc.a');