- ssp_cc=yes
- # we use -fstack-protector-all for the test to enfoce the use of the guard variable
- AC_MSG_CHECKING([whether ${CC} accepts -fstack-protector])
- ssp_old_cflags="$CFLAGS"
- CFLAGS="$CFLAGS -fstack-protector-all"
- AC_TRY_LINK(,,, ssp_cc=no)
- echo $ssp_cc
- CFLAGS="$ssp_old_cflags"
- if test "X$ssp_cc" = "Xyes"; then
- CFLAGS="$CFLAGS -fstack-protector"
- AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.])
- fi
+ ssp_cc=yes
+ # Use -fstack-protector-all for the test to enfoce the use of the
+ # guard variable
+ AC_MSG_CHECKING([whether ${CC} accepts -fstack-protector])
+ ssp_old_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS -fstack-protector-all"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],[],[ssp_cc=no])
+ echo $ssp_cc
+ CFLAGS="$ssp_old_cflags"
+ if test "X$ssp_cc" = "Xyes"; then
+ CFLAGS="$CFLAGS -fstack-protector"
+ AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.])
+ fi
+])
+
+AC_DEFUN([WORKING_GETADDRINFO],[
+ AC_CHECK_FUNCS([getaddrinfo],[
+ AC_MSG_CHECKING([whether getaddrinfo() works])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
+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)
+ ])
+ ])