aboutsummaryrefslogtreecommitdiffstats
path: root/main/zlib/Fix-CC-logic-in-configure.patch
blob: f34c40445de6b1db4c18302069ec5d7cc9c84cdb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From 80d086357a55b94a13e43756cf3e131f25eef0e4 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 28 Mar 2022 08:40:45 +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}. It was throwing away any pre-set CC value as
a result.

The rest of the script then cascades down a bad path because it's convinced
it's not GCC or a GCC-like compiler.

This led to e.g. misdetection of inability to build shared libs
for say, multilib cases (w/ CC being one thing from the environment being used
for one test (e.g. x86_64-unknown-linux-gnu-gcc -m32 and then 'cc' used for
shared libs (but missing "-m32"!)). Obviously just one example of how
the old logic could break.

This restores the old default of 'CC' if nothing overrides it later
in configure.

Bug: https://bugs.gentoo.org/836308
Signed-off-by: Sam James <sam@gentoo.org>
---
 configure | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure b/configure
index 52ff4a04e..3fa3e8618 100755
--- a/configure
+++ b/configure
@@ -174,7 +174,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