0024-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch 1.9 KB

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