Return to config.m4 CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / sapi / apache_hooks |
1.1 ! misho 1: dnl ! 2: dnl $Id: config.m4 242949 2007-09-26 15:44:16Z cvs2svn $ ! 3: dnl ! 4: AC_DEFUN([PHP_APACHE_FD_CHECK], [ ! 5: AC_CACHE_CHECK([for member fd in BUFF *],ac_cv_php_fd_in_buff,[ ! 6: save=$CPPFLAGS ! 7: if test -n "$APXS_INCLUDEDIR"; then ! 8: CPPFLAGS="$CPPFLAGS -I$APXS_INCLUDEDIR" ! 9: else ! 10: CPPFLAGS="$CPPFLAGS $APACHE_INCLUDE" ! 11: fi ! 12: AC_TRY_COMPILE([#include <httpd.h>],[conn_rec *c; int fd = c->client->fd;],[ ! 13: ac_cv_php_fd_in_buff=yes],[ac_cv_php_fd_in_buff=no],[ac_cv_php_fd_in_buff=no]) ! 14: CPPFLAGS=$save ! 15: ]) ! 16: if test "$ac_cv_php_fd_in_buff" = "yes"; then ! 17: AC_DEFINE(PHP_APACHE_HAVE_CLIENT_FD,1,[ ]) ! 18: fi ! 19: ]) ! 20: ! 21: dnl Apache 1.x shared module ! 22: PHP_ARG_WITH(apache-hooks,, ! 23: [ --with-apache-hooks[=FILE] ! 24: EXPERIMENTAL: Build shared Apache 1.x module. FILE is the optional ! 25: pathname to the Apache apxs tool [apxs]], no, no) ! 26: ! 27: AC_MSG_CHECKING([for Apache 1.x (hooks) module support via DSO through APXS]) ! 28: ! 29: if test "$PHP_APACHE_HOOKS" != "no"; then ! 30: if test "$PHP_APACHE_HOOKS" = "yes"; then ! 31: APXS=apxs ! 32: $APXS -q CFLAGS >/dev/null 2>&1 ! 33: if test "$?" != "0" && test -x /usr/sbin/apxs; then #SUSE 6.x ! 34: APXS=/usr/sbin/apxs ! 35: fi ! 36: else ! 37: PHP_EXPAND_PATH($PHP_APACHE_HOOKS, APXS) ! 38: fi ! 39: ! 40: $APXS -q CFLAGS >/dev/null 2>&1 ! 41: if test "$?" != "0"; then ! 42: AC_MSG_RESULT() ! 43: AC_MSG_RESULT() ! 44: AC_MSG_RESULT([Sorry, I was not able to successfully run APXS. Possible reasons:]) ! 45: AC_MSG_RESULT() ! 46: AC_MSG_RESULT([1. Perl is not installed;]) ! 47: AC_MSG_RESULT([2. Apache was not compiled with DSO support (--enable-module=so);]) ! 48: AC_MSG_RESULT([3. 'apxs' is not in your path. Try to use --with-apxs=/path/to/apxs]) ! 49: AC_MSG_RESULT([The output of $APXS follows]) ! 50: $APXS -q CFLAGS ! 51: AC_MSG_ERROR([Aborting]) ! 52: fi ! 53: ! 54: APXS_LDFLAGS="@SYBASE_LFLAGS@ @SYBASE_LIBS@ @SYBASE_CT_LFLAGS@ @SYBASE_CT_LIBS@" ! 55: APXS_INCLUDEDIR=`$APXS -q INCLUDEDIR` ! 56: APXS_CFLAGS=`$APXS -q CFLAGS` ! 57: APXS_HTTPD=`$APXS -q SBINDIR`/`$APXS -q TARGET` ! 58: APACHE_INCLUDE=-I$APXS_INCLUDEDIR ! 59: ! 60: # Test that we're trying to configure with apache 1.x ! 61: PHP_AP_EXTRACT_VERSION($APXS_HTTPD) ! 62: if test "$APACHE_VERSION" -ge 2000000; then ! 63: AC_MSG_ERROR([You have enabled Apache 1.3 support while your server is Apache 2. Please use the appropiate switch --with-apxs2]) ! 64: fi ! 65: ! 66: for flag in $APXS_CFLAGS; do ! 67: case $flag in ! 68: -D*) APACHE_CPPFLAGS="$APACHE_CPPFLAGS $flag";; ! 69: esac ! 70: done ! 71: ! 72: case $host_alias in ! 73: *aix*) ! 74: APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR` ! 75: EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" ! 76: PHP_AIX_LDFLAGS="-Wl,-brtl" ! 77: build_type=shared ! 78: ;; ! 79: *darwin*) ! 80: MH_BUNDLE_FLAGS="-dynamic -twolevel_namespace -bundle -bundle_loader $APXS_HTTPD" ! 81: PHP_SUBST(MH_BUNDLE_FLAGS) ! 82: SAPI_SHARED=libs/libphp5.so ! 83: build_type=bundle ! 84: ;; ! 85: *) ! 86: build_type=shared ! 87: ;; ! 88: esac ! 89: ! 90: PHP_SELECT_SAPI(apache_hooks, $build_type, sapi_apache.c mod_php5.c php_apache.c, $APACHE_CPPFLAGS -I$APXS_INCLUDEDIR) ! 91: ! 92: # Test whether apxs support -S option ! 93: $APXS -q -S CFLAGS="$APXS_CFLAGS" CFLAGS >/dev/null 2>&1 ! 94: ! 95: if test "$?" != "0"; then ! 96: APACHE_HOOKS_INSTALL="$APXS -i -a -n php5 $SAPI_SHARED" # Old apxs does not have -S option ! 97: else ! 98: APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR` ! 99: if test -z `$APXS -q SYSCONFDIR`; then ! 100: APACHE_HOOKS_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ ! 101: $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ ! 102: -i -n php5 $SAPI_SHARED" ! 103: else ! 104: APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` ! 105: APACHE_HOOKS_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ ! 106: \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ ! 107: $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ ! 108: -S SYSCONFDIR='$APXS_SYSCONFDIR' \ ! 109: -i -a -n php5 $SAPI_SHARED" ! 110: fi ! 111: fi ! 112: ! 113: if test -z "`$APXS -q LD_SHLIB`" || test "`$APXS -q LIBEXECDIR`" = "modules"; then ! 114: PHP_APXS_BROKEN=yes ! 115: fi ! 116: STRONGHOLD= ! 117: AC_DEFINE(HAVE_AP_CONFIG_H,1,[ ]) ! 118: AC_DEFINE(HAVE_AP_COMPAT_H,1,[ ]) ! 119: AC_DEFINE(HAVE_APACHE_HOOKS,1,[ ]) ! 120: AC_MSG_RESULT(yes) ! 121: else ! 122: AC_MSG_RESULT(no) ! 123: fi ! 124: ! 125: dnl Apache 1.x static module ! 126: PHP_ARG_WITH(apache-hooks-static,, ! 127: [ --with-apache-hooks-static[=DIR] ! 128: EXPERIMENTAL: Build Apache 1.x module. DIR is the top-level Apache ! 129: build directory [/usr/local/apache]], no, no) ! 130: ! 131: AC_MSG_CHECKING(for Apache 1.x (hooks) module support) ! 132: ! 133: if test "$PHP_SAPI" != "apache" && test "$PHP_SAPI" != "apache_hooks" && test "$PHP_APACHE_HOOKS_STATIC" != "no"; then ! 134: ! 135: if test "$PHP_APACHE_HOOKS_STATIC" = "yes"; then ! 136: # Apache's default directory ! 137: PHP_APACHE_HOOKS_STATIC=/usr/local/apache ! 138: fi ! 139: ! 140: APACHE_HOOKS_INSTALL_FILES="\$(srcdir)/sapi/apache_hooks/mod_php5.* sapi/apache_hooks/libphp5.module" ! 141: ! 142: AC_DEFINE(HAVE_APACHE,1,[ ]) ! 143: APACHE_HOOKS_MODULE=yes ! 144: PHP_EXPAND_PATH($PHP_APACHE_HOOKS_STATIC, PHP_APACHE_HOOKS_STATIC) ! 145: # For Apache 1.2.x ! 146: if test -f $PHP_APACHE_HOOKS_STATIC/src/httpd.h; then ! 147: APACHE_INCLUDE=-I$PHP_APACHE_HOOKS_STATIC/src ! 148: APACHE_TARGET=$PHP_APACHE_HOOKS_STATIC/src ! 149: PHP_SELECT_SAPI(apache_hooks, static, sapi_apache.c mod_php5.c php_apache.c, $APACHE_INCLUDE) ! 150: APACHE_HOOKS_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_HOOKS_INSTALL_FILES $APACHE_TARGET" ! 151: PHP_LIBS="-L. -lphp3" ! 152: AC_MSG_RESULT([yes - Apache 1.2.x]) ! 153: STRONGHOLD= ! 154: if test -f $PHP_APACHE_HOOKS_STATIC/src/ap_config.h; then ! 155: AC_DEFINE(HAVE_AP_CONFIG_H,1,[ ]) ! 156: fi ! 157: # For Apache 2.0.x ! 158: elif test -f $PHP_APACHE_HOOKS_STATIC/include/httpd.h && test -f $PHP_APACHE_HOOKS_STATIC/srclib/apr/include/apr_general.h ; then ! 159: AC_MSG_ERROR([Use --with-apxs2 with Apache 2.x!]) ! 160: # For Apache 1.3.x ! 161: elif test -f $PHP_APACHE_HOOKS_STATIC/src/main/httpd.h; then ! 162: APACHE_HAS_REGEX=1 ! 163: APACHE_INCLUDE="-I$PHP_APACHE_HOOKS_STATIC/src/main -I$PHP_APACHE_HOOKS_STATIC/src/os/unix -I$PHP_APACHE_HOOKS_STATIC/src/ap" ! 164: APACHE_TARGET=$PHP_APACHE_HOOKS_STATIC/src/modules/php5 ! 165: if test ! -d $APACHE_TARGET; then ! 166: mkdir $APACHE_TARGET ! 167: fi ! 168: PHP_SELECT_SAPI(apache_hooks, static, sapi_apache.c mod_php5.c php_apache.c, $APACHE_INCLUDE) ! 169: APACHE_HOOKS_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_TARGET/libmodphp5.a; cp $APACHE_HOOKS_INSTALL_FILES $APACHE_TARGET; cp $srcdir/sapi/apache_hooks/apMakefile.tmpl $APACHE_TARGET/Makefile.tmpl; cp $srcdir/sapi/apache_hooks/apMakefile.libdir $APACHE_TARGET/Makefile.libdir" ! 170: PHP_LIBS="-Lmodules/php5 -L../modules/php5 -L../../modules/php5 -lmodphp5" ! 171: AC_MSG_RESULT([yes - Apache 1.3.x]) ! 172: STRONGHOLD= ! 173: if test -f $PHP_APACHE_HOOKS_STATIC/src/include/ap_config.h; then ! 174: AC_DEFINE(HAVE_AP_CONFIG_H, 1, [ ]) ! 175: fi ! 176: if test -f $PHP_APACHE_HOOKS_STATIC/src/include/ap_compat.h; then ! 177: AC_DEFINE(HAVE_AP_COMPAT_H, 1, [ ]) ! 178: if test ! -f $PHP_APACHE_HOOKS_STATIC/src/include/ap_config_auto.h; then ! 179: AC_MSG_ERROR([Please run Apache\'s configure or src/Configure program once and try again]) ! 180: fi ! 181: elif test -f $PHP_APACHE_HOOKS_STATIC/src/include/compat.h; then ! 182: AC_DEFINE(HAVE_OLD_COMPAT_H, 1, [ ]) ! 183: fi ! 184: # Also for Apache 1.3.x ! 185: elif test -f $PHP_APACHE_HOOKS_STATIC/src/include/httpd.h; then ! 186: APACHE_HAS_REGEX=1 ! 187: APACHE_INCLUDE="-I$PHP_APACHE_HOOKS_STATIC/src/include -I$PHP_APACHE_HOOKS_STATIC/src/os/unix" ! 188: APACHE_TARGET=$PHP_APACHE_HOOKS_STATIC/src/modules/php5 ! 189: if test ! -d $APACHE_TARGET; then ! 190: mkdir $APACHE_TARGET ! 191: fi ! 192: PHP_SELECT_SAPI(apache_hooks, static, sapi_apache.c mod_php5.c php_apache.c, $APACHE_INCLUDE) ! 193: PHP_LIBS="-Lmodules/php5 -L../modules/php5 -L../../modules/php5 -lmodphp5" ! 194: APACHE_HOOKS_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_TARGET/libmodphp5.a; cp $APACHE_HOOKS_INSTALL_FILES $APACHE_TARGET; cp $srcdir/sapi/apache_hooks/apMakefile.tmpl $APACHE_TARGET/Makefile.tmpl; cp $srcdir/sapi/apache_hooks/apMakefile.libdir $APACHE_TARGET/Makefile.libdir" ! 195: AC_MSG_RESULT([yes - Apache 1.3.x]) ! 196: STRONGHOLD= ! 197: if test -f $PHP_APACHE_HOOKS_STATIC/src/include/ap_config.h; then ! 198: AC_DEFINE(HAVE_AP_CONFIG_H, 1, [ ]) ! 199: fi ! 200: if test -f $PHP_APACHE_HOOKS_STATIC/src/include/ap_compat.h; then ! 201: AC_DEFINE(HAVE_AP_COMPAT_H, 1, [ ]) ! 202: if test ! -f $PHP_APACHE_HOOKS_STATIC/src/include/ap_config_auto.h; then ! 203: AC_MSG_ERROR([Please run Apache\'s configure or src/Configure program once and try again]) ! 204: fi ! 205: elif test -f $PHP_APACHE_HOOKS_STATIC/src/include/compat.h; then ! 206: AC_DEFINE(HAVE_OLD_COMPAT_H, 1, [ ]) ! 207: fi ! 208: # For StrongHold 2.2 ! 209: elif test -f $PHP_APACHE_HOOKS_STATIC/apache/httpd.h; then ! 210: APACHE_INCLUDE="-I$PHP_APACHE_HOOKS_STATIC/apache -I$PHP_APACHE_HOOKS_STATIC/ssl/include" ! 211: APACHE_TARGET=$PHP_APACHE_HOOKS_STATIC/apache ! 212: PHP_SELECT_SAPI(apache_hooks, static, sapi_apache.c mod_php5.c php_apache.c, $APACHE_INCLUDE) ! 213: PHP_LIBS="-Lmodules/php5 -L../modules/php5 -L../../modules/php5 -lmodphp5" ! 214: APACHE_HOOKS_INSTALL="mkdir -p $APACHE_TARGET; cp $SAPI_STATIC $APACHE_TARGET/libmodphp5.a; cp $APACHE_HOOKS_INSTALL_FILES $APACHE_TARGET" ! 215: STRONGHOLD=-DSTRONGHOLD=1 ! 216: AC_MSG_RESULT([yes - StrongHold]) ! 217: if test -f $PHP_APACHE_HOOKS_STATIC/apache/ap_config.h; then ! 218: AC_DEFINE(HAVE_AP_CONFIG_H, 1, [ ]) ! 219: fi ! 220: if test -f $PHP_APACHE_HOOKS_STATIC/src/ap_compat.h; then ! 221: AC_DEFINE(HAVE_AP_COMPAT_H, 1, [ ]) ! 222: if test ! -f $PHP_APACHE_HOOKS_STATIC/src/include/ap_config_auto.h; then ! 223: AC_MSG_ERROR([Please run Apache\'s configure or src/Configure program once and try again]) ! 224: fi ! 225: elif test -f $PHP_APACHE_HOOKS_STATIC/src/compat.h; then ! 226: AC_DEFINE(HAVE_OLD_COMPAT_H, 1, [ ]) ! 227: fi ! 228: else ! 229: AC_MSG_RESULT(no) ! 230: AC_MSG_ERROR([Invalid Apache directory - unable to find httpd.h under $PHP_APACHE_HOOKS_STATIC]) ! 231: fi ! 232: else ! 233: AC_MSG_RESULT(no) ! 234: fi ! 235: ! 236: # compatibility ! 237: if test -z "$enable_mod_charset" && test "$with_mod_charset"; then ! 238: enable_mod_charset=$with_mod_charset ! 239: fi ! 240: ! 241: PHP_ARG_ENABLE(mod-charset, whether to enable Apache charset compatibility option, ! 242: [ --enable-mod-charset APACHE (hooks): Enable transfer tables for mod_charset (Rus Apache)], no, no) ! 243: ! 244: if test "$PHP_MOD_CHARSET" = "yes"; then ! 245: AC_DEFINE(USE_TRANSFER_TABLES, 1, [ ]) ! 246: fi ! 247: ! 248: dnl Build as static module ! 249: if test "$APACHE_HOOKS_MODULE" = "yes"; then ! 250: PHP_TARGET_RDYNAMIC ! 251: $php_shtool mkdir -p sapi/apache_hooks ! 252: PHP_OUTPUT(sapi/apache_hooks/libphp5.module) ! 253: fi ! 254: ! 255: dnl General ! 256: if test -n "$APACHE_HOOKS_INSTALL"; then ! 257: if test "x$APXS" != "x" -a "`uname -sv`" = "AIX 4" -a "$GCC" != "yes"; then ! 258: APXS_EXP=-bE:sapi/apache_hooks/mod_php5.exp ! 259: fi ! 260: ! 261: PHP_APACHE_FD_CHECK ! 262: INSTALL_IT=$APACHE_HOOKS_INSTALL ! 263: ! 264: PHP_SUBST(APXS_EXP) ! 265: PHP_SUBST(APACHE_INCLUDE) ! 266: PHP_SUBST(APACHE_TARGET) ! 267: PHP_SUBST(APXS) ! 268: PHP_SUBST(APXS_LDFLAGS) ! 269: PHP_SUBST(APACHE_HOOKS_INSTALL) ! 270: PHP_SUBST(STRONGHOLD) ! 271: fi ! 272: ! 273: dnl ## Local Variables: ! 274: dnl ## tab-width: 4 ! 275: dnl ## End: