wmud/old-codebase/cnf/configure.in
2012-03-07 16:24:50 +01:00

221 lines
5.8 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
AC_INIT(src/act.comm.c)
AC_CONFIG_MACRO_DIR([.])
AC_SUBST(MYFLAGS)
AC_SUBST(NETLIB)
AC_SUBST(CRYPTLIB)
AC_CONFIG_HEADER(src/conf.h)
AC_DEFINE(CIRCLE_UNIX)
dnl Find the 'more' program
AC_CHECK_PROGS(MORE, less most more cat)
dnl Checks for programs.
AC_PROG_CC
dnl If we're using gcc, use gcc options.
dnl If not, test for various common switches to make a 'cc' compiler
dnl compile ANSI C code.
if test $ac_cv_prog_gcc = yes; then
dnl Determine if gcc -Wall causes warnings on isascii(), etc.
AC_CACHE_CHECK(whether ${CC-cc} -Wall also needs -Wno-char-subscripts,
ac_cv_char_warn,
[
OLDCFLAGS=$CFLAGS
CFLAGS="$CFLAGS -Wall -Werror"
AC_TRY_COMPILE([#include <ctype.h>],
[ int i; char c = '0';
i = isascii(c);
i = isdigit(c);
i = isprint(c);
], ac_cv_char_warn=no, ac_cv_char_warn=yes)
CFLAGS=$OLDCFLAGS
])
dnl If Determine if gcc can accept -Wno-char-subscripts
AC_CACHE_CHECK(whether ${CC-cc} accepts -Wno-char-subscripts, ac_cv_gcc_ncs,
[
OLDCFLAGS=$CFLAGS
CFLAGS="$CFLAGS -Wno-char-subscripts"
AC_TRY_COMPILE(, , ac_cv_gcc_ncs=yes, ac_cv_gcc_ncs=no)
CFLAGS=$OLDCFLAGS
])
dnl If Determine if gcc can accept -fno-builtin
AC_CACHE_CHECK(whether ${CC-cc} accepts -fno-builtin, ac_cv_gcc_fnb,
[
OLDCFLAGS=$CFLAGS
CFLAGS="$CFLAGS -fno-builtin"
AC_TRY_COMPILE(, , ac_cv_gcc_fnb=yes, ac_cv_gcc_fnb=no)
CFLAGS=$OLDCFLAGS
])
dnl If gcc -Wall gives no warnings with isascii(), use "-Wall";
dnl Otherwise, if gcc -Wall gives isascii warnings:
dnl If we can use -Wno-char-subscripts, use "-Wall -Wno-char-subscripts"
dnl If can't use -Wno-char-subscripts, use no flags at all.
if test ${ac_cv_char_warn:-ERROR} = no; then
MYFLAGS="-Wall"
else
if test ${ac_cv_gcc_ncs:-ERROR} = yes; then
MYFLAGS="-Wall -Wno-char-subscripts"
else
MYFLAGS=""
fi
fi
else
dnl We aren't using gcc so we can't assume any special flags.
MYFLAGS=""
fi
dnl Checks for libraries. We check for the library only if the function is
dnl not available without the library.
AC_CHECK_FUNC(gethostbyaddr, ,
[AC_CHECK_LIB(nsl, gethostbyaddr, NETLIB="-lnsl $NETLIB")])
AC_CHECK_FUNC(socket, ,
[AC_CHECK_LIB(socket, socket, NETLIB="-lsocket $NETLIB")])
AC_CHECK_FUNC(malloc, ,
[AC_CHECK_LIB(malloc, malloc)])
AC_CHECK_FUNC(crypt, AC_DEFINE(CIRCLE_CRYPT),
[AC_CHECK_LIB(crypt, crypt, AC_DEFINE(CIRCLE_CRYPT) CRYPTLIB="-lcrypt")]
)
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(fcntl.h sys/fcntl.h errno.h net/errno.h string.h strings.h)
AC_CHECK_HEADERS(limits.h sys/time.h sys/select.h sys/types.h unistd.h)
AC_CHECK_HEADERS(memory.h crypt.h assert.h arpa/telnet.h arpa/inet.h)
AC_CHECK_HEADERS(sys/stat.h sys/socket.h sys/resource.h netinet/in.h netdb.h)
AC_CHECK_HEADERS(signal.h sys/uio.h mcheck.h)
AC_UNSAFE_CRYPT
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_CHECK_TYPE(ssize_t, int)
AC_HEADER_TIME
dnl Check for the 'struct in_addr' definition. Ugly, yes.
if test $ac_cv_header_netinet_in_h = no; then
ac_cv_struct_in_addr = no
else
if test $ac_cv_header_sys_types_h = yes; then
headers=`cat << EOF
#include <sys/types.h>
#include <netinet/in.h>
EOF
`
else
headers="#include <netinet/in.h>"
fi
AC_CACHE_CHECK([for struct in_addr], ac_cv_struct_in_addr,
[ AC_TRY_COMPILE([$headers],[struct in_addr tp; tp.s_addr;], ac_cv_struct_in_addr=yes, ac_cv_struct_in_addr=no)])
if test $ac_cv_struct_in_addr = yes; then
AC_DEFINE(HAVE_STRUCT_IN_ADDR)
fi
fi
dnl Check for the 'typedef socklen_t' definition. Even uglier, yes.
if test $ac_cv_header_sys_socket_h = no; then
ac_cv_socklen_t = no;
else
AC_CACHE_CHECK([for typedef socklen_t], ac_cv_socklen_t,
[ AC_TRY_COMPILE([#include <sys/socket.h>],[socklen_t sl; sl=0;], ac_cv_socklen_t=yes, ac_cv_socklen_t=no)])
fi
if test $ac_cv_socklen_t = no; then
AC_DEFINE(socklen_t, int)
fi
dnl Checks for library functions.
AC_TYPE_SIGNAL
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(gettimeofday select snprintf strcasecmp strdup strerror stricmp strlcpy strncasecmp strnicmp strstr vsnprintf)
dnl Check for functions that parse IP addresses
ORIGLIBS=$LIBS
LIBS="$LIBS $NETLIB"
AC_CHECK_FUNCS(inet_addr inet_aton)
LIBS=$ORIGLIBS
dnl Check for prototypes
AC_CHECK_PROTO(accept)
AC_CHECK_PROTO(atoi)
AC_CHECK_PROTO(atol)
AC_CHECK_PROTO(bind)
AC_CHECK_PROTO(bzero)
AC_CHECK_PROTO(chdir)
AC_CHECK_PROTO(close)
AC_CHECK_PROTO(crypt)
AC_CHECK_PROTO(fclose)
AC_CHECK_PROTO(fcntl)
AC_CHECK_PROTO(fflush)
AC_CHECK_PROTO(fprintf)
AC_CHECK_PROTO(fputc)
AC_CHECK_PROTO(fputs)
AC_CHECK_PROTO(fread)
AC_CHECK_PROTO(fscanf)
AC_CHECK_PROTO(fseek)
AC_CHECK_PROTO(fwrite)
AC_CHECK_PROTO(getpeername)
AC_CHECK_PROTO(getpid)
AC_CHECK_PROTO(getrlimit)
AC_CHECK_PROTO(getsockname)
AC_CHECK_PROTO(gettimeofday)
AC_CHECK_PROTO(htonl)
AC_CHECK_PROTO(htons)
AC_CHECK_PROTO(inet_addr)
AC_CHECK_PROTO(inet_aton)
AC_CHECK_PROTO(inet_ntoa)
AC_CHECK_PROTO(listen)
AC_CHECK_PROTO(ntohl)
AC_CHECK_PROTO(perror)
AC_CHECK_PROTO(printf)
AC_CHECK_PROTO(qsort)
AC_CHECK_PROTO(read)
AC_CHECK_PROTO(remove)
AC_CHECK_PROTO(rewind)
AC_CHECK_PROTO(select)
AC_CHECK_PROTO(setitimer)
AC_CHECK_PROTO(setrlimit)
AC_CHECK_PROTO(setsockopt)
AC_CHECK_PROTO(snprintf)
AC_CHECK_PROTO(socket)
AC_CHECK_PROTO(sprintf)
AC_CHECK_PROTO(sscanf)
AC_CHECK_PROTO(strcasecmp)
AC_CHECK_PROTO(strdup)
AC_CHECK_PROTO(strerror)
AC_CHECK_PROTO(stricmp)
AC_CHECK_PROTO(strlcpy)
AC_CHECK_PROTO(strncasecmp)
AC_CHECK_PROTO(strnicmp)
AC_CHECK_PROTO(system)
AC_CHECK_PROTO(time)
AC_CHECK_PROTO(unlink)
AC_CHECK_PROTO(vsnprintf)
AC_CHECK_PROTO(write)
PKG_CHECK_MODULES([SQLITE3], sqlite3)
AC_SUBST(SQLITE3_CFLAGS)
AC_SUBST(SQLITE3_LIBS)
AC_OUTPUT(src/Makefile src/util/Makefile)
#
echo "Configuration completed. To compile, type: cd src; make"