| 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
])
 |