summaryrefslogtreecommitdiff
path: root/tikzit-old/m4/objc.m4
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit-old/m4/objc.m4')
-rw-r--r--tikzit-old/m4/objc.m4135
1 files changed, 135 insertions, 0 deletions
diff --git a/tikzit-old/m4/objc.m4 b/tikzit-old/m4/objc.m4
new file mode 100644
index 0000000..8c7cc78
--- /dev/null
+++ b/tikzit-old/m4/objc.m4
@@ -0,0 +1,135 @@
+# Checks for a working Foundation
+# tz_cv_objc_foundation
+# to either "yes" or "no"
+#
+AC_DEFUN([TZ_OBJC_FOUNDATION],
+[
+AC_LANG_ASSERT([Objective C])
+tz_old_objcflags="$OBJCFLAGS"
+OBJCFLAGS="$OBJCFLAGS $TZ_TEST_OBJCFLAGS"
+
+AC_CACHE_CHECK([for Objective C Foundation],
+ [tz_cv_objc_foundation],
+[AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+#import <Foundation/Foundation.h>
+
+@interface TestObj : NSObject {
+ int intVar;
+ NSObject *objVar;
+ NSString *strVar;
+}
+-(id)init;
+@end
+
+@implementation TestObj
+-(id)init {
+ self = [super init];
+ intVar = 0;
+ objVar = nil;
+ strVar = @"Foo";
+ return self;
+}
+@end
+
+int main(void) {
+ TestObj *obj = [[TestObj alloc] init];
+ [obj release];
+ return 0;
+}
+ ]])],
+ [tz_cv_objc_foundation=yes],
+ [tz_cv_objc_foundation=no])])
+
+OBJCFLAGS="$tz_old_objcflags"
+])
+
+
+# Checks for Objective C 2 feature support
+# and sets the shell variables
+# tz_cv_objc_properties
+# tz_cv_objc_fast_enumeration
+# tz_cv_objc_optional_keyword
+# to either "yes" or "no"
+#
+AC_DEFUN([TZ_OBJC2_FEATURES],
+[
+AC_LANG_ASSERT([Objective C])
+tz_old_objcflags="$OBJCFLAGS"
+OBJCFLAGS="$OBJCFLAGS $TZ_TEST_OBJCFLAGS"
+
+AC_CACHE_CHECK([for Objective C 2 @property support],
+ [tz_cv_objc_properties],
+[AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+#import <Foundation/Foundation.h>
+
+@interface TestObj : NSObject {
+ int intProp1;
+ NSObject *copyObjProp;
+ NSObject *fooProp;
+}
+@property (assign,nonatomic) int intProp;
+@property (retain,readonly) NSObject *retainObjProp;
+@property (copy,readwrite) NSObject *copyObjProp;
+@property (retain,getter=foo,setter=foo1:) NSObject *fooProp;
+@end
+
+@implementation TestObj
+@synthesize intProp=intProp1;
+@dynamic retainObjProp;
+- (NSObject*) retainObjProp { return nil; }
+@synthesize copyObjProp;
+@synthesize fooProp;
+@end
+
+int main(void) {
+ TestObj *obj = [[TestObj alloc] init];
+ obj.intProp = 4;
+ NSObject *result = obj.retainObjProp;
+ return 0;
+}
+ ]])],
+ [tz_cv_objc_properties=yes],
+ [tz_cv_objc_properties=no])])
+
+
+AC_CACHE_CHECK([for Objective C 2 fast enumeration support],
+ [tz_cv_objc_fast_enumeration],
+[AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+#import <Foundation/Foundation.h>
+
+int main(void) {
+ NSArray *array = [NSArray arrayWithObjects: @"One", @"Two", @"Three", @"Four", nil];
+ for (NSString *element in array) {
+ NSLog(@"element: %@", element);
+ }
+ return 0;
+}
+ ]])],
+ [tz_cv_objc_fast_enumeration=yes],
+ [tz_cv_objc_fast_enumeration=no])])
+
+AC_CACHE_CHECK([for Objective C 2 @optional support],
+ [tz_cv_objc_optional_keyword],
+[AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+#import <Foundation/Foundation.h>
+
+@protocol Foo
+@optional
+- (void) foo;
+@required
+- (void) bar;
+@end
+
+int main(void) {
+ return 0;
+}
+ ]])],
+ [tz_cv_objc_optional_keyword=yes],
+ [tz_cv_objc_optional_keyword=no])])
+
+OBJCFLAGS="$tz_old_objcflags"
+])