autotools: Use package flags to configure libpcap
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>
Thu, 31 Aug 2017 13:39:30 +0000 (14:39 +0100)
committerJoão Valverde <j@v6e.pt>
Sun, 24 Sep 2017 12:58:06 +0000 (12:58 +0000)
Change-Id: Icd64014b597a8e60d2aff9d180c441c6ffccff26
Reviewed-on: https://code.wireshark.org/review/23329
Reviewed-by: João Valverde <j@v6e.pt>
acinclude.m4
capchild/Makefile.am
caputils/Makefile.am
epan/Makefile.am
extcap/Makefile.am
ui/Makefile.am
wiretap/Makefile.am
wsutil/Makefile.am

index 79064539c9b4ac8919f433817f6f7f5e4a968ab7..a5d9642364def027a61cd4e1bf84725fd42ae1b3 100644 (file)
@@ -131,6 +131,9 @@ AC_DEFUN([AC_WIRESHARK_PCAP_BREAKLOOP_TRY_LINK],
 #
 AC_DEFUN([AC_WIRESHARK_PCAP_CHECK],
 [
+       AC_WIRESHARK_PUSH_FLAGS
+       ws_ac_save_LIBS="$LIBS"
+
        if test -z "$pcap_dir"
        then
          # Pcap header checks
@@ -174,7 +177,17 @@ AC_DEFUN([AC_WIRESHARK_PCAP_CHECK],
            # Found it, and it's usable; use it to get the include flags
            # for libpcap.
            #
-           CPPFLAGS="$CPPFLAGS `\"$PCAP_CONFIG\" --cflags`"
+           PCAP_CFLAGS=`\"$PCAP_CONFIG\" --cflags`
+           #
+           # We have pcap-config; we assume that means we have libpcap
+           # installed and that pcap-config will tell us whatever
+           # libraries libpcap needs.
+           #
+           if test x$enable_static = xyes; then
+             PCAP_LIBS="`\"$PCAP_CONFIG\" --libs --static`"
+           else
+             PCAP_LIBS="`\"$PCAP_CONFIG\" --libs`"
+           fi
          else
            #
            # Didn't find it; we have to look for libpcap ourselves.
@@ -196,7 +209,7 @@ AC_DEFUN([AC_WIRESHARK_PCAP_CHECK],
            do
              if test -d $pcap_dir ; then
                if test x$pcap_dir != x/usr/include -a x$pcap_dir != x/usr/local/include ; then
-                   CPPFLAGS="$CPPFLAGS -I$pcap_dir"
+                   PCAP_CFLAGS="-I$pcap_dir"
                fi
                found_pcap_dir=" $found_pcap_dir -I$pcap_dir"
                break
@@ -222,85 +235,79 @@ AC_DEFUN([AC_WIRESHARK_PCAP_CHECK],
          # and/or linker will search that other directory before it
          # searches the specified directory.
          #
-         CPPFLAGS="$CPPFLAGS -I$pcap_dir/include"
-         AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $pcap_dir/lib)
+         PCAP_CFLAGS="-I$pcap_dir/include"
+         #
+         # XXX - This doesn't use AC_WIRESHARK_ADD_DASH_L
+         #
+         PCAP_LIBS="-L$pcap_dir/lib -lpcap"
        fi
 
+       CFLAGS="$PCAP_CFLAGS $CFLAGS"
+       LIBS="$PCAP_LIBS $LIBS"
+
        # Pcap header check
-       AC_CHECK_HEADER(pcap.h,,
-           AC_MSG_ERROR([[Header file pcap.h not found; if you installed libpcap
+       AC_CHECK_HEADER(pcap.h,
+         [
+             AC_DEFINE(HAVE_LIBPCAP, 1, [Define to use libpcap library])
+         ],
+         [
+             AC_MSG_ERROR([[Header file pcap.h not found; if you installed libpcap
 from source, did you also do \"make install-incl\", and if you installed a
 binary package of libpcap, is there also a developer's package of libpcap,
-and did you also install that package?]]))
+and did you also install that package?]])
+         ])
 
-       if test -n "$PCAP_CONFIG" ; then
-         #
-         # We have pcap-config; we assume that means we have libpcap
-         # installed and that pcap-config will tell us whatever
-         # libraries libpcap needs.
-         #
-         if test x$enable_static = xyes; then
-           PCAP_LIBS="`\"$PCAP_CONFIG\" --libs --static`"
-         else
-           PCAP_LIBS="`\"$PCAP_CONFIG\" --libs`"
-         fi
-         AC_DEFINE(HAVE_LIBPCAP, 1, [Define to use libpcap library])
-       else
-         #
-         # Check to see if we find "pcap_open_live" in "-lpcap".
-         # Also check for various additional libraries that libpcap might
-         # require.
-         #
-         AC_CHECK_LIB(pcap, pcap_open_live,
-           [
-             PCAP_LIBS=-lpcap
-             AC_DEFINE(HAVE_LIBPCAP, 1, [Define to use libpcap library])
-           ], [
-             ac_wireshark_extras_found=no
-             ac_save_LIBS="$LIBS"
-             for extras in "-lcfg -lodm" "-lpfring"
-             do
-               AC_MSG_CHECKING([for pcap_open_live in -lpcap with $extras])
-               LIBS="-lpcap $extras $ac_save_LIBS"
-               #
-               # XXX - can't we use AC_CHECK_LIB here?
-               #
-               AC_TRY_LINK(
-                   [
+       #
+       # Check to see if we find "pcap_open_live" in "-lpcap".
+       # Also check for various additional libraries that libpcap might
+       # require.
+       #
+       AC_CHECK_LIB(pcap, pcap_open_live,
+         [
+         ],
+         [
+           ac_wireshark_extras_found=no
+           ac_save_LIBS="$LIBS"
+           for extras in "-lcfg -lodm" "-lpfring"
+           do
+             AC_MSG_CHECKING([for pcap_open_live in -lpcap with $extras])
+             LIBS="-lpcap $extras $ac_save_LIBS"
+             #
+             # XXX - can't we use AC_CHECK_LIB here?
+             #
+             AC_TRY_LINK(
+               [
 #      include <pcap.h>
-                   ],
-                   [
+               ],
+               [
        pcap_open_live(NULL, 0, 0, 0, NULL);
-                   ],
-                   [
-                       ac_wireshark_extras_found=yes
-                       AC_MSG_RESULT([yes])
-                       PCAP_LIBS="-lpcap $extras"
-                       AC_DEFINE(HAVE_LIBPCAP, 1, [Define to use libpcap library])
-                   ],
-                   [
-                       AC_MSG_RESULT([no])
-                   ])
+               ],
+               [
+                 ac_wireshark_extras_found=yes
+                 AC_MSG_RESULT([yes])
+                 PCAP_LIBS="$PCAP_LIBS $extras"
+               ],
+               [
+                 AC_MSG_RESULT([no])
+               ])
                if test x$ac_wireshark_extras_found = xyes
                then
-                   break
+                 break
                fi
-             done
-             if test x$ac_wireshark_extras_found = xno
-             then
-               AC_MSG_ERROR([Can't link with library libpcap.])
-             fi
-             LIBS=$ac_save_LIBS
-           ])
-       fi
+           done
+           if test x$ac_wireshark_extras_found = xno
+           then
+             AC_MSG_ERROR([Can't link with library libpcap.])
+           fi
+           LIBS=$ac_save_LIBS
+         ])
+       AC_SUBST(PCAP_CFLAGS)
        AC_SUBST(PCAP_LIBS)
 
        #
        # Check whether various variables and functions are defined by
        # libpcap.
        #
-       ac_save_LIBS="$LIBS"
-       LIBS="$PCAP_LIBS $LIBS"
        AC_CHECK_FUNCS(pcap_open_dead pcap_freecode)
        #
        # pcap_breakloop may be present in the library but not declared
@@ -413,7 +420,8 @@ install a newer version of the header file.])
          AC_CHECK_FUNCS(bpf_image pcap_set_tstamp_precision pcap_set_tstamp_type)
        fi
 
-       LIBS="$ac_save_LIBS"
+       AC_WIRESHARK_POP_FLAGS
+       LIBS="$ws_ac_save_LIBS"
 ])
 
 AC_DEFUN([AC_WIRESHARK_PCAP_REMOTE_CHECK],
index 5a50b68eea0075736c14e87241104a2d0c9f14cf..fc916214e5c3fece8f3a1c7fe67cbd91cdff8924 100644 (file)
@@ -21,7 +21,7 @@
 
 include $(top_srcdir)/Makefile.am.inc
 
-AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) $(GLIB_CFLAGS)
+AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) $(GLIB_CFLAGS) $(PCAP_CFLAGS)
 
 noinst_LIBRARIES = libcapchild.a
 
index ebd311aaf65b55f4faafcb8228926440b574443b..a67a2685d0bc4da7c5a70d338fdf5153e63bfe1d 100644 (file)
@@ -21,7 +21,8 @@
 
 include $(top_srcdir)/Makefile.am.inc
 
-AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) $(GLIB_CFLAGS) $(LIBNL_CFLAGS)
+AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) $(GLIB_CFLAGS) $(PCAP_CFLAGS) \
+               $(LIBNL_CFLAGS)
 
 noinst_LIBRARIES = libcaputils.a
 
index d782b03f1f81f45d1e3cc5001869648d19bce9c4..58c41447f05602328d42952dbe2ddd802a1377e3 100644 (file)
@@ -38,7 +38,7 @@ SUBDIRS = compress crypt ftypes dfilter dissectors wmem $(wslua_dir)
 DIST_SUBDIRS = $(SUBDIRS) $(wslua_dist_dir)
 
 AM_CPPFLAGS = $(INCLUDEDIRS) -I$(builddir)/wslua $(WS_CPPFLAGS) \
-       $(GLIB_CFLAGS) $(LUA_CFLAGS) $(LIBGNUTLS_CFLAGS) \
+       $(GLIB_CFLAGS) $(PCAP_CFLAGS) $(LUA_CFLAGS) $(LIBGNUTLS_CFLAGS) \
        $(LIBGCRYPT_CFLAGS) $(LIBSMI_CFLAGS) $(LIBGEOIP_CFLAGS) \
        $(LZ4_CFLAGS) $(KRB5_CFLAGS) $(SNAPPY_CFLAGS) $(LIBXML2_CFLAGS)
 
index 89f5399853f68ed4ffa0b3bc24f5233579d7de1d..938946c31a7e6e9854559791402485c0dbdb71ed 100644 (file)
@@ -21,7 +21,7 @@
 
 include ../Makefile.am.inc
 
-AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) $(GLIB_CFLAGS)
+AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) $(GLIB_CFLAGS) $(PCAP_CFLAGS)
 
 MAINTAINERCLEANFILES = \
        Makefile.in
index 9f26d786102e5b978af87447754a4e9fc53616d7..55094edb3ed6dd8d10b93f675a51acd903da3a0d 100644 (file)
@@ -23,7 +23,7 @@
 include $(top_srcdir)/Makefile.am.inc
 
 AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) -DDOC_DIR=\"$(docdir)\" \
-       $(GLIB_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBGNUTLS_CFLAGS) $(PORTAUDIO_INCLUDES)
+       $(GLIB_CFLAGS) $(PCAP_CFLAGS) $(LIBGCRYPT_CFLAGS) $(LIBGNUTLS_CFLAGS) $(PORTAUDIO_INCLUDES)
 
 noinst_LIBRARIES = libui.a libui_dirty.a
 
index cad0353e0ab97690c5471af951edbfd1d1a2586e..1b67cb3adbff836e100c62def5c85507dd975db3 100644 (file)
@@ -21,7 +21,8 @@
 
 include $(top_srcdir)/Makefile.am.inc
 
-AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) -DWS_BUILD_DLL $(GLIB_CFLAGS)
+AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) -DWS_BUILD_DLL $(GLIB_CFLAGS) \
+               $(PCAP_CFLAGS)
 
 noinst_LTLIBRARIES = libwiretap_generated.la
 lib_LTLIBRARIES = libwiretap.la
index e6698ea4fb1084776474a228112cfe0686c442f0..00ec19d63218e040cfbc99e1230020f9177dbc1c 100644 (file)
@@ -26,7 +26,9 @@ AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) -DWS_BUILD_DLL \
        -DEXTCAP_DIR=\"$(extcapdir)\"           \
        -DPLUGIN_DIR=\"$(pkglibdir)/plugins\"   \
        -DJSMN_STRICT                           \
-       $(GLIB_CFLAGS) $(LIBGCRYPT_CFLAGS)      \
+       $(GLIB_CFLAGS)                          \
+       $(PCAP_CFLAGS)                          \
+       $(LIBGCRYPT_CFLAGS)                     \
        $(LIBGNUTLS_CFLAGS)
 
 # Optional headers for ABI checking