From b132a73f15e432eaf43310fce9196ca0c0651465 Mon Sep 17 00:00:00 2001 From: <> Date: Thu, 2 Jan 2003 05:25:50 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'Release_2_1-maint'. --- configure.in | 645 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 645 insertions(+) create mode 100644 configure.in (limited to 'configure.in') diff --git a/configure.in b/configure.in new file mode 100644 index 00000000..6d5f0af0 --- /dev/null +++ b/configure.in @@ -0,0 +1,645 @@ +# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +dnl Process this file with autoconf to produce a configure script. +AC_REVISION($Revision: 6094 $) +AC_PREREQ(2.0) +AC_INIT(src/common.h) + + +# /usr/local/mailman is the default installation directory +AC_PREFIX_DEFAULT(/usr/local/mailman) + + +# Check for Python! Better be found on $PATH +AC_MSG_CHECKING(for --with-python) +AC_ARG_WITH(python, dnl +[ --with-python specify path to Python interpreter]) +case "$with_python" in + "") ans="no";; + *) ans="$with_python" +esac +AC_MSG_RESULT($ans) + +if test -z "$with_python" +then + AC_PATH_PROG(with_python, python, /usr/local/bin/python) +fi + +AC_MSG_CHECKING(Python interpreter) +if test ! -x $with_python +then + AC_MSG_ERROR([ + +***** No Python interpreter found! +***** Try including the configure option +***** --with-python=/path/to/python/interpreter]) +fi +AC_SUBST(PYTHON) +PYTHON=$with_python +AC_MSG_RESULT($PYTHON) + +# See if Python is new enough. 2.1 or better is required, with 2.1.3 +# recommended. +AC_MSG_CHECKING(Python version) +changequote(,) +cat > conftest.py <= 0x2010000: + s = sys.version.split()[0] +else: + s = "" +fp = open("conftest.out", "w") +fp.write("%s\n" % s) +fp.close() +EOF +changequote([, ]) +$PYTHON conftest.py +version=`cat conftest.out` +rm -f conftest.out conftest.py +if test -z "$version" +then + AC_MSG_ERROR([ + +***** $PYTHON is too old (or broken) +***** Python 2.1 or newer is required +***** Python 2.1.3 or better is recommended]) +fi +AC_MSG_RESULT($version) + +# Make sure distutils is available. Some Linux Python packages split +# distutils into the "-devel" package, so they need both. +AC_MSG_CHECKING(that Python has a working distutils) +changequote(,) +cat > conftest.py < conftest.py < conftest.py < conftest.py < gid: + problems.append("Directory must be owned by group " + + groupname + ": " + prefix) + if (mode & S_ISGID) <> S_ISGID: + problems.append("Set-gid bit must be set for directory: " + prefix) + perms = S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH + if (mode & perms) <> perms: + problems.append("Permissions should be at least 02775: " + prefix) +if not problems: + msg = "okay\n" +else: + msg = '***** ' + '\n***** '.join(problems) + '\n' +fp = open("conftest.out", "w") +fp.write(msg) +fp.close() +EOF +changequote([, ]) +$PYTHON conftest.py +status=`cat conftest.out` +rm -f conftest.out conftest.py +if test "$with_permcheck" = "yes" +then + if test "$status" != "okay" + then + AC_MSG_ERROR([ +***** Installation directory $prefixcheck is not configured properly! +$status]) + fi +else + status="skipped" +fi +AC_MSG_RESULT($status) + + +# Now find the UIDs and GIDs +# Support --with-mail-gid and --with-cgi-gid +AC_MSG_CHECKING(for mail wrapper group; i.e. --with-mail-gid) +AC_ARG_WITH(mail-gid, dnl +[ --with-mail-gid group name mail programs run as]) +if test -z "$with_mail_gid" +then + with_mail_gid="mailman other mail daemon" +fi +MM_FIND_GROUP_NAME(MAIL_GROUP, $with_mail_gid) +if test -z "$MAIL_GROUP" +then + if test "$with_permcheck" = "yes" + then + AC_MSG_ERROR([ +***** No group name \"$with_mail_gid\" found for the mail wrapper program. +***** This is the group that your mail server will use to run Mailman's +***** programs. You should specify an existing group with the +***** --with-mail-gid configure option, or use --without-permcheck to +***** skip this verification step. See also your mail server's documentation, +***** and Mailman's INSTALL file for details]) + else + MAIL_GROUP=$with_mail_gid + fi +fi +AC_MSG_RESULT($MAIL_GROUP) + + +AC_MSG_CHECKING(for CGI wrapper group; i.e. --with-cgi-gid) +AC_ARG_WITH(cgi-gid, dnl +[ --with-cgi-gid group name CGI programs run as]) +if test -z "$with_cgi_gid" +then + with_cgi_gid="www www-data nobody" +fi + +MM_FIND_GROUP_NAME(CGI_GROUP, $with_cgi_gid) +if test -z "$CGI_GROUP" +then + if test "$with_permcheck" = "yes" + then + AC_MSG_ERROR([ +***** No group name \"$with_cgi_gid\" found for the CGI wrapper program. +***** This is the group that your web server will use to run Mailman's +***** programs. You should specify an existing group with the +***** --with-cgi-gid configure option, or use --without-permcheck to +***** skip this verification step. See also your web server's documentation, +***** and Mailman's INSTALL file for details]) + else + CGI_GROUP=$with_cgi_gid + fi +fi +AC_MSG_RESULT($CGI_GROUP) + + +# Check for CGI extensions, required by some Web servers +AC_SUBST(CGIEXT) +AC_MSG_CHECKING(for CGI extensions) +AC_ARG_WITH(cgi-ext, dnl +[ --with-cgi-ext specify extension for CGI programs (include dot)]) +if test -z "$with_cgi_ext" +then + CGIEXT='' + with_cgi_ext='no' +else + CGIEXT=$with_cgi_ext +fi +AC_MSG_RESULT($with_cgi_ext) + + +# figure out the default mail hostname and url host component +AC_SUBST(MAILHOST) +AC_MSG_CHECKING(for --with-mailhost) +AC_ARG_WITH(mailhost, dnl +[ --with-mailhost specify the hostname part for outgoing email]) +if test -z "$with_mailhost" +then + MAILHOST='' + with_mailhost='no' +else + MAILHOST=$with_mailhost +fi +AC_MSG_RESULT($with_mailhost) + +AC_SUBST(URLHOST) +AC_MSG_CHECKING(for --with-urlhost) +AC_ARG_WITH(urlhost, dnl +[ --with-urlhost specify the hostname part of urls]) +if test -z "$with_urlhost" +then + URLHOST='' + with_urlhost='no' +else + URLHOST=$with_urlhost +fi +AC_MSG_RESULT($with_urlhost) + +changequote(,) +cat > conftest.py <> fp, fqdn +print >> fp, fqdn +fp.close() +EOF +$PYTHON conftest.py +changequote([, ]) +AC_MSG_CHECKING(for default mail host name) +if test -z "$MAILHOST" +then + MAILHOST=`sed q conftest.out` +fi +AC_MSG_RESULT($MAILHOST) +AC_MSG_CHECKING(for default URL host component) +if test -z "$URLHOST" +then + URLHOST=`sed -n '$p' conftest.out` +fi +AC_MSG_RESULT($URLHOST) +rm -f conftest.out conftest.py + +# Checks for libraries. +AC_CHECK_FUNCS(strerror setregid syslog) +if test $ac_cv_func_syslog = no; then + # syslog is not in the default libraries. See if it's in some other. + # Additionally, for at least SCO OpenServer, syslog() is #defined to + # one of several _real_ functions in syslog.h, so we need to do the test + # with the appropriate include. + for lib in bsd socket inet; do + AC_MSG_CHECKING(for syslog in -l$lib) + Mailman_LIBS_save="$LIBS"; LIBS="$LIBS -l$lib" + AC_TRY_LINK([#include ], + [syslog(LOG_DEBUG, "Just a test...");], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SYSLOG) + break], + [AC_MSG_RESULT(no) + LIBS="$Mailman_LIBS_save"]) + unset Mailman_LIBS_save + done +fi + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(syslog.h) + +# Checks for typedefs, structures, and compiler characteristics. +AC_TYPE_UID_T +AC_TYPE_GETGROUPS + +# Checks for library functions. +AC_CHECK_FUNCS(vsnprintf) + +dnl Expand PYTHON path in the scripts, output into build/scriptname + +AC_DEFUN(MM_SCRIPTS, [dnl +bin/add_members \ +bin/arch \ +bin/change_pw \ +bin/check_db \ +bin/check_perms \ +bin/cleanarch \ +bin/clone_member \ +bin/config_list \ +bin/convert.py \ +bin/dumpdb \ +bin/find_member \ +bin/fix_url.py \ +bin/genaliases \ +bin/inject \ +bin/list_admins \ +bin/list_lists \ +bin/list_members \ +bin/list_owners \ +bin/mailmanctl \ +bin/mmsitepass \ +bin/newlist \ +bin/pygettext.py \ +bin/qrunner \ +bin/remove_members \ +bin/rmlist \ +bin/sync_members \ +bin/transcheck \ +bin/unshunt \ +bin/update \ +bin/version \ +bin/withlist \ +bin/b4b5-archfix \ +contrib/check_perms_grsecurity.py \ +contrib/qmail-to-mailman.py \ +contrib/rotatelogs.py \ +cron/bumpdigests \ +cron/checkdbs \ +cron/disabled \ +cron/gate_news \ +cron/mailpasswds \ +cron/nightly_gzip \ +cron/senddigests \ +]) + +dnl Please make sure to leave a space at the end of the last entry. +dnl (This is so we don't have to use [a-z/] style character classes +dnl in the regexp below and mess with m4 quoting, which is not fun.) + +dnl This regexp munges each line in MM_SCRIPTS, replacing: +dnl path/script \ +dnl with: +dnl build/path/script:path/script \ +dnl so that we can macro-expand variables in scripts without using +dnl script.in filenames, outputting the new files in build/ . + +SCRIPTS="patsubst(MM_SCRIPTS, \(.+\) \(\\?\), build/\1:\1 \2)" + +AC_SUBST(SCRIPTS) + +# These directories are temporary directories to store macro-expanded +# scripts. They're removed on a make distclean, so we make them here. +mkdir -p build/bin build/contrib build/cron + +dnl Output everything +AC_OUTPUT([misc/paths.py Mailman/Defaults.py Mailman/mm_cfg.py.dist + src/Makefile misc/Makefile bin/Makefile + Mailman/Makefile Mailman/Cgi/Makefile Mailman/Logging/Makefile + Mailman/Archiver/Makefile Mailman/Commands/Makefile + Mailman/Handlers/Makefile Mailman/Bouncers/Makefile + Mailman/Queue/Makefile Mailman/MTA/Makefile Mailman/Gui/Makefile + templates/Makefile cron/Makefile scripts/Makefile messages/Makefile + cron/crontab.in misc/mailman Makefile + tests/Makefile tests/bounces/Makefile tests/msgs/Makefile + $SCRIPTS], + echo "configuration completed at" `date`) + +# Make sure all the build scripts are executable. +chmod -R +x build + +# Test for the Chinese codecs. +dnl AC_MSG_CHECKING(for Python Chinese Unicode codecs) +dnl cat > conftest.py </dev/null` +dnl rm -f conftest.py +dnl AC_MSG_RESULT($chinese) +dnl if test "x$chinese" != "xfound" +dnl then +dnl AC_MSG_WARN([ + +dnl ***** Python Unicode codecs for Chinese not found. +dnl ***** Chinese emails generated by or manipulated in Mailman will not +dnl ***** be sent in the correct encoding and may be unreadable. +dnl ***** Please uncompress and install the Chinese codecs from: +dnl ***** http://sourceforge.net/projects/python-codecs/ +dnl ***** +dnl ***** Note: Everything else will work just fine. +dnl ]) +dnl fi -- cgit v1.2.3