X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Makefile.am;h=4c58b93c6f5004cbb9994f03445aef1806d5ddb7;hb=a17fcaaf580b6d8d26f4906237ddec837358708c;hp=b15a9a4d375b217c9faa367627c04dc39d429de6;hpb=8d71683b7632b5b621dd21418bf33ff90865b4e0;p=sliver-openvswitch.git diff --git a/Makefile.am b/Makefile.am index b15a9a4d3..4c58b93c6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -55,6 +55,7 @@ EXTRA_DIST = \ NOTICE \ OPENFLOW-1.1+ \ PORTING \ + README-OFTest \ README-gcov \ README-lisp \ REPORTING-BUGS \ @@ -185,17 +186,17 @@ config-h-check: fi .PHONY: config-h-check -# Check that "struct vlog_ratelimit" is always declared "static". -ALL_LOCAL += rate-limit-check -rate-limit-check: +# Check that certain data structures are always declared "static". +ALL_LOCAL += static-check +static-check: @if test -e $(srcdir)/.git && (git --version) >/dev/null 2>&1 && \ - git --no-pager grep -n -E '^[ ]+struct vlog_rate_limit.*=' $(srcdir); \ + git --no-pager grep -n -E '^[ ]+(struct vlog_rate_limit|pthread_once_t|struct ovsthread_once).*=' $(srcdir); \ then \ echo "See above for list of violations of the rule that "; \ - echo "'struct vlog_rate_limit' must always be 'static'"; \ + echo "certain data structures must always be 'static'"; \ exit 1; \ fi -.PHONY: rate-limit-check +.PHONY: static-check # Check that assert.h is not used outside a whitelist of files. ALL_LOCAL += check-assert-h-usage @@ -210,6 +211,20 @@ check-assert-h-usage: fi .PHONY: check-assert-h-usage +ALL_LOCAL += thread-safety-check +thread-safety-check: + @if test -e '$(srcdir)'/.git && (git --version) >/dev/null 2>&1 && \ + grep -n -f '$(srcdir)'/build-aux/thread-safety-blacklist \ + `git ls-files '$(srcdir)' | grep '\.[ch]$$' \ + | $(EGREP) -v '^datapath|^lib/sflow|^third-party'` \ + | $(EGREP) -v ':[ ]*/?\*'; \ + then \ + echo "See above for list of calls to functions that are"; \ + echo "blacklisted due to thread safety issues"; \ + exit 1; \ + fi +EXTRA_DIST += build-aux/thread-safety-blacklist + if HAVE_GROFF ALL_LOCAL += manpage-check manpage-check: $(man_MANS) $(dist_man_MANS) $(noinst_man_MANS)