X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=m4%2Fopenvswitch.m4;h=2206aff1b870cf457283bdd4b48f03bb8821e08a;hb=7ac0f8dbf41c185e3e8d3cc9d033467575c99542;hp=affeac358e6f7bda60d275274752be35ae3f9e3c;hpb=bd76d25d8b3b7d11c5a326e91d784ad2cdeecd45;p=openvswitch diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4 index affeac35..2206aff1 100644 --- a/m4/openvswitch.m4 +++ b/m4/openvswitch.m4 @@ -113,9 +113,10 @@ AC_DEFUN([OVS_CHECK_RUNDIR], [AC_ARG_WITH( [rundir], AC_HELP_STRING([--with-rundir=DIR], - [directory used for pidfiles [[LOCALSTATEDIR/run]]]), + [directory used for pidfiles + [[LOCALSTATEDIR/run/openvswitch]]]), [RUNDIR=$withval], - [RUNDIR='${localstatedir}/run']) + [RUNDIR='${localstatedir}/run/openvswitch']) AC_SUBST([RUNDIR])]) dnl Checks for the directory in which to store logs. @@ -216,24 +217,18 @@ AC_DEFUN([OVS_CHECK_LINUX_VT_H], dnl Checks for libpcre. dnl -dnl ovsdb wants any reasonable version of libpcre (6.6 is what -dnl XenServer 5.5 has). -dnl dnl ezio-term wants libpcre that supports the PCRE_PARTIAL feature, dnl which is libpcre 7.2 or later. AC_DEFUN([OVS_CHECK_PCRE], [dnl Make sure that pkg-config is installed. m4_pattern_forbid([PKG_CHECK_MODULES]) - HAVE_PCRE=no - HAVE_PCRE_PARTIAL=no - PKG_CHECK_MODULES([PCRE], [libpcre >= 6.6], - [HAVE_PCRE=yes - PKG_CHECK_EXISTS([libpcre >= 7.2], [HAVE_PCRE_PARTIAL=yes])]) - AM_CONDITIONAL([HAVE_PCRE], [test "$HAVE_PCRE" = yes]) + PKG_CHECK_MODULES([PCRE], + [libpcre >= 7.2], + [HAVE_PCRE_PARTIAL=yes], + [HAVE_PCRE_PARTIAL=no]) AM_CONDITIONAL([HAVE_PCRE_PARTIAL], [test "$HAVE_PCRE_PARTIAL" = yes]) - if test "$HAVE_PCRE" = yes; then - AC_DEFINE([HAVE_PCRE], [1], [Define to 1 if libpcre is installed.]) - fi]) + AC_SUBST([HAVE_PCRE_PARTIAL]) +]) dnl Checks for Python 2.x, x >= 4. AC_DEFUN([OVS_CHECK_PYTHON], @@ -269,3 +264,60 @@ else: HAVE_PYTHON=no fi AM_CONDITIONAL([HAVE_PYTHON], [test "$HAVE_PYTHON" = yes])]) + +dnl Checks for pyuic4. +AC_DEFUN([OVS_CHECK_PYUIC4], + [AC_CACHE_CHECK( + [for pyuic4], + [ovs_cv_pyuic4], + [if (pyuic4 --version) >/dev/null 2>&1; then + ovs_cv_pyuic4=pyuic4 + else + ovs_cv_pyuic4=no + fi]) + AM_MISSING_PROG([PYUIC4], [pyuic4]) + if test $ovs_cv_pyuic4 != no; then + PYUIC4=$ovs_cv_pyuic4 + fi]) + +dnl Checks whether $PYTHON supports the module given as $1 +AC_DEFUN([OVS_CHECK_PYTHON_MODULE], + [AC_REQUIRE([OVS_CHECK_PYTHON]) + AC_CACHE_CHECK( + [for $1 Python module], + [ovs_cv_py_[]AS_TR_SH([$1])], + [ovs_cv_py_[]AS_TR_SH([$1])=no + if test $HAVE_PYTHON = yes; then + AS_ECHO(["running $PYTHON -c 'import $1 +import sys +sys.exit(0)'..."]) >&AS_MESSAGE_LOG_FD 2>&1 + if $PYTHON -c 'import $1 +import sys +sys.exit(0)' >&AS_MESSAGE_LOG_FD 2>&1; then + ovs_cv_py_[]AS_TR_SH([$1])=yes + fi + fi])]) + +dnl Checks for Python modules needed by ovsdbmonitor. +AC_DEFUN([OVS_CHECK_OVSDBMONITOR], + [OVS_CHECK_PYTHON_MODULE([PySide.QtCore]) + OVS_CHECK_PYTHON_MODULE([PyQt4.QtCore]) + OVS_CHECK_PYTHON_MODULE([twisted.conch.ssh]) + OVS_CHECK_PYTHON_MODULE([twisted.internet]) + OVS_CHECK_PYTHON_MODULE([twisted.application]) + OVS_CHECK_PYTHON_MODULE([json]) + OVS_CHECK_PYTHON_MODULE([zope.interface]) + if (test $ovs_cv_py_PySide_QtCore = yes \ + || test $ovs_cv_py_PyQt4_QtCore = yes) \ + && test $ovs_cv_py_twisted_conch_ssh = yes \ + && test $ovs_cv_py_twisted_internet = yes \ + && test $ovs_cv_py_twisted_application = yes \ + && test $ovs_cv_py_json = yes \ + && test $ovs_cv_py_zope_interface = yes; then + BUILD_OVSDBMONITOR=yes + else + BUILD_OVSDBMONITOR=no + fi + AC_MSG_CHECKING([whether to build ovsdbmonitor]) + AC_MSG_RESULT([$BUILD_OVSDBMONITOR]) + AM_CONDITIONAL([BUILD_OVSDBMONITOR], [test $BUILD_OVSDBMONITOR = yes])])