diff --git a/prepare.php b/prepare.php index a09eab4192..e377caaf4d 100755 --- a/prepare.php +++ b/prepare.php @@ -11,6 +11,11 @@ $p = Preprocessor::getInstance(); $p->parseArguments($argc, $argv); +$buildType = $p->getBuildType(); +if ($p->getInputOption('with-build-type')) { + $buildType = $p->getInputOption('with-build-type'); + $p->setBuildType($buildType); +} # clean # clean old make.sh @@ -26,7 +31,7 @@ // Sync code from php-src -$p->setPhpSrcDir($homeDir . '/.phpbrew/build/php-' . BUILD_PHP_VERSION); +$p->setPhpSrcDir($p->getWorkDir() . '/var/php-' . BUILD_PHP_VERSION); // Compile directly on the host machine, not in the docker container if ($p->getInputOption('without-docker') || ($p->isMacos())) { @@ -39,6 +44,7 @@ $p->setExtEnabled([]); } + if ($p->getInputOption('with-global-prefix')) { $p->setGlobalPrefix($p->getInputOption('with-global-prefix')); } diff --git a/sapi/src/Preprocessor.php b/sapi/src/Preprocessor.php index 50c92f8c17..04072acfd5 100644 --- a/sapi/src/Preprocessor.php +++ b/sapi/src/Preprocessor.php @@ -293,6 +293,11 @@ public function getWorkDir(): string return $this->workDir; } + public function getWorkExtDir(): string + { + return $this->workDir . '/ext/'; + } + public function setExtraLdflags(string $flags) { $this->extraLdflags = $flags; @@ -453,7 +458,7 @@ public function donotInstallLibrary(): void /** * @param string $url * @param string $file - * @param object|null $project + * @param object|null $project [ $lib or $ext ] * @param string $httpProxyConfig * @return void */ @@ -1182,7 +1187,7 @@ public function execute(): void $this->setExtensionDependency(); if ($this->getInputOption('skip-download')) { - $this->generateLibraryDownloadLinks(); + $this->generateDownloadLinks(); } $this->generateFile(__DIR__ . '/template/make-install-deps.php', $this->rootDir . '/make-install-deps.sh'); diff --git a/sapi/src/PreprocessorTrait/DownloadBoxTrait.php b/sapi/src/PreprocessorTrait/DownloadBoxTrait.php index 6a9045ab6b..f6d30855a5 100644 --- a/sapi/src/PreprocessorTrait/DownloadBoxTrait.php +++ b/sapi/src/PreprocessorTrait/DownloadBoxTrait.php @@ -23,7 +23,7 @@ trait DownloadBoxTrait EOF; - protected function generateLibraryDownloadLinks(): void + protected function generateDownloadLinks(): void { $this->mkdirIfNotExists($this->getRootDir() . '/var/download-box/', 0755, true); diff --git a/sapi/src/builder/extension/aaa_example.php b/sapi/src/builder/extension/aaa_example.php index dadd539f68..013d4fb1f7 100644 --- a/sapi/src/builder/extension/aaa_example.php +++ b/sapi/src/builder/extension/aaa_example.php @@ -122,9 +122,10 @@ // 扩展钩子 写法 $p->withBeforeConfigureScript('swoole', function (Preprocessor $p) { - $workdir = $p->getWorkDir(); + $workDir = $p->getWorkDir(); + $workExtDir = $p->getWorkExtDir(); $cmd = <<