[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 5/5 v2] numad: Check numactl-devel if compiled with numad support



On 2012年05月09日 12:58, Daniel Veillard wrote:
On Wed, May 09, 2012 at 12:28:45PM +0800, Osier Yang wrote:
Since now we pre-set memory policy using libnuma to fully
drive numad, it needs to check numactl-devel if "with_numad"
is "yes".

configure with groups "--with-numad=yes --with-numactl=yes",
"--with-numad=no --with-numactl=yes", "--with-numad=yes
--with-numactl=yes" works fine after the change.
---
  configure.ac |   46 +++++++++++++++++++++++++++++++---------------
  1 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/configure.ac b/configure.ac
index 30eff91..93cc3e8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1505,13 +1505,6 @@ if test "$with_qemu" = "yes"&&  test "$with_numactl" != "no"; then
    CFLAGS="$old_cflags"
    LIBS="$old_libs"
  fi
-if test "$with_numactl" = "yes"; then
-  NUMACTL_LIBS="-lnuma"
-  AC_DEFINE_UNQUOTED([HAVE_NUMACTL], 1, [whether numactl is available for topology info])
-fi
-AM_CONDITIONAL([HAVE_NUMACTL], [test "$with_numactl" != "no"])
-AC_SUBST([NUMACTL_CFLAGS])
-AC_SUBST([NUMACTL_LIBS])

  dnl numad
  AC_ARG_WITH([numad],
@@ -1520,22 +1513,45 @@ AC_ARG_WITH([numad],
    [with_numad=check])

  if test "$with_numad" != "no" ; then
+  old_cflags="$CFLAGS"
+  old_libs="$LIBS"
+  fail=0
+
    AC_PATH_PROG([NUMAD], [numad], [], [/bin:/usr/bin])
-  if test -z "$NUMAD" ; then
-    if test "$with_numad" = "check"; then
+
+  if test "$with_numad" = "check"; then
+    AC_CHECK_HEADER([numa.h], [], [fail=1])
+    AC_CHECK_LIB([numa], [numa_available], [], [fail=1])
+    if test -z "$NUMAD" || test $fail = 1; then
        with_numad="no"
      else
-      AC_MSG_ERROR([You must install the 'numad' to manage CPU placement dynamically])
+      with_nuamd="yes"
      fi
    else
-    with_numad="yes"
-  fi
-  if test "$with_numad" = "yes"; then
-    AC_DEFINE_UNQUOTED([HAVE_NUMAD], 1, [whether numad is available])
-    AC_DEFINE_UNQUOTED([NUMAD],["$NUMAD"], [Location or name of the numad program])
+    test -z  "$NUMAD"&&
+      AC_MSG_ERROR([You must install numad package to manage CPU and memory placement dynamically])
+
+    AC_CHECK_HEADER([numa.h], [], [fail=1])
+    AC_CHECK_LIB([numa], [numa_available], [], [fail=1])
+    test $fail = 1&&
+      AC_MSG_ERROR([You must install the numactl development package in order to compile and run libvirt])
    fi
+
+  CFLAGS="$old_cflags"
+  LIBS="$old_libs"
+fi
+if test "$with_numad" = "yes"; then
+  AC_DEFINE_UNQUOTED([HAVE_NUMAD], 1, [whether numad is available])
+  AC_DEFINE_UNQUOTED([NUMAD],["$NUMAD"], [Location or name of the numad program])
+fi
+if test "$with_numactl" = "yes" || test "$with_numad" = "yes"; then
+  NUMACTL_LIBS="-lnuma"
+  AC_DEFINE_UNQUOTED([HAVE_NUMACTL], 1, [whether numactl-devel is available])
  fi
  AM_CONDITIONAL([HAVE_NUMAD], [test "$with_numad" != "no"])
+AM_CONDITIONAL([HAVE_NUMACTL], [test "$with_numad" != "no" || test "$with_numactl" != "no"])
+AC_SUBST([NUMACTL_CFLAGS])
+AC_SUBST([NUMACTL_LIBS])

  dnl pcap lib
  LIBPCAP_CONFIG="pcap-config"

   Okay, ACK,

Daniel


Thanks, pushed 5/5 and 6/5.

Regards,
Osier


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]