[PATCH] Make EAPI 8 `--disable-static` logic libtool-specific

David Seifert <[email protected]> Sat, 19 Nov 2022 04:12:08 +0100
Newsgroups gmane.linux.gentoo.portage.devel
Message-ID <[email protected]>
* The intention has always been to only target `configure` scripts that use
  libtool, not just any script with a `--disable-static*` option.

* libtool has been using the same `configure` format for at least
  the past 15 years (going back to libtool 1.5.22):

  1. shared and static libraries enabled (the main use case):
       --enable-shared[=PKGS]  build shared libraries [default=yes]
       --enable-static[=PKGS]  build static libraries [default=yes]

  2. shared libraries enabled and static libraries disabled:
       --enable-static[=PKGS]  build static libraries [default=no]
       --enable-shared[=PKGS]  build shared libraries [default=yes]

  3. shared libraries disabled and static libraries enabled:
       --enable-shared[=PKGS]  build shared libraries [default=no]
       --enable-static[=PKGS]  build static libraries [default=yes]

Bug: https://bugs.gentoo.org/814380
---
 bin/phase-helpers.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index 2217e5a0b..6f691f6ff 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -655,8 +655,8 @@ econf() {
 			fi
 
 			if ___eapi_econf_passes_--disable-static; then
-				if [[ ${conf_help} == *--disable-static* || \
-						${conf_help} == *--enable-static* ]]; then
+				if [[ ${conf_help} == *--enable-shared\[=PKGS\]* &&
+						${conf_help} == *--enable-static\[=PKGS\]* ]]; then
 					conf_args+=( --disable-static )
 				fi
 			fi
-- 
2.38.1