![Sergio Prado](/assets/img/avatar_default.png)
Tested on Beaglebone Black. Build-tested with test-pkg. Patch to fix cross-compilation errors submitted upstream [1]. [1] https://lists.snort.org/pipermail/snort-devel/2018-January/011025.html Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com> [Romain: - split patch by build issues - convert AC_RUN_IFELSE to AC_CHECK_MEMBERS (ThomasP) - convert AC_RUN_IFELSE to AC_COMPILE_IFELSE (ThomasP) - remove most make variable from SNORT_CONF_ENV - remove SNORT_SOURCE default value] Signed-off-by: Romain Naour <romain.naour@smile.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
240 lines
6.8 KiB
Diff
240 lines
6.8 KiB
Diff
From 1ef6bdaeb0463a208a14e5d90646ce337df738fc Mon Sep 17 00:00:00 2001
|
|
From: Romain Naour <romain.naour@smile.fr>
|
|
Date: Sun, 1 Apr 2018 15:38:55 +0200
|
|
Subject: [PATCH] configure.in: convert AC_RUN_IFELSE to AC_CHECK_MEMBERS
|
|
|
|
With AC_CHECK_MEMBERS, we don't need to compile and run a test program
|
|
to check if a daq structure element is defined.
|
|
|
|
Also check DAQ_Data_Channel_Params_t with params.flags
|
|
|
|
typedef struct _DAQ_Data_Channel_Params_t
|
|
{
|
|
unsigned flags; /* DAQ_DATA_CHANNEL_* flags*/
|
|
unsigned timeout_ms;/* timeout of the data channel in milliseconds */
|
|
unsigned length; /* [Future] length of the data associated with the data channel */
|
|
uint8_t* data; /* [Future] opaque data blob to return with the data channel */
|
|
} DAQ_Data_Channel_Params_t;
|
|
|
|
https://github.com/Xiche/libdaq/blob/master/api/daq_common.h
|
|
|
|
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
|
Cc: Sergio Prado <sergio.prado@e-labworks.com>
|
|
---
|
|
configure.in | 143 +++++++++++++++++------------------------------------------
|
|
1 file changed, 41 insertions(+), 102 deletions(-)
|
|
|
|
diff --git a/configure.in b/configure.in
|
|
index 938409f..571322b 100644
|
|
--- a/configure.in
|
|
+++ b/configure.in
|
|
@@ -718,17 +718,11 @@ fi
|
|
AC_CHECK_FUNCS([daq_hup_apply] [daq_acquire_with_meta] [daq_dp_add_dc])
|
|
|
|
AC_MSG_CHECKING([for daq real addresses])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_PktHdr_t hdr;
|
|
- hdr.n_real_dPort = 0;
|
|
-]])],
|
|
-[have_daq_real_addresses="yes"],
|
|
-[have_daq_real_addresses="no"])
|
|
+
|
|
+AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.n_real_dPort],
|
|
+ [have_daq_real_addresses="yes"],
|
|
+ [have_daq_real_addresses="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_real_addresses)
|
|
if test "x$have_daq_real_addresses" = "xyes"; then
|
|
AC_DEFINE([HAVE_DAQ_REAL_ADDRESSES],[1],
|
|
@@ -756,17 +750,11 @@ if test "x$ac_cv_func_daq_dp_add_dc" = "xyes"; then
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for daq address space ID])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_PktHdr_t hdr;
|
|
- hdr.address_space_id = 0;
|
|
-]])],
|
|
-[have_daq_address_space_id="yes"],
|
|
-[have_daq_address_space_id="no"])
|
|
+
|
|
+AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.address_space_id],
|
|
+ [have_daq_address_space_id="yes"],
|
|
+ [have_daq_address_space_id="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_address_space_id)
|
|
if test "x$have_daq_address_space_id" = "xyes"; then
|
|
AC_DEFINE([HAVE_DAQ_ADDRESS_SPACE_ID],[1],
|
|
@@ -774,17 +762,10 @@ if test "x$have_daq_address_space_id" = "xyes"; then
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for daq flow ID])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_PktHdr_t hdr;
|
|
- hdr.flow_id = 0;
|
|
-]])],
|
|
-[have_daq_flow_id="yes"],
|
|
-[have_daq_flow_id="no"])
|
|
+AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.flow_id],
|
|
+ [have_daq_flow_id="yes"],
|
|
+ [have_daq_flow_id="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_flow_id)
|
|
if test "x$have_daq_flow_id" = "xyes"; then
|
|
AC_DEFINE([HAVE_DAQ_FLOW_ID],[1],
|
|
@@ -792,19 +773,10 @@ if test "x$have_daq_flow_id" = "xyes"; then
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for daq extended flow modifiers])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_ModFlow_t mod;
|
|
- mod.type = 0;
|
|
- mod.length = 0;
|
|
- mod.value = NULL;
|
|
-]])],
|
|
-[have_daq_ext_modflow="yes"],
|
|
-[have_daq_ext_modflow="no"])
|
|
+AC_CHECK_MEMBERS([DAQ_ModFlow_t mod.type, DAQ_ModFlow_t mod.length, DAQ_ModFlow_t mod.value],
|
|
+ [have_daq_ext_modflow="yes"],
|
|
+ [have_daq_ext_modflow="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_ext_modflow)
|
|
if test "x$have_daq_ext_modflow" = "xyes"; then
|
|
CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_EXT_MODFLOW"
|
|
@@ -813,19 +785,11 @@ if test "x$have_daq_ext_modflow" = "xyes"; then
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for daq query flow])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_QueryFlow_t mod;
|
|
- mod.type = 0;
|
|
- mod.length = 0;
|
|
- mod.value = NULL;
|
|
-]])],
|
|
-[have_daq_queryflow="yes"],
|
|
-[have_daq_queryflow="no"])
|
|
+
|
|
+AC_CHECK_MEMBERS([DAQ_QueryFlow_t mod.type, DAQ_QueryFlow_t mod.length, DAQ_QueryFlow_t mod.value],
|
|
+ [have_daq_queryflow="yes"],
|
|
+ [have_daq_queryflow="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_queryflow)
|
|
if test "x$have_daq_queryflow" = "xyes"; then
|
|
CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_QUERYFLOW"
|
|
@@ -834,16 +798,11 @@ if test "x$have_daq_queryflow" = "xyes"; then
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for daq data channel flags])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_Data_Channel_Params_t params;
|
|
-]])],
|
|
-[have_daq_data_channel_flags="yes"],
|
|
-[have_daq_data_channel_flags="no"])
|
|
+
|
|
+AC_CHECK_MEMBERS([DAQ_Data_Channel_Params_t params.flags],
|
|
+ [have_daq_data_channel_flags="yes"],
|
|
+ [have_daq_data_channel_flags="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_data_channel_flags)
|
|
if test "x$have_daq_data_channel_flags" = "xyes"; then
|
|
CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_DATA_CHANNEL_PARAMS"
|
|
@@ -852,17 +811,10 @@ if test "x$have_daq_data_channel_flags" = "xyes"; then
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for separate IP versions on pinhole endpoints])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_DP_key_t dpKey;
|
|
- dpKey.src_af = 0;
|
|
-]])],
|
|
-[have_daq_data_channel_separate_ip_versions="yes"],
|
|
-[have_daq_data_channel_separate_ip_versions="no"])
|
|
+AC_CHECK_MEMBERS([DAQ_DP_key_t dpKey.src_af],
|
|
+ [have_daq_data_channel_separate_ip_versions="yes"],
|
|
+ [have_daq_data_channel_separate_ip_versions="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_data_channel_separate_ip_versions)
|
|
if test "x$have_daq_data_channel_separate_ip_versions" = "xyes"; then
|
|
CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_DATA_CHANNEL_SEPARATE_IP_VERSIONS"
|
|
@@ -889,17 +841,10 @@ if test "x$have_daq_verdict_retry" = "xyes"; then
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for daq packet trace])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_PktHdr_t hdr;
|
|
- hdr.flags = DAQ_PKT_FLAG_TRACE_ENABLED;
|
|
-]])],
|
|
-[have_daq_packet_trace="yes"],
|
|
-[have_daq_packet_trace="no"])
|
|
+AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.flags],
|
|
+ [have_daq_packet_trace="yes"],
|
|
+ [have_daq_packet_trace="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_packet_trace)
|
|
if test "x$have_daq_packet_trace" = "xyes"; then
|
|
AC_DEFINE([HAVE_DAQ_PKT_TRACE],[1],
|
|
@@ -909,17 +854,11 @@ else
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for daq verdict reason])
|
|
-AC_RUN_IFELSE(
|
|
-[AC_LANG_PROGRAM(
|
|
-[[
|
|
-#include <daq.h>
|
|
-]],
|
|
-[[
|
|
- DAQ_ModFlow_t fl;
|
|
- fl.type = DAQ_MODFLOW_TYPE_VER_REASON;
|
|
-]])],
|
|
-[have_daq_verdict_reason="yes"],
|
|
-[have_daq_verdict_reason="no"])
|
|
+
|
|
+AC_CHECK_MEMBERS([DAQ_ModFlow_t fl.type],
|
|
+ [have_daq_verdict_reason="yes"],
|
|
+ [have_daq_verdict_reason="no"],
|
|
+ [[#include <daq.h>]])
|
|
AC_MSG_RESULT($have_daq_verdict_reason)
|
|
if test "x$have_daq_verdict_reason" = "xyes"; then
|
|
AC_DEFINE([HAVE_DAQ_VERDICT_REASON],[1],
|
|
--
|
|
2.14.3
|
|
|