X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=m4%2Fopenvswitch.m4;h=73db4bbaf50109558b2d1afe312e4b5a56468084;hb=64c1e8af2c869ae79fd7a831772818b675e11c7f;hp=6fb860994db04d20a1f9a29d41394fcfc5367bef;hpb=480ce8abca4ae262a4148fe757aebe3e0ddba6f6;p=openvswitch diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4 index 6fb86099..73db4bba 100644 --- a/m4/openvswitch.m4 +++ b/m4/openvswitch.m4 @@ -1,6 +1,6 @@ # -*- autoconf -*- -# Copyright (c) 2008, 2009, 2010 Nicira Networks. +# Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -46,6 +46,25 @@ 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 +]) + fi]) + dnl Checks for Netlink support. AC_DEFUN([OVS_CHECK_NETLINK], [AC_CHECK_HEADER([linux/netlink.h], @@ -60,30 +79,34 @@ AC_DEFUN([OVS_CHECK_NETLINK], [Define to 1 if Netlink protocol is available.]) fi]) -dnl Checks for OpenSSL, if --enable-ssl is passed in. +dnl Checks for OpenSSL. AC_DEFUN([OVS_CHECK_OPENSSL], [AC_ARG_ENABLE( [ssl], - [AC_HELP_STRING([--enable-ssl], - [Enable ssl support (requires libssl)])], + [AC_HELP_STRING([--disable-ssl], [Disable OpenSSL support])], [case "${enableval}" in (yes) ssl=true ;; (no) ssl=false ;; (*) AC_MSG_ERROR([bad value ${enableval} for --enable-ssl]) ;; esac], - [ssl=false]) + [ssl=check]) - if test "$ssl" = true; then + if test "$ssl" != false; then dnl Make sure that pkg-config is installed. m4_pattern_forbid([PKG_CHECK_MODULES]) - PKG_CHECK_MODULES([SSL], [libssl], + PKG_CHECK_MODULES([SSL], [openssl], [HAVE_OPENSSL=yes], [HAVE_OPENSSL=no - AC_MSG_WARN([Cannot find libssl: + if test "$ssl" = check; then + AC_MSG_WARN([Cannot find openssl: $SSL_PKG_ERRORS -OpenFlow connections over SSL will not be supported.])]) +OpenFlow connections over SSL will not be supported. +(You may use --disable-ssl to suppress this warning.)]) + else + AC_MSG_ERROR([Cannot find openssl (use --disable-ssl to configure without SSL support)]) + fi]) else HAVE_OPENSSL=no fi @@ -129,6 +152,11 @@ AC_DEFUN([OVS_CHECK_LOGDIR], [LOGDIR='${localstatedir}/log/${PACKAGE}']) AC_SUBST([LOGDIR])]) +dnl Defines HAVE_BACKTRACE if backtrace() is declared in +dnl and exists in libc. +AC_DEFUN([OVS_CHECK_BACKTRACE], + [AC_CHECK_HEADER([execinfo.h], [AC_CHECK_FUNCS([backtrace])])]) + dnl Checks for __malloc_hook, etc., supported by glibc. AC_DEFUN([OVS_CHECK_MALLOC_HOOKS], [AC_CACHE_CHECK( @@ -153,83 +181,6 @@ dnl Checks for valgrind/valgrind.h. AC_DEFUN([OVS_CHECK_VALGRIND], [AC_CHECK_HEADERS([valgrind/valgrind.h])]) -dnl Searches for a directory to put lockfiles for tty devices. -dnl Defines C preprocessor variable TTY_LOCK_DIR to a quoted string -dnl for that directory. -AC_DEFUN([OVS_CHECK_TTY_LOCK_DIR], - [AC_CACHE_CHECK([directory used for serial device lockfiles], - [ovs_cv_path_tty_locks], - [# This list of candidate directories is from minicom. - ovs_cv_path_tty_locks=none - for dir in /etc/locks /var/lock /usr/spool/locks \ - /var/spool/locks /var/spool/lock \ - /usr/spool/uucp /var/spool/uucp /var/run; do - if test -d $dir; then - ovs_cv_path_tty_locks=$dir - break - fi - done]) - if test "$ovs_cv_path_tty_locks" = none; then - AC_MSG_ERROR([cannot find a directory for tty locks]) - fi - AC_DEFINE_UNQUOTED([TTY_LOCK_DIR], "$ovs_cv_path_tty_locks", - [Directory used for serial device lockfiles])]) - -dnl The following check is adapted from GNU PSPP. -dnl It searches for the ncurses library. If it finds it, it sets -dnl HAVE_CURSES to yes and sets NCURSES_LIBS and NCURSES_CFLAGS -dnl appropriate. Otherwise, it sets HAVE_CURSES to no. -AC_DEFUN([OVS_CHECK_CURSES], - [if test "$cross_compiling" != yes; then - AC_CHECK_PROGS([NCURSES_CONFIG], [ncurses5-config ncurses8-config]) - fi - if test "$NCURSES_CONFIG" = ""; then - AC_SEARCH_LIBS([tgetent], [ncurses], - [AC_CHECK_HEADERS([term.h curses.h], - [HAVE_CURSES=yes], - [HAVE_CURSES=no])]) - else - save_cflags=$CFLAGS - CFLAGS="$CFLAGS $($NCURSES_CONFIG --cflags)" - AC_CHECK_HEADERS([term.h curses.h], - [HAVE_CURSES=yes], - [HAVE_CURSES=no]) - CFLAGS=$save_cflags - if test "$HAVE_CURSES" = yes; then - NCURSES_LIBS=$($NCURSES_CONFIG --libs) - NCURSES_CFLAGS=$($NCURSES_CONFIG --cflags) - AC_SUBST(NCURSES_CFLAGS) - AC_SUBST(NCURSES_LIBS) - fi - fi - AM_CONDITIONAL([HAVE_CURSES], [test "$HAVE_CURSES" = yes])]) - -dnl Checks for linux/vt.h. -AC_DEFUN([OVS_CHECK_LINUX_VT_H], - [AC_CHECK_HEADER([linux/vt.h], - [HAVE_LINUX_VT_H=yes], - [HAVE_LINUX_VT_H=no]) - AM_CONDITIONAL([HAVE_LINUX_VT_H], [test "$HAVE_LINUX_VT_H" = yes]) - if test "$HAVE_LINUX_VT_H" = yes; then - AC_DEFINE([HAVE_LINUX_VT_H], [1], - [Define to 1 if linux/vt.h is available.]) - fi]) - -dnl Checks for libpcre. -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]) - 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]) - AC_SUBST([HAVE_PCRE_PARTIAL]) -]) - dnl Checks for Python 2.x, x >= 4. AC_DEFUN([OVS_CHECK_PYTHON], [AC_CACHE_CHECK( @@ -271,25 +222,12 @@ AC_DEFUN([OVS_CHECK_DOT], [for dot], [ovs_cv_dot], [dnl "dot" writes -V output to stderr: - if (dot -V) 2>&1 | grep '^dot - [gG]raphviz version' >/dev/null 2>&1; then + if (dot -V) 2>&1 | grep '^dot - [[gG]]raphviz version' >/dev/null 2>&1; then ovs_cv_dot=yes else ovs_cv_dot=no - fi])]) - -dnl Check whether to build E-R diagrams. -AC_DEFUN([OVS_CHECK_ER_DIAGRAMS], - [AC_REQUIRE([OVS_CHECK_DOT]) - AC_REQUIRE([OVS_CHECK_PYTHON]) - AC_CACHE_CHECK( - [whether to build E-R diagrams for database], - [ovs_cv_er_diagrams], - [if test $ovs_cv_dot != no && test $ovs_cv_python != no; then - ovs_cv_er_diagrams=yes - else - ovs_cv_er_diagrams=no fi]) - AM_CONDITIONAL([BUILD_ER_DIAGRAMS], [test $ovs_cv_er_diagrams = yes])]) + AM_CONDITIONAL([HAVE_DOT], [test "$ovs_cv_dot" = yes])]) dnl Checks for pyuic4. AC_DEFUN([OVS_CHECK_PYUIC4], @@ -421,4 +359,6 @@ AC_DEFUN([OVS_CHECK_LINKER_SECTIONS], into sections with user-defined names and the linker automatically defines __start_SECNAME and __stop_SECNAME symbols that designate the start and end of the section.]) - fi]) + fi + AM_CONDITIONAL( + [USE_LINKER_SECTIONS], [test $ovs_cv_use_linker_sections = yes])])