X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=m4%2Fopenvswitch.m4;h=57c71e029d9abb81a1ebd2b096bb479918dd762e;hb=ffd6065a2484cf7b24ee0c9300bb14d0e72fdbcd;hp=73db4bbaf50109558b2d1afe312e4b5a56468084;hpb=0e6644c3880be9684f37f48da84907bb67112514;p=sliver-openvswitch.git diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4 index 73db4bbaf..57c71e029 100644 --- a/m4/openvswitch.m4 +++ b/m4/openvswitch.m4 @@ -1,6 +1,6 @@ # -*- autoconf -*- -# Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. +# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,10 +19,10 @@ AC_DEFUN([OVS_CHECK_COVERAGE], [AC_REQUIRE([AC_PROG_CC]) AC_ARG_ENABLE( [coverage], - [AC_HELP_STRING([--enable-coverage], + [AC_HELP_STRING([--enable-coverage], [Enable gcov coverage tool.])], [case "${enableval}" in - (lcov|yes) coverage=true ;; + (yes) coverage=true ;; (no) coverage=false ;; (*) AC_MSG_ERROR([bad value ${enableval} for --enable-coverage]) ;; esac], @@ -36,7 +36,7 @@ dnl Checks for --enable-ndebug and defines NDEBUG if it is specified. AC_DEFUN([OVS_CHECK_NDEBUG], [AC_ARG_ENABLE( [ndebug], - [AC_HELP_STRING([--enable-ndebug], + [AC_HELP_STRING([--enable-ndebug], [Disable debugging features for max performance])], [case "${enableval}" in (yes) ndebug=true ;; @@ -46,23 +46,30 @@ AC_DEFUN([OVS_CHECK_NDEBUG], [ndebug=false]) AM_CONDITIONAL([NDEBUG], [test x$ndebug = xtrue])]) -dnl Checks for struct rtnl_link_stats64. -dnl -dnl (OVS checks for this structure in both kernel and userspace headers. This -dnl is not redundant, because the kernel and userspace builds have completely -dnl different include paths. It is possible for the kernel to have this -dnl structure but not userspace, and vice versa.) -AC_DEFUN([OVS_CHECK_RTNL_LINK_STATS64], - [AC_REQUIRE([OVS_CHECK_NETLINK]) - if test $HAVE_NETLINK = yes; then - AC_CHECK_MEMBER( - [struct rtnl_link_stats64.tx_packets], - [AC_DEFINE([HAVE_RTNL_LINK_STATS64], [1], - [Define to 1 if defines - struct rtnl_link_stats64.])], - [], [#include /* Provides sa_family_t. */ -#include -]) +dnl Checks for --enable-cache-time and defines CACHE_TIME if it is specified. +AC_DEFUN([OVS_CHECK_CACHE_TIME], + [AC_ARG_ENABLE( + [cache-time], + [AC_HELP_STRING([--enable-cache-time], + [Override time caching default (for testing only)])], + [case "${enableval}" in + (yes) cache_time=1;; + (no) cache_time=0;; + (*) AC_MSG_ERROR([bad value ${enableval} for --enable-cache-time]) ;; + esac + AC_DEFINE_UNQUOTED([CACHE_TIME], [$cache_time], + [Define to 1 to enable time caching, to 0 to disable time caching, or + leave undefined to use the default (as one should + ordinarily do).])])]) + +dnl Checks for ESX. +AC_DEFUN([OVS_CHECK_ESX], + [AC_CHECK_HEADER([vmware.h], + [ESX=yes], + [ESX=no]) + AM_CONDITIONAL([ESX], [test "$ESX" = yes]) + if test "$ESX" = yes; then + AC_DEFINE([ESX], [1], [Define to 1 if building on ESX.]) fi]) dnl Checks for Netlink support. @@ -92,9 +99,7 @@ AC_DEFUN([OVS_CHECK_OPENSSL], [ssl=check]) if test "$ssl" != false; then - dnl Make sure that pkg-config is installed. - m4_pattern_forbid([PKG_CHECK_MODULES]) - PKG_CHECK_MODULES([SSL], [openssl], + AX_CHECK_OPENSSL( [HAVE_OPENSSL=yes], [HAVE_OPENSSL=no if test "$ssl" = check; then @@ -124,18 +129,18 @@ AC_DEFUN([OVS_CHECK_SOCKET_LIBS], dnl Checks for the directory in which to store the PKI. AC_DEFUN([OVS_CHECK_PKIDIR], [AC_ARG_WITH( - [pkidir], - AC_HELP_STRING([--with-pkidir=DIR], - [PKI hierarchy directory [[DATADIR/openvswitch/pki]]]), + [pkidir], + AC_HELP_STRING([--with-pkidir=DIR], + [PKI hierarchy directory [[LOCALSTATEDIR/lib/openvswitch/pki]]]), [PKIDIR=$withval], - [PKIDIR='${pkgdatadir}/pki']) + [PKIDIR='${localstatedir}/lib/openvswitch/pki']) AC_SUBST([PKIDIR])]) dnl Checks for the directory in which to store pidfiles. AC_DEFUN([OVS_CHECK_RUNDIR], [AC_ARG_WITH( - [rundir], - AC_HELP_STRING([--with-rundir=DIR], + [rundir], + AC_HELP_STRING([--with-rundir=DIR], [directory used for pidfiles [[LOCALSTATEDIR/run/openvswitch]]]), [RUNDIR=$withval], @@ -145,17 +150,28 @@ AC_DEFUN([OVS_CHECK_RUNDIR], dnl Checks for the directory in which to store logs. AC_DEFUN([OVS_CHECK_LOGDIR], [AC_ARG_WITH( - [logdir], - AC_HELP_STRING([--with-logdir=DIR], + [logdir], + AC_HELP_STRING([--with-logdir=DIR], [directory used for logs [[LOCALSTATEDIR/log/PACKAGE]]]), [LOGDIR=$withval], [LOGDIR='${localstatedir}/log/${PACKAGE}']) AC_SUBST([LOGDIR])]) -dnl Defines HAVE_BACKTRACE if backtrace() is declared in -dnl and exists in libc. +dnl Checks for the directory in which to store the Open vSwitch database. +AC_DEFUN([OVS_CHECK_DBDIR], + [AC_ARG_WITH( + [dbdir], + AC_HELP_STRING([--with-dbdir=DIR], + [directory used for conf.db [[SYSCONFDIR/PACKAGE]]]), + [DBDIR=$withval], + [DBDIR='${sysconfdir}/${PACKAGE}']) + AC_SUBST([DBDIR])]) + +dnl Defines HAVE_BACKTRACE if backtrace() is found. AC_DEFUN([OVS_CHECK_BACKTRACE], - [AC_CHECK_HEADER([execinfo.h], [AC_CHECK_FUNCS([backtrace])])]) + [AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace], + [AC_DEFINE([HAVE_BACKTRACE], [1], + [Define to 1 if you have backtrace(3).])])]) dnl Checks for __malloc_hook, etc., supported by glibc. AC_DEFUN([OVS_CHECK_MALLOC_HOOKS], @@ -165,20 +181,20 @@ AC_DEFUN([OVS_CHECK_MALLOC_HOOKS], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [#include - ], + ], [(void) __malloc_hook; (void) __realloc_hook; (void) __free_hook;])], [ovs_cv_malloc_hooks=yes], [ovs_cv_malloc_hooks=no])]) if test $ovs_cv_malloc_hooks = yes; then - AC_DEFINE([HAVE_MALLOC_HOOKS], [1], + AC_DEFINE([HAVE_MALLOC_HOOKS], [1], [Define to 1 if you have __malloc_hook, __realloc_hook, and __free_hook in .]) fi]) dnl Checks for valgrind/valgrind.h. -AC_DEFUN([OVS_CHECK_VALGRIND], +AC_DEFUN([OVS_CHECK_VALGRIND], [AC_CHECK_HEADERS([valgrind/valgrind.h])]) dnl Checks for Python 2.x, x >= 4. @@ -362,3 +378,50 @@ AC_DEFUN([OVS_CHECK_LINKER_SECTIONS], fi AM_CONDITIONAL( [USE_LINKER_SECTIONS], [test $ovs_cv_use_linker_sections = yes])]) + +dnl Checks for groff. +AC_DEFUN([OVS_CHECK_GROFF], + [AC_CACHE_CHECK( + [for groff], + [ovs_cv_groff], + [if (groff -v) >/dev/null 2>&1; then + ovs_cv_groff=yes + else + ovs_cv_groff=no + fi]) + AM_CONDITIONAL([HAVE_GROFF], [test "$ovs_cv_groff" = yes])]) + +dnl Checks for thread-local storage support. +dnl +dnl Checks whether the compiler and linker support the C11 +dnl thread_local macro from , and if so defines +dnl HAVE_THREAD_LOCAL. If not, checks whether the compiler and linker +dnl support the GCC __thread extension, and if so defines +dnl HAVE___THREAD. +AC_DEFUN([OVS_CHECK_TLS], + [AC_CACHE_CHECK( + [whether $CC has that supports thread_local], + [ovs_cv_thread_local], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM([#include +static thread_local int var;], [return var;])], + [ovs_cv_thread_local=yes], + [ovs_cv_thread_local=no])]) + if test $ovs_cv_thread_local = yes; then + AC_DEFINE([HAVE_THREAD_LOCAL], [1], + [Define to 1 if the C compiler and linker supports the C11 + thread_local matcro defined in .]) + else + AC_CACHE_CHECK( + [whether $CC supports __thread], + [ovs_cv___thread], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM([static __thread int var;], [return var;])], + [ovs_cv___thread=yes], + [ovs_cv___thread=no])]) + if test $ovs_cv___thread = yes; then + AC_DEFINE([HAVE___THREAD], [1], + [Define to 1 if the C compiler and linker supports the + GCC __thread extenions.]) + fi + fi])