# -*- autoconf -*-
-# Copyright (c) 2008, 2009, 2010 Nicira Networks.
+# Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
[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
- dnl Make sure that pkg-config is installed.
- m4_pattern_forbid([PKG_CHECK_MODULES])
- PKG_CHECK_MODULES([SSL], [libssl],
+ if test "$ssl" != false; then
+ m4_ifndef([PKG_CHECK_MODULES], [m4_fatal([Please install pkg-config.])])
+ 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
[AC_ARG_WITH(
[pkidir],
AC_HELP_STRING([--with-pkidir=DIR],
- [PKI hierarchy directory [[DATADIR/openvswitch/pki]]]),
+ [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.
[LOGDIR='${localstatedir}/log/${PACKAGE}'])
AC_SUBST([LOGDIR])])
+dnl Defines HAVE_BACKTRACE if backtrace() is declared in <execinfo.h>
+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(
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(
[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],
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])])
+
+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 --disable-brcompat and undefines BUILD_BRCOMPAT if it is specified.
+AC_DEFUN([OVS_CHECK_BRCOMPAT],
+ [AC_ARG_ENABLE(
+ [brcompat],
+ [AC_HELP_STRING([--disable-brcompat],
+ [Disable building brcompat])],
+ [case "${enableval}" in
+ (yes) brcompat=true ;;
+ (no) brcompat=false ;;
+ (*) AC_MSG_ERROR([bad value ${enableval} for --enable-brcompat]) ;;
+ esac],
+ [brcompat=true])
+ if test x$brcompat = xtrue; then
+ BUILD_BRCOMPAT=yes
+ else
+ BUILD_BRCOMPAT=""
+ fi
+ AC_SUBST([BUILD_BRCOMPAT])
+ AM_CONDITIONAL([BUILD_BRCOMPAT], [test x$brcompat = xtrue])])