Only build the 'dl' extension when sys.maxint equals 2**31-1.
This module raises "SystemError: module dl requires sizeof(int) ==
sizeof(long) == sizeof(char*)" when compiled on 64-bit platforms.
diff --git a/setup.py b/setup.py
index 3341e46..7e9d7fe 100644
--- a/setup.py
+++ b/setup.py
@@ -732,9 +732,11 @@
))
# Dynamic loading module
- dl_inc = find_file('dlfcn.h', [], inc_dirs)
- if (dl_inc is not None) and (platform not in ['atheos']):
- exts.append( Extension('dl', ['dlmodule.c']) )
+ if sys.maxint == 0x7fffffff:
+ # This requires sizeof(int) == sizeof(long) == sizeof(char*)
+ dl_inc = find_file('dlfcn.h', [], inc_dirs)
+ if (dl_inc is not None) and (platform not in ['atheos']):
+ exts.append( Extension('dl', ['dlmodule.c']) )
# Platform-specific libraries
if platform == 'linux2':