1
dnl vim: set sw=4 expandtab :
3
dnl Copyright 2007-2009 GRAHAM DUMPLETON
5
dnl Licensed under the Apache License, Version 2.0 (the "License");
6
dnl you may not use this file except in compliance with the License.
7
dnl You may obtain a copy of the License at
9
dnl http://www.apache.org/licenses/LICENSE-2.0
11
dnl Unless required by applicable law or agreed to in writing, software
12
dnl distributed under the License is distributed on an "AS IS" BASIS,
13
dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
dnl See the License for the specific language governing permissions and
15
dnl limitations under the License.
17
dnl Process this file with autoconf to produce a configure script.
21
AC_ARG_ENABLE(framework, AC_HELP_STRING([--disable-framework],
22
[disable mod_wsgi framework link]),
23
[ENABLE_FRAMEWORK=$enableval],
24
[ENABLE_FRAMEWORK=yes])
26
AC_ARG_ENABLE(embedded, AC_HELP_STRING([--disable-embedded],
27
[disable mod_wsgi embedded mode]),
28
[ENABLE_EMBEDDED=$enableval],
29
[ENABLE_EMBEDDED=yes])
31
AC_ARG_WITH(apxs, AC_HELP_STRING([--with-apxs=NAME],
32
[name of the apxs executable [[apxs]]]),
35
if test -z "${APXS}"; then
36
AC_PATH_PROGS(APXS, apxs2 apxs, [apxs],
37
[$PATH:/usr/local/apache/bin:/usr/sbin])
42
AC_MSG_CHECKING(Apache version)
43
HTTPD="`${APXS} -q SBINDIR`/`${APXS} -q TARGET`"
44
HTTPD_INCLUDEDIR="`${APXS} -q INCLUDEDIR`"
45
if test -x ${HTTPD}; then
46
HTTPD_VERSION=`${HTTPD} -v | awk '/version/ {print $3}' \
47
| awk -F/ '{print $2}'`
49
if test -f ${HTTPD_INCLUDEDIR}/ap_release.h; then
50
HTTPD_VERSION=`grep '^#define AP_SERVER_MAJORVERSION_NUMBER ' \
51
${HTTPD_INCLUDEDIR}/ap_release.h | sed -e \
52
's/^#define AP_SERVER_MAJORVERSION_NUMBER \([0-9]\).*/\1.X/'`
54
if test -f ${HTTPD_INCLUDEDIR}/httpd.h; then
55
HTTPD_VERSION=`grep '^#define APACHE_RELEASE ' \
56
${HTTPD_INCLUDEDIR}/httpd.h | sed -e \
57
's/^#define APACHE_RELEASE \([0-9]\).*/\1.X/'`
63
AC_MSG_RESULT($HTTPD_VERSION)
65
AC_ARG_WITH(python, AC_HELP_STRING([--with-python=NAME],
66
[name of the python executable [[python]]]),
67
[PYTHON="$with_python"])
69
if test -z "${PYTHON}"; then
70
AC_PATH_PROGS(PYTHON, python, [python],
71
[$PATH:/usr/local/bin])
76
PYTHON_VERSION=`${PYTHON} -c 'from sys import stdout; \
77
from distutils import sysconfig; \
78
stdout.write((sysconfig.get_config_var("VERSION")))'`
80
CPPFLAGS1=`${PYTHON} -c 'from sys import stdout; \
81
from distutils import sysconfig; \
82
stdout.write("-I" + sysconfig.get_config_var("INCLUDEPY"))'`
84
CPPFLAGS2=`${PYTHON} -c 'from sys import stdout; \
85
from distutils import sysconfig; \
86
stdout.write(" ".join(filter(lambda x: x.startswith("-D"), \
87
sysconfig.get_config_var("CFLAGS").split())))'`
89
if test "${ENABLE_EMBEDDED}" != "yes"; then
90
CPPFLAGS3="-DMOD_WSGI_DISABLE_EMBEDDED"
95
CPPFLAGS="${CPPFLAGS} ${CPPFLAGS1} ${CPPFLAGS2} ${CPPFLAGS3}"
99
PYTHONLIBDIR=`${PYTHON} -c 'from sys import stdout; \
100
from distutils import sysconfig; \
101
stdout.write(sysconfig.get_config_var("LIBDIR"))'`
102
PYTHONCFGDIR=`${PYTHON} -c 'from sys import stdout; \
103
import distutils.sysconfig; \
104
stdout.write(distutils.sysconfig.get_python_lib(plat_specific=1, \
105
standard_lib=1) +"/config")'`
106
PYTHONFRAMEWORKDIR=`${PYTHON} -c 'from sys import stdout; \
107
from distutils import sysconfig; \
108
stdout.write(sysconfig.get_config_var("PYTHONFRAMEWORKDIR"))'`
109
PYTHONFRAMEWORKPREFIX=`${PYTHON} -c 'from sys import stdout; \
110
from distutils import sysconfig; \
111
stdout.write(sysconfig.get_config_var("PYTHONFRAMEWORKPREFIX"))'`
112
PYTHONFRAMEWORK=`${PYTHON} -c 'from sys import stdout; \
113
from distutils import sysconfig; \
114
stdout.write(sysconfig.get_config_var("PYTHONFRAMEWORK"))'`
116
if test "${PYTHONFRAMEWORKDIR}" = "no-framework" -o \
117
"${ENABLE_FRAMEWORK}" != "yes"; then
118
LDFLAGS1="-L${PYTHONLIBDIR}"
119
LDFLAGS2="-L${PYTHONCFGDIR}"
121
LDLIBS1="-lpython${PYTHON_VERSION}"
122
LDLIBS2=`${PYTHON} -c 'from sys import stdout; \
123
from distutils import sysconfig; \
124
stdout.write(sysconfig.get_config_var("LIBS"))'`
125
LDLIBS3=`${PYTHON} -c 'from sys import stdout; \
126
from distutils import sysconfig; \
127
stdout.write(sysconfig.get_config_var("SYSLIBS"))'`
129
LDFLAGS1="-Wl,-F${PYTHONFRAMEWORKPREFIX} -framework ${PYTHONFRAMEWORK}"
131
VERSION="${PYTHON_VERSION}"
132
STRING="${PYTHONFRAMEWORKDIR}/Versions/${VERSION}/${PYTHONFRAMEWORK}"
133
LDFLAGS2=`${PYTHON} -c "from sys import stdout; \
134
from distutils import sysconfig; \
135
stdout.write(sysconfig.get_config_var(
136
\"LINKFORSHARED\").replace(\"${STRING}\", ''))"`
138
LDLIBS1=`${PYTHON} -c 'from sys import stdout; \
139
from distutils import sysconfig; \
140
stdout.write(sysconfig.get_config_var("LIBS"))'`
146
CFLAGS1="${CFLAGS1} -Wc,$arg"
150
if test -x /usr/bin/lipo; then
152
ARCHITECTURES=`/usr/bin/lipo -info $HTTPD | sed -e 's/.*://'`
153
for ARCH in $ARCHITECTURES; do
154
CFLAGS2="${CFLAGS2} -Wc,'-arch ${ARCH}'"
155
LDFLAGS3="${LDFLAGS3} -arch ${ARCH}"
159
CFLAGS="${CFLAGS1} ${CFLAGS2}"
160
LDFLAGS="${LDFLAGS} ${LDFLAGS1} ${LDFLAGS2} ${LDFLAGS3}"
161
LDLIBS="${LDLIBS} ${LDLIBS1} ${LDLIBS2} ${LDLIBS3}"
167
LIBEXECDIR="`${APXS} -q LIBEXECDIR`"
170
HTTPD_MAJOR_VERSION=`echo ${HTTPD_VERSION} | sed -e 's/\..*//'`
173
ln -s posix-ap${HTTPD_MAJOR_VERSION}X.mk.in Makefile.in