xref: /PHP-7.0/sapi/apache2handler/config.m4 (revision f301a0b2)
1dnl
2dnl $Id$
3dnl
4
5PHP_ARG_WITH(apxs2,,
6[  --with-apxs2[=FILE]       Build shared Apache 2.0 Handler module. FILE is the optional
7                          pathname to the Apache apxs tool [apxs]], no, no)
8
9AC_MSG_CHECKING([for Apache 2.0 handler-module support via DSO through APXS])
10
11if test "$PHP_APXS2" != "no"; then
12  if test "$PHP_APXS2" = "yes"; then
13    APXS=apxs
14    $APXS -q CFLAGS >/dev/null 2>&1
15    if test "$?" != "0" && test -x /usr/sbin/apxs; then
16      APXS=/usr/sbin/apxs
17    fi
18  else
19    PHP_EXPAND_PATH($PHP_APXS2, APXS)
20  fi
21
22  $APXS -q CFLAGS >/dev/null 2>&1
23  if test "$?" != "0"; then
24    AC_MSG_RESULT()
25    AC_MSG_RESULT()
26    AC_MSG_RESULT([Sorry, I cannot run apxs.  Possible reasons follow:])
27    AC_MSG_RESULT()
28    AC_MSG_RESULT([1. Perl is not installed])
29    AC_MSG_RESULT([2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs])
30    AC_MSG_RESULT([3. Apache was not built using --enable-so (the apxs usage page is displayed)])
31    AC_MSG_RESULT()
32    AC_MSG_RESULT([The output of $APXS follows:])
33    $APXS -q CFLAGS
34    AC_MSG_ERROR([Aborting])
35  fi
36
37  APXS_INCLUDEDIR=`$APXS -q INCLUDEDIR`
38  APXS_BINDIR=`$APXS -q BINDIR`
39  APXS_HTTPD=`$APXS -q SBINDIR`/`$APXS -q TARGET`
40  APXS_CFLAGS=`$APXS -q CFLAGS`
41  APU_BINDIR=`$APXS -q APU_BINDIR`
42  APR_BINDIR=`$APXS -q APR_BINDIR`
43
44  # Pick up ap[ru]-N-config if using httpd >=2.1
45  APR_CONFIG=`$APXS -q APR_CONFIG 2>/dev/null ||
46    echo $APR_BINDIR/apr-config`
47  APU_CONFIG=`$APXS -q APU_CONFIG 2>/dev/null ||
48    echo $APU_BINDIR/apu-config`
49
50  APR_CFLAGS="`$APR_CONFIG --cppflags --includes`"
51  APU_CFLAGS="`$APU_CONFIG --includes`"
52
53  for flag in $APXS_CFLAGS; do
54    case $flag in
55    -D*) APACHE_CPPFLAGS="$APACHE_CPPFLAGS $flag";;
56    esac
57  done
58
59  APACHE_CFLAGS="$APACHE_CPPFLAGS -I$APXS_INCLUDEDIR $APR_CFLAGS $APU_CFLAGS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
60
61  # Test that we're trying to configure with apache 2.x
62  PHP_AP_EXTRACT_VERSION($APXS_HTTPD)
63  if test "$APACHE_VERSION" -le 2000000; then
64    AC_MSG_ERROR([You have enabled Apache 2 support while your server is Apache 1.3.  Please use the appropriate switch --with-apxs (without the 2)])
65  elif test "$APACHE_VERSION" -lt 2000044; then
66    AC_MSG_ERROR([Please note that Apache version >= 2.0.44 is required])
67  fi
68
69  APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
70  if test -z `$APXS -q SYSCONFDIR`; then
71    INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
72                 $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
73                       -i -n php7"
74  else
75    APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR`
76    INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
77                \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \
78                 $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
79                       -S SYSCONFDIR='$APXS_SYSCONFDIR' \
80                       -i -a -n php7"
81  fi
82
83  case $host_alias in
84  *aix*)
85    EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp"
86    PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS)
87    INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL"
88    ;;
89  *darwin*)
90    dnl When using bundles on Darwin, we must resolve all symbols.  However,
91    dnl the linker does not recursively look at the bundle loader and
92    dnl pull in its dependencies.  Therefore, we must pull in the APR
93    dnl and APR-util libraries.
94    if test -x "$APR_CONFIG"; then
95        MH_BUNDLE_FLAGS="`$APR_CONFIG --ldflags --link-ld --libs`"
96    fi
97    if test -x "$APU_CONFIG"; then
98        MH_BUNDLE_FLAGS="`$APU_CONFIG --ldflags --link-ld --libs` $MH_BUNDLE_FLAGS"
99    fi
100    MH_BUNDLE_FLAGS="-bundle -bundle_loader $APXS_HTTPD $MH_BUNDLE_FLAGS"
101    PHP_SUBST(MH_BUNDLE_FLAGS)
102    PHP_SELECT_SAPI(apache2handler, bundle, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS)
103    SAPI_SHARED=libs/libphp7.so
104    INSTALL_IT="$INSTALL_IT $SAPI_SHARED"
105    ;;
106  *beos*)
107    if test -f _APP_; then `rm _APP_`; fi
108    `ln -s $APXS_BINDIR/httpd _APP_`
109    EXTRA_LIBS="$EXTRA_LIBS _APP_"
110    PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS)
111    INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL"
112    ;;
113  *)
114    PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS)
115    INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL"
116    ;;
117  esac
118
119  if test "$APACHE_VERSION" -lt 2004001; then
120    APXS_MPM=`$APXS -q MPM_NAME`
121    if test "$APXS_MPM" != "prefork" && test "$APXS_MPM" != "peruser" && test "$APXS_MPM" != "itk"; then
122      PHP_BUILD_THREAD_SAFE
123    fi
124  else
125    APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'`
126    if test -n "$APACHE_THREADED_MPM"; then
127      PHP_BUILD_THREAD_SAFE
128    fi
129  fi
130  AC_MSG_RESULT(yes)
131  PHP_SUBST(APXS)
132else
133  AC_MSG_RESULT(no)
134fi
135
136dnl ## Local Variables:
137dnl ## tab-width: 4
138dnl ## End:
139