]> arthur.barton.de Git - ngircd-alex.git/blobdiff - configure.in
Clean up files for "ngircd-full" package, too ...
[ngircd-alex.git] / configure.in
index bffdbd15c7f668c7eab2516b9ee9d8d393bf0e5c..9e25f27d5d21817c90af2d3ddf4d95251f169b68 100644 (file)
@@ -8,7 +8,7 @@
 # (at your option) any later version.
 # Please read the file COPYING, README and AUTHORS for more information.
 #
-# $Id: configure.in,v 1.82 2003/03/07 14:37:30 alex Exp $
+# $Id: configure.in,v 1.99 2003/12/31 17:31:03 alex Exp $
 #
 
 # -- Initialisierung --
@@ -17,7 +17,7 @@ AC_PREREQ(2.50)
 AC_INIT(ngircd, CVSHEAD)
 AC_CONFIG_SRCDIR(src/ngircd/ngircd.c)
 AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE(1.6)
 AM_CONFIG_HEADER(src/config.h)
 
 # -- Templates fuer config.h --
@@ -26,11 +26,12 @@ AH_TEMPLATE([DEBUG], [Define if debug-mode should be enabled])
 AH_TEMPLATE([HAVE_socklen_t], [Define if socklen_t exists])
 AH_TEMPLATE([SNIFFER], [Define if IRC sniffer should be enabled])
 AH_TEMPLATE([STRICT_RFC], [Define if ngIRCd should behave strict RFC compliant])
-AH_TEMPLATE([USE_SYSLOG], [Define if syslog should be used for logging])
-AH_TEMPLATE([USE_ZLIB], [Define if zlib compression should be enabled])
-AH_TEMPLATE([USE_TCPWRAP], [Define if TCP wrappers should be used])
+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([RENDEZVOUS], [Define if Rendezvous support should be included])
+AH_TEMPLATE([IDENTAUTH], [Define if the server should do IDENT requests])
 
 AH_TEMPLATE([TARGET_OS], [Target operating system name])
 AH_TEMPLATE([TARGET_VENDOR], [Target system vendor])
@@ -57,16 +58,32 @@ AC_C_CONST
 
 # -- Defines --
 
-if test `uname` = "A/UX"; then
-       # unter A/UX sollte _POSIX_SOURCE definiert sein.
+os=`uname`
+
+if test "$os" = "Linux" -o $os = "GNU"; then
+       # define _POSIX_SOURCE, _GNU_SOURCE and _BSD_SOURCE when compiling
+       # on Linux or Hurd (glibc-based systems):
+       AC_MSG_RESULT([detected ${os}, defining _POSIX_SOURCE, _GNU_SOURCE and _BSD_SOURCE])
+       add_DEFINES="-D_POSIX_SOURCE -D_GNU_SOURCE -D_BSD_SOURCE $add_DEFINES"
+fi
+
+if test "$os" = "A/UX"; then
+       # define _POSIX_SOURCE when compiling on A/UX:
        AC_MSG_RESULT([detected A/UX, defining _POSIX_SOURCE])
-       CFLAGS="$CFLAGS -D_POSIX_SOURCE"
+       add_DEFINES="-D_POSIX_SOURCE $add_DEFINES"
 fi
 
-if test `uname` = "HP-UX"; then
-       # unter HP-UX 11.11 muss _XOPEN_SOURCE_EXTENDED definiert sein.
+if test "$os" = "HP-UX"; then
+       # define _XOPEN_SOURCE_EXTENDED when compiling on HP-UX (11.11):
        AC_MSG_RESULT([detected HP-UX, defining _XOPEN_SOURCE_EXTENDED])
-       CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
+       add_DEFINES="-D_XOPEN_SOURCE_EXTENDED $add_DEFINES"
+fi
+
+if test "$os" = "SunOS"; then
+       # define _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED=1 and __EXTENSIONS__
+       # when compiling on SunOS (tested with 5.6):
+       AC_MSG_RESULT([detected SunOS, defining _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED=1 and __EXTENSIONS__])
+       add_DEFINES="-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__ $add_DEFINES"
 fi
 
 # -- Header --
@@ -124,10 +141,8 @@ AC_CHECK_FUNCS([ \
 
 AC_CHECK_FUNCS(inet_aton isdigit sigaction snprintf vsnprintf strlcpy strlcat)
 
-AC_CHECK_FUNCS(poll,[AC_CHECK_HEADER(sys/poll.h)],
-       [AC_CHECK_FUNCS(select,[AC_CHECK_HEADER(sys/select.h)],
-               AC_MSG_ERROR([neither poll() nor select() is available!]))
-       ]
+AC_CHECK_FUNCS(select,[AC_CHECK_HEADERS(sys/select.h)],
+       AC_MSG_ERROR([required function select() is missing!])
 )
 
 # -- Konfigurationsoptionen --
@@ -148,7 +163,7 @@ AC_ARG_WITH(syslog,
        ]
 )
 if test "$x_syslog_on" = "yes"; then
-       AC_DEFINE(USE_SYSLOG, 1)
+       AC_DEFINE(SYSLOG, 1)
        AC_CHECK_HEADERS(syslog.h)
 fi
 
@@ -167,7 +182,7 @@ AC_ARG_WITH(zlib,
        ]
 )
 if test "$x_zlib_on" = "yes"; then
-       AC_DEFINE(USE_ZLIB, 1)
+       AC_DEFINE(ZLIB, 1)
        AC_CHECK_HEADERS(zlib.h)
 fi
 
@@ -176,7 +191,7 @@ AC_ARG_WITH(tcp-wrappers,
        [  --with-tcp-wrappers     enable TCP wrappers support],
        [       if test "$withval" = "yes"; then
                        AC_CHECK_LIB(wrap, tcpd_warn)
-                       AC_MSG_CHECKING(checking for hosts_access)
+                       AC_MSG_CHECKING(for hosts_access)
                        AC_TRY_LINK([
                                #include <tcpd.h>
                                ],[
@@ -184,7 +199,7 @@ AC_ARG_WITH(tcp-wrappers,
                                ptr = hosts_access;
                                ],[
                                AC_MSG_RESULT(yes)
-                               AC_DEFINE(USE_TCPWRAP, 1)
+                               AC_DEFINE(TCPWRAP, 1)
                                x_tcpwrap_on=yes
                                ],[
                                AC_MSG_RESULT(no)
@@ -209,6 +224,22 @@ if test "$x_rendezvous_on" = "yes"; then
        AC_CHECK_HEADERS(DNSServiceDiscovery/DNSServiceDiscovery.h mach/port.h)
 fi
 
+x_identauth_on=no
+AC_ARG_WITH(ident,
+       [  --with-ident            enable "IDENT" ("AUTH") protocol support],
+       [       if test "$withval" = "yes"; then
+                       AC_CHECK_LIB(ident, ident_id)
+                       AC_CHECK_FUNCS(ident_id, x_identauth_on=yes,
+                               AC_MSG_ERROR([Can't enable IDENT support!])
+                       )
+               fi
+       ]
+)
+if test "$x_identauth_on" = "yes"; then
+       AC_DEFINE(IDENTAUTH, 1)
+       AC_CHECK_HEADERS(ident.h)
+fi
+
 x_ircplus_on=yes
 AC_ARG_ENABLE(ircplus,
        [  --disable-ircplus       disable IRC+ protocol],
@@ -253,23 +284,48 @@ AC_DEFINE_UNQUOTED(TARGET_OS, "$target_os" )
 # -- Variablen --
 
 if test "$GCC" = "yes"; then
-       the_CFLAGS="-Wall -Wtraditional -Wpointer-arith -Wstrict-prototypes"
-       add_CFLAGS="$CFLAGS $CFLAGS_ADD"
+       the_CFLAGS="-Wmissing-declarations -Wpointer-arith -Wstrict-prototypes"
+       ansi=" -ansi"
+       pedantic=" -pedantic"
+
+       $CC --version | grep 20020420 >/dev/null 2>&1
+       if test $? -eq 0; then
+               # Mac OS X (and Darwin?) ship with a slightly broken
+               # prerelease of GCC 3.1 which don't like -pedantic:
+               AC_MSG_RESULT([detected broken GNU C compiler, disabling "-pedantic"])
+               pedantic=""
+       fi
+
+       $CC --version | grep 20030304 >/dev/null 2>&1
+       if test $? -eq 0; then
+               # Mac OS X 10.3 (and Darwin 7.0?) have a strange gcc (or
+               # system header files?) which produces lots of errors when
+               # using -ansi; so we don't =:-)
+               AC_MSG_RESULT([detected broken GNU C compiler, disabling "-ansi"])
+               ansi=""
+       fi
+
+       uname | grep "CYGWIN" >/dev/null 2>&1
+       if test $? -eq 0; then
+               # The include files of Cygwin don't like -ansi,
+               # so we disable it:
+               AC_MSG_RESULT([detected Cygwin, disabling "-ansi"])
+               ansi=""
+       fi
+
+       add_CFLAGS="-pipe -Wall -W${ansi}${pedantic} $CFLAGS $CFLAGS_ADD"
 else
        the_CFLAGS="$CFLAGS"
        add_CFLAGS="$CFLAGS_ADD"
 fi
 
-CFLAGS="$the_CFLAGS $add_CFLAGS -DSYSCONFDIR='\"\$(sysconfdir)\"'"
+CFLAGS="$the_CFLAGS $add_CFLAGS $add_DEFINES -DSYSCONFDIR='\"\$(sysconfdir)\"'"
 
 # -- Ausgabe der Dateien --
 
 AC_OUTPUT([ \
        Makefile \
        doc/Makefile \
-       doc/de/Makefile \
-       MacOSX/Makefile \
-       MacOSX/ngircd.pbproj/Makefile \
        src/Makefile \
        src/portab/Makefile \
        src/tool/Makefile \
@@ -277,6 +333,7 @@ AC_OUTPUT([ \
        src/testsuite/Makefile \
        man/Makefile \
        contrib/Makefile \
+       contrib/Debian/Makefile \
 ])
 
 # -- Result --
@@ -290,36 +347,64 @@ B=`eval echo ${bindir}` ; B=`eval echo ${B}`
 S=`eval echo ${sbindir}` ; S=`eval echo ${S}`
 C=`eval echo ${sysconfdir}` ; C=`eval echo ${C}`
 M=`eval echo ${mandir}` ; M=`eval echo ${M}`
+D=`eval echo ${datadir}/doc/${PACKAGE}` ; D=`eval echo ${D}`
 
 echo "               Host: ${host}"
 echo "           Compiler: ${CC}"
 echo "     Compiler flags: ${the_CFLAGS}"
-test -n "$add_CFLAGS" && echo "                     ${add_CFLAGS}"
-echo " Preprocessor flags: ${CPPFLAGS}"
-echo "       Linker flags: ${LDFLAGS}"
-echo "          Libraries: ${LIBS}"
+test -n "$add_CFLAGS"  && echo "                     ${add_CFLAGS}"
+test -n "$add_DEFINES" && echo "                     ${add_DEFINES}"
+test -n "$CPPFLAGS"    && echo " Preprocessor flags: ${CPPFLAGS}"
+test -n "$LDFLAGS"     && echo "       Linker flags: ${LDFLAGS}"
+test -n "$LIBS"                && echo "          Libraries: ${LIBS}"
 echo
 echo "    'ngircd' binary: $S"
 echo " Configuration file: $C"
 echo "       Manual pages: $M"
+echo "      Documentation: $D"
 echo
 
 echo $ECHO_N "     Syslog support: $ECHO_C"
-test "$x_syslog_on" = "yes" && echo "yes" || echo "no"
-echo $ECHO_N "   zlib compression: $ECHO_C"
-test "$x_zlib_on" = "yes" && echo "yes" || echo "no"
-echo $ECHO_N "   Use TCP Wrappers: $ECHO_C"
-test "$x_tcpwrap_on" = "yes" && echo "yes" || echo "no"
-echo $ECHO_N " Rendezvous support: $ECHO_C"
-test "$x_rendezvous_on" = "yes"        && echo "yes" || echo "no"
+test "$x_syslog_on" = "yes" \
+       && echo $ECHO_N "yes $ECHO_C" \
+       || echo $ECHO_N "no  $ECHO_C"
 echo $ECHO_N "  Enable debug code: $ECHO_C"
-test "$x_debug_on" = "yes" && echo "yes" || echo "no"
+test "$x_debug_on" = "yes" \
+       && echo "yes" \
+       || echo "no"
+
+echo $ECHO_N "   zlib compression: $ECHO_C"
+test "$x_zlib_on" = "yes" \
+       && echo $ECHO_N "yes $ECHO_C" \
+       || echo $ECHO_N "no  $ECHO_C"
 echo $ECHO_N "        IRC sniffer: $ECHO_C"
-test "$x_sniffer_on" = "yes" && echo "yes" || echo "no"
+test "$x_sniffer_on" = "yes" \
+       && echo "yes" \
+       || echo "no"
+
+echo $ECHO_N "   Use TCP Wrappers: $ECHO_C"
+test "$x_tcpwrap_on" = "yes" \
+       && echo $ECHO_N "yes $ECHO_C" \
+       || echo $ECHO_N "no  $ECHO_C"
 echo $ECHO_N "    Strict RFC mode: $ECHO_C"
-test "$x_strict_rfc_on" = "yes" && echo "yes" || echo "no"
+test "$x_strict_rfc_on" = "yes" \
+       && echo "yes" \
+       || echo "no"
+
+echo $ECHO_N " Rendezvous support: $ECHO_C"
+test "$x_rendezvous_on" = "yes"        \
+       && echo $ECHO_N "yes $ECHO_C" \
+       || echo $ECHO_N "no  $ECHO_C"
 echo $ECHO_N "      IRC+ protocol: $ECHO_C"
-test "$x_ircplus_on" = "yes" && echo "yes" || echo "no"
-echo
+test "$x_ircplus_on" = "yes" \
+       && echo "yes" \
+       || echo "no"
+
+echo $ECHO_N "      IDENT support: $ECHO_C"
+test "$x_identauth_on" = "yes" \
+       && echo $ECHO_N "yes $ECHO_C" \
+       || echo $ECHO_N "no  $ECHO_C"
+
+echo; echo
 
 # -eof-