builder->configure_env; $envs = $env; $packages = 'openssl zlib icu-uc icu-io icu-i18n readline libxml-2.0 libzstd'; $output = shell()->execWithResult($env . ' pkg-config --cflags-only-I --static ' . $packages); if (!empty($output[1][0])) { $cppflags = $output[1][0]; $envs .= " CPPFLAGS=\"{$cppflags}\""; } $output = shell()->execWithResult($env . ' pkg-config --libs-only-L --static ' . $packages); if (!empty($output[1][0])) { $ldflags = $output[1][0]; $envs .= " LDFLAGS=\"{$ldflags}\" "; } $output = shell()->execWithResult($env . ' pkg-config --libs-only-l --static ' . $packages); if (!empty($output[1][0])) { $libs = $output[1][0]; $envs .= " LIBS=\"{$libs}\" "; } FileSystem::resetDir($this->source_dir . '/build'); # 有静态链接配置 参考文件: src/interfaces/libpq/Makefile shell()->cd($this->source_dir . '/build')->exec( <<<'EOF' sed -i.backup "s/invokes exit'; exit 1;/invokes exit';/" ../src/interfaces/libpq/Makefile EOF ); shell()->cd($this->source_dir . '/build')->exec( <<<'EOF' sed -i.backup "293 s/^/#$/" ../src/Makefile.shlib EOF ); shell()->cd($this->source_dir . '/build')->exec( <<<'EOF' sed -i.backup "441 s/^/#$/" ../src/Makefile.shlib EOF ); shell()->cd($this->source_dir . '/build') ->exec( <<cd($this->source_dir . '/build')->exec($envs . ' make -C src/bin/pg_config install'); shell()->cd($this->source_dir . '/build')->exec($envs . ' make -C src/include install'); shell()->cd($this->source_dir . '/build')->exec($envs . ' make -C src/common install'); shell()->cd($this->source_dir . '/build')->exec($envs . ' make -C src/backend/port install'); shell()->cd($this->source_dir . '/build')->exec($envs . ' make -C src/port install'); shell()->cd($this->source_dir . '/build')->exec($envs . ' make -C src/backend/libpq install'); shell()->cd($this->source_dir . '/build')->exec($envs . ' make -C src/interfaces/libpq install'); /* shell()->cd($this->source_dir . '/build')->exec( <<<'EOF' make -C src/bin/pg_config install make -C src/include install make -C src/common install make -C src/backend/port install make -C src/port install make -C src/backend/libpq install make -C src/interfaces/libpq install EOF ); */ shell()->cd($this->source_dir . '/build')->exec( <<