ObjFW  Check-in [09a49963de]

Overview
Comment:Check whether optional protocols are supported.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 09a49963deefe2936a4446b1d15d2df17107cba79ddb2c6e3356a304afb9bc6c
User & Date: js on 2011-03-21 12:47:29
Other Links: manifest | tags
Context
2011-03-21
13:26
Make use of optional protocols, if available. check-in: 0c9206532f user: js tags: trunk
12:47
Check whether optional protocols are supported. check-in: 09a49963de user: js tags: trunk
12:43
Don't depend on objc/objc.h for compiler checks. check-in: 4c598e07ad user: js tags: trunk
Changes

Modified configure.ac from [142ef9b094] to [cccd534606].

64
65
66
67
68
69
70






















71
72
73
74
75
76
77
], [
	AC_DEFINE(OF_HAVE_PROPERTIES, 1, [Compiler support for properties])
	AC_SUBST(PROPERTIESTESTS_M, "PropertiesTests.m")
	AC_MSG_RESULT(yes)
], [
	AC_MSG_RESULT(no)
])























AC_MSG_CHECKING(whether Objective C compiler supports blocks)
old_OBJCFLAGS="$OBJCFLAGS"
OBJCFLAGS="$OBJCFLAGS -fblocks"
AC_TRY_COMPILE([], [
	int (^foo)(int bar);
	foo = ^(int bar) { return 0; }







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
], [
	AC_DEFINE(OF_HAVE_PROPERTIES, 1, [Compiler support for properties])
	AC_SUBST(PROPERTIESTESTS_M, "PropertiesTests.m")
	AC_MSG_RESULT(yes)
], [
	AC_MSG_RESULT(no)
])

AC_MSG_CHECKING(whether Objective C compiler supports optional protocols)
AC_TRY_COMPILE([
	@protocol Proto
	@optional
	+ (void)foo;
	@end

	@interface Foo <Proto>
	@end

	@implementation Foo
	@end
], [
	[Foo foo];
], [
	AC_DEFINE(OF_HAVE_OPTIONAL_PROTOCOLS, 1,
		[Compiler support for optional protocols])
	AC_MSG_RESULT(yes)
], [
	AC_MSG_RESULT(no)
])

AC_MSG_CHECKING(whether Objective C compiler supports blocks)
old_OBJCFLAGS="$OBJCFLAGS"
OBJCFLAGS="$OBJCFLAGS -fblocks"
AC_TRY_COMPILE([], [
	int (^foo)(int bar);
	foo = ^(int bar) { return 0; }

Modified src/objfw-defs.h.in from [72f743ebcf] to [cbf8d3b793].

1
2
3
4
5
6
7
8

9
10
11
12
13
14
15
16
17
18
19
20
21
#undef OF_APPLE_RUNTIME
#undef OF_ATOMIC_OPS
#undef OF_BIG_ENDIAN
#undef OF_GNU_RUNTIME
#undef OF_HAVE_ASPRINTF
#undef OF_HAVE_BLOCKS
#undef OF_HAVE_FAST_ENUMERATION
#undef OF_HAVE_GCC_ATOMIC_OPS

#undef OF_HAVE_OSATOMIC
#undef OF_HAVE_OSATOMIC_64
#undef OF_HAVE_POLL
#undef OF_HAVE_PROPERTIES
#undef OF_HAVE_PTHREADS
#undef OF_HAVE_PTHREAD_SPINLOCKS
#undef OF_HAVE_SCHED_YIELD
#undef OF_HAVE_SYS_SELECT_H
#undef OF_OBJFW_RUNTIME
#undef OF_OLD_GNU_RUNTIME
#undef OF_PLUGINS
#undef OF_THREADS
#undef SIZE_MAX








>













1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#undef OF_APPLE_RUNTIME
#undef OF_ATOMIC_OPS
#undef OF_BIG_ENDIAN
#undef OF_GNU_RUNTIME
#undef OF_HAVE_ASPRINTF
#undef OF_HAVE_BLOCKS
#undef OF_HAVE_FAST_ENUMERATION
#undef OF_HAVE_GCC_ATOMIC_OPS
#undef OF_HAVE_OPTIONAL_PROTOCOLS
#undef OF_HAVE_OSATOMIC
#undef OF_HAVE_OSATOMIC_64
#undef OF_HAVE_POLL
#undef OF_HAVE_PROPERTIES
#undef OF_HAVE_PTHREADS
#undef OF_HAVE_PTHREAD_SPINLOCKS
#undef OF_HAVE_SCHED_YIELD
#undef OF_HAVE_SYS_SELECT_H
#undef OF_OBJFW_RUNTIME
#undef OF_OLD_GNU_RUNTIME
#undef OF_PLUGINS
#undef OF_THREADS
#undef SIZE_MAX