📄 configure.in
字号:
dnl Process this file with autoconf to produce a configure script.AC_PREREQ([2.52])AC_INIT(vpopmail,5.4.6)PACKAGE=$PACKAGE_NAMEVERSION=$PACKAGE_VERSIONAM_CONFIG_HEADER(config.h)AM_INIT_AUTOMAKE()AC_CANONICAL_HOST#----------------------------------------------------------------------dnl Checks for programs.AC_PROG_AWKAC_PROG_CCAC_PROG_INSTALLAC_PROG_RANLIB#AC_AIXAC_ISC_POSIX#----------------------------------------------------------------------AC_CHECK_LIB(crypt, crypt)#AC_CHECK_LIB(nsl, gethostbyaddr)#AC_CHECK_LIB(socket, getsockname)#----------------------------------------------------------------------dnl Checks for header files.AC_HEADER_DIRENTAC_HEADER_STDCAC_HEADER_SYS_WAITAC_CHECK_HEADERS([arpa/inet.h fcntl.h memory.h netinet/in.h shadow.h stdlib.h string.h sys/file.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h utime.h])#----------------------------------------------------------------------# Checks for typedefs, structures, and compiler characteristics.AC_C_CONSTAC_TYPE_UID_TAC_C_INLINEAC_TYPE_MODE_TAC_TYPE_OFF_TAC_TYPE_PID_TAC_TYPE_SIZE_T# AC_CHECK_MEMBERS([struct stat.st_blksize])AC_STRUCT_TM#----------------------------------------------------------------------# Checks for library functions.#AC_FUNC_CHOWNAC_FUNC_CLOSEDIR_VOID#AC_FUNC_FORK#AC_FUNC_LSTAT#AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK#AC_FUNC_MALLOC#AC_FUNC_REALLOCAC_TYPE_SIGNAL#AC_FUNC_STATAC_FUNC_UTIME_NULLAC_CHECK_FUNCS([bzero dup2 fdatasync getcwd gethostname getpass getspnam memset mkdir putenv rmdir socket strchr strdup strerror strncasecmp strrchr strspn strstr utime])#----------------------------------------------------------------------AC_MSG_CHECKING(vpopmail configure options)AC_MSG_RESULT(ok)#----------------------------------------------------------------------case "$host" in *-*-sunos4.1.1*) idcommand="/usr/xpg4/bin/id -u" ;; *-*-solaris2.8*) idcommand="/usr/xpg4/bin/id -u" ;; *-*-solaris*) idcommand="/usr/xpg4/bin/id -u" ;; *) idcommand="id -u" ;;esac#----------------------------------------------------------------------if test `$idcommand` != "0"then AC_MSG_WARN(=== vpopmail must be configured as root. ===) AC_MSG_WARN(=== please switch to the root user and ===) AC_MSG_WARN(=== run ./configure. Thanks ===) AC_MSG_ERROR(aborted.)fi#----------------------------------------------------------------------if test "$GCC" = yes ; then CXXFLAGS="$CXXFLAGS -Wall" CFLAGS="$CFLAGS -Wall"fi#----------------------------------------------------------------------case "$host" in *-*-sunos4.1.1*) PS_COMMAND="ps -aux" ;; *-*-solaris*) PS_COMMAND="ps -ef" ;; *-*-sunos*) PS_COMMAND="ps -ef" ;; *-sgi-5*) PS_COMMAND="ps -ef" ;; *-ibm-aix*) PS_COMMAND="ps -ef" ;; mips-dec-mach3*) PS_COMMAND="ps -ef" ;; *-dec-ultrix*) PS_COMMAND="ps -ef" ;; *-*-hpux*) PS_COMMAND="ps -eaf" ;; alpha-dec-osf*) PS_COMMAND="ps -ef" ;; *-*-nextstep*) PS_COMMAND="ps -ef" ;; i*86-*-bsdi*) PS_COMMAND="ps axww" ;; i*86-unknown-bsd*) PS_COMMAND="ps -ef" ;; m68k-sony-newsos*) PS_COMMAND="ps -ef" ;; mips-sony-bsd*) PS_COMMAND="ps -ef" ;; m68k-apple-aux*) PS_COMMAND="ps -ef" ;; m88k-dg-dgux*) PS_COMMAND="ps -ef" ;; t3e-*-*) PS_COMMAND="ps -ef" ;; *-cray-unicos*) PS_COMMAND="ps -ef" ;; *-*-sysv4*) PS_COMMAND="ps -ef" ;; *-*-machten*) PS_COMMAND="ps -ef" ;; i*86-unknown-sco*) PS_COMMAND="ps -ef" ;; *-convex-bsd*) PS_COMMAND="ps -ef" ;; *-sequent-ptx*) PS_COMMAND="ps -ef" ;; *-sequent-dynix*|*-sequent-ptx*) PS_COMMAND="ps -ef" ;; *-*-freebsd*) PS_COMMAND="ps aux" ;; *-*-netbsd*) PS_COMMAND="ps aux" ;; *-*-openbsd*) PS_COMMAND="ps -aux" ;; *-*-IRIX*) PS_COMMAND="ps -ef" ;; *) PS_COMMAND="ps axww" ;;esacAC_DEFINE_UNQUOTED(PS_COMMAND,"$PS_COMMAND","")#----------------------------------------------------------------------case "$host" in *-*-solaris*) extralibflags="-R$libdir -lm -lnsl -lsocket" AC_MSG_WARN(Solaris install detected. Using extralibflags for linking: $extralibflags) ;; *) extralibflags="" ;;esac#----------------------------------------------------------------------AC_MSG_CHECKING(whether we can locate the qmail directory)qmaildir=""for f in /var/qmaildo if test -d $f then qmaildir=$f fidoneAC_ARG_ENABLE(qmaildir, [ --enable-qmaildir=DIR Directory where qmail control and user directories are installed [/var/qmail].], qmaildir="$enableval", [ if test "$qmaildir" = "" then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your qmaildir directory, specify --enable-qmaildir.]) fi ])AC_MSG_RESULT(yes)AC_DEFINE_UNQUOTED(QMAILDIR,"$qmaildir","")#----------------------------------------------------------------------AC_MSG_CHECKING(whether we can locate the qmail-newu program)qmailnewu=""for f in "$qmaildir"/bin/qmail-newu /usr/sbin/qmail-newudo if test -f $f then qmailnewu=$f break fidoneAC_ARG_ENABLE(qmail-newu, [ --enable-qmail-newu=PATH Full path to qmail-newu program.], qmailnewu="$enableval", [ if test "$qmailnewu" = "" then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your qmail-newu file, specify --enable-qmail-newu.]) fi ])if test ! -f "$qmailnewu"then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your qmail-newu file, specify --enable-qmail-newu=/full/path/to/qmail-newu])fiAC_MSG_RESULT(yes)AC_DEFINE_UNQUOTED(QMAILNEWU,"$qmailnewu","")#----------------------------------------------------------------------AC_MSG_CHECKING(whether we can locate the qmail-inject program)qmailinject=""for f in "$qmaildir"/bin/qmail-inject /usr/sbin/qmail-inject /usr/bin/qmail-injectdo if test -f $f then qmailinject=$f break fidoneAC_ARG_ENABLE(qmail-inject, [ --enable-qmail-inject=PATH Full path to qmail-inject program.], qmailinject="$enableval", [ if test "$qmailinject" = "" then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your qmailinject file, specify --enable-qmail-inject.]) fi ])if test ! -f "$qmailinject"then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your qmail-inject file, specify --enable-qmail-inject=/full/path/to/qmail-inject])fiAC_MSG_RESULT(yes)AC_DEFINE_UNQUOTED(QMAILINJECT,"$qmailinject","")#----------------------------------------------------------------------AC_MSG_CHECKING(whether we can locate the qmail-inject program)qmailnewmrh=""for f in "$qmaildir"/bin/qmail-newmrh /usr/sbin/qmail-newmrhdo if test -f $f then qmailnewmrh=$f break fidoneAC_ARG_ENABLE(qmail-newmrh, [ --enable-qmail-newmrh=PATH Full path to qmail-newmrh program.], qmailnewmrh="$enableval", [ if test "$qmailnewmrh" = "" then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your qmail-newmrh file, specify --enable-qmail-newmrh.]) fi ])if test ! -f "$qmailnewmrh"then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your qmail-newmrh file, specify --enable-qmail-qmail-newmrh=/full/path/to/qmail-newmrh])fiAC_MSG_RESULT(yes)AC_DEFINE_UNQUOTED(QMAILNEWMRH,"$qmailnewmrh","")#----------------------------------------------------------------------AC_MSG_CHECKING(for valid vpopmail user and group)vpopuser="vpopmail"AC_ARG_ENABLE(vpopuser, [ --enable-vpopuser=USER User name allocated to vpopmail [vpopmail].], vpopuser="$enableval", [ if test "$vpopuser" = "" then AC_MSG_ERROR([Unable to find your vpopmail user, specify --enable-vpopuser.]) fi ])AC_DEFINE_UNQUOTED(VPOPUSER,"$vpopuser","")AC_SUBST(vpopuser)echo $vpopuser > vpopusernamevpopgroup="vchkpw"AC_ARG_ENABLE(vpopgroup, [ --enable-vpopgroup=GROUP Group name allocated to vpopmail [vchkpw].], vpopgroup="$enableval", [ if test "$vpopgroup" = "" then AC_MSG_ERROR([Unable to find your vpopmail group, specify --enable-vpopgroup.]) fi ])AC_DEFINE_UNQUOTED(VPOPGROUP,"$vpopgroup","")AC_SUBST(vpopgroup)AC_MSG_RESULT(yes)AC_MSG_CHECKING(whether password file entry for the vpopmail user exists)AC_TRY_RUN( [ #include <stdio.h> #include <pwd.h> #include <stdlib.h> int main() { struct passwd *pw; char tmpbuf[100]; FILE *f; unlink("vpopmail.dir"); unlink("vpopmail.uid"); unlink("vpopmail.gid"); if ( (f=fopen("vpopusername","r+"))==NULL) { printf("No vpopmail user found.\n"); printf("Please add the vchkpw group and\n"); printf("vpopmail user. Then run configure again\n"); return(-1); } fgets(tmpbuf,100,f); fclose(f); tmpbuf[strlen(tmpbuf)-1] = 0; if (( pw=getpwnam(tmpbuf)) != 0 ) { f=fopen("vpopmail.dir","a+"); fprintf(f,"%s\n", pw->pw_dir); fclose(f); f=fopen("vpopmail.uid", "a+"); fprintf(f,"%d\n", pw->pw_uid); fclose(f); f=fopen("vpopmail.gid", "a+"); fprintf(f,"%d\n", pw->pw_gid); fclose(f); } else { printf("No vpopmail user found.\n"); printf("Please add the vchkpw group and\n"); printf("vpopmail user. Then run configure again\n"); return(-1); } return(0); } ], AC_MSG_RESULT(yes), AC_MSG_RESULT(no) AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.), AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.))if test ! -f vpopmail.uidthen AC_MSG_ERROR(No vpopmail user.)fiif test ! -f vpopmail.gidthen AC_MSG_ERROR(No vpopmail group.)fiif test ! -f vpopmail.dirthen AC_MSG_ERROR(No vpopmail home directory)fivpopmaildir=`cat vpopmail.dir`AC_SUBST(vpopmaildir)AC_DEFINE_UNQUOTED(VPOPMAILDIR,"$vpopmaildir","")rm -f vpopmail.dirvpopmailuid=`cat vpopmail.uid`AC_DEFINE_UNQUOTED(VPOPMAILUID,$vpopmailuid,"")rm -f vpopmail.uidvpopmailgid=`cat vpopmail.gid`AC_DEFINE_UNQUOTED(VPOPMAILGID,$vpopmailgid,"")rm -f vpopmail.gidrm -f vpopusername#----------------------------------------------------------------------if test ! -d $vpopmaildir/etcthen if test ! -d $vpopmaildir then AC_MSG_WARN( creating $vpopmaildir ) mkdir -p $vpopmaildir chown $vpopmailuid $vpopmaildir chgrp $vpopmailgid $vpopmaildir chmod 755 $vpopmaildir fi AC_MSG_WARN( making a vpopmail etc directory ) mkdir $vpopmaildir/etc chown $vpopmailuid "$vpopmaildir"/etc chgrp $vpopmailgid "$vpopmaildir"/etc chmod 755 "$vpopmaildir"/etcfi#----------------------------------------------------------------------AC_MSG_CHECKING(whether roaming-users has been enabled)AC_ARG_ENABLE(roaming-users, [ --enable-roaming-users Enable POP-before-SMTP functionality.], POPRELAY=$enableval, [ POPRELAY=no ])case $POPRELAY in 1*|y*|Y*) AC_MSG_RESULT(yes) POPRELAY=1 AC_DEFINE_UNQUOTED(POP_AUTH_OPEN_RELAY,$POPRELAY,"") AC_MSG_CHECKING(whether we can locate the tcprules program) for f in /usr/local/bin/tcprules /usr/bin/tcprules do if test -f $f then tcprules_prog=$f break fi done AC_ARG_ENABLE(tcprules-prog, [ --enable-tcprules-prog=PATH Full path to tcprules program [/usr/{local/}bin/tcprules].], tcprules_prog="$enableval", [ if test "$tcprules_prog" = "" then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your tcprules prog, specify --enable-tcprules-prog.]) fi ] ) if test ! -f "$tcprules_prog" then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to find your tcprulesfile, specify --enable-tcprules-prog=/full/path/to/tcprules]) fi AC_MSG_RESULT(yes) AC_DEFINE_UNQUOTED(TCPRULES_PROG,"$tcprules_prog","") AC_MSG_CHECKING(whether we can locate the tcp.smtp file) tcpserver_file="" for f in "$vpopmaildir"/etc/tcp.smtp /etc/tcp.smtp /etc/tcprules.d/qmail-smtpd do if test -f $f then tcpserver_file=$f break fi done AC_ARG_ENABLE(tcpserver_file, [ --enable-tcpserver-file=PATH File where tcpserver -x relay information is stored [/home/vpopmail/etc/tcp.smtp].], tcpserver_file="$enableval", [ if test "$tcpserver_file" = "" then AC_MSG_WARN([Unable to find your tcpserver relay file.]) AC_MSG_WARN([Creating tcp.smtp in "$vpopmaildir"/etc/tcp.smtp.]) echo "127.:allow,RELAYCLIENT=\"\"" > "$vpopmaildir"/etc/tcp.smtp tcpserver_file="$vpopmaildir"/etc/tcp.smtp fi ] ) if test ! -f "$tcpserver_file" then AC_MSG_ERROR([Unable to find your tcp.smtp file, specify --enable-tcpserver-path=/full/path/to/tcp.smtp]) fi AC_MSG_RESULT(yes) AC_DEFINE_UNQUOTED(TCP_FILE,"$tcpserver_file","") AC_MSG_CHECKING(whether rebuild-tcpserver-file is been enabled) AC_ARG_ENABLE(rebuild-tcpserver-file, [ --disable-rebuild-tcpserver-file Disable rebuilding of tcpserver relay control file.], REBUILD_TCPSERVER=$enableval, [
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -