]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #759 in SNORT/snort3 from pkg_conf to master
authorMichael Altizer (mialtize) <mialtize@cisco.com>
Fri, 23 Dec 2016 18:48:21 +0000 (13:48 -0500)
committerMichael Altizer (mialtize) <mialtize@cisco.com>
Fri, 23 Dec 2016 18:48:21 +0000 (13:48 -0500)
Squashed commit of the following:

commit 5ffeafc229b253e2e0b3cdd4da94e57f9c50272d
Author: Carter Waxman <cwaxman@cisco.com>
Date:   Tue Dec 13 14:13:54 2016 -0500

    Added CPP flags used to build Snort to snort.pc for extras and other plugins to use

cmake/create_pkg_config.cmake
configure.ac
extra/CMakeLists.txt
extra/configure.ac
snort.pc.in

index 652705b51f14d13d5ea90a3966b92562390e66c3..6b0ac3c4f83474375d7e087ba1845b0a012d7b6f 100644 (file)
@@ -12,7 +12,45 @@ set(datadir "\${datarootdir}")
 set(mandir "\${datarootdir}/man")
 set(infodir "\${datarootdir}/info")
 
-set(DAQ_CPPFLAGS "-I${DAQ_INCLUDE_DIR}")
+if(PCAP_INCLUDE_DIR)
+    set(PCAP_CPPFLAGS "-I${PCAP_INCLUDE_DIR}")
+endif()
+
+if(HWLOC_INCLUDE_DIR)
+    set(HWLOC_CPPFLAGS "-I${HWLOC_INCLUDE_DIR}")
+endif()
+
+if(LUAJIT_INCLUDE_DIR)
+    set(LUAJIT_CPPFLAGS "-I${LUAJIT_INCLUDE_DIR}")
+endif()
+
+if(PCRE_INCLUDE_DIR)
+    set(PCRE_CPPFLAGS "-I${PCRE_INCLUDE_DIR}")
+endif()
+
+if(DNET_INCLUDE_DIR)
+    set(DNET_CPPFLAGS "-I${DNET_INCLUDE_DIR}")
+endif()
+
+if(DAQ_INCLUDE_DIR)
+    set(DAQ_CPPFLAGS "-I${DAQ_INCLUDE_DIR}")
+endif()
+
+if(LZMA_INCLUDE_DIR)
+    set(LZMA_CPPFLAGS "-I${LZMA_INCLUDE_DIR}")
+endif()
+
+if(OPENSSL_INCLUDE_DIR)
+    set(OPENSSL_CPPFLAGS "-I${OPENSSL_INCLUDE_DIR}")
+endif()
+
+if(INTEL_SOFT_CPM_INCLUDE_DIR)
+    set(INTEL_SOFT_CPM_CPPFLAGS "-I${INTEL_SOFT_CPM_INCLUDE_DIR}")
+endif()
+
+if(HYPERSCAN_INCLUDE_DIR)
+    set(HYPERSCAN_CPPFLAGS "-I${HYPERSCAN_INCLUDE_DIR}")
+endif()
 
 # create & install pkgconfig file
 
index 357c3882d8ad6bef9de9a8dab95c0e1531308f5e..cf18882fe0e5a284bbeb2d3812e907c4b50167dc 100644 (file)
@@ -578,8 +578,10 @@ AC_ARG_WITH(pcap_includes,
     AS_HELP_STRING([--with-pcap-includes=DIR],[libpcap include directory]),
     [with_libpcap_includes="$withval"],[with_libpcap_includes="no"])
 
+PCAP_CPPFLAGS=""
 if test "x$with_libpcap_includes" != "xno"; then
-    CPPFLAGS="${CPPFLAGS} -I${with_libpcap_includes}"
+    PCAP_CPPFLAGS="-I${with_libpcap_includes}"
+    CPPFLAGS="${CPPFLAGS} ${PCAP_CPPFLAGS}"
 fi
 
 AC_ARG_WITH(pcap_libraries,
@@ -628,8 +630,9 @@ AC_MSG_CHECKING([for hwloc pkg-config presence])
 PKG_CHECK_EXISTS([hwloc], [have_hwloc_pkgconfig="yes"], [have_hwloc_pkgconfig="no"])
 AC_MSG_RESULT(${have_hwloc_pkgconfig})
 
+HWLOC_CPPFLAGS=""
 if test "${have_hwloc_pkgconfig}" = "yes" ; then
-    HWLOC_CFLAGS=`${PKG_CONFIG} --cflags hwloc`
+    HWLOC_CPPFLAGS=`${PKG_CONFIG} --cflags hwloc`
     HWLOC_LDFLAGS=`${PKG_CONFIG} --libs-only-L hwloc`
 fi
 
@@ -638,7 +641,7 @@ AC_ARG_WITH(hwloc_includes,
     [with_hwloc_includes="$withval"],[with_hwloc_includes="no"])
 
 if test "x$with_hwloc_includes" != "xno"; then
-    HWLOC_CFLAGS="-I${with_hwloc_includes}"
+    HWLOC_CPPFLAGS="-I${with_hwloc_includes}"
 fi
 
 AC_ARG_WITH(hwloc_libraries,
@@ -649,7 +652,7 @@ if test "x$with_hwloc_libraries" != "xno"; then
     HWLOC_LDFLAGS="-L${with_hwloc_libraries}"
 fi
 
-CPPFLAGS="${HWLOC_CFLAGS} ${CPPFLAGS}"
+CPPFLAGS="${HWLOC_CPPFLAGS} ${CPPFLAGS}"
 LDFLAGS="${HWLOC_LDFLAGS} ${LDFLAGS}"
 
 AC_CHECK_HEADERS([hwloc.h], , [AC_MSG_ERROR(hwloc header not found.)])
@@ -663,8 +666,9 @@ AC_MSG_CHECKING([for luajit pkg-config presence])
 PKG_CHECK_EXISTS([luajit], [ have_luajit_pkgconfig="yes" ], [ have_luajit_pkgconfig="no" ])
 AC_MSG_RESULT(${have_luajit_pkgconfig})
 
+LUAJIT_CPPFLAGS=""
 if test "${have_luajit_pkgconfig}" = "yes" ; then
-    LUAJIT_CFLAGS=`${PKG_CONFIG} --cflags luajit`
+    LUAJIT_CPPFLAGS=`${PKG_CONFIG} --cflags luajit`
     LUAJIT_LDFLAGS=`${PKG_CONFIG} --libs-only-L luajit`
 fi
 
@@ -673,7 +677,7 @@ AC_ARG_WITH(luajit_includes,
     [with_luajit_includes="$withval"],[with_luajit_includes="no"])
 
 if test "x$with_luajit_includes" != "xno"; then
-    LUAJIT_CFLAGS="-I${with_luajit_includes}"
+    LUAJIT_CPPFLAGS="-I${with_luajit_includes}"
 fi
 
 AC_ARG_WITH(luajit_libraries,
@@ -688,7 +692,7 @@ if test "x$macos" != "xno"; then
     LUAJIT_LDFLAGS="${LUAJIT_LDFLAGS} -pagezero_size 10000 -image_base 100000000"
 fi
 
-CPPFLAGS="${CPPFLAGS} ${LUAJIT_CFLAGS}"
+CPPFLAGS="${CPPFLAGS} ${LUAJIT_CPPFLAGS}"
 LDFLAGS="${LDFLAGS} ${LUAJIT_LDFLAGS}"
 
 AC_LANG_PUSH([C++])
@@ -704,6 +708,7 @@ AC_MSG_CHECKING([for libpcre pkg-config presence])
 PKG_CHECK_EXISTS([libpcre], [ have_libpcre_pkgconfig="yes" ], [ have_libpcre_pkgconfig="no" ])
 AC_MSG_RESULT(${have_libpcre_pkgconfig})
 
+PCRE_CPPFLAGS=""
 if test "${have_libpcre_pkgconfig}" = "yes" ; then
     PCRE_CFLAGS=`${PKG_CONFIG} --cflags libpcre`
     PCRE_LDFLAGS=`${PKG_CONFIG} --libs-only-L libpcre`
@@ -714,9 +719,9 @@ AC_ARG_WITH(pcre_includes,
     [with_libpcre_includes="$withval"],[with_libpcre_includes="no"])
 
 if test "x$with_libpcre_includes" != "xno"; then
-    PCRE_CFLAGS="-I${with_libpcre_includes}"
+    PCRE_CPPFLAGS="-I${with_libpcre_includes}"
 elif test "${have_libpcre_pkgconfig}" = "no"; then
-    PCRE_CFLAGS="`pcre-config --cflags`"
+    PCRE_CPPFLAGS="`pcre-config --cflags`"
 fi
 
 AC_ARG_WITH(pcre_libraries,
@@ -729,7 +734,7 @@ elif test "${have_libpcre_pkgconfig}" = "no"; then
     PCRE_LDFLAGS="`pcre-config --libs`"
 fi
 
-CPPFLAGS="${CPPFLAGS} ${PCRE_CFLAGS}"
+CPPFLAGS="${CPPFLAGS} ${PCRE_CPPFLAGS}"
 LDFLAGS="${LDFLAGS} ${PCRE_LDFLAGS}"
 
 # PCRE configuration (required)
@@ -762,21 +767,24 @@ AC_ARG_WITH(dnet_includes,
     AS_HELP_STRING([--with-dnet-includes=DIR],[libdnet include directory]),
     [with_dnet_includes="$withval"],[with_dnet_includes="no"])
 
+DNET_CPPFLAGS=""
 if test "x$with_dnet_includes" != "xno"; then
-    CPPFLAGS="${CPPFLAGS} -I${with_dnet_includes}"
+    DNET_CPPFLAGS="-I${with_dnet_includes}"
 else
-    CPPFLAGS="${CPPFLAGS} `dnet-config --cflags 2>/dev/null`"
+    DNET_CPPFLAGS="`dnet-config --cflags 2>/dev/null`"
 fi
+CPPFLAGS="${CPPFLAGS} ${DNET_CPPFLAGS}"
 
 AC_ARG_WITH(dnet_libraries,
     AS_HELP_STRING([--with-dnet-libraries=DIR],[libdnet library directory]),
     [with_dnet_libraries="$withval"],[with_dnet_libraries="no"])
 
 if test "x$with_dnet_libraries" != "xno"; then
-    LDFLAGS="${LDFLAGS} -L${with_dnet_libraries}"
+    DNET_LIBS="-L${with_dnet_libraries}"
 else
-    LDFLAGS="${LDFLAGS} `dnet-config --libs 2>/dev/null`"
+    DNET_LIBS="`dnet-config --libs 2>/dev/null`"
 fi
+LDFLAGS="${LDFLAGS} ${DNET_LIBS}"
 
 AC_CHECK_HEADERS(dnet.h,,DNET_H="no")
 AC_CHECK_HEADERS(dumbnet.h,,DUMBNET_H="no")
@@ -808,6 +816,7 @@ AC_ARG_WITH(daq_includes,
     AS_HELP_STRING([--with-daq-includes=DIR],[DAQ include directory]),
     [with_daq_includes="$withval"],[with_daq_includes="no"])
 
+DAQ_CPPFLAGS=""
 if test "x$with_daq_includes" != "xno"; then
     DAQ_CPPFLAGS="-I${with_daq_includes}"
     CPPFLAGS="${CPPFLAGS} ${DAQ_CPPFLAGS}"
@@ -916,8 +925,10 @@ AC_ARG_WITH(lzma_includes,
     AS_HELP_STRING([--with-lzma-includes=DIR],[liblzma include directory]),
     [with_lzma_includes="$withval"],[with_lzma_includes="no"])
 
+LZMA_CPPFLAGS=""
 if test "x$with_lzma_includes" != "xno"; then
-    CPPFLAGS="${CPPFLAGS} -I${with_lzma_includes}"
+    LZMA_CPPFLAGS="-I${with_lzma_includes}"
+    CPPFLAGS="${CPPFLAGS} ${LZMA_CPPFLAGS}"
 fi
 
 AC_ARG_WITH(lzma_libraries,
@@ -971,8 +982,10 @@ AC_ARG_WITH(openssl_includes,
     AS_HELP_STRING([--with-openssl-includes=DIR],[openssl include directory]),
     [with_openssl_includes="$withval"],[with_openssl_includes="no"])
 
+OPENSSL_CPPFLAGS=""
 if test "x$with_openssl_includes" != "xno"; then
-    CPPFLAGS="${CPPFLAGS} -I${with_openssl_includes}"
+    OPENSSL_CPPFLAGS="-I${with_openssl_includes}"
+    CPPFLAGS="${CPPFLAGS} ${OPENSSL_CPPFLAGS}"
 fi
 
 AC_ARG_WITH(openssl_libraries,
@@ -996,8 +1009,10 @@ AC_ARG_WITH(intel_soft_cpm_includes,
     AS_HELP_STRING([--with-intel-soft-cpm-includes=DIR],[Intel Soft CPM include directory]),
     [with_intel_soft_cpm_includes="$withval"],[with_intel_soft_cpm_includes="no"])
 
+INTEL_SOFT_CPM_CPPFLAGS=""
 if test "x$with_intel_soft_cpm_includes" != "xno"; then
-    CPPFLAGS="${CPPFLAGS} -I${with_intel_soft_cpm_includes}"
+    INTEL_SOFT_CPM_CPPFLAGS="-I${with_intel_soft_cpm_includes}"
+    CPPFLAGS="${CPPFLAGS} ${INTEL_SOFT_CPM_CPPFLAGS}"
 else
     enable_intel_soft_cpm="no"
 fi
@@ -1027,8 +1042,9 @@ AC_MSG_CHECKING([for hyperscan pkg-config presence])
 PKG_CHECK_EXISTS([libhs], [ have_hyperscan_pkgconfig="yes" ], [ have_hyperscan_pkgconfig="no" ])
 AC_MSG_RESULT(${have_hyperscan_pkgconfig})
 
+HYPERSCAN_CPPFLAGS=""
 if test "${have_hyperscan_pkgconfig}" = "yes" ; then
-    HYPERSCAN_CFLAGS=`${PKG_CONFIG} --cflags libhs`
+    HYPERSCAN_CPPFLAGS=`${PKG_CONFIG} --cflags libhs`
     HYPERSCAN_LDFLAGS=`${PKG_CONFIG} --libs-only-L libhs`
 fi
 
@@ -1037,7 +1053,7 @@ AC_ARG_WITH(hyperscan_includes,
     [with_hyperscan_includes="$withval"],[with_hyperscan_includes="no"])
 
 if test "x$with_hyperscan_includes" != "xno"; then
-    HYPERSCAN_CFLAGS="-I${with_hyperscan_includes}"
+    HYPERSCAN_CPPFLAGS="-I${with_hyperscan_includes}"
 fi
 
 AC_ARG_WITH(hyperscan_libraries,
@@ -1048,7 +1064,7 @@ if test "x$with_hyperscan_libraries" != "xno"; then
     HYPERSCAN_LDFLAGS="-L${with_hyperscan_libraries}"
 fi
 
-CPPFLAGS="${CPPFLAGS} ${HYPERSCAN_CFLAGS}"
+CPPFLAGS="${CPPFLAGS} ${HYPERSCAN_CPPFLAGS}"
 LDFLAGS="${LDFLAGS} ${HYPERSCAN_LDFLAGS}"
 
 AC_CHECK_HEADERS(hs.h, HS_HEADERS="yes", HS_HEADERS="no")
@@ -1096,11 +1112,21 @@ AC_SUBST(AM_CXXFLAGS)
 AC_SUBST(AM_LDFLAGS)
 
 AC_SUBST(snort2lua_CPPFLAGS)
-AC_SUBST(DAQ_CPPFLAGS)
 
 AC_SUBST(CPPUTEST_CPPFLAGS)
 AC_SUBST(CPPUTEST_LDFLAGS)
 
+AC_SUBST(PCAP_CPPFLAGS)
+AC_SUBST(HWLOC_CPPFLAGS)
+AC_SUBST(LUAJIT_CPPFLAGS)
+AC_SUBST(PCRE_CPPFLAGS)
+AC_SUBST(DNET_CPPFLAGS)
+AC_SUBST(DAQ_CPPFLAGS)
+AC_SUBST(LZMA_CPPFLAGS)
+AC_SUBST(OPENSSL_CPPFLAGS)
+AC_SUBST(INTEL_SOFT_CPM_CPPFLAGS)
+AC_SUBST(HYPERSCAN_CPPFLAGS)
+
 AC_CONFIG_FILES([ \
 snort.pc \
 Makefile \
index 5ce8691caaea4c24d41b0a2f44e5a207ba0a3b6e..206c0923c597c2c0501e2d388ded6f905755087e 100644 (file)
@@ -25,13 +25,45 @@ set (CPACK_SOURCE_GENERATOR TGZ)
 
 include(CPack)
 
-# hacks for the DAQ
+set ( C_FLAGS "" CACHE STRING "" )
+set ( CXX_FLAGS "" CACHE STRING "" )
+
+set ( CMAKE_C_FLAGS "${C_FLAGS}" CACHE STRING "" FORCE )
+set ( CMAKE_CXX_FLAGS "${CXX_FLAGS}" CACHE STRING "" FORCE )
+
+execute_process (
+    COMMAND pkg-config --variable=cpp_opts snort
+    OUTPUT_VARIABLE CPP_OPTS
+)
+string ( REGEX REPLACE "[\r\n]" " " CPP_OPTS "${CPP_OPTS}" )
+separate_arguments ( CPP_OPTS )
+
+foreach ( OPT ${CPP_OPTS} )
+    execute_process (
+        COMMAND pkg-config --variable=${OPT}_CPPFLAGS snort
+        OUTPUT_VARIABLE CPPFLAGS
+    )
+
+    string ( REGEX REPLACE "[\r\n]" " " CPPFLAGS "${CPPFLAGS}" )
+    set ( ${OPT}_CPPFLAGS "${CPPFLAGS}" CACHE STRING "" )
+
+    set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${${OPT}_CPPFLAGS}" CACHE STRING "" FORCE )
+    set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${${OPT}_CPPFLAGS}" CACHE STRING "" FORCE )
+endforeach ( OPT )
+
 execute_process (
-    COMMAND pkg-config --variable=daq_cppflags snort
-    OUTPUT_VARIABLE DAQ_CPPFLAGS
+    COMMAND pkg-config --variable=cpp_opts_other snort
+    OUTPUT_VARIABLE CPP_OPTS_OTHER
 )
+string ( REGEX REPLACE "[\r\n]" " " CPP_OPTS_OTHER "${CPP_OPTS_OTHER}" )
+separate_arguments ( CPP_OPTS_OTHER )
 
-string ( REGEX REPLACE "[\r\n]" " " DAQ_CPPFLAGS "${DAQ_CPPFLAGS}" )
+foreach ( OPT ${CPP_OPTS_OTHER} )
+    execute_process (
+        COMMAND pkg-config --variable=${OPT}_CPPFLAGS snort
+        OUTPUT_VARIABLE CPPFLAGS
+    )
 
-set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DAQ_CPPFLAGS}" )
-set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DAQ_CPPFLAGS}" )
+    string ( REGEX REPLACE "[\r\n]" " " CPPFLAGS "${CPPFLAGS}" )
+    set ( ${OPT}_CPPFLAGS "${CPPFLAGS}" CACHE STRING "" )
+endforeach ( OPT )
index 614ad5ee9c704c7a24aa9d60aa97febb5e86019d..edf7a7403b99500425c478a314627d5e30e1fef3 100644 (file)
@@ -15,8 +15,10 @@ AX_CXX_COMPILE_STDCXX_11
 
 PKG_CHECK_MODULES([SNORT3], [snort >= 3])
 
-# pkg magic doesn't work for custom vars
-CPPFLAGS="`pkg-config --variable=daq_cppflags snort` ${CPPFLAGS}"
+for i in `pkg-config --variable=cpp_opts snort`; do
+    CPPFLAGS_VAL=`pkg-config --variable=${i}_CPPFLAGS snort`
+    CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_VAL}"
+done
 
 AC_SUBST([SNORT3_CFLAGS])
 AC_SUBST([CPPFLAGS])
index bd7a7918af8075319a56f75e10735a00e676da59..386456265009b667e9bd8c733ae1b013e6c77962 100644 (file)
@@ -7,7 +7,20 @@ datarootdir=@datarootdir@
 datadir=@datadir@
 mandir=@mandir@
 infodir=@infodir@
-daq_cppflags=@DAQ_CPPFLAGS@
+
+cpp_opts=PCAP LUAJIT DNET DAQ OPENSSL
+cpp_opts_other=HWLOC PCRE LZMA INTEL_SOFT_CPM HYPERSCAN
+
+PCAP_CPPFLAGS=@PCAP_CPPFLAGS@
+LUAJIT_CPPFLAGS=@LUAJIT_CPPFLAGS@
+DNET_CPPFLAGS=@DNET_CPPFLAGS@
+DAQ_CPPFLAGS=@DAQ_CPPFLAGS@
+OPENSSL_CPPFLAGS=@OPENSSL_CPPFLAGS@
+HWLOC_CPPFLAGS=@HWLOC_CPPFLAGS@
+PCRE_CPPFLAGS=@PCRE_CPPFLAGS@
+LZMA_CPPFLAGS=@LZMA_CPPFLAGS@
+INTEL_SOFT_CPM_CPPFLAGS=@INTEL_SOFT_CPM_CPPFLAGS@
+HYPERSCAN_CPPFLAGS=@HYPERSCAN_CPPFLAGS@
 
 Name: Snort++
 Description: Snort 3.0 Project