flow: extend it to carry IGMP protocol information
[cascardo/ovs.git] / acinclude.m4
index 104d4e4..69d65f0 100644 (file)
@@ -163,17 +163,41 @@ dnl Configure DPDK source tree
 AC_DEFUN([OVS_CHECK_DPDK], [
   AC_ARG_WITH([dpdk],
               [AC_HELP_STRING([--with-dpdk=/path/to/dpdk],
-                              [Specify the DPDP build directory])])
+                              [Specify the DPDK build directory])])
 
   if test X"$with_dpdk" != X; then
     RTE_SDK=$with_dpdk
 
     DPDK_INCLUDE=$RTE_SDK/include
     DPDK_LIB_DIR=$RTE_SDK/lib
-    DPDK_LIBS="$DPDK_LIB_DIR/libintel_dpdk.a"
 
-    LIBS="$DPDK_LIBS $LIBS"
-    CPPFLAGS="-I$DPDK_INCLUDE $CPPFLAGS"
+    LDFLAGS="$LDFLAGS -L$DPDK_LIB_DIR"
+    CFLAGS="$CFLAGS -I$DPDK_INCLUDE"
+
+    # On some systems we have to add -ldl to link with dpdk
+    #
+    # This code, at first, tries to link without -ldl (""),
+    # then adds it and tries again.
+    # Before each attempt the search cache must be unset,
+    # otherwise autoconf will stick with the old result
+
+    found=false
+    save_LIBS=$LIBS
+    for extras in "" "-ldl"; do
+        LIBS="-lintel_dpdk $extras $save_LIBS"
+        AC_LINK_IFELSE(
+           [AC_LANG_PROGRAM([#include <rte_config.h>
+                             #include <rte_eal.h>],
+                            [int rte_argc; char ** rte_argv;
+                             rte_eal_init(rte_argc, rte_argv);])],
+           [found=true])
+        if $found; then
+            break
+        fi
+    done
+    if $found; then :; else
+        AC_MSG_ERROR([cannot link with dpdk])
+    fi
 
     AC_DEFINE([DPDK_NETDEV], [1], [System uses the DPDK module.])
   else
@@ -403,7 +427,7 @@ dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([_OVS_CHECK_CC_OPTION], [dnl
-  m4_define([ovs_cv_name], [ovs_cv_[]m4_translit([$1], [-], [_])])dnl
+  m4_define([ovs_cv_name], [ovs_cv_[]m4_translit([$1], [-=], [__])])dnl
   AC_CACHE_CHECK([whether $CC accepts $1], [ovs_cv_name], 
     [ovs_save_CFLAGS="$CFLAGS"
      dnl Include -Werror in the compiler options, because without -Werror
@@ -490,7 +514,7 @@ AC_DEFUN([OVS_CHECK_MAKE_IF],
      [ovs_cv_gnu_make_if],
      [cat <<'EOF' > conftest.mk
 conftest.out:
-        echo $(if x,y,z) > conftest.out
+       echo $(if x,y,z) > conftest.out
 .PHONY: all
 EOF
       rm -f conftest.out