[ovs-dev] [PATCH v2] configure: Fix check for rte_config.h to handle cross-compilation.

Ben Pfaff blp at ovn.org
Fri Jul 7 16:16:27 UTC 2017


The check for rte_config.h in acinclude.m4 used AC_CHECK_FILE, but this
macro is intended to check for a file on the host system, not the build
system, which means that it fails unconditionally in a cross-compilation
environment.  However, the intended check here is for a header file,
which is part of the build system.  To check for part of the build system,
we can just use "test", so this commit makes that change.

Reported-by: Hemant Agrawal <hemant.agrawal at nxp.com>
Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-March/329994.html
Signed-off-by: Ben Pfaff <blp at ovn.org>
---
v1->v2: Remove file name from directory added to DPDK_INCLUDE.
  Use spaces instead of tabs. 

 acinclude.m4 | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/acinclude.m4 b/acinclude.m4
index 7d7b6832bc2e..82af5ccef2d9 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -206,9 +206,10 @@ AC_DEFUN([OVS_CHECK_DPDK], [
         DPDK_INCLUDE="$with_dpdk/include"
         # If 'with_dpdk' is passed install directory, point to headers
         # installed in $DESTDIR/$prefix/include/dpdk
-        AC_CHECK_FILE([$DPDK_INCLUDE/rte_config.h], [],
-                      [AC_CHECK_FILE([$DPDK_INCLUDE/dpdk/rte_config.h],
-                                     [DPDK_INCLUDE=$DPDK_INCLUDE/dpdk], [])])
+        if test ! -e "$DPDK_INCLUDE/rte_config.h" && \
+           test -e "$DPDK_INCLUDE/dpdk/rte_config.h"; then
+           DPDK_INCLUDE=$DPDK_INCLUDE/dpdk
+        fi
         DPDK_LIB_DIR="$with_dpdk/lib"
         ;;
     esac
-- 
2.10.2



More information about the dev mailing list