X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=blobdiff_plain;f=configure.ac;h=05d80d5dd3a8729be569de28610eec9c145dcbba;hp=6fb30fd26834a8d5679149469c4dbbca0a5cc3cf;hb=8f79bb4d3999d993424e9578342b4130d10a556c;hpb=361906b1e2c6482d77280f345d3e42048d8c2700 diff --git a/configure.ac b/configure.ac index 6fb30fd26..05d80d5dd 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc. +# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Nicira, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,21 +12,21 @@ # See the License for the specific language governing permissions and # limitations under the License. -AC_PREREQ(2.64) -AC_INIT(openvswitch, 1.8.90, ovs-bugs@openvswitch.org) +AC_PREREQ(2.63) +AC_INIT(openvswitch, 2.5.90, bugs@openvswitch.org) AC_CONFIG_SRCDIR([datapath/datapath.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_TESTDIR([tests]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([tar-pax]) -AC_PROG_CC +AC_PROG_CC_C99 AM_PROG_CC_C_O AC_PROG_CPP -AC_PROG_RANLIB AC_PROG_MKDIR_P AC_PROG_FGREP +AC_PROG_EGREP AC_ARG_VAR([PERL], [path to Perl interpreter]) AC_PATH_PROG([PERL], perl, no) @@ -40,57 +40,125 @@ AC_USE_SYSTEM_EXTENSIONS AC_C_BIGENDIAN AC_SYS_LARGEFILE +LT_INIT([disable-shared]) +m4_pattern_forbid([LT_INIT]) dnl Make autoconf fail if libtool is missing. + +# 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]) + AC_SEARCH_LIBS([pow], [m]) AC_SEARCH_LIBS([clock_gettime], [rt]) AC_SEARCH_LIBS([timer_create], [rt]) -AC_SEARCH_LIBS([pcap_open_live], [pcap]) +AC_SEARCH_LIBS([pthread_create], [pthread]) +AC_FUNC_STRERROR_R OVS_CHECK_ESX +OVS_CHECK_WIN64 +OVS_CHECK_WIN32 +OVS_CHECK_VISUAL_STUDIO_DDK OVS_CHECK_COVERAGE OVS_CHECK_NDEBUG OVS_CHECK_NETLINK OVS_CHECK_OPENSSL +OVS_CHECK_LIBCAPNG OVS_CHECK_LOGDIR OVS_CHECK_PYTHON -OVS_CHECK_PYUIC4 -OVS_CHECK_OVSDBMONITOR +OVS_CHECK_PYTHON3 +OVS_CHECK_FLAKE8 OVS_CHECK_DOT OVS_CHECK_IF_PACKET OVS_CHECK_IF_DL OVS_CHECK_STRTOK_R +AC_CHECK_DECLS([sys_siglist], [], [], [[#include ]]) AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec], [], [], [[#include ]]) -AC_CHECK_FUNCS([mlockall strnlen strsignal getloadavg statvfs setmntent]) -AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h]) +AC_CHECK_MEMBERS([struct ifreq.ifr_flagshigh], [], [], [[#include ]]) +AC_CHECK_FUNCS([mlockall strnlen getloadavg statvfs getmntent_r]) +AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h linux/if_ether.h stdatomic.h]) +AC_CHECK_HEADERS([net/if_mib.h], [], [], [[#include +#include ]]) OVS_CHECK_PKIDIR OVS_CHECK_RUNDIR OVS_CHECK_DBDIR OVS_CHECK_BACKTRACE -OVS_CHECK_MALLOC_HOOKS +OVS_CHECK_PERF_EVENT OVS_CHECK_VALGRIND OVS_CHECK_SOCKET_LIBS -OVS_CHECK_LINKER_SECTIONS OVS_CHECK_XENSERVER_VERSION OVS_CHECK_GROFF -OVS_CHECK_BRCOMPAT OVS_CHECK_GNU_MAKE +OVS_CHECK_TLS +OVS_CHECK_ATOMIC_LIBS +OVS_CHECK_GCC4_ATOMICS +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) +OVS_CHECK_POSIX_AIO +OVS_CHECK_PTHREAD_SET_NAME +OVS_CHECK_LINUX_HOST +AX_FUNC_POSIX_MEMALIGN + +OVS_CHECK_INCLUDE_NEXT([stdio.h string.h]) +AC_CONFIG_FILES([ + lib/stdio.h + lib/string.h + ovsdb/libovsdb.sym + ofproto/libofproto.sym + lib/libsflow.sym + lib/libopenvswitch.sym + ovn/lib/libovn.sym + vtep/libvtep.sym]) OVS_ENABLE_OPTION([-Wall]) +OVS_ENABLE_OPTION([-Wextra]) OVS_ENABLE_OPTION([-Wno-sign-compare]) OVS_ENABLE_OPTION([-Wpointer-arith]) -OVS_ENABLE_OPTION([-Wdeclaration-after-statement]) OVS_ENABLE_OPTION([-Wformat-security]) OVS_ENABLE_OPTION([-Wswitch-enum]) OVS_ENABLE_OPTION([-Wunused-parameter]) -OVS_ENABLE_OPTION([-Wstrict-aliasing]) 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]) -OVS_ENABLE_OPTION([-Wno-override-init]) +OVS_ENABLE_OPTION([-Wthread-safety]) +OVS_ENABLE_OPTION([-fno-strict-aliasing]) +OVS_ENABLE_OPTION([-Qunused-arguments]) OVS_CONDITIONAL_CC_OPTION([-Wno-unused], [HAVE_WNO_UNUSED]) OVS_CONDITIONAL_CC_OPTION([-Wno-unused-parameter], [HAVE_WNO_UNUSED_PARAMETER]) OVS_ENABLE_WERROR @@ -99,23 +167,30 @@ OVS_ENABLE_SPARSE AC_ARG_VAR(KARCH, [Kernel Architecture String]) AC_SUBST(KARCH) OVS_CHECK_LINUX +OVS_CHECK_DPDK +OVS_CHECK_PRAGMA_MESSAGE +AC_SUBST([OVS_CFLAGS]) +AC_SUBST([OVS_LDFLAGS]) -AC_CONFIG_FILES([Makefile -datapath/Makefile -datapath/linux/Kbuild -datapath/linux/Makefile -datapath/linux/Makefile.main -tests/atlocal]) +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) +AC_CONFIG_FILES(lib/libopenvswitch.pc) +AC_CONFIG_FILES(lib/libsflow.pc) +AC_CONFIG_FILES(ofproto/libofproto.pc) +AC_CONFIG_FILES(ovsdb/libovsdb.pc) +AC_CONFIG_FILES(include/openvswitch/version.h) dnl This makes sure that include/openflow gets created in the build directory. AC_CONFIG_COMMANDS([include/openflow/openflow.h.stamp]) -AC_CONFIG_COMMANDS([ovsdb/ovsdbmonitor/dummy], [:]) AC_CONFIG_COMMANDS([utilities/bugtool/dummy], [:]) +AC_CONFIG_COMMANDS([ovn/dummy], [:]) +AC_CONFIG_COMMANDS([ovn/utilities/dummy], [:]) -AM_CONDITIONAL([LINUX_DATAPATH], [test "$HAVE_NETLINK" = yes && test "$ESX" = no]) -if test "$HAVE_NETLINK" = yes && test "$ESX" = no; then - AC_DEFINE([LINUX_DATAPATH], [1], [System uses the linux datapath module.]) -fi +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) AC_OUTPUT