mirror of
https://github.com/tbamud/tbamud.git
synced 2026-04-30 04:41:51 +02:00
Introduced new system for unit tests based on the Unity framework. Added tests for some of the simple functions in four different files.
216 lines
5.7 KiB
Plaintext
216 lines
5.7 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
AC_INIT(src/act.comm.c)
|
|
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)
|
|
|
|
AC_OUTPUT(src/Makefile src/util/Makefile tests/Makefile)
|
|
#
|
|
echo "Configuration completed. To compile, type: cd src; make"
|