]> git.proxmox.com Git - mirror_ovs.git/blame - configure.ac
dpif-netdev: Rename rxq_interval.
[mirror_ovs.git] / configure.ac
CommitLineData
344f6253 1# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 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
0877a018 15AC_PREREQ(2.63)
e656b165 16AC_INIT(openvswitch, 2.8.90, 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])
833d8dfe 22AM_INIT_AUTOMAKE([tar-pax])
064af421 23
0471423a 24AC_PROG_CC_C99
064af421 25AM_PROG_CC_C_O
994bfc29 26AC_PROG_CXX
064af421 27AC_PROG_CPP
064af421 28AC_PROG_MKDIR_P
c92647a4 29AC_PROG_FGREP
4958e3ee 30AC_PROG_EGREP
96195c09 31PKG_PROG_PKG_CONFIG
064af421
BP
32
33AC_ARG_VAR([PERL], [path to Perl interpreter])
34AC_PATH_PROG([PERL], perl, no)
35if test "$PERL" = no; then
36 AC_MSG_ERROR([Perl interpreter not found in $PATH or $PERL.])
37fi
38
4210c33b 39AM_MISSING_PROG([AUTOM4TE], [autom4te])
7fd3e43d 40
064af421
BP
41AC_USE_SYSTEM_EXTENSIONS
42AC_C_BIGENDIAN
43AC_SYS_LARGEFILE
44
38b7a52b 45LT_INIT([disable-shared])
32015a3f
BP
46m4_pattern_forbid([LT_INIT]) dnl Make autoconf fail if libtool is missing.
47
7f2f24e3
SM
48# The following explanation may help to understand the use of the
49# version number fields: current, revision, and age.
50#
51# Consider that there are three possible kinds of reactions from
52# users of your library to changes in a shared library:
53#
54# 1. Programs using the previous version may use the new version as drop-in
55# replacement, and programs using the new version can also work with the
56# previous one. In other words, no recompiling nor relinking is needed.
57# In short, there are no changes to any symbols, no symbols removed,
58# and no symbols added. In this case, bump revision only, don't touch
59# current nor age.
60#
61# 2. Programs using the previous version may use the new version as drop-in
62# replacement, but programs using the new version may use APIs not
63# present in the previous one. In other words, new symbols have been
64# added and a program linking against the new version may fail with
c84e499a 65# "unresolved symbols." If linking against the old version at runtime:
7f2f24e3
SM
66# set revision to 0, bump current and age.
67#
68# 3. Programs may need to be changed, recompiled, relinked in order to use
69# the new version. This is the case when symbols have been modified or
70# deleted. Bump current, set revision and age to 0.
71
bf824a02 72m4_define([libopenvswitch_lt_current], [0])
7f2f24e3
SM
73m4_define([libopenvswitch_lt_revision], [0])
74m4_define([libopenvswitch_lt_age], [0])
75
76LT_CURRENT=libopenvswitch_lt_current
77AC_SUBST([LT_CURRENT])
78LT_REVISION=libopenvswitch_lt_revision
79AC_SUBST([LT_REVISION])
80LT_AGE=libopenvswitch_lt_age
81AC_SUBST([LT_AGE])
82
f38b84ea 83AC_SEARCH_LIBS([pow], [m])
c73814a3 84AC_SEARCH_LIBS([clock_gettime], [rt])
6ca00f6f 85AC_SEARCH_LIBS([timer_create], [rt])
513a32ee 86AC_SEARCH_LIBS([pthread_create], [pthread])
5fcbed74 87AC_FUNC_STRERROR_R
f38b84ea 88
361906b1 89OVS_CHECK_ESX
1cb3649c 90OVS_CHECK_WIN64
db6964bb 91OVS_CHECK_WIN32
bd9d7025 92OVS_CHECK_VISUAL_STUDIO_DDK
c2b07021 93OVS_CHECK_COVERAGE
064af421
BP
94OVS_CHECK_NDEBUG
95OVS_CHECK_NETLINK
96OVS_CHECK_OPENSSL
1bbebfb7 97OVS_CHECK_LIBCAPNG
064af421 98OVS_CHECK_LOGDIR
3b135da3 99OVS_CHECK_PYTHON
8fb7d026 100OVS_CHECK_PYTHON3
115d8719 101OVS_CHECK_FLAKE8
d84bdc82 102OVS_CHECK_SPHINX
7c9b0073 103OVS_CHECK_DOT
064af421 104OVS_CHECK_IF_PACKET
9360d9b7 105OVS_CHECK_IF_DL
e50097d2 106OVS_CHECK_STRTOK_R
22c4e104 107AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>]])
9cb07887
BP
108AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec],
109 [], [], [[#include <sys/stat.h>]])
666afb55 110AC_CHECK_MEMBERS([struct ifreq.ifr_flagshigh], [], [], [[#include <net/if.h>]])
8a8c1b93 111AC_CHECK_MEMBERS([struct mmsghdr.msg_len], [], [], [[#include <sys/socket.h>]])
5d77b36b
BP
112AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id], [], [],
113 [[#include <sys/socket.h>
114#include <netinet/in.h>]])
10fd9f6e 115AC_CHECK_FUNCS([mlockall strnlen getloadavg statvfs getmntent_r sendmmsg clock_gettime])
31a3fc6e 116AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h linux/if_ether.h stdatomic.h])
db273f62
EM
117AC_CHECK_HEADERS([net/if_mib.h], [], [], [[#include <sys/types.h>
118#include <net/if.h>]])
064af421 119
31a7c9e7
BP
120OVS_CHECK_PKIDIR
121OVS_CHECK_RUNDIR
f973f2af 122OVS_CHECK_DBDIR
0e6644c3 123OVS_CHECK_BACKTRACE
9a6156bb 124OVS_CHECK_PERF_EVENT
31a7c9e7 125OVS_CHECK_VALGRIND
31a7c9e7 126OVS_CHECK_SOCKET_LIBS
ed2d4f6a 127OVS_CHECK_XENSERVER_VERSION
0027492d 128OVS_CHECK_GROFF
c22095a5 129OVS_CHECK_TLS
fd2e50cd 130OVS_CHECK_ATOMIC_LIBS
15248032 131OVS_CHECK_GCC4_ATOMICS
31a3fc6e
BP
132OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(1)
133OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(2)
134OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(4)
135OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(8)
97eba8fc 136OVS_CHECK_POSIX_AIO
8a8cd0ac 137OVS_CHECK_PTHREAD_SET_NAME
5020f5f0 138OVS_CHECK_LINUX_HOST
cb991590 139OVS_LIBTOOL_VERSIONS
994bfc29 140OVS_CHECK_CXX
3dc62a6c 141AX_FUNC_POSIX_MEMALIGN
064af421 142
cde1c287 143OVS_CHECK_INCLUDE_NEXT([stdio.h string.h])
7f2f24e3
SM
144AC_CONFIG_FILES([
145 lib/stdio.h
146 lib/string.h
147 ovsdb/libovsdb.sym
148 ofproto/libofproto.sym
149 lib/libsflow.sym
973edd6e 150 lib/libopenvswitch.sym
7d45b576 151 ovn/lib/libovn.sym
973edd6e 152 vtep/libvtep.sym])
4e857508 153
31a7c9e7 154OVS_ENABLE_OPTION([-Wall])
9b437f0f 155OVS_ENABLE_OPTION([-Wextra])
31a7c9e7
BP
156OVS_ENABLE_OPTION([-Wno-sign-compare])
157OVS_ENABLE_OPTION([-Wpointer-arith])
726af752 158OVS_ENABLE_OPTION([-Wformat -Wformat-security])
31a7c9e7
BP
159OVS_ENABLE_OPTION([-Wswitch-enum])
160OVS_ENABLE_OPTION([-Wunused-parameter])
31a7c9e7
BP
161OVS_ENABLE_OPTION([-Wbad-function-cast])
162OVS_ENABLE_OPTION([-Wcast-align])
163OVS_ENABLE_OPTION([-Wstrict-prototypes])
164OVS_ENABLE_OPTION([-Wold-style-definition])
165OVS_ENABLE_OPTION([-Wmissing-prototypes])
166OVS_ENABLE_OPTION([-Wmissing-field-initializers])
97be1538 167OVS_ENABLE_OPTION([-Wthread-safety])
538919d3 168OVS_ENABLE_OPTION([-fno-strict-aliasing])
398b6657
BP
169OVS_ENABLE_OPTION([-Wswitch-bool])
170OVS_ENABLE_OPTION([-Wlogical-not-parentheses])
171OVS_ENABLE_OPTION([-Wsizeof-array-argument])
172OVS_ENABLE_OPTION([-Wbool-compare])
905d453a
BP
173OVS_ENABLE_OPTION([-Wshift-negative-value])
174OVS_ENABLE_OPTION([-Wduplicated-cond])
c2deac54 175OVS_ENABLE_OPTION([-Qunused-arguments])
c72e245a 176OVS_CONDITIONAL_CC_OPTION([-Wno-unused], [HAVE_WNO_UNUSED])
52af5b99 177OVS_CONDITIONAL_CC_OPTION([-Wno-unused-parameter], [HAVE_WNO_UNUSED_PARAMETER])
a64e37a1 178OVS_ENABLE_WERROR
29d935d6 179OVS_ENABLE_SPARSE
0eaaacac 180OVS_CTAGS_IDENTIFIERS
064af421
BP
181
182AC_ARG_VAR(KARCH, [Kernel Architecture String])
183AC_SUBST(KARCH)
e3438006 184OVS_CHECK_LINUX
1dc0da67 185OVS_CHECK_LINUX_TC
8a9562d2 186OVS_CHECK_DPDK
aa8ea223 187OVS_CHECK_PRAGMA_MESSAGE
95626395
TG
188AC_SUBST([OVS_CFLAGS])
189AC_SUBST([OVS_LDFLAGS])
064af421 190
954d706e
GS
191AC_CONFIG_FILES(Makefile)
192AC_CONFIG_FILES(datapath/Makefile)
193AC_CONFIG_FILES(datapath/linux/Kbuild)
194AC_CONFIG_FILES(datapath/linux/Makefile)
195AC_CONFIG_FILES(datapath/linux/Makefile.main)
196AC_CONFIG_FILES(tests/atlocal)
81696de0 197AC_CONFIG_FILES(lib/libopenvswitch.pc)
e72e07a9 198AC_CONFIG_FILES(lib/libsflow.pc)
b82b1573 199AC_CONFIG_FILES(ofproto/libofproto.pc)
32fe2cfb 200AC_CONFIG_FILES(ovsdb/libovsdb.pc)
3f47a0c5 201AC_CONFIG_FILES(include/openvswitch/version.h)
064af421 202
05b3c97b
BP
203dnl This makes sure that include/openflow gets created in the build directory.
204AC_CONFIG_COMMANDS([include/openflow/openflow.h.stamp])
205
b2df0225 206AC_CONFIG_COMMANDS([utilities/bugtool/dummy], [:])
fe36184b 207AC_CONFIG_COMMANDS([ovn/dummy], [:])
43d3e694 208AC_CONFIG_COMMANDS([ovn/utilities/dummy], [:])
436f27dd 209
743f8109
EJ
210m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
211
064af421 212AC_OUTPUT