signals: Use sys_siglist[] instead of strsignal() for thread-safety.
[cascardo/ovs.git] / configure.ac
1 # Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
2 #
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:
6 #
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.
14
15 AC_PREREQ(2.64)
16 AC_INIT(openvswitch, 1.11.90, ovs-bugs@openvswitch.org)
17 AC_CONFIG_SRCDIR([datapath/datapath.c])
18 AC_CONFIG_MACRO_DIR([m4])
19 AC_CONFIG_AUX_DIR([build-aux])
20 AC_CONFIG_HEADERS([config.h])
21 AC_CONFIG_TESTDIR([tests])
22 AM_INIT_AUTOMAKE
23
24 AC_PROG_CC
25 AM_PROG_CC_C_O
26 AC_PROG_CPP
27 AC_PROG_RANLIB
28 AC_PROG_MKDIR_P
29 AC_PROG_FGREP
30 AC_PROG_EGREP
31
32 AC_ARG_VAR([PERL], [path to Perl interpreter])
33 AC_PATH_PROG([PERL], perl, no)
34 if test "$PERL" = no; then
35    AC_MSG_ERROR([Perl interpreter not found in $PATH or $PERL.])
36 fi
37
38 AM_MISSING_PROG([AUTOM4TE], [autom4te])
39
40 AC_USE_SYSTEM_EXTENSIONS
41 AC_C_BIGENDIAN
42 AC_SYS_LARGEFILE
43
44 AC_SEARCH_LIBS([pow], [m])
45 AC_SEARCH_LIBS([clock_gettime], [rt])
46 AC_SEARCH_LIBS([timer_create], [rt])
47 AC_SEARCH_LIBS([pthread_sigmask], [pthread])
48
49 OVS_CHECK_ESX
50 OVS_CHECK_COVERAGE
51 OVS_CHECK_NDEBUG
52 OVS_CHECK_NETLINK
53 OVS_CHECK_OPENSSL
54 OVS_CHECK_LOGDIR
55 OVS_CHECK_PYTHON
56 OVS_CHECK_PYUIC4
57 OVS_CHECK_OVSDBMONITOR
58 OVS_CHECK_DOT
59 OVS_CHECK_IF_PACKET
60 OVS_CHECK_IF_DL
61 OVS_CHECK_STRTOK_R
62 AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>]])
63 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec],
64   [], [], [[#include <sys/stat.h>]])
65 AC_CHECK_MEMBERS([struct ifreq.ifr_flagshigh], [], [], [[#include <net/if.h>]])
66 AC_CHECK_FUNCS([mlockall strnlen getloadavg statvfs getmntent_r])
67 AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h linux/if_ether.h])
68 AC_CHECK_HEADERS([net/if_mib.h], [], [], [[#include <sys/types.h>
69 #include <net/if.h>]])
70
71 OVS_CHECK_PKIDIR
72 OVS_CHECK_RUNDIR
73 OVS_CHECK_DBDIR
74 OVS_CHECK_BACKTRACE
75 OVS_CHECK_MALLOC_HOOKS
76 OVS_CHECK_VALGRIND
77 OVS_CHECK_SOCKET_LIBS
78 OVS_CHECK_LINKER_SECTIONS
79 OVS_CHECK_XENSERVER_VERSION
80 OVS_CHECK_GROFF
81 OVS_CHECK_GNU_MAKE
82 OVS_CHECK_CACHE_TIME
83
84 OVS_ENABLE_OPTION([-Wall])
85 OVS_ENABLE_OPTION([-Wno-sign-compare])
86 OVS_ENABLE_OPTION([-Wpointer-arith])
87 OVS_ENABLE_OPTION([-Wdeclaration-after-statement])
88 OVS_ENABLE_OPTION([-Wformat-security])
89 OVS_ENABLE_OPTION([-Wswitch-enum])
90 OVS_ENABLE_OPTION([-Wunused-parameter])
91 OVS_ENABLE_OPTION([-Wstrict-aliasing])
92 OVS_ENABLE_OPTION([-Wbad-function-cast])
93 OVS_ENABLE_OPTION([-Wcast-align])
94 OVS_ENABLE_OPTION([-Wstrict-prototypes])
95 OVS_ENABLE_OPTION([-Wold-style-definition])
96 OVS_ENABLE_OPTION([-Wmissing-prototypes])
97 OVS_ENABLE_OPTION([-Wmissing-field-initializers])
98 OVS_ENABLE_OPTION([-Wno-override-init])
99 OVS_CONDITIONAL_CC_OPTION([-Wno-unused], [HAVE_WNO_UNUSED])
100 OVS_CONDITIONAL_CC_OPTION([-Wno-unused-parameter], [HAVE_WNO_UNUSED_PARAMETER])
101 OVS_ENABLE_WERROR
102 OVS_ENABLE_SPARSE
103
104 AC_ARG_VAR(KARCH, [Kernel Architecture String])
105 AC_SUBST(KARCH)
106 OVS_CHECK_LINUX
107
108 AC_CONFIG_FILES([Makefile 
109 datapath/Makefile 
110 datapath/linux/Kbuild
111 datapath/linux/Makefile
112 datapath/linux/Makefile.main
113 tests/atlocal])
114
115 dnl This makes sure that include/openflow gets created in the build directory.
116 AC_CONFIG_COMMANDS([include/openflow/openflow.h.stamp])
117
118 AC_CONFIG_COMMANDS([ovsdb/ovsdbmonitor/dummy], [:])
119 AC_CONFIG_COMMANDS([utilities/bugtool/dummy], [:])
120
121 AM_CONDITIONAL([LINUX_DATAPATH], [test "$HAVE_NETLINK" = yes && test "$ESX" = no])
122 if test "$HAVE_NETLINK" = yes && test "$ESX" = no; then
123     AC_DEFINE([LINUX_DATAPATH], [1], [System uses the linux datapath module.])
124 fi
125
126 AC_OUTPUT