]> arthur.barton.de Git - ngircd.git/blobdiff - configure.in
Debian: require "telnet" or "telnet-ssl" for building
[ngircd.git] / configure.in
index 5be4a541c22cf6a6f3d29cb65bf50dcd6c30a73f..cccda866592e826e87893798097cfdafe7be51b8 100644 (file)
@@ -30,6 +30,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 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([ICONV], [Define if libiconv can be used, e.g. for CHARCONV])
 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])
@@ -113,7 +114,7 @@ AC_CHECK_HEADERS([ \
        ],,AC_MSG_ERROR([required C header missing!]))
 
 # Optional header files
-AC_CHECK_HEADERS([ \
+AC_CHECK_HEADERS_ONCE([ \
        arpa/inet.h inttypes.h malloc.h netinet/ip.h stdbool.h stddef.h \
        stdint.h varargs.h \
        ])
@@ -147,17 +148,22 @@ AC_CHECK_MEMBER([struct sockaddr_in.sin_len], AC_DEFINE(HAVE_sockaddr_in_len),,
 
 # -- Libraries --
 
-# A/UX needs this.
-AC_CHECK_LIB(UTIL,memmove)
-# needed on solaris. GNU libc also has a libnsl, but we do not need it.
-AC_SEARCH_LIBS(gethostbyname,nsl)
-AC_CHECK_LIB(socket,bind)
+# memmove: A/UX libUTIL
+AC_SEARCH_LIBS([memmove], [UTIL], [], [
+       AC_MSG_ERROR([unable to find the memmove() function])
+])
+# gethostbyname: Solaris libnsl
+AC_SEARCH_LIBS([gethostbyname], [nsl], [], [
+       AC_MSG_ERROR([unable to find the gethostbyname() function])
+])
+# bind: SVR4 libsocket
+AC_SEARCH_LIBS([bind], [socket], [], [
+       AC_MSG_ERROR([unable to find the bind() function])
+])
 
 # -- Functions --
 
 AC_FUNC_FORK
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
 AC_FUNC_STRFTIME
 
 # Required functions
@@ -169,7 +175,7 @@ AC_CHECK_FUNCS([ \
        AC_MSG_ERROR([required function missing!]))
 
 # Optional functions
-AC_CHECK_FUNCS([ \
+AC_CHECK_FUNCS_ONCE([ \
        gai_strerror getaddrinfo getnameinfo inet_aton sigaction sigprocmask \
        snprintf vsnprintf strdup strlcpy strlcat strtok_r waitpid])
 
@@ -187,15 +193,12 @@ AC_ARG_WITH(syslog,
                                CPPFLAGS="-I$withval/include $CPPFLAGS"
                                LDFLAGS="-L$withval/lib $LDFLAGS"
                        fi
-                       AC_CHECK_LIB(be, syslog)
-                       AC_CHECK_FUNCS(syslog, x_syslog_on=yes,
+                       AC_SEARCH_LIBS([syslog], [be], [x_syslog_on=yes], [
                                AC_MSG_ERROR([Can't enable syslog!])
-                       )
+                       ])
                fi
        ],
-       [
-               AC_CHECK_LIB(be, syslog)
-               AC_CHECK_FUNCS(syslog, x_syslog_on=yes)
+       [       AC_SEARCH_LIBS([syslog], [be], [x_syslog_on=yes])
        ]
 )
 if test "$x_syslog_on" = "yes"; then
@@ -498,6 +501,29 @@ AC_ARG_ENABLE(ircplus,
 )
 if test "$x_ircplus_on" = "yes"; then
        AC_DEFINE(IRCPLUS, 1)
+
+       # Compile in iconv support?
+       # We only check for it when IRC+ is enabled, because the IRC+ command
+       # CHARCONV is the only function depending on it.
+       x_iconv_on=no
+       AC_ARG_WITH(iconv,
+               [  --with-iconv            enable character conversation using libiconv],
+               [ if test "$withval" != "no"; then
+                       if test "$withval" != "yes"; then
+                               CFLAGS="-I$withval/include $CFLAGS"
+                               CPPFLAGS="-I$withval/include $CPPFLAGS"
+                               LDFLAGS="-L$withval/lib $LDFLAGS"
+                       fi
+                       AC_CHECK_LIB(iconv, iconv_open)
+                       AC_CHECK_FUNCS(iconv_open, x_iconv_on=yes,
+                               AC_MSG_ERROR([Can't enable libiconv support!])
+                       )
+                 fi
+               ]
+       )
+       if test "$x_iconv_on" = "yes"; then
+               AC_DEFINE(ICONV, 1)
+       fi
 fi
 
 # enable support for IPv6?
@@ -670,6 +696,9 @@ test "$x_pam_on" = "yes" \
 echo $ECHO_N "        SSL support: $ECHO_C"
 echo "$x_ssl_lib"
 
+echo $ECHO_N "   libiconv support: $ECHO_C"
+       echo "$x_iconv_on"
+
 echo
 
 # -eof-