1From d009b0142f77881dd75ff760fec728dbc8581a03 Mon Sep 17 00:00:00 2001
2From: Peter Korsgaard <peter@korsgaard.com>
3Date: Fri, 2 Aug 2019 15:53:16 +0200
4Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for
5 musl/uclibc GCC 8+ toolchains
6
7GCC commit 6834b83784dcf0364eb820e8 (multiarch support for non-glibc linux
8systems), which is part of GCC 8+, changed the multiarch logic to use
9$arch-linux-musl / $arch-linux-uclibc rather than $arch-linux-gnu.
10
11This then causes the python3 configure script to error out:
12
13checking for the platform triplet based on compiler characteristics... powerpc-linux-gnu
14configure: error: internal configure error for the platform triplet, please file a bug report
15
16http://autobuild.buildroot.net/results/cb4/cb49c539501342e45cbe5ade82e588fcdf51f05b
17
18As it requires that the --print-multiarch output (if not empty) matches the
19deduced triplet (which always uses -linux-gnu).
20
21It isn't quite clear why --print-multiarch returns something for a
22non-multiarch toolchain on some architectures (E.G.  PowerPC), but as a
23workaround, rewrite the --print-multiarch output to match older GCC versions
24to keep the configure script happy.
25
26Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
27[Peter: updated for 3.10.2]
28---
29 configure.ac | 6 +++++-
30 1 file changed, 5 insertions(+), 1 deletion(-)
31
32diff --git a/configure.ac b/configure.ac
33index 913051c276..aba03f3779 100644
34--- a/configure.ac
35+++ b/configure.ac
36@@ -876,7 +876,11 @@ AC_MSG_CHECKING([for multiarch])
37 AS_CASE([$ac_sys_system],
38   [Darwin*], [MULTIARCH=""],
39   [FreeBSD*], [MULTIARCH=""],
40-  [MULTIARCH=$($CC --print-multiarch 2>/dev/null)]
41+  [
42+  # GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based
43+  # toolchains confusing python. Fix that up
44+  MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/')
45+  ]
46 )
47 AC_SUBST([MULTIARCH])
48 AC_MSG_RESULT([$MULTIARCH])
49--
502.20.1
51
52