11// vim:ft=javascript
22
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' ) ;
48
59if ( PHP_MEMCACHED == "yes" ) {
610
@@ -11,7 +15,29 @@ if (PHP_MEMCACHED == "yes") {
1115 if ( ! CHECK_HEADER_ADD_INCLUDE ( "libmemcached/memcached.h" , "CFLAGS_MEMCACHED" ) ) {
1216 ERROR ( "memcached: header 'libmemcached/memcached.h' not found" ) ;
1317 }
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" ) ;
1541 AC_DEFINE ( "HAVE_MEMCACHED" , 1 , "memcached support" ) ;
1642 AC_DEFINE ( "MEMCACHED_EXPORTS" , 1 )
1743}
0 commit comments