commit:     0a91cef90a3879f5fe3763a01c0f37c336bd1a6c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 28 07:27:31 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 28 07:28:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a91cef9

sys-libs/zlib: fix CC detection in configure

Notably fixes multilib (although it actually silently skipped
for me) in at least one way.

Closes: https://bugs.gentoo.org/836308
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../zlib-1.2.12-fix-CC-logic-in-configure.patch    | 27 ++++++++++++++++++++++
 sys-libs/zlib/zlib-1.2.12.ebuild                   |  4 ++++
 2 files changed, 31 insertions(+)

diff --git a/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch 
b/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch
new file mode 100644
index 000000000000..da9455519b6f
--- /dev/null
+++ b/sys-libs/zlib/files/zlib-1.2.12-fix-CC-logic-in-configure.patch
@@ -0,0 +1,27 @@
+From 95b9053f10710f9f881f4daec2f2e78da87560cf Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Mon, 28 Mar 2022 08:21:18 +0100
+Subject: [PATCH] Fix CC logic in configure
+
+In 
https://github.com/madler/zlib/commit/e9a52aa129efe3834383e415580716a7c4027f8d,
+the logic was changed to try check harder for GCC, but it dropped
+the default setting of cc=${CC}.
+
+This led to e.g. misdetection of inability to build shared libs
+for say, multilib cases (w/ CC being one thing (e.g. 
x86_64-unknown-linux-gnu-gcc -m32
+and then 'cc' used for shared libs being w/o -m32).
+
+Signed-off-by: Sam James <[email protected]>
+--- a/configure
++++ b/configure
+@@ -180,7 +180,10 @@ if test -z "$CC"; then
+   else
+     cc=${CROSS_PREFIX}cc
+   fi
++else
++  cc=${CC}
+ fi
++
+ cflags=${CFLAGS-"-O3"}
+ # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
+ case "$cc" in

diff --git a/sys-libs/zlib/zlib-1.2.12.ebuild b/sys-libs/zlib/zlib-1.2.12.ebuild
index d43f2e1853c7..1a031b3c2526 100644
--- a/sys-libs/zlib/zlib-1.2.12.ebuild
+++ b/sys-libs/zlib/zlib-1.2.12.ebuild
@@ -36,6 +36,9 @@ PATCHES=(
 
        # bug #831628
        "${FILESDIR}"/${PN}-1.2.11-configure-fix-AR-RANLIB-NM-detection.patch
+
+       # Fix broken CC logic
+       "${FILESDIR}"/${PN}-1.2.12-fix-CC-logic-in-configure.patch
 )
 
 src_prepare() {
@@ -85,6 +88,7 @@ multilib_src_configure() {
                *)
                        # bug #347167
                        local uname=$("${BROOT}"/usr/share/gnuconfig/config.sub 
"${CHOST}" | cut -d- -f3)
+
                        local myconf=(
                                --shared
                                --prefix="${EPREFIX}/usr"

Reply via email to