201 lines
5.9 KiB
Plaintext
201 lines
5.9 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
dnl $Id$
|
|
|
|
AC_INIT(lib/libs.h)
|
|
AM_CONFIG_HEADER(config.h)
|
|
SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbtask mbsetup import lang examples html script"
|
|
AC_SUBST(SUBDIRS)
|
|
|
|
dnl General settings for MBSE BBS
|
|
dnl After changeing the version number, run autoconf!
|
|
PACKAGE="mbsebbs"
|
|
VERSION="0.33.19"
|
|
COPYRIGHT="Copyright (C) 1997-2002 Michiel Broek, All Rights Reserved"
|
|
SHORTRIGHT="Copyright (C) 1997-2002 M. Broek"
|
|
GROUP="bbs"
|
|
OWNER="mbse"
|
|
AC_SUBST(PACKAGE)
|
|
AC_SUBST(VERSION)
|
|
AC_SUBST(COPYRIGHT)
|
|
AC_SUBST(GROUP)
|
|
AC_SUBST(OWNER)
|
|
AC_PREFIX_DEFAULT(/opt/mbse)
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
|
|
AC_DEFINE_UNQUOTED(COPYRIGHT, "$COPYRIGHT")
|
|
AC_DEFINE_UNQUOTED(SHORTRIGHT, "$SHORTRIGHT")
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
dnl Alternate awk check, I skip mawk because it doesn't work for MBSE.
|
|
AC_CHECK_PROG(AWK, gawk, gawk)
|
|
AC_CHECK_PROG(AWK, nawk, nawk)
|
|
AC_CHECK_PROG(AWK, awk, awk)
|
|
dnl Try to find GNU install
|
|
AC_CHECK_PROG(INSTALL, ginstall, ginstall)
|
|
AC_CHECK_PROG(INSTALL, install, install)
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_RANLIB
|
|
AC_PROG_YACC
|
|
dnl AC_PROG_LEX
|
|
AC_CHECK_PROG(TAR, tar, tar)
|
|
AC_CHECK_PROG(ZIP, zip, zip)
|
|
dnl AM_PROG_LEX
|
|
AC_PATH_PROG(CHOWN, chown, chown, /bin:/sbin:/usr/bin:/usr/sbin:)
|
|
CFLAGS="$CFLAGS -Wall -Wshadow -Wwrite-strings -Wstrict-prototypes"
|
|
|
|
dnl Additional commandline switches
|
|
AC_ARG_ENABLE(memwatch, [ --enable-memwatch MEMWATCH debugging], [ memwatch=$enableval ], [ memwatch=no ])
|
|
|
|
if test "$memwatch" = "yes"; then
|
|
AC_DEFINE(MEMWATCH)
|
|
fi
|
|
|
|
dnl Defines for MBSE BBS (must use tests or --enable-stuff later)
|
|
AC_DEFINE_UNQUOTED(RESTAMP_OLD_POSTINGS, 21)
|
|
AC_DEFINE(RESTAMP_FUTURE_POSTINGS)
|
|
|
|
dnl Checks for libraries.
|
|
AC_CHECK_LIB(compat,re_comp,result=yes,result=no)
|
|
if test "$result" = "yes"; then
|
|
LIBS="$LIBS -lcompat"
|
|
fi
|
|
|
|
AC_CACHE_CHECK(for pw_age in struct passwd, ac_cv_struct_passwd_pw_age, AC_TRY_COMPILE([#include <pwd.h>],
|
|
[ struct passwd pw; pw.pw_age = ""; ], ac_cv_struct_passwd_pw_age=yes, ac_cv_struct_passwd_pw_age=no))
|
|
if test "$ac_cv_struct_passwd_pw_age" = "yes"; then
|
|
AC_DEFINE(ATT_AGE)
|
|
fi
|
|
|
|
AC_CACHE_CHECK(for pw_comment in struct passwd, ac_cv_struct_passwd_pw_comment, AC_TRY_COMPILE([#include <pwd.h>],
|
|
[ struct passwd pw; pw.pw_comment = ""; ], ac_cv_struct_passwd_pw_comment=yes, ac_cv_struct_passwd_pw_comment=no))
|
|
if test "$ac_cv_struct_passwd_pw_comment" = "yes"; then
|
|
AC_DEFINE(ATT_COMMENT)
|
|
fi
|
|
|
|
AC_CHECK_LIB(shadow,setspent,result=yes,result=no)
|
|
if test "$result" = "yes"; then
|
|
LIBS="$LIBS -lshadow"
|
|
SHADOW_PASSWORD=1
|
|
LIBSHADOW=1
|
|
else
|
|
AC_CHECK_LIB(shadow,getspnam,result=yes,result=no)
|
|
if test "$result" = "yes"; then
|
|
LIBS="$LIBS -lshadow"
|
|
SHADOW_PASSWORD=1
|
|
LIBSHADOW=1
|
|
else
|
|
dnl some libc's (glibc 2.x) keep shadow functions in -lc
|
|
AC_CHECK_LIB(c,setspent,result=yes,result=no)
|
|
if test "$result" = "yes"; then
|
|
if test -f /etc/shadow; then
|
|
SHADOW_PASSWORD=1
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "$SHADOW_PASSWORD" = "1"; then
|
|
if test "$ac_cv_func_fgetspent" != "yes"; then
|
|
AC_CHECK_LIB(shadow,fgetspent,result=yes,result=no)
|
|
if test "$result" = "yes"; then
|
|
if test "$LIBSHADOW" != "1"; then
|
|
LIBS="$LIBS -lshadow"
|
|
fi
|
|
fi
|
|
fi
|
|
AC_DEFINE(SHADOW_PASSWORD)
|
|
fi
|
|
|
|
AC_CHECK_LIB(crypt,crypt,result=yes,result=no)
|
|
if test "$result" = "yes"; then
|
|
LIBS="$LIBS -lcrypt"
|
|
AC_CHECK_HEADERS(crypt.h)
|
|
fi
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_TIME
|
|
AC_HEADER_SYS_WAIT
|
|
AC_CHECK_HEADERS(fcntl.h malloc.h sys/file.h sys/ioctl.h sys/time.h termios.h syslog.h sys/vfs.h unistd.h netinet/in.h regex.h)
|
|
AC_CHECK_HEADERS(sys/resource.h usersec.h utime.h ulimit.h gshadow.h shadow.h)
|
|
AC_CHECK_HEADERS(limits.h utmp.h utmpx.h sgtty.h lastlog.h rpc/key_prot.h)
|
|
AC_STRUCT_TIMEZONE
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_TYPE_UID_T
|
|
AC_TYPE_OFF_T
|
|
AC_TYPE_PID_T
|
|
AC_TYPE_MODE_T
|
|
AC_TYPE_SIZE_T
|
|
AC_STRUCT_ST_BLKSIZE
|
|
AC_HEADER_STAT
|
|
AC_STRUCT_TM
|
|
|
|
dnl Checks for library functions.
|
|
AC_CHECK_FUNCS(c64i a64l fchmod fchown fdatasync fsync lckpwdf strcasestr mkstemp putpwent)
|
|
AC_FUNC_FNMATCH
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_FUNC_MEMCMP
|
|
AC_FUNC_SETPGRP
|
|
AC_TYPE_SIGNAL
|
|
AC_FUNC_STRFTIME
|
|
AC_FUNC_UTIME_NULL
|
|
AC_FUNC_VFORK
|
|
AC_FUNC_VPRINTF
|
|
AC_CHECK_FUNCS(getcwd gethostname gettimeofday getwd mkdir mktime putenv re_comp regcmp regcomp rmdir select socket strcspn strdup strerror strspn strstr strtol strtoul uname)
|
|
AC_CHECK_FUNCS(getgroups getspnam getusershell getutent initgroups setgroups updwtmp updwtmpx)
|
|
|
|
dnl Check for external programs
|
|
AC_PATH_PROG(COMPRESS,compress,no-compress-found-during-configure)
|
|
AC_PATH_PROGS(GZIP,gzip,no-gzip-found-during-configure)
|
|
dnl
|
|
AC_ARG_WITH(log-compress,[ --with-log-compress=METHOD Log compression method (default gzip)], LOG_COMPRESS=$with_log_compress, LOG_COMPRESS=gzip)
|
|
case "$LOG_COMPRESS" in
|
|
gzip)
|
|
LOG_COMPRESS=$GZIP
|
|
LOG_COMPRESSEXT=".gz" ;;
|
|
compress)
|
|
LOG_COMPRESS=$COMPRESS
|
|
LOG_COMPRESSEXT=".Z" ;;
|
|
*)
|
|
LOG_COMPRESS=$LOG_COMPRESS
|
|
LOG_COMPRESSEXT=".unknown" ;;
|
|
esac
|
|
AC_SUBST(LOG_COMPRESS)
|
|
AC_SUBST(LOG_COMPRESSEXT)
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(location of utmp)
|
|
for utmpdir in /var/run /var/adm /usr/adm /etc NONE; do
|
|
if test "$utmpdir" = "NONE"; then
|
|
AC_MSG_WARN(utmp file not found)
|
|
elif test -f $utmpdir/utmp; then
|
|
AC_DEFINE_UNQUOTED(_UTMP_FILE, "$utmpdir/utmp")
|
|
AC_MSG_RESULT($utmpdir)
|
|
break
|
|
fi
|
|
done
|
|
|
|
AC_MSG_CHECKING(location of faillog/lastlog/wtmp)
|
|
for logdir in /var/log /var/adm /usr/adm /etc; do
|
|
if test -d $logdir; then
|
|
AC_DEFINE_UNQUOTED(_WTMP_FILE, "$logdir/wtmp")
|
|
AC_DEFINE_UNQUOTED(LASTLOG_FILE, "$logdir/lastlog")
|
|
AC_DEFINE_UNQUOTED(FAILLOG_FILE, "$logdir/faillog")
|
|
AC_MSG_RESULT($logdir)
|
|
break
|
|
fi
|
|
done
|
|
|
|
|
|
|
|
AC_OUTPUT(
|
|
Makefile.global
|
|
mbfido/paths.h
|
|
INSTALL
|
|
FILE_ID.DIZ
|
|
)
|
|
|