From a8a8dfb90d6a51ae369c042c95162f45754c7c4b Mon Sep 17 00:00:00 2001 From: randomguy3 Date: Mon, 9 Jan 2012 11:00:50 +0000 Subject: Move tikzit into "trunk" directory git-svn-id: https://tikzit.svn.sourceforge.net/svnroot/tikzit/trunk@365 7c02a99a-9b00-45e3-bf44-6f3dd7fddb64 --- tikzit/m4/objc.m4 | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 tikzit/m4/objc.m4 (limited to 'tikzit/m4') diff --git a/tikzit/m4/objc.m4 b/tikzit/m4/objc.m4 new file mode 100644 index 0000000..1016b07 --- /dev/null +++ b/tikzit/m4/objc.m4 @@ -0,0 +1,87 @@ +# 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], +[ +tz_old_objcflags="$OBJCFLAGS" +OBJCFLAGS="$OBJCFLAGS `eval "gnustep-config --objc-flags"`" + +AC_CACHE_CHECK([for Objective C 2 @property support], + [tz_cv_objc_properties], +[AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[ +#import + +@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 + +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 + +@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" +]) -- cgit v1.2.3