X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=configure.ng;h=e3f51cf0268a086a49c4baddd34a723cc75106ea;hp=7f3e2d99c4cd6c8689bb09f89c76f300b213a119;hb=8e6db769ac549cfe26042f7d51ae8a301d8fc569;hpb=8cfb9104419d3c00fbef3fe8639eb04f03d83f3d diff --git a/configure.ng b/configure.ng index 7f3e2d99..e3f51cf0 100644 --- a/configure.ng +++ b/configure.ng @@ -1,6 +1,6 @@ # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors +# Copyright (c)2001-2013 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 @@ -39,6 +39,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]) @@ -60,6 +61,8 @@ AC_PROG_CC_STDC # -- Helper programs -- +m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) + AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S @@ -107,7 +110,7 @@ esac # Add additional CFLAGS, eventually specified on the command line: test -n "$CFLAGS_ADD" && CFLAGS="$CFLAGS $CFLAGS_ADD" -CFLAGS="$CFLAGS -DSYSCONFDIR='\"\$(sysconfdir)\"'" +CFLAGS="$CFLAGS -DSYSCONFDIR='\"\$(sysconfdir)\"' -DDOCDIR='\"\$(docdir)\"'" # -- Headers -- @@ -117,14 +120,14 @@ AC_HEADER_TIME # Required header files AC_CHECK_HEADERS([ \ - fcntl.h netdb.h netinet/in.h netinet/in_systm.h stdlib.h string.h \ + fcntl.h netdb.h netinet/in.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_ONCE([ \ - arpa/inet.h inttypes.h malloc.h netinet/ip.h stdbool.h stddef.h \ - stdint.h varargs.h \ + arpa/inet.h inttypes.h malloc.h netinet/in_systm.h netinet/ip.h \ + stdbool.h stddef.h stdint.h varargs.h \ ]) # -- Datatypes -- @@ -161,11 +164,11 @@ AC_SEARCH_LIBS([memmove], [UTIL], [], [ AC_MSG_ERROR([unable to find the memmove() function]) ]) # gethostbyname: Solaris libnsl -AC_SEARCH_LIBS([gethostbyname], [nsl], [], [ +AC_SEARCH_LIBS([gethostbyname], [bind nsl network], [], [ AC_MSG_ERROR([unable to find the gethostbyname() function]) ]) # bind: SVR4 libsocket -AC_SEARCH_LIBS([bind], [socket], [], [ +AC_SEARCH_LIBS([bind], [socket network], [], [ AC_MSG_ERROR([unable to find the bind() function]) ]) @@ -184,8 +187,9 @@ AC_CHECK_FUNCS([ \ # Optional functions AC_CHECK_FUNCS_ONCE([ \ - gai_strerror getaddrinfo getnameinfo inet_aton sigaction sigprocmask \ - snprintf vsnprintf strdup strlcpy strlcat strtok_r waitpid]) + arc4random arc4random_stir gai_strerror getaddrinfo getnameinfo inet_aton + sigaction sigprocmask snprintf vsnprintf strdup strndup strlcpy strlcat \ + strtok_r waitpid]) # -- Configuration options -- @@ -509,6 +513,34 @@ 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, + AS_HELP_STRING([--with-iconv], + [enable character conversion 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) + if test "$x_iconv_on" != "yes"; then + AC_CHECK_LIB(iconv, libiconv_open) + AC_CHECK_FUNCS(libiconv_open, x_iconv_on=yes) + fi + if test "$x_iconv_on" != "yes"; then + AC_MSG_ERROR([Can't enable libiconv support!]) + fi + fi ] + ) + if test "$x_iconv_on" = "yes"; then + AC_DEFINE(ICONV, 1) + fi fi # enable support for IPv6? @@ -578,7 +610,6 @@ test -n "$CFLAGS_END" && CFLAGS="$CFLAGS $CFLAGS_END" AC_CONFIG_FILES([ \ Makefile \ - contrib/Anope/Makefile \ contrib/Debian/Makefile \ contrib/MacOSX/Makefile \ contrib/MacOSX/ngIRCd.pmdoc/Makefile \ @@ -672,7 +703,7 @@ test "$x_ipv6_on" = "yes" \ && echo $ECHO_N "yes $ECHO_C" \ || echo $ECHO_N "no $ECHO_C" echo $ECHO_N " I/O backend: $ECHO_C" - echo "\"$x_io_backend\"" + echo "$x_io_backend" echo $ECHO_N " PAM support: $ECHO_C" test "$x_pam_on" = "yes" \ @@ -681,9 +712,13 @@ 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 -if ! grep "^AUTOMAKE_OPTIONS = ../portab/ansi2knr" src/ngircd/Makefile.am >/dev/null 2>&1; then +define(_automake_regex_,[[^AUTOMAKE_OPTIONS = [a-z .\-]*/portab/ansi2knr]]) +if ! grep "_automake_regex_" src/ngircd/Makefile.am >/dev/null 2>&1; then echo "WARNING:" echo "This GNU automake generated build system does not support \"de-ANSI-fication\"," echo "therefore don't use it to generate \"official\" distribution archives!"