X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vswitchd%2Fautomake.mk;h=62ace691c40eae26a28baef97110d62719b07469;hb=5ca1ba484bd9ade5116a49cf241cb98219d7d696;hp=694c308a7ea06fba272fbebbab6205fc6e4b473c;hpb=250382a8fc839cb077b2636983a1c1de0d6b0e17;p=sliver-openvswitch.git diff --git a/vswitchd/automake.mk b/vswitchd/automake.mk index 694c308a7..62ace691c 100644 --- a/vswitchd/automake.mk +++ b/vswitchd/automake.mk @@ -1,49 +1,87 @@ -sbin_PROGRAMS += vswitchd/ovs-vswitchd vswitchd/ovs-brcompatd -man_MANS += \ - vswitchd/ovs-vswitchd.8 \ - vswitchd/ovs-brcompatd.8 +sbin_PROGRAMS += vswitchd/ovs-vswitchd +man_MANS += vswitchd/ovs-vswitchd.8 DISTCLEANFILES += \ - vswitchd/ovs-vswitchd.8 \ - vswitchd/ovs-brcompatd.8 + vswitchd/ovs-vswitchd.8 vswitchd_ovs_vswitchd_SOURCES = \ vswitchd/bridge.c \ vswitchd/bridge.h \ - vswitchd/proc-net-compat.c \ - vswitchd/proc-net-compat.h \ vswitchd/ovs-vswitchd.c \ - vswitchd/vswitch-idl.c \ - vswitchd/vswitch-idl.h \ + vswitchd/system-stats.c \ + vswitchd/system-stats.h \ vswitchd/xenserver.c \ vswitchd/xenserver.h vswitchd_ovs_vswitchd_LDADD = \ ofproto/libofproto.a \ + lib/libsflow.a \ lib/libopenvswitch.a \ $(SSL_LIBS) +EXTRA_DIST += vswitchd/INTERNALS +MAN_ROOTS += vswitchd/ovs-vswitchd.8.in -vswitchd_ovs_brcompatd_SOURCES = \ - vswitchd/ovs-brcompatd.c \ - vswitchd/vswitch-idl.c \ - vswitchd/vswitch-idl.h +# vswitch schema and IDL +EXTRA_DIST += vswitchd/vswitch.ovsschema +pkgdata_DATA += vswitchd/vswitch.ovsschema -vswitchd_ovs_brcompatd_LDADD = lib/libopenvswitch.a +# vswitch E-R diagram +# +# There are two complications here. First, if "python" or "dot" is not +# available, then we have to just use the existing diagram. Second, different +# "dot" versions produce slightly different output for the same input, but we +# don't want to gratuitously change vswitch.pic if someone tweaks the schema in +# some minor way that doesn't affect the table structure. To avoid that we +# store a checksum of vswitch.gv in vswitch.pic and only regenerate vswitch.pic +# if vswitch.gv actually changes. +$(srcdir)/vswitchd/vswitch.gv: ovsdb/ovsdb-dot.in vswitchd/vswitch.ovsschema +if HAVE_PYTHON + $(OVSDB_DOT) $(srcdir)/vswitchd/vswitch.ovsschema > $@ +else + touch $@ +endif +$(srcdir)/vswitchd/vswitch.pic: $(srcdir)/vswitchd/vswitch.gv ovsdb/dot2pic +if HAVE_DOT + sum=`cksum < $(srcdir)/vswitchd/vswitch.gv`; \ + if grep "$$sum" $@ >/dev/null 2>&1; then \ + echo "vswitch.gv unchanged, not regenerating vswitch.pic"; \ + touch $@; \ + else \ + echo "regenerating vswitch.pic"; \ + (echo ".\\\" Generated from vswitch.gv with cksum \"$$sum\""; \ + dot -T plain < $(srcdir)/vswitchd/vswitch.gv \ + | $(srcdir)/ovsdb/dot2pic) > $@; \ + fi +else + touch $@ +endif +EXTRA_DIST += vswitchd/vswitch.gv vswitchd/vswitch.pic -EXTRA_DIST += \ - vswitchd/ovs-vswitchd.8.in \ - vswitchd/ovs-brcompatd.8.in +# vswitch schema documentation +EXTRA_DIST += vswitchd/vswitch.xml +dist_man_MANS += vswitchd/ovs-vswitchd.conf.db.5 +$(srcdir)/vswitchd/ovs-vswitchd.conf.db.5: \ + ovsdb/ovsdb-doc.in vswitchd/vswitch.xml vswitchd/vswitch.ovsschema \ + $(srcdir)/vswitchd/vswitch.pic + $(OVSDB_DOC) \ + --title="ovs-vswitchd.conf.db" \ + --er-diagram=$(srcdir)/vswitchd/vswitch.pic \ + $(srcdir)/vswitchd/vswitch.ovsschema \ + $(srcdir)/vswitchd/vswitch.xml > $@.tmp + mv $@.tmp $@ -EXTRA_DIST += vswitchd/vswitch-idl.ovsidl -BUILT_SOURCES += vswitchd/vswitch-idl.c vswitchd/vswitch-idl.h -DISTCLEANFILES += vswitchd/vswitch-idl.c vswitchd/vswitch-idl.h -noinst_DATA += vswitchd/vswitch-idl.ovsschema vswitchd/vswitch-idl.txt -DISTCLEANFILES += vswitchd/vswitch-idl.ovsschema vswitchd/vswitch-idl.txt -vswitchd/vswitch-idl.c vswitchd/vswitch-idl.h \ -vswitchd/vswitch-idl.ovsschema vswitchd/vswitch-idl.txt: \ - ovsdb/ovsdb-idlc.in -vswitchd/vswitch-idl.c: vswitchd/vswitch-idl.h -EXTRA_DIST += \ - vswitchd/vswitch-idl.c \ - vswitchd/vswitch-idl.h \ - vswitchd/vswitch-idl.ovsschema \ - vswitchd/vswitch-idl.txt +# Version checking for vswitch.ovsschema. +ALL_LOCAL += vswitchd/vswitch.ovsschema.stamp +vswitchd/vswitch.ovsschema.stamp: vswitchd/vswitch.ovsschema + @sum=`sed '/cksum/d' $? | cksum`; \ + expected=`sed -n 's/.*"cksum": "\(.*\)".*/\1/p' $?`; \ + if test "X$$sum" = "X$$expected"; then \ + touch $@; \ + else \ + ln=`sed -n '/"cksum":/=' $?`; \ + echo >&2 "$?:$$ln: checksum \"$$sum\" does not match (you should probably update the version number and fix the checksum)"; \ + exit 1; \ + fi +CLEANFILES += vswitchd/vswitch.ovsschema.stamp +# Clean up generated files from older OVS versions. (This is important so that +# #include "vswitch-idl.h" doesn't get the wrong copy.) +CLEANFILES += vswitchd/vswitch-idl.c vswitchd/vswitch-idl.h