Author: Andrei Gherzan <andrei@gherzan.ro>
Date:   Sun Mar 25 02:02:27 2012 +0200

This patch was added for 64bit host machines. In the compile process python
is checking if platform is a 64bit platform using sys.maxint which is the host's
value. The patch fixes this issue so that python would check if TARGET machine
is 64bit not the HOST machine. In this way will have "dl" and "imageop" modules
built if HOST machine is 64bit but the target machine is 32bit.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>

Upstream-Status: Pending

Index: Python-2.7.11/setup.py
===================================================================
--- Python-2.7.11.orig/setup.py
+++ Python-2.7.11/setup.py
@@ -35,6 +35,21 @@ COMPILED_WITH_PYDEBUG = ('--with-pydebug
 # This global variable is used to hold the list of modules to be disabled.
 disabled_module_list = []
 
+def target_is_64bit_platform ():
+    """
+    In case of cross-compile, some modules are not build as setup checks if HOST
+    is 64bit and not TARGET.
+    As python was built for TARGET we can check this in pyconfig.h in this way:
+	Sizeof LONG on a 32 bit platform is 4 bytes
+	Sizeof LONG on a 64 bit platform is 8 bytes
+    """
+    pyconf = open("pyconfig.h").read()
+    aux = re.search(r"#s*define\s+SIZEOF_LONG\s+8\s*", pyconf)
+    if aux is not None:
+	return True
+    else:
+	return False
+
 def add_dir_to_list(dirlist, dir):
     """Add the directory 'dir' to the list 'dirlist' (at the front) if
     1) 'dir' is not already in 'dirlist'
@@ -716,7 +731,7 @@ class PyBuildExt(build_ext):
         exts.append( Extension('audioop', ['audioop.c']) )
 
         # Disabled on 64-bit platforms
-        if sys.maxsize != 9223372036854775807L:
+        if not target_is_64bit_platform():
             # Operations on images
             exts.append( Extension('imageop', ['imageop.c']) )
         else:
@@ -1545,7 +1560,7 @@ class PyBuildExt(build_ext):
                 missing.append('_codecs_%s' % loc)
 
         # Dynamic loading module
-        if sys.maxint == 0x7fffffff:
+        if not target_is_64bit_platform():
             # This requires sizeof(int) == sizeof(long) == sizeof(char*)
             dl_inc = find_file('dlfcn.h', [], inc_dirs)
             if (dl_inc is not None) and (host_platform not in ['atheos']):
