1 # Copyright (c) 2008 The Board of Trustees of The Leland Stanford
4 # We are making the OpenFlow specification and associated documentation
5 # (Software) available for public use and benefit with the expectation
6 # that others will use, modify and enhance the Software and contribute
7 # those enhancements back to the community. However, since we would
8 # like to make the Software available for broadest use, with as few
9 # restrictions as possible permission is hereby granted, free of
10 # charge, to any person obtaining a copy of this Software to deal in
11 # the Software under the copyrights without restriction, including
12 # without limitation the rights to use, copy, modify, merge, publish,
13 # distribute, sublicense, and/or sell copies of the Software, and to
14 # permit persons to whom the Software is furnished to do so, subject to
15 # the following conditions:
17 # The above copyright notice and this permission notice shall be
18 # included in all copies or substantial portions of the Software.
20 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
24 # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25 # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29 # The name and trademarks of copyright holder(s) may NOT be used in
30 # advertising or publicity pertaining to the Software or any
31 # derivatives without specific, written prior permission.
33 dnl OFP_CHECK_LINUX(OPTION, VERSION, VARIABLE, CONDITIONAL)
35 dnl Configure linux kernel source tree
36 AC_DEFUN([OFP_CHECK_LINUX], [
38 [AC_HELP_STRING([--with-$1=/path/to/linux-$3],
39 [Specify the linux $3 kernel sources])],
40 [path="$withval"], [path=])dnl
41 if test -n "$path"; then
42 path=`eval echo "$path"`
44 AC_MSG_CHECKING([for $path directory])
45 if test -d "$path"; then
51 AC_ERROR([source dir $path doesn't exist])
54 AC_MSG_CHECKING([for $path kernel version])
55 version=`grep '^PATCHLEVEL = ' "$path/Makefile" | sed 's/PATCHLEVEL = '//`
56 AC_MSG_RESULT([2.$version])
57 if test "2.$version" != '$3'; then
58 AC_ERROR([Linux kernel source in $path is not version $3])
60 if ! test -e "$path"/include/linux/version.h || \
61 ! test -e "$path"/include/linux/autoconf.h; then
62 AC_MSG_ERROR([Linux kernel source in $path is not configured])
65 AM_CONDITIONAL($5, test -n "$path")
68 dnl Checks for --enable-hw-tables and substitutes HW_TABLES to any
69 dnl requested hardware table modules.
70 AC_DEFUN([OFP_CHECK_HWTABLES],
73 [AC_HELP_STRING([--enable-hw-tables=MODULE...],
74 [Configure and build the specified externally supplied
75 hardware table support modules])])
76 case "${enable_hw_tables}" in # (
78 AC_MSG_ERROR([--enable-hw-tables has a required argument])
84 hw_tables=`echo "$enable_hw_tables" | sed 's/,/ /g'`
87 for d in $hw_tables; do
88 mk=datapath/hwtable_$d/Modules.mk
89 if test ! -e $srcdir/$mk; then
90 AC_MSG_ERROR([--enable-hw-tables=$d specified but $mk is missing])
92 HW_TABLES="$HW_TABLES \$(top_srcdir)/$mk"
96 dnl Checks for net/if_packet.h.
97 AC_DEFUN([OFP_CHECK_IF_PACKET],
98 [AC_CHECK_HEADER([net/if_packet.h],
101 AM_CONDITIONAL([HAVE_IF_PACKET], [test "$HAVE_IF_PACKET" = yes])
102 if test "$HAVE_IF_PACKET" = yes; then
103 AC_DEFINE([HAVE_IF_PACKET], [1],
104 [Define to 1 if net/if_packet.h is available.])
107 dnl Enable OpenFlow extension submodule.
108 AC_DEFUN([OFP_ENABLE_EXT],
109 [AC_ARG_ENABLE([ext],
110 AS_HELP_STRING([--enable-ext],
111 [use OpenFlow extensions
112 (default is yes if "ext" dir exists)]))
113 case "${enable_ext}" in
121 if test -d "$srcdir/ext"; then
128 if test $HAVE_EXT = yes; then
129 if test -d "$srcdir/ext"; then
132 AC_MSG_ERROR([cannot configure extensions without "ext" directory])
134 AC_CONFIG_SUBDIRS([ext])
135 AC_DEFINE([HAVE_EXT], [1],
136 [Whether the OpenFlow extensions submodule is available])
138 AC_SUBST([ofp_top_srcdir], ['$(top_srcdir)'])
139 AM_CONDITIONAL([HAVE_EXT], [test $HAVE_EXT = yes])])