From a1fdbced4166cb0f35d23b63a59312d86860485a Mon Sep 17 00:00:00 2001
From: Chunrong Guo <B40290@freescale.com>
Date: Mon, 4 Nov 2013 10:39:56 +0800
Subject: [PATCH] snort: add recipe

Upstream-Status: Inappropriate [embedded specific]

fix the below error:
checking for INADDR_NONE... configure:
configure: error: cannot run test program while cross compiling

Signed-off-by: Chunrong Guo <B40290@freescale.com>

---
 configure.in | 50 ++++++++++++++++----------------------------------
 1 file changed, 16 insertions(+), 34 deletions(-)

diff --git a/configure.in b/configure.in
index 20d15eb..6fe5d68 100644
--- a/configure.in
+++ b/configure.in
@@ -274,25 +274,7 @@ AC_CHECK_TYPES([int8_t,int16_t,int32_t,int64_t])
 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_RUN_IFELSE(
-[AC_LANG_PROGRAM(
-[[
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-]],
-[[
-	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
-	AC_DEFINE([INADDR_NONE],[-1],[For INADDR_NONE definition])
-fi
+have_inaddr_none="yes"
 
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 #include <stdio.h>
@@ -421,21 +403,21 @@ if test "x$LPCAP" = "xno"; then
   fi
 fi
 
-AC_MSG_CHECKING([for pcap_lex_destroy])
-AC_RUN_IFELSE(
-[AC_LANG_PROGRAM(
-[[
-#include <pcap.h>
-]],
-[[
-   pcap_lex_destroy();
-]])],
-[have_pcap_lex_destroy="yes"],
-[have_pcap_lex_destroy="no"])
-AC_MSG_RESULT($have_pcap_lex_destroy)
-if test "x$have_pcap_lex_destroy" = "xyes"; then
-    AC_DEFINE([HAVE_PCAP_LEX_DESTROY],[1],[Can cleanup lex buffer stack created by pcap bpf filter])
-fi
+#AC_MSG_CHECKING([for pcap_lex_destroy])
+#AC_RUN_IFELSE(
+#[AC_LANG_PROGRAM(
+#[[
+##include <pcap.h>
+#]],
+#[[
+#   pcap_lex_destroy();
+#]])],
+have_pcap_lex_destroy="yes"
+#[have_pcap_lex_destroy="no"])
+#AC_MSG_RESULT($have_pcap_lex_destroy)
+#if test "x$have_pcap_lex_destroy" = "xyes"; then
+#    AC_DEFINE([HAVE_PCAP_LEX_DESTROY],[1],[Can cleanup lex buffer stack created by pcap bpf filter])
+#fi
 
 AC_MSG_CHECKING([for pcap_lib_version])
 AC_LINK_IFELSE(
