From 32cf1acda85dd14c0865a7ce68dbc96980d6714a Mon Sep 17 00:00:00 2001
From: Xavier de Gaye <xdegaye@users.sourceforge.net>
Date: Sat, 10 Dec 2016 17:31:28 +0100
Subject: Issue #28849: Do not define sys.implementation._multiarch on Android.

---
 Lib/test/test_sysconfig.py |  4 ++--
 Misc/NEWS                  |  5 +++++
 configure                  | 24 +-----------------------
 configure.ac               | 24 +-----------------------
 4 files changed, 9 insertions(+), 48 deletions(-)

diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index 091e905..747b2e5 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -385,7 +385,8 @@ class TestSysConfig(unittest.TestCase):
         self.assertIsNotNone(vars['SO'])
         self.assertEqual(vars['SO'], vars['EXT_SUFFIX'])
 
-    @unittest.skipUnless(sys.platform == 'linux', 'Linux-specific test')
+    @unittest.skipUnless(hasattr(sys.implementation, '_multiarch'),
+                         'multiarch-specific test')
     def test_triplet_in_ext_suffix(self):
         import ctypes, platform, re
         machine = platform.machine()
@@ -395,7 +396,6 @@ class TestSysConfig(unittest.TestCase):
         if re.match('(i[3-6]86|x86_64)$', machine):
             if ctypes.sizeof(ctypes.c_char_p()) == 4:
                 self.assertTrue(suffix.endswith('i386-linux-gnu.so') or
-                                suffix.endswith('i686-linux-android.so') or
                                 suffix.endswith('x86_64-linux-gnux32.so'),
                                 suffix)
             else: # 8 byte pointer size
diff --git a/Misc/NEWS b/Misc/NEWS
index 3de5be7..5c323a1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -44,6 +44,11 @@ Tests
 - Issue #26939: Add the support.setswitchinterval() function to fix
   test_functools hanging on the Android armv7 qemu emulator.
 
+Build
+-----
+
+- Issue #28849: Do not define sys.implementation._multiarch on Android.
+
 
 What's New in Python 3.6.0 release candidate 1
 ==============================================
diff --git a/configure b/configure
index cf95b27..82323f5 100755
--- a/configure
+++ b/configure
@@ -5218,29 +5218,7 @@ cat >> conftest.c <<EOF
 #undef sparc
 #undef unix
 #if defined(__ANDROID__)
-# if defined(__x86_64__) && defined(__LP64__)
-        x86_64-linux-android
-# elif defined(__i386__)
-        i686-linux-android
-# elif defined(__aarch64__) && defined(__AARCH64EL__)
-#  if defined(__ILP32__)
-        aarch64_ilp32-linux-android
-#  else
-        aarch64-linux-android
-#  endif
-# elif defined(__ARM_EABI__) && defined(__ARMEL__)
-        arm-linux-androideabi
-# elif defined(__mips_hard_float) && defined(_MIPSEL)
-#  if _MIPS_SIM == _ABIO32
-        mipsel-linux-android
-#  elif _MIPS_SIM == _ABI64
-        mips64el-linux-android
-#  else
-#   error unknown platform triplet
-#  endif
-# else
-#   error unknown platform triplet
-# endif
+    # Android is not a multiarch system.
 #elif defined(__linux__)
 # if defined(__x86_64__) && defined(__LP64__)
         x86_64-linux-gnu
diff --git a/configure.ac b/configure.ac
index 1d63813..4ab1892 100644
--- a/configure.ac
+++ b/configure.ac
@@ -770,29 +770,7 @@ cat >> conftest.c <<EOF
 #undef sparc
 #undef unix
 #if defined(__ANDROID__)
-# if defined(__x86_64__) && defined(__LP64__)
-        x86_64-linux-android
-# elif defined(__i386__)
-        i686-linux-android
-# elif defined(__aarch64__) && defined(__AARCH64EL__)
-#  if defined(__ILP32__)
-        aarch64_ilp32-linux-android
-#  else
-        aarch64-linux-android
-#  endif
-# elif defined(__ARM_EABI__) && defined(__ARMEL__)
-        arm-linux-androideabi
-# elif defined(__mips_hard_float) && defined(_MIPSEL)
-#  if _MIPS_SIM == _ABIO32
-        mipsel-linux-android
-#  elif _MIPS_SIM == _ABI64
-        mips64el-linux-android
-#  else
-#   error unknown platform triplet
-#  endif
-# else
-#   error unknown platform triplet
-# endif
+    # Android is not a multiarch system.
 #elif defined(__linux__)
 # if defined(__x86_64__) && defined(__LP64__)
         x86_64-linux-gnu
-- 
cgit v0.12