# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. SharedLibrary('clang-plugin') SOURCES += ['!ThirdPartyPaths.cpp'] UNIFIED_SOURCES += [ 'ArithmeticArgChecker.cpp', 'AssertAssignmentChecker.cpp', 'CustomTypeAnnotation.cpp', 'DanglingOnTemporaryChecker.cpp', 'DiagnosticsMatcher.cpp', 'ExplicitImplicitChecker.cpp', 'ExplicitOperatorBoolChecker.cpp', 'KungFuDeathGripChecker.cpp', 'MozCheckAction.cpp', 'MustOverrideChecker.cpp', 'MustReturnFromCallerChecker.cpp', 'MustUseChecker.cpp', 'NaNExprChecker.cpp', 'NeedsNoVTableTypeChecker.cpp', 'NoAddRefReleaseOnReturnChecker.cpp', 'NoAutoTypeChecker.cpp', 'NoDuplicateRefCntMemberChecker.cpp', 'NoExplicitMoveConstructorChecker.cpp', 'NonMemMovableMemberChecker.cpp', 'NonMemMovableTemplateArgChecker.cpp', 'NonParamInsideFunctionDeclChecker.cpp', 'OverrideBaseCallChecker.cpp', 'OverrideBaseCallUsageChecker.cpp', 'RefCountedCopyConstructorChecker.cpp', 'RefCountedInsideLambdaChecker.cpp', 'ScopeChecker.cpp', 'SprintfLiteralChecker.cpp', 'TrivialCtorDtorChecker.cpp', 'VariableUsageHelpers.cpp', ] GENERATED_FILES += ['ThirdPartyPaths.cpp'] third_party_paths = GENERATED_FILES['ThirdPartyPaths.cpp'] third_party_paths.script = "ThirdPartyPaths.py:generate" third_party_paths.inputs = [ '/tools/rewriting/ThirdPartyPaths.txt', ] DISABLE_STL_WRAPPING = True NO_VISIBILITY_FLAGS = True # libc++ is required to build plugins against clang on OS X. if CONFIG['HOST_OS_ARCH'] == 'Darwin': CXXFLAGS += ['-stdlib=libc++'] LDFLAGS += ['-lc++'] DIRS += [ 'tests', ]