config/static-checking-config.mk

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/config/static-checking-config.mk	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,49 @@
     1.4 +# This Source Code Form is subject to the terms of the Mozilla Public
     1.5 +# License, v. 2.0. If a copy of the MPL was not distributed with this
     1.6 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
     1.7 +
     1.8 +# The entire tree should be subject to static analysis using the XPCOM
     1.9 +# script. Additional scripts may be added by specific subdirectories.
    1.10 +
    1.11 +DEHYDRA_SCRIPT = $(topsrcdir)/config/static-checking.js
    1.12 +
    1.13 +ifndef JS_STANDALONE
    1.14 +DEHYDRA_MODULES = \
    1.15 +  $(topsrcdir)/xpcom/analysis/final.js \
    1.16 +  $(topsrcdir)/xpcom/analysis/must-override.js \
    1.17 +  $(NULL)
    1.18 +
    1.19 +TREEHYDRA_MODULES = \
    1.20 +  $(topsrcdir)/xpcom/analysis/outparams.js \
    1.21 +  $(topsrcdir)/xpcom/analysis/stack.js \
    1.22 +  $(topsrcdir)/xpcom/analysis/flow.js \
    1.23 +  $(topsrcdir)/xpcom/analysis/static-init.js \
    1.24 +  $(topsrcdir)/layout/generic/frame-verify.js \
    1.25 +  $(NULL)
    1.26 +endif
    1.27 +
    1.28 +TREEHYDRA_MODULES += \
    1.29 +  $(topsrcdir)/js/src/jsstack.js \
    1.30 +  $(NULL)
    1.31 +
    1.32 +DEHYDRA_ARG_PREFIX=-fplugin-arg-gcc_treehydra-
    1.33 +
    1.34 +DEHYDRA_ARGS = \
    1.35 +  $(DEHYDRA_ARG_PREFIX)script=$(DEHYDRA_SCRIPT) \
    1.36 +  $(DEHYDRA_ARG_PREFIX)topsrcdir=$(topsrcdir) \
    1.37 +  $(DEHYDRA_ARG_PREFIX)objdir=$(DEPTH) \
    1.38 +  $(DEHYDRA_ARG_PREFIX)dehydra-modules=$(subst $(NULL) ,$(COMMA),$(strip $(DEHYDRA_MODULES))) \
    1.39 +  $(DEHYDRA_ARG_PREFIX)treehydra-modules=$(subst $(NULL) ,$(COMMA),$(strip $(TREEHYDRA_MODULES))) \
    1.40 +  $(NULL)
    1.41 +
    1.42 +DEHYDRA_FLAGS = -fplugin=$(DEHYDRA_PATH) $(DEHYDRA_ARGS)
    1.43 +
    1.44 +ifdef DEHYDRA_PATH
    1.45 +OS_CXXFLAGS += $(DEHYDRA_FLAGS)
    1.46 +endif
    1.47 +
    1.48 +ifdef ENABLE_CLANG_PLUGIN
    1.49 +CLANG_PLUGIN := $(DEPTH)/build/clang-plugin/$(DLL_PREFIX)clang-plugin$(DLL_SUFFIX)
    1.50 +OS_CXXFLAGS += -Xclang -load -Xclang $(CLANG_PLUGIN) -Xclang -add-plugin -Xclang moz-check
    1.51 +OS_CFLAGS += -Xclang -load -Xclang $(CLANG_PLUGIN) -Xclang -add-plugin -Xclang moz-check
    1.52 +endif

mercurial