From b44dace9d87ff8bb367cfb1dc9d483994f30b959 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 21 Apr 2023 23:28:50 +1000 Subject: [PATCH] Build: remove smatch, sparse & splint checking scripts These checkers were all C-only making them increasingly less useful. --- GNUmakefile | 18 ---- .../cmake/cmake_static_check_smatch.py | 58 ------------- .../cmake/cmake_static_check_sparse.py | 56 ------------ .../cmake/cmake_static_check_splint.py | 86 ------------------- 4 files changed, 218 deletions(-) delete mode 100644 build_files/cmake/cmake_static_check_smatch.py delete mode 100644 build_files/cmake/cmake_static_check_sparse.py delete mode 100644 build_files/cmake/cmake_static_check_splint.py diff --git a/GNUmakefile b/GNUmakefile index 95626ec591d..33a0dec4106 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -58,9 +58,6 @@ Static Source Code Checking * check_cppcheck: Run blender source through cppcheck (C & C++). * check_clang_array: Run blender source through clang array checking script (C & C++). * check_deprecated: Check if there is any deprecated code to remove. - * check_splint: Run blenders source through splint (C only). - * check_sparse: Run blenders source through sparse (C only). - * check_smatch: Run blenders source through smatch (C only). * check_descriptions: Check for duplicate/invalid descriptions. * check_licenses: Check license headers follow the SPDX license specification, using one of the accepted licenses in 'doc/license/SPDX-license-identifiers.txt' @@ -474,21 +471,6 @@ check_clang_array: .FORCE @cd "$(BUILD_DIR)" ; \ $(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_clang_array.py" -check_splint: .FORCE - @$(CMAKE_CONFIG) - @cd "$(BUILD_DIR)" ; \ - $(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_splint.py" - -check_sparse: .FORCE - @$(CMAKE_CONFIG) - @cd "$(BUILD_DIR)" ; \ - $(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_sparse.py" - -check_smatch: .FORCE - @$(CMAKE_CONFIG) - @cd "$(BUILD_DIR)" ; \ - $(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_smatch.py" - check_mypy: .FORCE @$(PYTHON) "$(BLENDER_DIR)/tools/check_source/check_mypy.py" diff --git a/build_files/cmake/cmake_static_check_smatch.py b/build_files/cmake/cmake_static_check_smatch.py deleted file mode 100644 index 63d8b524231..00000000000 --- a/build_files/cmake/cmake_static_check_smatch.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 -# SPDX-License-Identifier: GPL-2.0-or-later - -CHECKER_IGNORE_PREFIX = [ - "extern", - "intern/moto", -] - -CHECKER_BIN = "smatch" -CHECKER_ARGS = [ - "--full-path", - "--two-passes", -] - -import project_source_info -import subprocess -import sys -import os - -USE_QUIET = (os.environ.get("QUIET", None) is not None) - - -def main(): - source_info = project_source_info.build_info(use_cxx=False, ignore_prefix_list=CHECKER_IGNORE_PREFIX) - source_defines = project_source_info.build_defines_as_args() - - check_commands = [] - for c, inc_dirs, defs in source_info: - - cmd = ([CHECKER_BIN] + - CHECKER_ARGS + - [c] + - [("-I%s" % i) for i in inc_dirs] + - [("-D%s" % d) for d in defs] + - source_defines - ) - - check_commands.append((c, cmd)) - - def my_process(i, c, cmd): - if not USE_QUIET: - percent = 100.0 * (i / len(check_commands)) - percent_str = "[" + ("%.2f]" % percent).rjust(7) + " %:" - - sys.stdout.flush() - sys.stdout.write("%s %s\n" % (percent_str, c)) - - return subprocess.Popen(cmd) - - process_functions = [] - for i, (c, cmd) in enumerate(check_commands): - process_functions.append((my_process, (i, c, cmd))) - - project_source_info.queue_processes(process_functions) - - -if __name__ == "__main__": - main() diff --git a/build_files/cmake/cmake_static_check_sparse.py b/build_files/cmake/cmake_static_check_sparse.py deleted file mode 100644 index 35641f5f8d1..00000000000 --- a/build_files/cmake/cmake_static_check_sparse.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python3 -# SPDX-License-Identifier: GPL-2.0-or-later - -CHECKER_IGNORE_PREFIX = [ - "extern", - "intern/moto", -] - -CHECKER_BIN = "sparse" -CHECKER_ARGS = [ -] - -import project_source_info -import subprocess -import sys -import os - -USE_QUIET = (os.environ.get("QUIET", None) is not None) - - -def main(): - source_info = project_source_info.build_info(use_cxx=False, ignore_prefix_list=CHECKER_IGNORE_PREFIX) - source_defines = project_source_info.build_defines_as_args() - - check_commands = [] - for c, inc_dirs, defs in source_info: - - cmd = ([CHECKER_BIN] + - CHECKER_ARGS + - [c] + - [("-I%s" % i) for i in inc_dirs] + - [("-D%s" % d) for d in defs] + - source_defines - ) - - check_commands.append((c, cmd)) - - def my_process(i, c, cmd): - if not USE_QUIET: - percent = 100.0 * (i / len(check_commands)) - percent_str = "[" + ("%.2f]" % percent).rjust(7) + " %:" - - sys.stdout.flush() - sys.stdout.write("%s %s\n" % (percent_str, c)) - - return subprocess.Popen(cmd) - - process_functions = [] - for i, (c, cmd) in enumerate(check_commands): - process_functions.append((my_process, (i, c, cmd))) - - project_source_info.queue_processes(process_functions) - - -if __name__ == "__main__": - main() diff --git a/build_files/cmake/cmake_static_check_splint.py b/build_files/cmake/cmake_static_check_splint.py deleted file mode 100644 index 238377e58cf..00000000000 --- a/build_files/cmake/cmake_static_check_splint.py +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env python3 -# SPDX-License-Identifier: GPL-2.0-or-later - -CHECKER_IGNORE_PREFIX = [ - "extern", - "intern/moto", -] - -CHECKER_BIN = "splint" - -CHECKER_ARGS = [ - "-weak", - "-posix-lib", - "-linelen", "10000", - "+ignorequals", - "+relaxtypes", - "-retvalother", - "+matchanyintegral", - "+longintegral", - "+ignoresigns", - "-nestcomment", - "-predboolothers", - "-ifempty", - "-unrecogcomments", - - # we may want to remove these later - "-type", - "-fixedformalarray", - "-fullinitblock", - "-fcnuse", - "-initallelements", - "-castfcnptr", - # -forcehints, - "-bufferoverflowhigh", # warns a lot about sprintf() - - # re-definitions, rna causes most of these - "-redef", - "-syntax", - - # dummy, witjout this splint complains with: - # /usr/include/bits/confname.h:31:27: *** Internal Bug at cscannerHelp.c:2428: Unexpanded macro not function or constant: int _PC_MAX_CANON - "-D_PC_MAX_CANON=0", -] - - -import project_source_info -import subprocess -import sys -import os - -USE_QUIET = (os.environ.get("QUIET", None) is not None) - - -def main(): - source_info = project_source_info.build_info(use_cxx=False, ignore_prefix_list=CHECKER_IGNORE_PREFIX) - - check_commands = [] - for c, inc_dirs, defs in source_info: - cmd = ([CHECKER_BIN] + - CHECKER_ARGS + - [c] + - [("-I%s" % i) for i in inc_dirs] + - [("-D%s" % d) for d in defs] - ) - - check_commands.append((c, cmd)) - - def my_process(i, c, cmd): - if not USE_QUIET: - percent = 100.0 * (i / len(check_commands)) - percent_str = "[" + ("%.2f]" % percent).rjust(7) + " %:" - - sys.stdout.write("%s %s\n" % (percent_str, c)) - sys.stdout.flush() - - return subprocess.Popen(cmd) - - process_functions = [] - for i, (c, cmd) in enumerate(check_commands): - process_functions.append((my_process, (i, c, cmd))) - - project_source_info.queue_processes(process_functions) - - -if __name__ == "__main__": - main()