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
|
dnl CHECK_PATH_APACHE([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for Apache apxs
dnl
AC_DEFUN(CHECK_PATH_APACHE,
[dnl
AC_ARG_WITH(
apache,
[ --with-apache[=DIR] Apache install root],
apache_prefix="$withval",
apache_prefix="/usr"
)
AC_ARG_ENABLE(apachetest, [ --disable-apachetest Do not try to compile and run apache version test program],
, enable_apachetest=yes)
AC_REQUIRE([AC_CANONICAL_TARGET])
PATH="$apache_prefix:$apache_prefix/bin:$apache_prefix/sbin:$PATH"
AC_PATH_PROG(APXS_BIN, apxs, no, [$PATH])
min_apache_version=ifelse([$1], ,1.3.1,$1)
AC_MSG_CHECKING(for Apache - version >= $min_apache_version)
no_apxs=""
if test "$APXS_BIN" == "no"; then
no_apxs=yes
else
APACHE_INCDIR=`$APXS_BIN -q INCLUDEDIR`
APACHE_CFLAGS=-I$APACHE_INCDIR
APACHE_MODDIR=`$APXS_BIN -q LIBEXECDIR`
if test "x$enable_apachetest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $APACHE_CFLAGS"
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "httpd.h"
#ifndef AP_SERVER_BASEREVISION
#define AP_SERVER_BASEREVISION SERVER_BASEREVISION
#endif
char* my_strdup (char *str)
{
char *new_str;
if (str) {
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
} else
new_str = NULL;
return new_str;
}
int main (int argc, char *argv[])
{
int major1, minor1, micro1;
int major2, minor2, micro2;
char *tmp_version;
{ FILE *fp = fopen("conf.apachetest", "a"); if ( fp ) fclose(fp); }
tmp_version = my_strdup("$min_apache_version");
if (sscanf(tmp_version, "%d.%d.%d", &major1, &minor1, µ1) != 3) {
printf("%s, bad version string\n", "$min_apache_version");
exit(1);
}
tmp_version = my_strdup(AP_SERVER_BASEREVISION);
if (sscanf(tmp_version, "%d.%d.%d", &major2, &minor2, µ2) != 3) {
printf("%s, bad version string\n", AP_SERVER_BASEREVISION);
exit(1);
}
if ((major2 > major1) ||
((major2 == major1) && (minor2 > minor1)) ||
((major2 == major1) && (minor2 == minor1) && (micro2 >= micro1)))
{
return 0;
} else {
printf("\n*** This module requires apache version %d.%d.%d or greater\n",
major1, minor1, micro1);
printf("*** I found version %d.%d.%d. Please verify the installation directory\n",
major2, minor2, micro2);
printf("*** of apache with the --with-apache configure option.\n");
return 1;
}
}
],, no_apxs=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
fi
fi
if test "x$no_apxs" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "APXS_BIN" = "no" ; then
echo "*** The apxs binary installed by apache could not be found"
echo "*** If apache is installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or use the --with-apache configure option"
else
if test -f conf.apachetest ; then
:
else
echo "*** Could not run Apache test program, checking why..."
CFLAGS="$CFLAGS APACHE_CFLAGS"
AC_TRY_LINK([
#include <stdio.h>
#include "httpd.h"
int main(int argc, char *argv[])
{ return 0; }
#undef main
#define main K_and_R_C_main
], [ return 0; ],
[ echo "*** The test program compiled, but failed to run. Check config.log" ],
[ echo "*** The test program failed to compile or link. Check config.log" ])
CFLAGS="$ac_save_CFLAGS"
fi
fi
APACHE_CFLAGS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(APACHE_CFLAGS)
AC_SUBST(APACHE_INCDIR)
AC_SUBST(APACHE_MODDIR)
rm -f conf.apachetest
])
|