summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/ibcarbon/_IBCarbon.c
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2008-06-05 12:58:24 (GMT)
committerRonald Oussoren <ronaldoussoren@mac.com>2008-06-05 12:58:24 (GMT)
commit5640ce2f1edc0148ee14fd3daeb7ac700700bb71 (patch)
tree9bc8b41710d3a86ccbb579a0209928d787386b69 /Mac/Modules/ibcarbon/_IBCarbon.c
parent80af6da7489c3b28e0a46c73849da34273972e3b (diff)
downloadcpython-5640ce2f1edc0148ee14fd3daeb7ac700700bb71.zip
cpython-5640ce2f1edc0148ee14fd3daeb7ac700700bb71.tar.gz
cpython-5640ce2f1edc0148ee14fd3daeb7ac700700bb71.tar.bz2
MacOS X: Enable 4-way universal builds
This patch adds a new configure argument on OSX: --with-universal-archs=[32-bit|64-bit|all] When used with the --enable-universalsdk option this controls which CPU architectures are includes in the framework. The default is 32-bit, meaning i386 and ppc. The most useful alternative is 'all', which includes all 4 CPU architectures supported by MacOS X (i386, ppc, x86_64 and ppc64). This includes limited support for the Carbon bindings in 64-bit mode as well, limited because (a) I haven't done extensive testing and (b) a large portion of the Carbon API's aren't available in 64-bit mode anyway. I've also duplicated a feature of Apple's build of python: setting the environment variable 'ARCHFLAGS' controls the '-arch' flags used for building extensions using distutils.
Diffstat (limited to 'Mac/Modules/ibcarbon/_IBCarbon.c')
-rw-r--r--Mac/Modules/ibcarbon/_IBCarbon.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/Mac/Modules/ibcarbon/_IBCarbon.c b/Mac/Modules/ibcarbon/_IBCarbon.c
index 6baad7c..c7c819c 100644
--- a/Mac/Modules/ibcarbon/_IBCarbon.c
+++ b/Mac/Modules/ibcarbon/_IBCarbon.c
@@ -4,6 +4,7 @@
#include "Python.h"
+#ifndef __LP64__
#include <Carbon/Carbon.h>
#include "pymactoolbox.h"
@@ -224,10 +225,13 @@ static PyObject *IBCarbon_CreateNibReference(PyObject *_self, PyObject *_args)
IBNibRefObj_New, outNibRef);
return _res;
}
+#endif /* __LP64__ */
static PyMethodDef IBCarbon_methods[] = {
+#ifndef __LP64__
{"CreateNibReference", (PyCFunction)IBCarbon_CreateNibReference, 1,
PyDoc_STR("(CFStringRef inNibName) -> (IBNibRef outNibRef)")},
+#endif /* __LP64__ */
{NULL, NULL, 0}
};
@@ -237,13 +241,16 @@ static PyMethodDef IBCarbon_methods[] = {
void init_IBCarbon(void)
{
PyObject *m;
+#ifndef __LP64__
PyObject *d;
+#endif /* __LP64__ */
m = Py_InitModule("_IBCarbon", IBCarbon_methods);
+#ifndef __LP64__
d = PyModule_GetDict(m);
IBCarbon_Error = PyMac_GetOSErrException();
if (IBCarbon_Error == NULL ||
@@ -256,6 +263,7 @@ void init_IBCarbon(void)
/* Backward-compatible name */
Py_INCREF(&IBNibRef_Type);
PyModule_AddObject(m, "IBNibRefType", (PyObject *)&IBNibRef_Type);
+#endif /* __LP64__ */
}
/* ====================== End module _IBCarbon ====================== */