X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=configure.ng;h=0b0a6588d6c1ec3cf8e3ac1949b23e2be57938cd;hp=9a4cc992d41796b41317493eda0e963afa35bc21;hb=8872653ef6155bdaabd15c62ee67bd23d119305b;hpb=34824abe0dbf86477ec77385ed97c25f0a2375d8 diff --git a/configure.ng b/configure.ng index 9a4cc992..0b0a6588 100644 --- a/configure.ng +++ b/configure.ng @@ -1,6 +1,6 @@ # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors +# Copyright (c)2001-2014 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 @@ -23,8 +23,7 @@ m4_ifdef([AM_SILENT_RULES], # -- Initialisation -- AC_PREREQ([2.61]) -AC_INIT([ngIRCd], VERSION_ID, - [ngircd-ml@ngircd.barton.de], [ngircd], [http://ngircd.barton.de/]) +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]) @@ -84,7 +83,7 @@ AC_DEFUN([GCC_STACK_PROTECT_CC],[ AC_MSG_CHECKING([whether ${CC} accepts -fstack-protector]) ssp_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -fstack-protector-all" - AC_TRY_LINK(,,, ssp_cc=no) + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],[],[ssp_cc=no]) echo $ssp_cc CFLAGS="$ssp_old_cflags" if test "X$ssp_cc" = "Xyes"; then @@ -93,6 +92,37 @@ AC_DEFUN([GCC_STACK_PROTECT_CC],[ fi ]) +AC_DEFUN([WORKING_GETADDRINFO],[ + AC_CHECK_FUNCS([getaddrinfo],[ + AC_MSG_CHECKING([whether getaddrinfo() works]) + AC_RUN_IFELSE([AC_LANG_SOURCE([[ +#include +#include +#include +#include +int +main(int argc, char **argv) +{ + struct addrinfo hints, *ai; + memset(&hints, 0, sizeof(hints)); + hints.ai_flags = AI_PASSIVE; + hints.ai_socktype = SOCK_STREAM; + hints.ai_family = PF_UNSPEC; + if(getaddrinfo(NULL, "0", &hints, &ai) != 0) + return 1; + return 0; +} + ]])],[ + AC_DEFINE([HAVE_WORKING_GETADDRINFO], 1, [getaddrinfo(0)]) + AC_MSG_RESULT(yes) + ],[ + AC_MSG_RESULT(no) + ],[ + AC_MSG_RESULT(no) + ]) + ]) +]) + # -- Hard coded system and compiler dependencies/features/options ... -- if test "$GCC" = "yes"; then @@ -136,20 +166,19 @@ AC_CHECK_HEADERS_ONCE([ \ # -- Datatypes -- AC_MSG_CHECKING(whether socklen_t exists) -AC_TRY_COMPILE([ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include #include - ],[ + ]],[[ socklen_t a, b; a = 2; b = 4; a += b; - ],[ + ]])],[ AC_DEFINE(HAVE_socklen_t) AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) ]) AC_TYPE_PID_T -AC_TYPE_SIGNAL AC_TYPE_SIZE_T AC_TYPE_SSIZE_T AC_TYPE_UID_T @@ -189,11 +218,13 @@ AC_CHECK_FUNCS([ \ AC_MSG_ERROR([required function missing!])) # Optional functions -AC_CHECK_FUNCS_ONCE([ \ - arc4random arc4random_stir gai_strerror getaddrinfo getnameinfo inet_aton +AC_CHECK_FUNCS_ONCE([ + arc4random arc4random_stir gai_strerror getnameinfo inet_aton \ sigaction sigprocmask snprintf vsnprintf strdup strndup strlcpy strlcat \ strtok_r unsetenv waitpid]) +WORKING_GETADDRINFO + # -- Configuration options -- # use syslog? @@ -436,13 +467,13 @@ AC_ARG_WITH(tcp-wrappers, fi AC_MSG_CHECKING(for hosts_access) LIBS="-lwrap $LIBS" - AC_TRY_LINK([ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include int allow_severity = 0; int deny_severity = 0; - ],[ + ]],[[ tcpd_warn("link test"); - ],[ + ]])],[ AC_MSG_RESULT(yes) AC_DEFINE(TCPWRAP, 1) x_tcpwrap_on=yes