diff --git a/src/SPC/builder/linux/LinuxBuilder.php b/src/SPC/builder/linux/LinuxBuilder.php index 74ffb93f..33db12d3 100644 --- a/src/SPC/builder/linux/LinuxBuilder.php +++ b/src/SPC/builder/linux/LinuxBuilder.php @@ -102,6 +102,11 @@ class LinuxBuilder extends UnixBuilderBase 'Change SPC_CMD_VAR_PHP_EMBED_TYPE to static.' ); } + + $extra = ''; + if ($this->getPHPVersionID() < 84000 && $this->getExt('readline') && $this->getLib('libreadline') !== null) { + $extra = 'ac_cv_lib_readline_rl_pending_input=yes'; + } shell()->cd(SOURCE_PATH . '/php-src') ->exec( $php_configure_env . ' ' . @@ -116,8 +121,8 @@ class LinuxBuilder extends UnixBuilderBase $json_74 . $zts . $maxExecutionTimers . - $this->makeStaticExtensionArgs() . ' ' - // 'ac_cv_lib_readline_rl_pending_input=yes' + $this->makeStaticExtensionArgs() . ' ' . + $extra ); $this->emitPatchPoint('before-php-make'); @@ -324,7 +329,8 @@ class LinuxBuilder extends UnixBuilderBase } if (getenv('SPC_CMD_VAR_PHP_EMBED_TYPE') === 'static') { - f_passthru('ar -t ' . BUILD_LIB_PATH . "/libphp.a | grep '\\.a$' | xargs -n1 ar d " . BUILD_LIB_PATH . '/libphp.a'); + $AR = getenv('AR') ?: 'ar'; + f_passthru("{$AR} -t " . BUILD_LIB_PATH . "/libphp.a | grep '\\.a$' | xargs -n1 ar d " . BUILD_LIB_PATH . '/libphp.a'); } if (!$this->getOption('no-strip', false) && file_exists(BUILD_LIB_PATH . '/' . $realLibName)) { diff --git a/src/SPC/builder/macos/MacOSBuilder.php b/src/SPC/builder/macos/MacOSBuilder.php index 3530de1b..b8d59098 100644 --- a/src/SPC/builder/macos/MacOSBuilder.php +++ b/src/SPC/builder/macos/MacOSBuilder.php @@ -267,7 +267,8 @@ class MacOSBuilder extends UnixBuilderBase ->exec(getenv('SPC_CMD_PREFIX_PHP_MAKE') . ' INSTALL_ROOT=' . BUILD_ROOT_PATH . " {$vars} install"); if (getenv('SPC_CMD_VAR_PHP_EMBED_TYPE') === 'static') { - f_passthru('ar -t ' . BUILD_LIB_PATH . "/libphp.a | grep '\\.a$' | xargs -n1 ar d " . BUILD_LIB_PATH . '/libphp.a'); + $AR = getenv('AR') ?: 'ar'; + f_passthru("{$AR} -t " . BUILD_LIB_PATH . "/libphp.a | grep '\\.a$' | xargs -n1 ar d " . BUILD_LIB_PATH . '/libphp.a'); } $this->patchPhpScripts(); } diff --git a/src/SPC/builder/unix/library/libxslt.php b/src/SPC/builder/unix/library/libxslt.php index 238997da..c5315cbf 100644 --- a/src/SPC/builder/unix/library/libxslt.php +++ b/src/SPC/builder/unix/library/libxslt.php @@ -45,8 +45,9 @@ trait libxslt $this->patchPkgconfPrefix(['libexslt.pc', 'libxslt.pc']); $this->patchLaDependencyPrefix(); + $AR = getenv('AR') ?: 'ar'; shell()->cd(BUILD_LIB_PATH) - ->exec("ar -t libxslt.a | grep '\\.a$' | xargs -n1 ar d libxslt.a") - ->exec("ar -t libexslt.a | grep '\\.a$' | xargs -n1 ar d libexslt.a"); + ->exec("{$AR} -t libxslt.a | grep '\\.a$' | xargs -n1 ar d libxslt.a") + ->exec("{$AR} -t libexslt.a | grep '\\.a$' | xargs -n1 ar d libexslt.a"); } } diff --git a/src/SPC/builder/unix/library/ngtcp2.php b/src/SPC/builder/unix/library/ngtcp2.php index 9c9919d8..bb993d42 100644 --- a/src/SPC/builder/unix/library/ngtcp2.php +++ b/src/SPC/builder/unix/library/ngtcp2.php @@ -48,6 +48,7 @@ trait ngtcp2 // on macOS, the static library may contain other static libraries? // ld: archive member 'libssl.a' not a mach-o file in libngtcp2_crypto_ossl.a - shell()->cd(BUILD_LIB_PATH)->exec("ar -t libngtcp2_crypto_ossl.a | grep '\\.a$' | xargs -n1 ar d libngtcp2_crypto_ossl.a"); + $AR = getenv('AR') ?: 'ar'; + shell()->cd(BUILD_LIB_PATH)->exec("{$AR} -t libngtcp2_crypto_ossl.a | grep '\\.a$' | xargs -n1 ar d libngtcp2_crypto_ossl.a"); } }