summaryrefslogtreecommitdiff
path: root/sapi/roxen/config.m4
blob: cf2726b51beb8e55384d81554a23e52d2ddb734e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
dnl
dnl $Id$
dnl

RESULT=no
AC_MSG_CHECKING(for Roxen/Pike support)
AC_ARG_WITH(roxen, 
[  --with-roxen=DIR        Build PHP as a Pike module. DIR is the base Roxen
                          directory, normally /usr/local/roxen/server.],
[
	if test ! -d $withval ; then
		AC_MSG_ERROR(You did not specify a directory)
	fi
	if test -f $withval/bin/roxen; then
		PIKE=$withval/bin/roxen
	elif test -f $withval/bin/pike; then
		PIKE=$withval/bin/pike
	else
		AC_MSG_ERROR(Couldn't find a pike in $withval/bin/)
	fi
    if $PIKE -e 'float v; catch(v = __VERSION__ + (__BUILD__/10000.0)); if(v < 0.7079) exit(1); exit(0);'; then
		PIKE_MODULE_DIR=`$PIKE --show-paths 2>&1| grep '^Module' | sed -e 's/.*: //'`
	    PIKE_INCLUDE_DIR=`echo $PIKE_MODULE_DIR | sed -e 's,lib/pike/modules,include/pike,' -e 's,lib/modules,include/pike,'`
		if test -z "$PIKE_INCLUDE_DIR" -o -z "$PIKE_MODULE_DIR"; then
			AC_MSG_ERROR(Failed to figure out Pike module and include directories)
		fi
	else
		AC_MSG_ERROR(Roxen/PHP requires Pike 0.7.79 or newer)
	fi
   
	PHP_ADD_INCLUDE($PIKE_INCLUDE_DIR)
	AC_DEFINE(HAVE_ROXEN,1,[Whether you use Roxen])
	PHP_SELECT_SAPI(roxen, shared, roxen.c)
	INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_SHARED $PIKE_MODULE_DIR/PHP4.so"
	RESULT="yes
	Pike binary used:      $PIKE
	Pike include dir:      $PIKE_INCLUDE_DIR
	Pike module directory: $PIKE_MODULE_DIR"
	PIKE_INCLUDE_DIR=" -I$PIKE_INCLUDE_DIR "
])
AC_MSG_RESULT($RESULT)

if test "$RESULT" != "no" ; then 
 RESULT=no
 AC_MSG_CHECKING(if Roxen should use ZTS)
 AC_ARG_ENABLE(roxen-zts, 
 [  --enable-roxen-zts      Build the Roxen module using Zend Thread Safety.],
 [
 	PHP_BUILD_THREAD_SAFE
	AC_DEFINE(ROXEN_USE_ZTS,1,[Whether to use Roxen in ZTS mode])
	RESULT=yes

 ])
 AC_MSG_RESULT($RESULT)
fi

dnl ## Local Variables:
dnl ## tab-width: 4
dnl ## End: