[PyObjC-svn] r2218 - in trunk/pyobjc/pyobjc-framework-Cocoa: . Modules PyObjCTest
[email protected] Thu, 14 May 2009 03:36:55 -0500
| Newsgroups | gmane.comp.python.pyobjc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: ronaldoussoren
Date: Thu May 14 03:36:55 2009
New Revision: 2218
Log:
Enable compilation on OSX 10.4, with some small test tweaks.
This does not mean that pyobjc-framework-Cocoa is now usable on 10.4,
I still get python crashes. I haven't investiged those yet.
Modified:
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/pyobjc-api.h
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cferror.py
trunk/pyobjc/pyobjc-framework-Cocoa/setup.py
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m Thu May 14 03:36:55 2009
@@ -7,7 +7,7 @@
#import <CoreFoundation/CoreFoundation.h>
#import <Foundation/Foundation.h>
-@interface NSObject ()
+@interface NSObject (OC_Comparison)
-(NSComparisonResult)compare:(NSObject*)other;
@end
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m Thu May 14 03:36:55 2009
@@ -68,7 +68,7 @@
{"NSSwapShort", (FUNCTION)&NSSwapShort },
{"NSWidth", (FUNCTION)&NSWidth },
-#ifndef BUILD_TIGER
+#ifndef NO_OBJC2_RUNTIME
{"NSMakeCollectable", (FUNCTION)&NSMakeCollectable },
{"NSPointFromCGPoint", (FUNCTION)&NSPointFromCGPoint },
{"NSPointToCGPoint", (FUNCTION)&NSPointToCGPoint },
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/pyobjc-api.h
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/pyobjc-api.h (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/pyobjc-api.h Thu May 14 03:36:55 2009
@@ -19,6 +19,41 @@
#include "Python.h"
#include <objc/objc.h>
+#import <Foundation/NSObjCRuntime.h>
+
+#ifndef CGFLOAT_DEFINED
+
+#ifdef __LP64__
+# error "Huh? 64-bit but no CFFloat available???"
+#endif
+
+typedef float CGFloat;
+#define CGFLOAT_MIN FLT_MIN
+#define CGFLOAT_MAX FLT_MAX
+#define CGFLOAT_IS_DOUBLE 0
+#define CGFLOAT_DEFINED
+
+#endif /* CGFLOAT_DEFINED */
+
+
+#ifndef NSINTEGER_DEFINED
+
+#ifdef __LP64__
+# error "Huh? 64-bit but no NSINTEGER available???"
+#endif
+
+typedef int NSInteger;
+typedef unsigned int NSUInteger;
+
+#define NSIntegerMax LONG_MAX
+#define NSIntegerMin LONG_MIN
+#define NSUIntegerMax ULONG_MAX
+
+#define NSINTEGER_DEFINED
+
+#endif
+
+
#ifndef PyObjC_COMPAT_H
#if (PY_VERSION_HEX < 0x02050000)
typedef int Py_ssize_t;
@@ -32,7 +67,6 @@
#endif
#endif
-
#import <Foundation/NSException.h>
struct PyObjC_WeakLink {
@@ -42,6 +76,7 @@
/* threading support */
+#ifdef NO_OBJC2_RUNTIME
#define PyObjC_DURING \
Py_BEGIN_ALLOW_THREADS \
NS_DURING
@@ -51,6 +86,20 @@
#define PyObjC_ENDHANDLER \
NS_ENDHANDLER \
Py_END_ALLOW_THREADS
+#else
+
+#define PyObjC_DURING \
+ Py_BEGIN_ALLOW_THREADS \
+ @try {
+
+#define PyObjC_HANDLER } @catch(NSObject* _localException) { \
+ NSException* localException __attribute__((__unused__))= (NSException*)_localException;
+
+#define PyObjC_ENDHANDLER \
+ } \
+ Py_END_ALLOW_THREADS
+
+#endif
#define PyObjC_BEGIN_WITH_GIL \
{ \
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cferror.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cferror.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cferror.py Thu May 14 03:36:55 2009
@@ -1,6 +1,6 @@
from PyObjCTools.TestSupport import *
from CoreFoundation import *
-from Foundation import NSString, NSCFError
+from Foundation import *
class TestError (TestCase):
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/setup.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/setup.py Thu May 14 03:36:55 2009
@@ -14,7 +14,7 @@
import os
if int(os.uname()[2].split('.')[0]) <= 8:
- CFLAGS=["-DBUILD_TIGER"]
+ CFLAGS=["-DNO_OBJC2_RUNTIME"]
else:
CFLAGS=[]
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com