#
# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors
+# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors
#
# 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
# -- Initialisation --
-AC_PREREQ(2.50)
-AC_INIT(ngircd, VERSION_ID)
-AC_CONFIG_SRCDIR(src/ngircd/ngircd.c)
+AC_PREREQ([2.67])
+AC_INIT([ngIRCd], VERSION_ID,
+ [ngircd-ml@ngircd.barton.de], [ngircd], [http://ngircd.barton.de/])
+
+AC_CONFIG_SRCDIR([src/ngircd/ngircd.c])
+AC_CONFIG_HEADER([src/config.h])
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(1.6)
-AM_CONFIG_HEADER(src/config.h)
+
+AM_INIT_AUTOMAKE([1.11])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
# -- Templates for config.h --
AH_TEMPLATE([DEBUG], [Define if debug-mode should be enabled])
+AH_TEMPLATE([HAVE_sockaddr_in_len], [Define if sockaddr_in.sin_len exists])
AH_TEMPLATE([HAVE_socklen_t], [Define if socklen_t exists])
+AH_TEMPLATE([IDENTAUTH], [Define if the server should do IDENT requests])
+AH_TEMPLATE([IRCPLUS], [Define if IRC+ protocol should be used])
+AH_TEMPLATE([PAM], [Define if PAM should be used])
AH_TEMPLATE([SNIFFER], [Define if IRC sniffer should be enabled])
AH_TEMPLATE([STRICT_RFC], [Define if ngIRCd should behave strict RFC compliant])
AH_TEMPLATE([SYSLOG], [Define if syslog should be used for logging])
-AH_TEMPLATE([ZLIB], [Define if zlib compression should be enabled])
AH_TEMPLATE([TCPWRAP], [Define if TCP wrappers should be used])
-AH_TEMPLATE([IRCPLUS], [Define if IRC+ protocol should be used])
AH_TEMPLATE([WANT_IPV6], [Define if IPV6 protocol should be enabled])
-AH_TEMPLATE([IDENTAUTH], [Define if the server should do IDENT requests])
-AH_TEMPLATE([PAM], [Define if PAM should be used])
-AH_TEMPLATE([HAVE_sockaddr_in_len], [Define if sockaddr_in.sin_len exists])
+AH_TEMPLATE([ZLIB], [Define if zlib compression should be enabled])
AH_TEMPLATE([TARGET_OS], [Target operating system name])
AH_TEMPLATE([TARGET_VENDOR], [Target system vendor])
AC_PROG_CC
AC_PROG_CC_STDC
-AC_C_PROTOTYPES
# -- Helper programs --
# -- Compiler Features --
-AM_C_PROTOTYPES
AC_C_CONST
AC_C_INLINE
+AM_C_PROTOTYPES
# -- Hard coded system and compiler dependencies/features/options ... --
# -- Headers --
AC_HEADER_STDC
-AC_HEADER_TIME
AC_HEADER_SYS_WAIT
+AC_HEADER_TIME
+# Required header files
AC_CHECK_HEADERS([ \
- ctype.h errno.h fcntl.h netdb.h netinet/in.h netinet/in_systm.h \
- stdlib.h string.h strings.h sys/socket.h sys/time.h unistd.h \
+ fcntl.h netdb.h netinet/in.h netinet/in_systm.h stdlib.h string.h \
+ strings.h sys/socket.h sys/time.h unistd.h \
],,AC_MSG_ERROR([required C header missing!]))
+# Optional header files
AC_CHECK_HEADERS([ \
- arpa/inet.h ctype.h malloc.h netinet/ip.h stdbool.h stddef.h varargs.h \
- ],[],[],[[
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
- #ifdef HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
- #endif
- #ifdef HAVE_NETINET_IN_H
- #include <netinet/in.h>
- #endif
- ]]
-)
+ arpa/inet.h inttypes.h malloc.h netinet/ip.h stdbool.h stddef.h \
+ stdint.h varargs.h \
+ ])
# -- Datatypes --
AC_MSG_RESULT(no)
])
+AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UID_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT8_T
AC_CHECK_MEMBER([struct sockaddr_in.sin_len], AC_DEFINE(HAVE_sockaddr_in_len),,
[#include <arpa/inet.h>])
# -- Functions --
AC_FUNC_FORK
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
AC_FUNC_STRFTIME
+# Required functions
AC_CHECK_FUNCS([ \
- bind gethostbyaddr gethostbyname gethostname inet_ntoa \
- setsid setsockopt socket strcasecmp waitpid],,
+ alarm dup2 endpwent gethostbyaddr gethostbyname gethostname \
+ gettimeofday inet_ntoa memmove memset setsid socket strcasecmp \
+ strchr strcspn strerror strncasecmp strrchr strspn strstr \
+ ],,
AC_MSG_ERROR([required function missing!]))
+# Optional functions
AC_CHECK_FUNCS([ \
- gai_strerror getaddrinfo getnameinfo inet_aton sigaction \
- sigprocmask snprintf vsnprintf strdup strlcpy strlcat strtok_r])
+ gai_strerror getaddrinfo getnameinfo inet_aton sigaction sigprocmask \
+ snprintf vsnprintf strdup strlcpy strlcat strtok_r waitpid])
# -- Configuration options --
# -- Generate files --
-AC_OUTPUT([ \
+AC_CONFIG_FILES([ \
Makefile \
+ contrib/Anope/Makefile \
+ contrib/Debian/Makefile \
+ contrib/MacOSX/Makefile \
+ contrib/MacOSX/ngIRCd.pmdoc/Makefile \
+ contrib/MacOSX/ngIRCd.xcodeproj/Makefile \
+ contrib/Makefile \
doc/Makefile \
doc/src/Makefile \
- src/Makefile \
- src/portab/Makefile \
+ man/Makefile \
src/ipaddr/Makefile \
- src/tool/Makefile \
+ src/Makefile \
src/ngircd/Makefile \
+ src/portab/Makefile \
src/testsuite/Makefile \
- man/Makefile \
- contrib/Makefile \
- contrib/Anope/Makefile \
- contrib/Debian/Makefile \
- contrib/MacOSX/Makefile \
- contrib/MacOSX/ngIRCd.xcodeproj/Makefile \
- contrib/MacOSX/ngIRCd.pmdoc/Makefile \
+ src/tool/Makefile \
])
+AC_OUTPUT
+
type dpkg >/dev/null 2>&1
if test $? -eq 0; then
# Generate debian/ link if the dpkg command exists