--- configure.in	2013-12-30 15:46:22.000000000 -0500
+++ /tmp/configure.in	2014-06-04 13:19:58.445472417 -0400
@@ -283,8 +283,7 @@
 AC_CHECK_TYPES([boolean])
 
 # In case INADDR_NONE is not defined (like on Solaris)
-have_inaddr_none="no"
-AC_MSG_CHECKING([for INADDR_NONE])
+AC_CACHE_CHECK([for INADDR_NONE], [sn_cv_have_inaddr_none], [
 AC_RUN_IFELSE(
 [AC_LANG_PROGRAM(
 [[
@@ -296,10 +295,10 @@
 	if (inet_addr("10,5,2") == INADDR_NONE);
     return 0;
 ]])],
-[have_inaddr_none="yes"],
-[have_inaddr_none="no"])
-AC_MSG_RESULT($have_inaddr_none)
-if test "x$have_inaddr_none" = "xno"; then
+[sn_cv_have_inaddr_none="yes"],
+[sn_cv_have_inaddr_none="no"])
+AC_MSG_RESULT($sn_cv_have_inaddr_none)])
+if test "x$sn_cv_have_inaddr_none" = "xno"; then
 	AC_DEFINE([INADDR_NONE],[-1],[For INADDR_NONE definition])
 fi
 
