2014-01-10 15:25:40 -08:00
|
|
|
# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
|
2009-07-08 13:19:16 -07:00
|
|
|
#
|
2009-06-15 15:11:30 -07:00
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at:
|
2009-07-08 13:19:16 -07:00
|
|
|
#
|
2009-06-15 15:11:30 -07:00
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
2009-07-08 13:19:16 -07:00
|
|
|
|
2014-06-27 09:31:57 +02:00
|
|
|
AC_PREREQ(2.63)
|
2014-05-15 14:12:06 -07:00
|
|
|
AC_INIT(openvswitch, 2.3.90, bugs@openvswitch.org)
|
2009-07-08 13:19:16 -07:00
|
|
|
AC_CONFIG_SRCDIR([datapath/datapath.c])
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
|
|
AC_CONFIG_HEADERS([config.h])
|
2009-07-27 16:40:11 -07:00
|
|
|
AC_CONFIG_TESTDIR([tests])
|
2009-07-08 13:19:16 -07:00
|
|
|
AM_INIT_AUTOMAKE
|
|
|
|
|
2014-05-29 16:12:24 +00:00
|
|
|
AC_PROG_CC_C99
|
2009-07-08 13:19:16 -07:00
|
|
|
AM_PROG_CC_C_O
|
|
|
|
AC_PROG_CPP
|
|
|
|
AC_PROG_MKDIR_P
|
2010-07-21 15:38:23 -07:00
|
|
|
AC_PROG_FGREP
|
2012-11-07 10:16:27 -08:00
|
|
|
AC_PROG_EGREP
|
2009-07-08 13:19:16 -07:00
|
|
|
|
|
|
|
AC_ARG_VAR([PERL], [path to Perl interpreter])
|
|
|
|
AC_PATH_PROG([PERL], perl, no)
|
|
|
|
if test "$PERL" = no; then
|
|
|
|
AC_MSG_ERROR([Perl interpreter not found in $PATH or $PERL.])
|
|
|
|
fi
|
|
|
|
|
2012-10-04 15:55:43 -07:00
|
|
|
AM_MISSING_PROG([AUTOM4TE], [autom4te])
|
2012-10-03 15:58:54 -07:00
|
|
|
|
2009-07-08 13:19:16 -07:00
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
AC_C_BIGENDIAN
|
|
|
|
AC_SYS_LARGEFILE
|
|
|
|
|
2013-12-13 18:54:28 +01:00
|
|
|
LT_INIT([disable-shared])
|
2013-12-31 14:20:01 -08:00
|
|
|
m4_pattern_forbid([LT_INIT]) dnl Make autoconf fail if libtool is missing.
|
|
|
|
|
2014-11-07 19:02:09 -08:00
|
|
|
# The following explanation may help to understand the use of the
|
|
|
|
# version number fields: current, revision, and age.
|
|
|
|
#
|
|
|
|
# Consider that there are three possible kinds of reactions from
|
|
|
|
# users of your library to changes in a shared library:
|
|
|
|
#
|
|
|
|
# 1. Programs using the previous version may use the new version as drop-in
|
|
|
|
# replacement, and programs using the new version can also work with the
|
|
|
|
# previous one. In other words, no recompiling nor relinking is needed.
|
|
|
|
# In short, there are no changes to any symbols, no symbols removed,
|
|
|
|
# and no symbols added. In this case, bump revision only, don't touch
|
|
|
|
# current nor age.
|
|
|
|
#
|
|
|
|
# 2. Programs using the previous version may use the new version as drop-in
|
|
|
|
# replacement, but programs using the new version may use APIs not
|
|
|
|
# present in the previous one. In other words, new symbols have been
|
|
|
|
# added and a program linking against the new version may fail with
|
|
|
|
# “unresolved symbols.” If linking against the old version at runtime:
|
|
|
|
# set revision to 0, bump current and age.
|
|
|
|
#
|
|
|
|
# 3. Programs may need to be changed, recompiled, relinked in order to use
|
|
|
|
# the new version. This is the case when symbols have been modified or
|
|
|
|
# deleted. Bump current, set revision and age to 0.
|
|
|
|
|
|
|
|
m4_define([libopenvswitch_lt_current], [1])
|
|
|
|
m4_define([libopenvswitch_lt_revision], [0])
|
|
|
|
m4_define([libopenvswitch_lt_age], [0])
|
|
|
|
|
|
|
|
LT_CURRENT=libopenvswitch_lt_current
|
|
|
|
AC_SUBST([LT_CURRENT])
|
|
|
|
LT_REVISION=libopenvswitch_lt_revision
|
|
|
|
AC_SUBST([LT_REVISION])
|
|
|
|
LT_AGE=libopenvswitch_lt_age
|
|
|
|
AC_SUBST([LT_AGE])
|
|
|
|
|
2009-11-04 14:55:53 -08:00
|
|
|
AC_SEARCH_LIBS([pow], [m])
|
2010-06-08 17:18:48 -07:00
|
|
|
AC_SEARCH_LIBS([clock_gettime], [rt])
|
2011-11-01 13:25:49 +01:00
|
|
|
AC_SEARCH_LIBS([timer_create], [rt])
|
2013-05-06 15:41:29 -07:00
|
|
|
AC_SEARCH_LIBS([pthread_sigmask], [pthread])
|
2013-06-19 15:44:54 -07:00
|
|
|
AC_FUNC_STRERROR_R
|
2009-11-04 14:55:53 -08:00
|
|
|
|
2012-10-05 13:24:21 -07:00
|
|
|
OVS_CHECK_ESX
|
2013-11-16 11:42:46 -08:00
|
|
|
OVS_CHECK_WIN32
|
2014-08-28 13:49:24 +00:00
|
|
|
OVS_CHECK_VISUAL_STUDIO_DDK
|
2009-07-27 16:42:51 -07:00
|
|
|
OVS_CHECK_COVERAGE
|
2009-07-08 13:19:16 -07:00
|
|
|
OVS_CHECK_NDEBUG
|
|
|
|
OVS_CHECK_NETLINK
|
|
|
|
OVS_CHECK_OPENSSL
|
|
|
|
OVS_CHECK_LOGDIR
|
2009-09-14 10:05:13 -07:00
|
|
|
OVS_CHECK_PYTHON
|
2013-10-17 21:32:19 -07:00
|
|
|
OVS_CHECK_PYTHON_COMPAT
|
2010-12-06 09:56:38 -08:00
|
|
|
OVS_CHECK_DOT
|
2009-07-08 13:19:16 -07:00
|
|
|
OVS_CHECK_IF_PACKET
|
2012-06-29 21:11:24 +00:00
|
|
|
OVS_CHECK_IF_DL
|
2009-06-10 14:16:40 -07:00
|
|
|
OVS_CHECK_STRTOK_R
|
2013-04-04 23:29:59 -05:00
|
|
|
AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>]])
|
2010-03-24 13:15:41 -07:00
|
|
|
AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec],
|
|
|
|
[], [], [[#include <sys/stat.h>]])
|
2013-05-21 17:49:54 +09:00
|
|
|
AC_CHECK_MEMBERS([struct ifreq.ifr_flagshigh], [], [], [[#include <net/if.h>]])
|
2013-08-01 09:35:56 -07:00
|
|
|
AC_CHECK_FUNCS([mlockall strnlen getloadavg statvfs getmntent_r])
|
2013-06-28 15:54:40 -07:00
|
|
|
AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h linux/if_ether.h stdatomic.h])
|
2013-05-23 10:00:57 -04:00
|
|
|
AC_CHECK_HEADERS([net/if_mib.h], [], [], [[#include <sys/types.h>
|
|
|
|
#include <net/if.h>]])
|
2009-07-08 13:19:16 -07:00
|
|
|
|
2009-07-29 16:48:45 -07:00
|
|
|
OVS_CHECK_PKIDIR
|
|
|
|
OVS_CHECK_RUNDIR
|
2012-07-27 15:52:21 -07:00
|
|
|
OVS_CHECK_DBDIR
|
2011-05-13 11:55:22 -07:00
|
|
|
OVS_CHECK_BACKTRACE
|
2009-07-29 16:48:45 -07:00
|
|
|
OVS_CHECK_VALGRIND
|
|
|
|
OVS_CHECK_SOCKET_LIBS
|
2011-02-22 14:47:19 -08:00
|
|
|
OVS_CHECK_XENSERVER_VERSION
|
2011-08-24 10:45:32 -07:00
|
|
|
OVS_CHECK_GROFF
|
2012-07-25 10:25:55 -07:00
|
|
|
OVS_CHECK_GNU_MAKE
|
2013-06-25 13:50:26 -07:00
|
|
|
OVS_CHECK_TLS
|
2013-12-05 17:29:05 +00:00
|
|
|
OVS_CHECK_ATOMIC_LIBS
|
2013-07-15 14:13:53 -07:00
|
|
|
OVS_CHECK_GCC4_ATOMICS
|
2013-06-28 15:54:40 -07:00
|
|
|
OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(1)
|
|
|
|
OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(2)
|
|
|
|
OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(4)
|
|
|
|
OVS_CHECK_ATOMIC_ALWAYS_LOCK_FREE(8)
|
2013-07-10 11:40:28 -07:00
|
|
|
OVS_CHECK_POSIX_AIO
|
2013-08-01 09:35:56 -07:00
|
|
|
OVS_CHECK_PTHREAD_SET_NAME
|
2014-01-23 15:35:22 -08:00
|
|
|
OVS_CHECK_LINUX_HOST
|
2014-05-02 17:07:29 +09:00
|
|
|
AX_FUNC_POSIX_MEMALIGN
|
2009-07-08 13:19:16 -07:00
|
|
|
|
2013-12-24 09:18:42 -08:00
|
|
|
OVS_CHECK_INCLUDE_NEXT([stdio.h string.h])
|
2014-11-07 19:02:09 -08:00
|
|
|
AC_CONFIG_FILES([
|
|
|
|
lib/stdio.h
|
|
|
|
lib/string.h
|
|
|
|
ovsdb/libovsdb.sym
|
|
|
|
ofproto/libofproto.sym
|
|
|
|
lib/libsflow.sym
|
|
|
|
lib/libopenvswitch.sym])
|
2013-12-13 09:54:55 -08:00
|
|
|
|
2009-07-29 16:48:45 -07:00
|
|
|
OVS_ENABLE_OPTION([-Wall])
|
2013-07-22 13:38:25 -07:00
|
|
|
OVS_ENABLE_OPTION([-Wextra])
|
2009-07-29 16:48:45 -07:00
|
|
|
OVS_ENABLE_OPTION([-Wno-sign-compare])
|
|
|
|
OVS_ENABLE_OPTION([-Wpointer-arith])
|
|
|
|
OVS_ENABLE_OPTION([-Wformat-security])
|
2013-11-02 06:55:40 -07:00
|
|
|
OVS_ENABLE_OPTION([-Wno-format-zero-length])
|
2009-07-29 16:48:45 -07:00
|
|
|
OVS_ENABLE_OPTION([-Wswitch-enum])
|
|
|
|
OVS_ENABLE_OPTION([-Wunused-parameter])
|
|
|
|
OVS_ENABLE_OPTION([-Wbad-function-cast])
|
|
|
|
OVS_ENABLE_OPTION([-Wcast-align])
|
|
|
|
OVS_ENABLE_OPTION([-Wstrict-prototypes])
|
|
|
|
OVS_ENABLE_OPTION([-Wold-style-definition])
|
|
|
|
OVS_ENABLE_OPTION([-Wmissing-prototypes])
|
|
|
|
OVS_ENABLE_OPTION([-Wmissing-field-initializers])
|
2013-07-30 15:31:48 -07:00
|
|
|
OVS_ENABLE_OPTION([-Wthread-safety])
|
2014-09-30 17:03:07 -07:00
|
|
|
OVS_ENABLE_OPTION([-fno-strict-aliasing])
|
2009-11-20 09:45:26 -08:00
|
|
|
OVS_CONDITIONAL_CC_OPTION([-Wno-unused], [HAVE_WNO_UNUSED])
|
2010-07-30 14:47:29 -07:00
|
|
|
OVS_CONDITIONAL_CC_OPTION([-Wno-unused-parameter], [HAVE_WNO_UNUSED_PARAMETER])
|
2011-04-12 11:43:11 -07:00
|
|
|
OVS_ENABLE_WERROR
|
2011-05-06 13:00:49 -07:00
|
|
|
OVS_ENABLE_SPARSE
|
2009-07-08 13:19:16 -07:00
|
|
|
|
|
|
|
AC_ARG_VAR(KARCH, [Kernel Architecture String])
|
|
|
|
AC_SUBST(KARCH)
|
2011-06-22 09:26:31 -07:00
|
|
|
OVS_CHECK_LINUX
|
2014-03-24 19:23:08 -07:00
|
|
|
OVS_CHECK_DPDK
|
2014-08-29 16:08:11 -07:00
|
|
|
OVS_CHECK_PRAGMA_MESSAGE
|
2014-09-11 21:34:21 +02:00
|
|
|
AC_SUBST([OVS_CFLAGS])
|
|
|
|
AC_SUBST([OVS_LDFLAGS])
|
2009-07-08 13:19:16 -07:00
|
|
|
|
2013-11-15 15:32:09 -08:00
|
|
|
AC_CONFIG_FILES(Makefile)
|
|
|
|
AC_CONFIG_FILES(datapath/Makefile)
|
|
|
|
AC_CONFIG_FILES(datapath/linux/Kbuild)
|
|
|
|
AC_CONFIG_FILES(datapath/linux/Makefile)
|
|
|
|
AC_CONFIG_FILES(datapath/linux/Makefile.main)
|
|
|
|
AC_CONFIG_FILES(tests/atlocal)
|
2014-11-13 12:28:41 +01:00
|
|
|
AC_CONFIG_FILES(lib/libopenvswitch.pc)
|
2014-11-13 12:28:42 +01:00
|
|
|
AC_CONFIG_FILES(ofproto/libofproto.pc)
|
2009-07-08 13:19:16 -07:00
|
|
|
|
2010-01-25 10:49:31 -08:00
|
|
|
dnl This makes sure that include/openflow gets created in the build directory.
|
|
|
|
AC_CONFIG_COMMANDS([include/openflow/openflow.h.stamp])
|
|
|
|
|
2011-07-06 10:43:03 -07:00
|
|
|
AC_CONFIG_COMMANDS([utilities/bugtool/dummy], [:])
|
2010-05-11 11:46:52 -07:00
|
|
|
|
2014-01-21 16:22:08 -08:00
|
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
|
|
|
|
2009-07-08 13:19:16 -07:00
|
|
|
AC_OUTPUT
|