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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
dnl
dnl $Id$
dnl
dnl +------------------------------------------------------------------------------+
dnl | This is where the magic of the extension reallly is. Depending on what |
dnl | backend the user chooses, this script performs the magic |
dnl +------------------------------------------------------------------------------+
PHP_ARG_ENABLE(xslt, whether to enable xslt support,
[ --enable-xslt Enable xslt support.])
PHP_ARG_WITH(xslt-sablot, for XSLT Sablotron backend,
[ --with-xslt-sablot=DIR XSLT: Enable the sablotron backend.], no, no)
PHP_ARG_WITH(expat-dir, for libexpat dir for Sablotron XSL support,
[ --with-expat-dir=DIR XSLT: libexpat dir for Sablotron.], no, no)
PHP_ARG_WITH(iconv-dir, for iconv dir for Sablotron XSL support,
[ --with-iconv-dir=DIR XSLT: iconv dir for Sablotron.], no, no)
PHP_ARG_WITH(sablot-js, for JavaScript for Sablotron XSL support,
[ --with-sablot-js=DIR XSLT: enable JavaScript support for Sablotron.], no, no)
if test "$PHP_XSLT" != "no"; then
PHP_NEW_EXTENSION(xslt, xslt.c sablot.c, $ext_shared)
PHP_SUBST(XSLT_SHARED_LIBADD)
if test "$PHP_XSLT_SABLOT" != "no"; then
XSLT_CHECK_DIR=$PHP_XSLT_SABLOT
XSLT_TEST_FILE=/include/sablot.h
XSLT_BACKEND_NAME=Sablotron
XSLT_LIBNAME=sablot
fi
if test -z "$XSLT_BACKEND_NAME"; then
AC_MSG_ERROR([No backend specified for XSLT extension.])
fi
condition="$XSLT_CHECK_DIR$XSLT_TEST_FILE"
if test -r $condition; then
XSLT_DIR=$XSLT_CHECK_DIR
else
AC_MSG_CHECKING(for $XSLT_BACKEND_NAME libraries in the default path)
for i in /usr /usr/local; do
condition="$i$XSLT_TEST_FILE"
if test -r $condition; then
XSLT_DIR=$i
AC_MSG_RESULT(found $XSLT_BACKEND_NAME in $i)
fi
done
fi
if test -z "$XSLT_DIR"; then
AC_MSG_ERROR([not found. Please re-install the $XSLT_BACKEND_NAME distribution.])
fi
if test "$PHP_XSLT_SABLOT" != "no"; then
AC_MSG_CHECKING([for Sablotron version])
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$XSLT_DIR/include"
AC_TRY_RUN([
#include <stdlib.h>
#include <sablot.h>
int main ()
{
double version;
version = atof(SAB_VERSION);
if (version >= 0.96) {
exit(0);
}
exit(255);
}
],[
AC_MSG_RESULT([>= 0.96])
],[
AC_MSG_ERROR([Sablotron version 0.96 or greater required.])
])
CPPFLAGS=$old_CPPFLAGS
found_expat=no
for i in $PHP_EXPAT_DIR $XSLT_DIR /usr/local /usr; do
if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME; then
AC_DEFINE(HAVE_LIBEXPAT2, 1, [ ])
PHP_ADD_INCLUDE($i/include)
PHP_ADD_LIBRARY_WITH_PATH(expat, $i/lib, XSLT_SHARED_LIBADD)
found_expat=yes
break
fi
done
if test "$found_expat" = "no"; then
AC_MSG_ERROR([expat not found. To build sablotron you need the expat library.])
fi
if test "$PHP_ICONV_DIR" != "no"; then
PHP_ICONV=$PHP_ICONV_DIR
fi
if test "$PHP_ICONV" = "no"; then
PHP_ICONV=yes
fi
PHP_SETUP_ICONV(XSLT_SHARED_LIBADD, [], [
AC_MSG_ERROR([iconv not found. To build sablotron you need the iconv library.])
])
if test "$PHP_SABLOT_JS" != "no"; then
for i in /usr/local /usr $PHP_SABLOT_JS; do
if test -f $i/lib/libjs.a -o -f $i/lib/libjs.$SHLIB_SUFFIX_NAME; then
PHP_SABLOT_JS_DIR=$i
fi
done
PHP_CHECK_LIBRARY(js, JS_GetRuntime,
[
PHP_ADD_LIBRARY_WITH_PATH(js, $PHP_SABLOT_JS_DIR/lib, XSLT_SHARED_LIBADD)
], [
AC_MSG_ERROR([libjs not found. Please check config.log for more information.])
], [
-L$PHP_SABLOT_JS_DIR/lib
])
fi
PHP_CHECK_LIBRARY(sablot, SablotSetEncoding,
[
AC_DEFINE(HAVE_SABLOT_SET_ENCODING, 1, [ ])
], [], [
-L$XSLT_DIR/lib
])
AC_DEFINE(HAVE_SABLOT_BACKEND, 1, [ ])
fi
PHP_ADD_INCLUDE($XSLT_DIR/include)
PHP_ADD_LIBRARY_WITH_PATH($XSLT_LIBNAME, $XSLT_DIR/lib, XSLT_SHARED_LIBADD)
AC_DEFINE(HAVE_XSLT, 1, [ ])
fi
|