This adds ability to do:

  ./configure --disable-brcompat

to disable building userspace and kernel module associated with
providing linux bridge compatibility.

Signed-off-by: Chris Wright <chr...@sous-sol.org>
---
 configure.ac                    |    1 +
 datapath/Makefile.am            |    2 ++
 datapath/linux/Kbuild.in        |    3 +++
 datapath/linux/Makefile.main.in |    3 +++
 m4/openvswitch.m4               |   16 ++++++++++++++++
 vswitchd/automake.mk            |    9 +++++++--
 6 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index a1c1fb4..3c3b1e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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])
diff --git a/datapath/Makefile.am b/datapath/Makefile.am
index 9b1e5c2..90244ef 100644
--- a/datapath/Makefile.am
+++ b/datapath/Makefile.am
@@ -10,7 +10,9 @@ AUTOMAKE_OPTIONS = -Wno-portability
 
 include Modules.mk
 include linux/Module-openvswitch.mk
+if BUILD_BRCOMPAT
 include linux/Module-brcompat.mk
+endif
 
 # The following is based on commands for the Automake "distdir" target.
 distfiles: Makefile
diff --git a/datapath/linux/Kbuild.in b/datapath/linux/Kbuild.in
index 517e267..d804c4e 100644
--- a/datapath/linux/Kbuild.in
+++ b/datapath/linux/Kbuild.in
@@ -4,10 +4,13 @@ export srcdir = @abs_srcdir@
 export top_srcdir = @abs_top_srcdir@
 export VERSION = @VERSION@
 export BUILDNR = @BUILDNR@
+export BUILD_BRCOMPAT = @BUILD_BRCOMPAT@
 
 include $(srcdir)/../Modules.mk
 include $(srcdir)/Module-openvswitch.mk
+ifneq ($(BUILD_BRCOMPAT),)
 include $(srcdir)/Module-brcompat.mk
+endif
 
 EXTRA_CFLAGS := -DVERSION=\"$(VERSION)\"
 EXTRA_CFLAGS += -I$(srcdir)/..
diff --git a/datapath/linux/Makefile.main.in b/datapath/linux/Makefile.main.in
index ccfb405..37ede4f 100644
--- a/datapath/linux/Makefile.main.in
+++ b/datapath/linux/Makefile.main.in
@@ -4,10 +4,13 @@ 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)/Module-openvswitch.mk
+ifneq ($(BUILD_BRCOMPAT),)
 include $(srcdir)/Module-brcompat.mk
+endif
 
 default: $(build_links)
 
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index 9b2a5ba..23e178f 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -354,3 +354,19 @@ 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; BUILD_BRCOMPAT=yes ;;
+        (no)  brcompat=false ;;
+        (*) AC_MSG_ERROR([bad value ${enableval} for --enable-brcompat]) ;;
+      esac],
+     [brcompat=true])
+   AC_SUBST([BUILD_BRCOMPAT])
+   AM_CONDITIONAL([BUILD_BRCOMPAT], [test x$brcompat = xtrue])])
+
diff --git a/vswitchd/automake.mk b/vswitchd/automake.mk
index 8319c93..a8aadd2 100644
--- a/vswitchd/automake.mk
+++ b/vswitchd/automake.mk
@@ -1,10 +1,13 @@
 sbin_PROGRAMS += vswitchd/ovs-vswitchd
+if BUILD_BRCOMPAT
+  ovs_brcompatd_8 = vswitchd/ovs-brcompatd.8
+endif
 man_MANS += \
        vswitchd/ovs-vswitchd.8 \
-       vswitchd/ovs-brcompatd.8
+       $(ovs_brcompatd_8)
 DISTCLEANFILES += \
        vswitchd/ovs-vswitchd.8 \
-       vswitchd/ovs-brcompatd.8
+       $(ovs_brcompatd_8)
 
 vswitchd_ovs_vswitchd_SOURCES = \
        vswitchd/bridge.c \
@@ -24,6 +27,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 +37,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 += \
-- 
1.7.7.6

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to