1
1
// vim:ft=javascript
2
2
3
- ARG_WITH ( 'memcached' , 'libmemcached extension' , 'no' ) ;
3
+ ARG_ENABLE ( 'memcached' , 'libmemcached extension' , 'no' ) ;
4
+
5
+ ARG_ENABLE ( 'memcached-session' , 'whether to enable memcached session handler support' , 'no' ) ;
6
+ ARG_ENABLE ( 'memcached-igbinary' , 'whether to enable memcached igbinary serializer support' , 'no' ) ;
7
+ ARG_ENABLE ( 'memcached-json' , 'whether to enable memcached json serializer support' , 'no' ) ;
4
8
5
9
if ( PHP_MEMCACHED == "yes" ) {
6
10
@@ -11,7 +15,29 @@ if (PHP_MEMCACHED == "yes") {
11
15
if ( ! CHECK_HEADER_ADD_INCLUDE ( "libmemcached/memcached.h" , "CFLAGS_MEMCACHED" ) ) {
12
16
ERROR ( "memcached: header 'libmemcached/memcached.h' not found" ) ;
13
17
}
14
- EXTENSION ( "memcached" , "memcached.c" ) ;
18
+
19
+ if ( PHP_MEMCACHED_JSON != "no" ) {
20
+ AC_DEFINE ( "HAVE_JSON_API" , 1 ) ;
21
+ }
22
+
23
+ var memcached_extra_src = "" ;
24
+
25
+ if ( PHP_MEMCACHED_SESSION != "no" ) {
26
+ AC_DEFINE ( "HAVE_MEMCACHED_SESSION" , 1 ) ;
27
+ ADD_EXTENSION_DEP ( "memcached" , "session" , true )
28
+ memcached_extra_src += " php_memcached_session.c" ;
29
+ }
30
+
31
+ if ( PHP_MEMCACHED_IGBINARY != "no" ) {
32
+ AC_DEFINE ( "HAVE_MEMCACHED_IGBINARY" , 1 ) ;
33
+ ADD_EXTENSION_DEP ( "memcached" , "igbinary" , true ) ;
34
+ if ( ! CHECK_HEADER_ADD_INCLUDE ( "igbinary.h" , "CFLAGS_MEMCACHED" ) ) {
35
+ ERROR ( "memcached: header 'igbinary.h' not found" ) ;
36
+ }
37
+ }
38
+
39
+ EXTENSION ( "memcached" , "php_memcached.c php_libmemcached_compat.c g_fmt.c" + memcached_extra_src ) ;
40
+ ADD_SOURCES ( configure_module_dirname + "\\fastlz" , "fastlz.c" , "memcached" ) ;
15
41
AC_DEFINE ( "HAVE_MEMCACHED" , 1 , "memcached support" ) ;
16
42
AC_DEFINE ( "MEMCACHED_EXPORTS" , 1 )
17
43
}
0 commit comments