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');