--- numpy/core/setup.py.orig 2009-04-05 04:09:20.000000000 -0400 +++ numpy/core/setup.py 2009-04-08 19:53:45.000000000 -0400 @@ -309,7 +309,14 @@ if isinstance(d,str): target_f.write('#define %s\n' % (d)) else: - target_f.write('#define %s %s\n' % (d[0],d[1])) + if d[0]!='SIZEOF_LONG' and d[0]!='SIZEOF_PY_INTPTR_T': + target_f.write('#define %s %s\n' % (d[0],d[1])) + else: + target_f.write('#ifdef __LP64__\n') + target_f.write('#define %s %s\n' % (d[0],8)) + target_f.write('#else\n') + target_f.write('#define %s %s\n' % (d[0],4)) + target_f.write('#endif\n') # define inline to our keyword, or nothing target_f.write('#ifndef __cplusplus\n') @@ -393,7 +393,14 @@ if isinstance(d,str): target_f.write('#define %s\n' % (d)) else: - target_f.write('#define %s %s\n' % (d[0],d[1])) + if d[0]!='NPY_SIZEOF_LONG' and d[0]!='NPY_SIZEOF_PY_INTPTR_T': + target_f.write('#define %s %s\n' % (d[0],d[1])) + else: + target_f.write('#ifdef __LP64__\n') + target_f.write('#define %s %s\n' % (d[0],8)) + target_f.write('#else\n') + target_f.write('#define %s %s\n' % (d[0],4)) + target_f.write('#endif\n') # define NPY_INLINE to recognized keyword target_f.write('#define NPY_INLINE %s\n' % inline)