dnl PHP finder thingy dnl by poutine AC_DEFUN([AX_PROG_PHP],[ AC_ARG_WITH(php-cflags, [ --with-php-cflags=FLAGS CFLAGS to use for PHP], [ with_php_cflags="$withval" ]) AC_ARG_WITH(php-ldflags,[ --with-php-ldflags=FLAGS LDFLAGS to use PHP], [ with_php_ldflags="$withval" ]) AC_ARG_WITH(php-config, [ --with-php-config=PATH use php-config from PATH], [ with_php_config="$withval" ] ) AC_ARG_WITH(php-lib, [ --with-php-lib=PATH PATH to libphp5.so or libphp4.so], [ with_php_lib="$withval" ] ) AC_ARG_WITH(php, [ --with-php configure with PHP support], [ with_php="$withval" ] ) dnl Default to check for PHP if test "x${with_php}" != "xno" ; then AC_MSG_CHECKING([if there's a valid user specified php-config]) if test -f "$with_php/php-config"; then PHPCONFIG="${with_php}/php-config" AC_MSG_RESULT([Found at ${PHPCONFIG}]) else AC_MSG_RESULT([Not specified, checking elsewhere]) AC_PATH_PROG(PHPCONFIG,php-config) fi if test "x${PHPCONFIG}" != "x"; then AC_MSG_CHECKING([for CFLAGS to use with PHP]) if test "x${with_php_cflags}" != "x"; then PHP_CFLAGS="${with_php_cflags} `${PHPCONFIG} --includes`" else PHP_CFLAGS="`${PHPCONFIG} --includes`" fi AC_MSG_RESULT([${PHP_CFLAGS}]) AC_MSG_CHECKING([whether our test PHP program compiles]) oldcppflags="${CPPFLAGS}" CPPFLAGS="${oldcppflags} ${PHP_CFLAGS}" AC_TRY_COMPILE([#include
#include
#include
#include
#include
#include ],[ zval *test; ],[ php_compile="yes" ],[ php_compile="no" ]) if test "${php_compile}" = "yes"; then AC_MSG_RESULT([Wonderbar]) dnl yay we compiled, now to test linking AC_MSG_CHECKING([for LDFLAGS to use with PHP]) if test "x${with_php_ldflags}" != "x"; then PHP_LDADD="${with_php_ldflags} `${PHPCONFIG} --libs` `${PHPCONFIG} --ldflags`" else PHP_LDADD="`${PHPCONFIG} --libs` `${PHPCONFIG} --ldflags`" fi AC_MSG_RESULT([${PHP_LDADD}]) AC_MSG_CHECKING([whether our test PHP program can link]) oldlibs="${LIBS}" LIBS="${oldlibs} ${PHP_LDADD}" AC_TRY_LINK([#include
#include
#include
#include
#include
#include ],[ zval *test; ],[ php_link="yes" ],[ php_link="no" ]) LIBS="${oldlibs}" if test "${php_link}" = "yes"; then AC_MSG_RESULT([Shaqtacular]) AC_DEFINE([HAVE_PHP],1,[Ability to use PHP scripting]) AC_SUBST(PHP_CFLAGS) AC_SUBST(PHP_LDADD) else AC_MSG_RESULT([Could not link, PHP disabled]) fi else AC_MSG_RESULT([Did not compile. PHP disabled]) fi CPPFLAGS="${oldcppflags}" else AC_MSG_WARN([No php-config found or specified, PHP disabled.]) fi else AC_MSG_WARN([PHP Support disabled]) fi ] )