From b05002ee9bbad93a8fc45886647d143e140f0f11 Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Wed, 16 Jul 2025 17:50:39 +0700 Subject: [PATCH] manual compilation doesn't respect CFLAGS, so pass them directly --- src/SPC/builder/unix/library/watcher.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SPC/builder/unix/library/watcher.php b/src/SPC/builder/unix/library/watcher.php index 19f881b7..84f8140e 100644 --- a/src/SPC/builder/unix/library/watcher.php +++ b/src/SPC/builder/unix/library/watcher.php @@ -16,9 +16,13 @@ trait watcher */ protected function build(): void { + $cflags = $this->getLibExtraCXXFlags(); + if (stripos($cflags, '-fpic') === false) { + $cflags .= ' -fPIC'; + } + $ldflags = $this->getLibExtraLdFlags() ? ' ' . $this->getLibExtraLdFlags() : ''; shell()->cd($this->source_dir . '/watcher-c') - ->initializeEnv($this) - ->exec(getenv('CXX') . ' -c -o libwatcher-c.o ./src/watcher-c.cpp -I ./include -I ../include -std=c++17 -Wall -Wextra -fPIC') + ->exec(getenv('CXX') . " -c -o libwatcher-c.o ./src/watcher-c.cpp -I ./include -I ../include -std=c++17 -Wall -Wextra {$cflags}{$ldflags}") ->exec(getenv('AR') . ' rcs libwatcher-c.a libwatcher-c.o'); copy($this->source_dir . '/watcher-c/libwatcher-c.a', BUILD_LIB_PATH . '/libwatcher-c.a');