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

Daniel Veillard veillard at redhat.com
Wed May 9 04:58:53 UTC 2012


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

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list