]> git.proxmox.com Git - mirror_ovs.git/blame - configure.ac
configure: Add macros to check for #include_next and add a workaround.
[mirror_ovs.git] / configure.ac
CommitLineData
d30e714c 1# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
064af421 2#
a14bc59f
BP
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at:
064af421 6#
a14bc59f
BP
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
064af421 14
55aa00e0 15AC_PREREQ(2.64)
b366c1f4 16AC_INIT(openvswitch, 2.0.90, ovs-bugs@openvswitch.org)
064af421
BP
17AC_CONFIG_SRCDIR([datapath/datapath.c])
18AC_CONFIG_MACRO_DIR([m4])
19AC_CONFIG_AUX_DIR([build-aux])
20AC_CONFIG_HEADERS([config.h])
1b233b95 21AC_CONFIG_TESTDIR([tests])
064af421
BP
22AM_INIT_AUTOMAKE
23
24AC_PROG_CC
25AM_PROG_CC_C_O
26AC_PROG_CPP
27AC_PROG_RANLIB
28AC_PROG_MKDIR_P
c92647a4 29AC_PROG_FGREP
4958e3ee 30AC_PROG_EGREP
064af421
BP
31
32AC_ARG_VAR([PERL], [path to Perl interpreter])
33AC_PATH_PROG([PERL], perl, no)
34if test "$PERL" = no; then
35 AC_MSG_ERROR([Perl interpreter not found in $PATH or $PERL.])
36fi
37
4210c33b 38AM_MISSING_PROG([AUTOM4TE], [autom4te])
7fd3e43d 39
064af421
BP
40AC_USE_SYSTEM_EXTENSIONS
41AC_C_BIGENDIAN
42AC_SYS_LARGEFILE
43
f38b84ea 44AC_SEARCH_LIBS([pow], [m])
c73814a3 45AC_SEARCH_LIBS([clock_gettime], [rt])
6ca00f6f 46AC_SEARCH_LIBS([timer_create], [rt])
8e85e037 47AC_SEARCH_LIBS([pthread_sigmask], [pthread])
5fcbed74 48AC_FUNC_STRERROR_R
f38b84ea 49
361906b1 50OVS_CHECK_ESX
db6964bb 51OVS_CHECK_WIN32
c2b07021 52OVS_CHECK_COVERAGE
064af421
BP
53OVS_CHECK_NDEBUG
54OVS_CHECK_NETLINK
55OVS_CHECK_OPENSSL
56OVS_CHECK_LOGDIR
3b135da3 57OVS_CHECK_PYTHON
436f27dd
AS
58OVS_CHECK_PYUIC4
59OVS_CHECK_OVSDBMONITOR
9b4a5392 60OVS_CHECK_PYTHON_COMPAT
7c9b0073 61OVS_CHECK_DOT
064af421 62OVS_CHECK_IF_PACKET
9360d9b7 63OVS_CHECK_IF_DL
e50097d2 64OVS_CHECK_STRTOK_R
22c4e104 65AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>]])
9cb07887
BP
66AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec],
67 [], [], [[#include <sys/stat.h>]])
666afb55 68AC_CHECK_MEMBERS([struct ifreq.ifr_flagshigh], [], [], [[#include <net/if.h>]])
8a8cd0ac 69AC_CHECK_FUNCS([mlockall strnlen getloadavg statvfs getmntent_r])
31a3fc6e 70AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h linux/if_ether.h stdatomic.h])
db273f62
EM
71AC_CHECK_HEADERS([net/if_mib.h], [], [], [[#include <sys/types.h>
72#include <net/if.h>]])
064af421 73
31a7c9e7
BP
74OVS_CHECK_PKIDIR
75OVS_CHECK_RUNDIR
f973f2af 76OVS_CHECK_DBDIR
0e6644c3 77OVS_CHECK_BACKTRACE
31a7c9e7
BP
78OVS_CHECK_MALLOC_HOOKS
79OVS_CHECK_VALGRIND
31a7c9e7 80OVS_CHECK_SOCKET_LIBS
ed2d4f6a 81OVS_CHECK_XENSERVER_VERSION
0027492d 82OVS_CHECK_GROFF
b4e1bf8b 83OVS_CHECK_GNU_MAKE
c22095a5 84OVS_CHECK_TLS
fd2e50cd 85OVS_CHECK_ATOMIC_LIBS
15248032 86OVS_CHECK_GCC4_ATOMICS
31a3fc6e
BP
87OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(1)
88OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(2)
89OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(4)
90OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(8)
97eba8fc 91OVS_CHECK_POSIX_AIO
8a8cd0ac 92OVS_CHECK_PTHREAD_SET_NAME
064af421 93
31a7c9e7 94OVS_ENABLE_OPTION([-Wall])
9b437f0f 95OVS_ENABLE_OPTION([-Wextra])
31a7c9e7
BP
96OVS_ENABLE_OPTION([-Wno-sign-compare])
97OVS_ENABLE_OPTION([-Wpointer-arith])
98OVS_ENABLE_OPTION([-Wdeclaration-after-statement])
99OVS_ENABLE_OPTION([-Wformat-security])
d710edc4 100OVS_ENABLE_OPTION([-Wno-format-zero-length])
31a7c9e7
BP
101OVS_ENABLE_OPTION([-Wswitch-enum])
102OVS_ENABLE_OPTION([-Wunused-parameter])
103OVS_ENABLE_OPTION([-Wstrict-aliasing])
104OVS_ENABLE_OPTION([-Wbad-function-cast])
105OVS_ENABLE_OPTION([-Wcast-align])
106OVS_ENABLE_OPTION([-Wstrict-prototypes])
107OVS_ENABLE_OPTION([-Wold-style-definition])
108OVS_ENABLE_OPTION([-Wmissing-prototypes])
109OVS_ENABLE_OPTION([-Wmissing-field-initializers])
97be1538 110OVS_ENABLE_OPTION([-Wthread-safety])
c72e245a 111OVS_CONDITIONAL_CC_OPTION([-Wno-unused], [HAVE_WNO_UNUSED])
52af5b99 112OVS_CONDITIONAL_CC_OPTION([-Wno-unused-parameter], [HAVE_WNO_UNUSED_PARAMETER])
a64e37a1 113OVS_ENABLE_WERROR
29d935d6 114OVS_ENABLE_SPARSE
064af421
BP
115
116AC_ARG_VAR(KARCH, [Kernel Architecture String])
117AC_SUBST(KARCH)
e3438006 118OVS_CHECK_LINUX
064af421 119
954d706e
GS
120AC_CONFIG_FILES(Makefile)
121AC_CONFIG_FILES(datapath/Makefile)
122AC_CONFIG_FILES(datapath/linux/Kbuild)
123AC_CONFIG_FILES(datapath/linux/Makefile)
124AC_CONFIG_FILES(datapath/linux/Makefile.main)
125AC_CONFIG_FILES(tests/atlocal)
064af421 126
05b3c97b
BP
127dnl This makes sure that include/openflow gets created in the build directory.
128AC_CONFIG_COMMANDS([include/openflow/openflow.h.stamp])
129
436f27dd 130AC_CONFIG_COMMANDS([ovsdb/ovsdbmonitor/dummy], [:])
b2df0225 131AC_CONFIG_COMMANDS([utilities/bugtool/dummy], [:])
436f27dd 132
361906b1
EJ
133AM_CONDITIONAL([LINUX_DATAPATH], [test "$HAVE_NETLINK" = yes && test "$ESX" = no])
134if test "$HAVE_NETLINK" = yes && test "$ESX" = no; then
135 AC_DEFINE([LINUX_DATAPATH], [1], [System uses the linux datapath module.])
136fi
137
064af421 138AC_OUTPUT