1 dnl This file becomes configure.in for self-contained extensions.
5 ifdef([AC_PRESERVE_HELP_ORDER], [AC_PRESERVE_HELP_ORDER], [])
7 PHP_CONFIG_NICE(config.nice)
10 AC_DEFUN([PHP_EXT_BUILDDIR],[.])dnl
11 AC_DEFUN([PHP_EXT_DIR],[""])dnl
12 AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir])dnl
13 AC_DEFUN([PHP_ALWAYS_SHARED],[
14 ext_output="yes, shared"
16 test "[$]$1" = "no" && $1=yes
20 test -z "$CFLAGS" && auto_cflags=1
22 abs_srcdir=`(cd $srcdir && pwd)`
30 dnl Support systems with system libraries in e.g. /usr/lib64
31 PHP_ARG_WITH(libdir, for system library directory,
32 [ --with-libdir=NAME Look for libraries in .../NAME rather than .../lib], lib, no)
35 PHP_SHLIB_SUFFIX_NAMES
37 dnl Find php-config script
38 PHP_ARG_WITH(php-config,,
39 [ --with-php-config=PATH Path to php-config [php-config]], php-config, no)
42 PHP_CONFIG=$PHP_PHP_CONFIG
43 prefix=`$PHP_CONFIG --prefix 2>/dev/null`
44 phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null`
45 INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
46 EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null`
47 PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null`
49 if test -z "$prefix"; then
50 AC_MSG_ERROR([Cannot find php-config. Please use --with-php-config=PATH])
53 php_shtool=$srcdir/build/shtool
56 AC_MSG_CHECKING([for PHP prefix])
57 AC_MSG_RESULT([$prefix])
58 AC_MSG_CHECKING([for PHP includes])
59 AC_MSG_RESULT([$INCLUDES])
60 AC_MSG_CHECKING([for PHP extension directory])
61 AC_MSG_RESULT([$EXTENSION_DIR])
62 AC_MSG_CHECKING([for PHP installed headers prefix])
63 AC_MSG_RESULT([$phpincludedir])
65 dnl Checks for PHP_DEBUG / ZEND_DEBUG / ZTS
66 AC_MSG_CHECKING([if debug is enabled])
67 old_CPPFLAGS=$CPPFLAGS
68 CPPFLAGS="-I$phpincludedir"
69 AC_EGREP_CPP(php_debug_is_enabled,[
70 #include <main/php_config.h>
79 CPPFLAGS=$old_CPPFLAGS
80 AC_MSG_RESULT([$PHP_DEBUG])
82 AC_MSG_CHECKING([if zts is enabled])
83 old_CPPFLAGS=$CPPFLAGS
84 CPPFLAGS="-I$phpincludedir"
85 AC_EGREP_CPP(php_zts_is_enabled,[
86 #include <main/php_config.h>
95 CPPFLAGS=$old_CPPFLAGS
96 AC_MSG_RESULT([$PHP_DEBUG])
98 dnl Support for building and testing Zend extensions
99 ZEND_EXT_TYPE="zend_extension"
100 PHP_SUBST(ZEND_EXT_TYPE)
102 dnl Discard optimization flags when debugging is enabled
103 if test "$PHP_DEBUG" = "yes"; then
107 CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
108 CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
110 dnl add -O0 only if GCC or ICC is used
111 if test "$GCC" = "yes" || test "$ICC" = "yes"; then
113 CXXFLAGS="$CXXFLAGS -g -O0"
115 if test "$SUNCC" = "yes"; then
116 if test -n "$auto_cflags"; then
121 CXXFLAGS="$CFLAGS -g"
132 dnl Required programs
141 dnl Only allow AC_PROG_CXX and AC_PROG_CXXCPP if they are explicitly called (by PHP_REQUIRE_CXX).
142 dnl Otherwise AC_PROG_LIBTOOL fails if there is no working C++ compiler.
143 AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [], [
144 undefine([AC_PROG_CXX])
145 AC_DEFUN([AC_PROG_CXX], [])
146 undefine([AC_PROG_CXXCPP])
147 AC_DEFUN([AC_PROG_CXXCPP], [php_prog_cxxcpp=disabled])
151 all_targets='$(PHP_MODULES) $(PHP_ZEND_EX)'
152 install_targets="install-modules install-headers"
153 phplibdir="`pwd`/modules"
154 CPPFLAGS="$CPPFLAGS -DHAVE_CONFIG_H"
155 CFLAGS_CLEAN='$(CFLAGS)'
156 CXXFLAGS_CLEAN='$(CXXFLAGS)'
158 test "$prefix" = "NONE" && prefix="/usr/local"
159 test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
161 PHP_SUBST(PHP_MODULES)
162 PHP_SUBST(PHP_ZEND_EX)
164 PHP_SUBST(all_targets)
165 PHP_SUBST(install_targets)
168 PHP_SUBST(exec_prefix)
172 PHP_SUBST(phpincludedir)
176 PHP_SUBST(CFLAGS_CLEAN)
181 PHP_SUBST(CXXFLAGS_CLEAN)
182 PHP_SUBST(EXTENSION_DIR)
183 PHP_SUBST(PHP_EXECUTABLE)
184 PHP_SUBST(EXTRA_LDFLAGS)
185 PHP_SUBST(EXTRA_LIBS)
189 PHP_SUBST(SHARED_LIBTOOL)
192 PHP_SUBST(INSTALL_HEADERS)
195 PHP_GEN_GLOBAL_MAKEFILE
197 test -d modules || $php_shtool mkdir modules
200 AC_CONFIG_HEADER(config.h)