-# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
+# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
INSTALL.RHEL \
INSTALL.SSL \
INSTALL.XenServer \
- INSTALL.bridge \
INSTALL.userspace \
IntegrationGuide \
NOTICE \
+ OPENFLOW-1.1+ \
PORTING \
+ README-OFTest \
README-gcov \
+ README-lisp \
REPORTING-BUGS \
SubmittingPatches \
WHY-OVS \
config-h-check:
@cd $(srcdir); \
if test -e .git && (git --version) >/dev/null 2>&1 && \
- git grep -L '#include <config\.h>' `git ls-files | grep '\.c$$' | \
- grep -vE '^datapath|^lib/sflow'`; \
+ git --no-pager grep -L '#include <config\.h>' `git ls-files | grep '\.c$$' | \
+ grep -vE '^datapath|^lib/sflow|^third-party'`; \
then \
echo "See above for list of violations of the rule that"; \
echo "every C source file must #include <config.h>."; \
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
+check-assert-h-usage:
+ @if test -e $(srcdir)/.git && (git --version) >/dev/null 2>&1 && \
+ (cd $(srcdir) && git --no-pager grep -l -E '[<]assert.h[>]') | \
+ $(EGREP) -v '^lib/(sflow_receiver|vlog).c$$|^tests/'; \
+ then \
+ echo "Files listed above unexpectedly #include <""assert.h"">."; \
+ echo "Please use ovs_assert (from util.h) instead of assert."; \
+ exit 1; \
+ 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
include xenserver/automake.mk
include python/automake.mk
include python/compat/automake.mk
+include tutorial/automake.mk