source_dir . '/configure', 'realpath -s', 'realpath'); return true; } protected function build(): void { $use_libc = SPCTarget::getLibc() !== 'glibc' || version_compare(SPCTarget::getLibcVersion(), '2.30', '>='); $make = UnixAutoconfExecutor::create($this); if (!$use_libc) { $make->appendEnv([ 'CC' => 'gcc', // libc-less version fails to compile with clang or zig 'CXX' => 'g++', 'AR' => 'ar', 'LD' => 'ld', ]); } else { $make->appendEnv([ 'CFLAGS' => '-D_GNU_SOURCE', ]); } $make ->removeConfigureArgs( '--disable-shared', '--enable-static', '--with-pic', '--enable-pic', ) ->addConfigureArgs( $use_libc ? '--use-libc' : '', ) ->configure() ->make('library', 'install ENABLE_SHARED=0', with_clean: false); $this->patchPkgconfPrefix(); } }