configure: add configure option to disable building brcompat
authorChris Wright <chrisw@sous-sol.org>
Tue, 13 Mar 2012 23:21:55 +0000 (16:21 -0700)
committerJesse Gross <jesse@nicira.com>
Tue, 13 Mar 2012 23:50:42 +0000 (16:50 -0700)
This adds ability to do:

  ./configure --disable-brcompat

to disable building userspace and kernel module associated with
providing linux bridge compatibility.  Sources should still be
distributed w/ make dist.

While there, update comment referring to long removed veth driver
which is now relevant for brcompat module.

Cc: Jesse Gross <jesse@nicira.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Acked-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
configure.ac
datapath/Modules.mk
datapath/linux/Makefile.main.in
datapath/linux/Modules.mk
m4/openvswitch.m4
vswitchd/automake.mk

index a1c1fb4846a82db3a75300395a5d291c9f151335..3c3b1e9a63aff3ce9fa2bf85b2625471ece1c74d 100644 (file)
@@ -68,6 +68,7 @@ OVS_CHECK_SOCKET_LIBS
 OVS_CHECK_LINKER_SECTIONS
 OVS_CHECK_XENSERVER_VERSION
 OVS_CHECK_GROFF
+OVS_CHECK_BRCOMPAT
 
 OVS_ENABLE_OPTION([-Wall])
 OVS_ENABLE_OPTION([-Wno-sign-compare])
index 96e7f7dfac9ab25dbe9267ec9bcaaca136c19a29..24c1075bae9900162facf635de850c1321ef70bd 100644 (file)
@@ -1,7 +1,7 @@
 # Some modules should be built and distributed, e.g. openvswitch.
 #
 # Some modules should be distributed but not built, e.g. we do not build
-# veth if the kernel in question already has it.
+# brcompat if configured without it
 #
 # Some modules should be built but not distributed, e.g. third-party
 # hwtable modules.
index b55fc957036cf65a0d0c1961817cdd4b7d1a80aa..6b46c0c0bb05a02dd37ef3a0ee418b76bc613878 100644 (file)
@@ -4,6 +4,7 @@ export srcdir = @abs_srcdir@
 export top_srcdir = @abs_top_srcdir@
 export KSRC = @KBUILD@
 export VERSION = @VERSION@
+export BUILD_BRCOMPAT = @BUILD_BRCOMPAT@
 
 include $(srcdir)/../Modules.mk
 include $(srcdir)/Modules.mk
index d9a85ccb7c6c579a6b50db0eb46ff03ec097d470..baa4196ae2ce0e2eab69cf669ab34bb43f9fe8f5 100644 (file)
@@ -69,6 +69,8 @@ openvswitch_headers += \
        linux/compat/include/net/netns/generic.h \
        linux/compat/genetlink.inc
 
-both_modules += brcompat
+# always distribute brcompat source regardless of local build configuration
+dist_modules += brcompat
+build_modules += $(if $(BUILD_BRCOMPAT),brcompat)
 brcompat_sources = linux/compat/genetlink-brcompat.c brcompat_main.c
 brcompat_headers =
index 9b2a5baf743655a3b71fabce43523b72cf2e6424..d4f8fa62b8d62c33771dc11ce4928afce63cd27f 100644 (file)
@@ -354,3 +354,23 @@ AC_DEFUN([OVS_CHECK_GROFF],
        ovs_cv_groff=no
      fi])
    AM_CONDITIONAL([HAVE_GROFF], [test "$ovs_cv_groff" = yes])])
+
+dnl Checks for --disable-brcompat and undefines BUILD_BRCOMPAT if it is specified.
+AC_DEFUN([OVS_CHECK_BRCOMPAT],
+  [AC_ARG_ENABLE(
+     [brcompat],
+     [AC_HELP_STRING([--disable-brcompat],
+                     [Disable building brcompat])],
+     [case "${enableval}" in
+        (yes) brcompat=true ;;
+        (no)  brcompat=false ;;
+        (*) AC_MSG_ERROR([bad value ${enableval} for --enable-brcompat]) ;;
+      esac],
+     [brcompat=true])
+   if test x$brcompat = xtrue; then
+      BUILD_BRCOMPAT=yes
+   else
+      BUILD_BRCOMPAT=""
+   fi
+   AC_SUBST([BUILD_BRCOMPAT])
+   AM_CONDITIONAL([BUILD_BRCOMPAT], [test x$brcompat = xtrue])])
index 8319c939dabc5e783dadd231c87100623762169a..861c1526304f6d44e3100b46fb5db769904405a0 100644 (file)
@@ -1,7 +1,8 @@
 sbin_PROGRAMS += vswitchd/ovs-vswitchd
-man_MANS += \
-       vswitchd/ovs-vswitchd.8 \
-       vswitchd/ovs-brcompatd.8
+man_MANS += vswitchd/ovs-vswitchd.8
+if BUILD_BRCOMPAT
+  man_MANS += vswitchd/ovs-brcompatd.8
+endif
 DISTCLEANFILES += \
        vswitchd/ovs-vswitchd.8 \
        vswitchd/ovs-brcompatd.8
@@ -24,6 +25,7 @@ vswitchd_ovs_vswitchd_LDADD = \
 EXTRA_DIST += vswitchd/INTERNALS
 MAN_ROOTS += vswitchd/ovs-vswitchd.8.in
 
+if BUILD_BRCOMPAT
 if HAVE_NETLINK
 sbin_PROGRAMS += vswitchd/ovs-brcompatd
 vswitchd_ovs_brcompatd_SOURCES = \
@@ -33,6 +35,7 @@ vswitchd_ovs_brcompatd_SOURCES = \
 vswitchd_ovs_brcompatd_LDADD = lib/libopenvswitch.a $(SSL_LIBS)
 endif
 MAN_ROOTS += vswitchd/ovs-brcompatd.8.in
+endif
 
 # vswitch schema and IDL
 OVSIDL_BUILT += \