openvswitch: Userspace tunneling.
[cascardo/ovs.git] / configure.ac
index a8a530a..c3b26ec 100644 (file)
@@ -43,6 +43,41 @@ 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])
@@ -67,8 +102,6 @@ AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>]])
 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec],
   [], [], [[#include <sys/stat.h>]])
 AC_CHECK_MEMBERS([struct ifreq.ifr_flagshigh], [], [], [[#include <net/if.h>]])
-AC_CHECK_TYPES([struct rtnl_link_stats64], [], [],
-  [[#include <linux/if_link.h>]])
 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 <sys/types.h>
@@ -96,7 +129,13 @@ 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])
+AC_CONFIG_FILES([
+    lib/stdio.h
+    lib/string.h
+    ovsdb/libovsdb.sym
+    ofproto/libofproto.sym
+    lib/libsflow.sym
+    lib/libopenvswitch.sym])
 
 OVS_ENABLE_OPTION([-Wall])
 OVS_ENABLE_OPTION([-Wextra])