mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-04 16:10:04 +00:00
python3: fix build on softfloat mips
This patch originally only meant to correct the python3 build for mips with softfloat, as the original test only checked for mips hardfloat. Replaced custom C Program for triplet detection with autotools triplet detection. (From OE-Core rev: 203336486c84528e8779db93f64cc28e4b372aab) Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
0191f500c5
commit
c85b269416
|
|
@ -0,0 +1,201 @@
|
|||
From 7535c39951b9d15dd64c4669092a8582ba555466 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
|
||||
Date: Fri, 31 May 2019 15:34:34 +0200
|
||||
Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft
|
||||
float
|
||||
|
||||
When (cross) compiling for softfloat mips, __mips_hard_float will not be
|
||||
defined and detection of OS triplet in configure.ac / configure will fail.
|
||||
|
||||
This also has to do with the custom detection of the build triplet. Trying
|
||||
to do this in a more autoconf/autotools manner.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196]
|
||||
Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
|
||||
---
|
||||
configure.ac | 169 ++++++---------------------------------------------
|
||||
1 file changed, 17 insertions(+), 152 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index a7de901e08..a73e2de51b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -727,158 +727,23 @@ fi
|
||||
MULTIARCH=$($CC --print-multiarch 2>/dev/null)
|
||||
AC_SUBST(MULTIARCH)
|
||||
|
||||
-AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
|
||||
-cat >> conftest.c <<EOF
|
||||
-#undef bfin
|
||||
-#undef cris
|
||||
-#undef fr30
|
||||
-#undef linux
|
||||
-#undef hppa
|
||||
-#undef hpux
|
||||
-#undef i386
|
||||
-#undef mips
|
||||
-#undef powerpc
|
||||
-#undef sparc
|
||||
-#undef unix
|
||||
-#if defined(__ANDROID__)
|
||||
- # Android is not a multiarch system.
|
||||
-#elif defined(__linux__)
|
||||
-# if defined(__x86_64__) && defined(__LP64__)
|
||||
- x86_64-linux-gnu
|
||||
-# elif defined(__x86_64__) && defined(__ILP32__)
|
||||
- x86_64-linux-gnux32
|
||||
-# elif defined(__i386__)
|
||||
- i386-linux-gnu
|
||||
-# elif defined(__aarch64__) && defined(__AARCH64EL__)
|
||||
-# if defined(__ILP32__)
|
||||
- aarch64_ilp32-linux-gnu
|
||||
-# else
|
||||
- aarch64-linux-gnu
|
||||
-# endif
|
||||
-# elif defined(__aarch64__) && defined(__AARCH64EB__)
|
||||
-# if defined(__ILP32__)
|
||||
- aarch64_be_ilp32-linux-gnu
|
||||
-# else
|
||||
- aarch64_be-linux-gnu
|
||||
-# endif
|
||||
-# elif defined(__alpha__)
|
||||
- alpha-linux-gnu
|
||||
-# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
|
||||
-# if defined(__ARMEL__)
|
||||
- arm-linux-gnueabihf
|
||||
-# else
|
||||
- armeb-linux-gnueabihf
|
||||
-# endif
|
||||
-# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
|
||||
-# if defined(__ARMEL__)
|
||||
- arm-linux-gnueabi
|
||||
-# else
|
||||
- armeb-linux-gnueabi
|
||||
-# endif
|
||||
-# elif defined(__hppa__)
|
||||
- hppa-linux-gnu
|
||||
-# elif defined(__ia64__)
|
||||
- ia64-linux-gnu
|
||||
-# elif defined(__m68k__) && !defined(__mcoldfire__)
|
||||
- m68k-linux-gnu
|
||||
-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL)
|
||||
-# if _MIPS_SIM == _ABIO32
|
||||
- mipsisa32r6el-linux-gnu
|
||||
-# elif _MIPS_SIM == _ABIN32
|
||||
- mipsisa64r6el-linux-gnuabin32
|
||||
-# elif _MIPS_SIM == _ABI64
|
||||
- mipsisa64r6el-linux-gnuabi64
|
||||
-# else
|
||||
-# error unknown platform triplet
|
||||
-# endif
|
||||
-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6)
|
||||
-# if _MIPS_SIM == _ABIO32
|
||||
- mipsisa32r6-linux-gnu
|
||||
-# elif _MIPS_SIM == _ABIN32
|
||||
- mipsisa64r6-linux-gnuabin32
|
||||
-# elif _MIPS_SIM == _ABI64
|
||||
- mipsisa64r6-linux-gnuabi64
|
||||
-# else
|
||||
-# error unknown platform triplet
|
||||
-# endif
|
||||
-# elif defined(__mips_hard_float) && defined(_MIPSEL)
|
||||
-# if _MIPS_SIM == _ABIO32
|
||||
- mipsel-linux-gnu
|
||||
-# elif _MIPS_SIM == _ABIN32
|
||||
- mips64el-linux-gnuabin32
|
||||
-# elif _MIPS_SIM == _ABI64
|
||||
- mips64el-linux-gnuabi64
|
||||
-# else
|
||||
-# error unknown platform triplet
|
||||
-# endif
|
||||
-# elif defined(__mips_hard_float)
|
||||
-# if _MIPS_SIM == _ABIO32
|
||||
- mips-linux-gnu
|
||||
-# elif _MIPS_SIM == _ABIN32
|
||||
- mips64-linux-gnuabin32
|
||||
-# elif _MIPS_SIM == _ABI64
|
||||
- mips64-linux-gnuabi64
|
||||
-# else
|
||||
-# error unknown platform triplet
|
||||
-# endif
|
||||
-# elif defined(__or1k__)
|
||||
- or1k-linux-gnu
|
||||
-# elif defined(__powerpc__) && defined(__SPE__)
|
||||
- powerpc-linux-gnuspe
|
||||
-# elif defined(__powerpc64__)
|
||||
-# if defined(__LITTLE_ENDIAN__)
|
||||
- powerpc64le-linux-gnu
|
||||
-# else
|
||||
- powerpc64-linux-gnu
|
||||
-# endif
|
||||
-# elif defined(__powerpc__)
|
||||
- powerpc-linux-gnu
|
||||
-# elif defined(__s390x__)
|
||||
- s390x-linux-gnu
|
||||
-# elif defined(__s390__)
|
||||
- s390-linux-gnu
|
||||
-# elif defined(__sh__) && defined(__LITTLE_ENDIAN__)
|
||||
- sh4-linux-gnu
|
||||
-# elif defined(__sparc__) && defined(__arch64__)
|
||||
- sparc64-linux-gnu
|
||||
-# elif defined(__sparc__)
|
||||
- sparc-linux-gnu
|
||||
-# elif defined(__riscv)
|
||||
-# if __riscv_xlen == 32
|
||||
- riscv32-linux-gnu
|
||||
-# elif __riscv_xlen == 64
|
||||
- riscv64-linux-gnu
|
||||
-# else
|
||||
-# error unknown platform triplet
|
||||
-# endif
|
||||
-# else
|
||||
-# error unknown platform triplet
|
||||
-# endif
|
||||
-#elif defined(__FreeBSD_kernel__)
|
||||
-# if defined(__LP64__)
|
||||
- x86_64-kfreebsd-gnu
|
||||
-# elif defined(__i386__)
|
||||
- i386-kfreebsd-gnu
|
||||
-# else
|
||||
-# error unknown platform triplet
|
||||
-# endif
|
||||
-#elif defined(__gnu_hurd__)
|
||||
- i386-gnu
|
||||
-#elif defined(__APPLE__)
|
||||
- darwin
|
||||
-#else
|
||||
-# error unknown platform triplet
|
||||
-#endif
|
||||
-
|
||||
-EOF
|
||||
-
|
||||
-if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then
|
||||
- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '`
|
||||
- AC_MSG_RESULT([$PLATFORM_TRIPLET])
|
||||
-else
|
||||
- AC_MSG_RESULT([none])
|
||||
-fi
|
||||
-rm -f conftest.c conftest.out
|
||||
+AC_CANONICAL_TARGET
|
||||
+## Not using $target to filter out vendor
|
||||
+## Need to handle macos, vxworks and hurd special (?) :-/
|
||||
+case ${target_os} in
|
||||
+ darwin*)
|
||||
+ PLATFORM_TRIPLET=darwin
|
||||
+ ;;
|
||||
+ hurd*)
|
||||
+ PLATFORM_TRIPLET=i386-gnu
|
||||
+ ;;
|
||||
+ vxworks*)
|
||||
+ PLATFORM_TRIPLET=vxworks
|
||||
+ ;;
|
||||
+ *)
|
||||
+ PLATFORM_TRIPLET=${target_cpu}-${target_os}
|
||||
+ ;;
|
||||
+esac
|
||||
|
||||
if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then
|
||||
if test x$PLATFORM_TRIPLET != x$MULTIARCH; then
|
||||
--
|
||||
2.21.0
|
||||
|
||||
|
|
@ -23,6 +23,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
|
|||
file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
|
||||
file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
|
||||
file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
|
||||
file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_class-native = " \
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user