From 0c6dd7a577b2eac6fd584cbd99223d752c844cad Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Sun, 30 Mar 2025 23:50:15 +0700 Subject: [PATCH] warning for building an extension as both static and shared --- bin/spc-gnu-docker | 1 - src/SPC/command/BuildPHPCommand.php | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/spc-gnu-docker b/bin/spc-gnu-docker index 8c85dd01..e063f115 100755 --- a/bin/spc-gnu-docker +++ b/bin/spc-gnu-docker @@ -160,7 +160,6 @@ if [ "$SPC_DOCKER_DEBUG" = "yes" ]; then echo "* ./pkgroot: $(pwd)/pkgroot" echo "*" -if [ "$SPC_DOCKER_DEBUG" = "yes" ]; then $DOCKER_EXECUTABLE run --rm -it --privileged $INTERACT -e SPC_FIX_DEPLOY_ROOT="$(pwd)" --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH else $DOCKER_EXECUTABLE run --rm $INTERACT -e SPC_FIX_DEPLOY_ROOT="$(pwd)" --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH bin/spc $@ diff --git a/src/SPC/command/BuildPHPCommand.php b/src/SPC/command/BuildPHPCommand.php index 4e690bed..d2cf1d75 100644 --- a/src/SPC/command/BuildPHPCommand.php +++ b/src/SPC/command/BuildPHPCommand.php @@ -71,6 +71,10 @@ class BuildPHPCommand extends BuildCommand $this->output->writeln('Linux does not support dynamic extension loading with musl-libc full-static build, please build with glibc!'); return static::FAILURE; } + $static_and_shared = array_intersect($static_extensions, $shared_extensions); + if (!empty($static_and_shared)) { + $this->output->writeln('Building extensions [' . implode(',', $static_and_shared) . '] as both static and shared\, tests may not be accurate or fail.'); + } if ($rule === BUILD_TARGET_NONE) { $this->output->writeln('Please add at least one build SAPI!'); @@ -270,13 +274,13 @@ class BuildPHPCommand extends BuildCommand /** * Parse build options to rule int. */ - private function parseRules(array $dynamic_exts = []): int + private function parseRules(array $shared_extensions = []): int { $rule = BUILD_TARGET_NONE; $rule |= ($this->getOption('build-cli') ? BUILD_TARGET_CLI : BUILD_TARGET_NONE); $rule |= ($this->getOption('build-micro') ? BUILD_TARGET_MICRO : BUILD_TARGET_NONE); $rule |= ($this->getOption('build-fpm') ? BUILD_TARGET_FPM : BUILD_TARGET_NONE); - $rule |= ($this->getOption('build-embed') || !empty($dynamic_exts) ? BUILD_TARGET_EMBED : BUILD_TARGET_NONE); + $rule |= ($this->getOption('build-embed') || !empty($shared_extensions) ? BUILD_TARGET_EMBED : BUILD_TARGET_NONE); $rule |= ($this->getOption('build-all') ? BUILD_TARGET_ALL : BUILD_TARGET_NONE); return $rule; }