@@ -722,31 +722,173 @@ def get_cmake_build_command(builder_type, build_dir, targets=None):
722722 return cmd
723723
724724
725+ # options in LLVM that we always want OFF because they aren't needed
726+ # for Halide buildbot usage.
727+ _LLVM_OFF_OPTS = [
728+ "CLANG_ENABLE_ARCMT"
729+ "CLANG_ENABLE_CLANGD"
730+ "CLANG_ENABLE_STATIC_ANALYZER"
731+ "CLANG_INCLUDE_DOCS"
732+ "CLANG_INSTALL_SCANBUILD"
733+ "CLANG_INSTALL_SCANVIEW"
734+ "CLANG_PLUGIN_SUPPORT"
735+ "CLANG_TIDY_ENABLE_STATIC_ANALYZER"
736+ "CLANG_TOOL_APINOTES_TEST_BUILD"
737+ "CLANG_TOOL_ARCMT_TEST_BUILD"
738+ "CLANG_TOOL_C_ARCMT_TEST_BUILD"
739+ "CLANG_TOOL_C_INDEX_TEST_BUILD"
740+ "CLANG_TOOL_CLANG_CHECK_BUILD"
741+ "CLANG_TOOL_CLANG_DIFF_BUILD"
742+ "CLANG_TOOL_CLANG_EXTDEF_MAPPING_BUILD"
743+ "CLANG_TOOL_CLANG_FORMAT_BUILD"
744+ "CLANG_TOOL_CLANG_FORMAT_VS_BUILD"
745+ "CLANG_TOOL_CLANG_FUZZER_BUILD"
746+ "CLANG_TOOL_CLANG_IMPORT_TEST_BUILD"
747+ "CLANG_TOOL_CLANG_LINKER_WRAPPER_BUILD"
748+ "CLANG_TOOL_CLANG_OFFLOAD_BUNDLER_BUILD"
749+ "CLANG_TOOL_CLANG_OFFLOAD_PACKAGER_BUILD"
750+ "CLANG_TOOL_CLANG_REFACTOR_BUILD"
751+ "CLANG_TOOL_CLANG_RENAME_BUILD"
752+ "CLANG_TOOL_CLANG_REPL_BUILD"
753+ "CLANG_TOOL_CLANG_SCAN_DEPS_BUILD"
754+ "CLANG_TOOL_CLANG_SHLIB_BUILD"
755+ "CLANG_TOOL_DIAGTOOL_BUILD"
756+ "CLANG_TOOL_DICTIONARY_BUILD"
757+ "CLANG_TOOL_LIBCLANG_BUILD"
758+ "CLANG_TOOL_NVPTX_ARCH_BUILD"
759+ "CLANG_TOOL_SCAN_BUILD_BUILD"
760+ "CLANG_TOOL_SCAN_BUILD_PY_BUILD"
761+ "CLANG_TOOL_SCAN_VIEW_BUILD"
762+ "CLANG_TOOLS_EXTRA_INCLUDE_DOCS"
763+ "LLVM_BUILD_UTILS"
764+ "LLVM_ENABLE_BINDINGS"
765+ "LLVM_ENABLE_CURL"
766+ "LLVM_ENABLE_DIA_SDK"
767+ "LLVM_ENABLE_HTTPLIB"
768+ "LLVM_ENABLE_IDE"
769+ "LLVM_ENABLE_LIBXML2"
770+ "LLVM_ENABLE_OCAMLDOC"
771+ "LLVM_ENABLE_PLUGINS"
772+ "LLVM_ENABLE_TERMINFO"
773+ "LLVM_ENABLE_WARNINGS"
774+ "LLVM_ENABLE_ZSTD" ,
775+ "LLVM_INCLUDE_BENCHMARKS"
776+ "LLVM_INCLUDE_DOCS"
777+ "LLVM_INCLUDE_EXAMPLES"
778+ "LLVM_INCLUDE_TESTS"
779+ "LLVM_INCLUDE_UTILS"
780+ "LLVM_TOOL_BUGPOINT_BUILD"
781+ "LLVM_TOOL_BUGPOINT_PASSES_BUILD"
782+ "LLVM_TOOL_DSYMUTIL_BUILD"
783+ "LLVM_TOOL_DXIL_DIS_BUILD"
784+ "LLVM_TOOL_GOLD_BUILD"
785+ "LLVM_TOOL_LLC_BUILD"
786+ "LLVM_TOOL_LLI_BUILD"
787+ "LLVM_TOOL_LLVM_AR_BUILD"
788+ # "LLVM_TOOL_LLVM_AS_BUILD" -- no: ClangConfig.cmake needs this
789+ # "LLVM_TOOL_LLVM_AS_FUZZER_BUILD" -- no: ClangConfig.cmake needs this
790+ "LLVM_TOOL_LLVM_BCANALYZER_BUILD"
791+ "LLVM_TOOL_LLVM_C_TEST_BUILD"
792+ "LLVM_TOOL_LLVM_CAT_BUILD"
793+ "LLVM_TOOL_LLVM_CFI_VERIFY_BUILD"
794+ "LLVM_TOOL_LLVM_COV_BUILD"
795+ "LLVM_TOOL_LLVM_CVTRES_BUILD"
796+ "LLVM_TOOL_LLVM_CXXDUMP_BUILD"
797+ "LLVM_TOOL_LLVM_CXXFILT_BUILD"
798+ "LLVM_TOOL_LLVM_CXXMAP_BUILD"
799+ "LLVM_TOOL_LLVM_DEBUGINFO_ANALYZER_BUILD"
800+ "LLVM_TOOL_LLVM_DEBUGINFOD_BUILD"
801+ "LLVM_TOOL_LLVM_DEBUGINFOD_FIND_BUILD"
802+ "LLVM_TOOL_LLVM_DIFF_BUILD"
803+ "LLVM_TOOL_LLVM_DIS_BUILD"
804+ "LLVM_TOOL_LLVM_DIS_FUZZER_BUILD"
805+ "LLVM_TOOL_LLVM_DLANG_DEMANGLE_FUZZER_BUILD"
806+ "LLVM_TOOL_LLVM_DWARFDUMP_BUILD"
807+ "LLVM_TOOL_LLVM_DWARFUTIL_BUILD"
808+ "LLVM_TOOL_LLVM_DWP_BUILD"
809+ "LLVM_TOOL_LLVM_EXEGESIS_BUILD"
810+ "LLVM_TOOL_LLVM_EXTRACT_BUILD"
811+ "LLVM_TOOL_LLVM_GSYMUTIL_BUILD"
812+ "LLVM_TOOL_LLVM_IFS_BUILD"
813+ "LLVM_TOOL_LLVM_ISEL_FUZZER_BUILD"
814+ "LLVM_TOOL_LLVM_ITANIUM_DEMANGLE_FUZZER_BUILD"
815+ "LLVM_TOOL_LLVM_JITLINK_BUILD"
816+ "LLVM_TOOL_LLVM_JITLISTENER_BUILD"
817+ "LLVM_TOOL_LLVM_LIBTOOL_DARWIN_BUILD"
818+ "LLVM_TOOL_LLVM_LINK_BUILD"
819+ "LLVM_TOOL_LLVM_LIPO_BUILD"
820+ "LLVM_TOOL_LLVM_LTO2_BUILD"
821+ "LLVM_TOOL_LLVM_LTO_BUILD"
822+ "LLVM_TOOL_LLVM_MC_ASSEMBLE_FUZZER_BUILD"
823+ "LLVM_TOOL_LLVM_MC_BUILD"
824+ "LLVM_TOOL_LLVM_MC_DISASSEMBLE_FUZZER_BUILD"
825+ "LLVM_TOOL_LLVM_MCA_BUILD"
826+ "LLVM_TOOL_LLVM_MICROSOFT_DEMANGLE_FUZZER_BUILD"
827+ "LLVM_TOOL_LLVM_ML_BUILD"
828+ "LLVM_TOOL_LLVM_MODEXTRACT_BUILD"
829+ "LLVM_TOOL_LLVM_MT_BUILD"
830+ "LLVM_TOOL_LLVM_NM_BUILD"
831+ "LLVM_TOOL_LLVM_OBJCOPY_BUILD"
832+ "LLVM_TOOL_LLVM_OBJDUMP_BUILD"
833+ "LLVM_TOOL_LLVM_OPT_FUZZER_BUILD"
834+ "LLVM_TOOL_LLVM_OPT_REPORT_BUILD"
835+ "LLVM_TOOL_LLVM_PDBUTIL_BUILD"
836+ "LLVM_TOOL_LLVM_PROFDATA_BUILD"
837+ "LLVM_TOOL_LLVM_PROFGEN_BUILD"
838+ "LLVM_TOOL_LLVM_RC_BUILD"
839+ "LLVM_TOOL_LLVM_READOBJ_BUILD"
840+ "LLVM_TOOL_LLVM_READTAPI_BUILD"
841+ "LLVM_TOOL_LLVM_REDUCE_BUILD"
842+ "LLVM_TOOL_LLVM_REMARKUTIL_BUILD"
843+ "LLVM_TOOL_LLVM_RTDYLD_BUILD"
844+ "LLVM_TOOL_LLVM_RUST_DEMANGLE_FUZZER_BUILD"
845+ "LLVM_TOOL_LLVM_SHLIB_BUILD"
846+ "LLVM_TOOL_LLVM_SIM_BUILD"
847+ "LLVM_TOOL_LLVM_SIZE_BUILD"
848+ "LLVM_TOOL_LLVM_SPECIAL_CASE_LIST_FUZZER_BUILD"
849+ "LLVM_TOOL_LLVM_SPLIT_BUILD"
850+ "LLVM_TOOL_LLVM_STRESS_BUILD"
851+ "LLVM_TOOL_LLVM_STRINGS_BUILD"
852+ "LLVM_TOOL_LLVM_SYMBOLIZER_BUILD"
853+ "LLVM_TOOL_LLVM_TLI_CHECKER_BUILD"
854+ "LLVM_TOOL_LLVM_UNDNAME_BUILD"
855+ "LLVM_TOOL_LLVM_XRAY_BUILD"
856+ "LLVM_TOOL_LLVM_YAML_NUMERIC_PARSER_FUZZER_BUILD"
857+ "LLVM_TOOL_LLVM_YAML_PARSER_FUZZER_BUILD"
858+ "LLVM_TOOL_LTO_BUILD"
859+ "LLVM_TOOL_MLIR_BUILD"
860+ "LLVM_TOOL_OBJ2YAML_BUILD"
861+ "LLVM_TOOL_OPENMP_BUILD"
862+ "LLVM_TOOL_OPT_BUILD"
863+ "LLVM_TOOL_OPT_VIEWER_BUILD"
864+ "LLVM_TOOL_POLLY_BUILD"
865+ "LLVM_TOOL_PSTL_BUILD"
866+ "LLVM_TOOL_REMARKS_SHLIB_BUILD"
867+ "LLVM_TOOL_SANCOV_BUILD"
868+ "LLVM_TOOL_SANSTATS_BUILD"
869+ "LLVM_TOOL_SPIRV_TOOLS_BUILD"
870+ "LLVM_TOOL_VERIFY_USELISTORDER_BUILD"
871+ "LLVM_TOOL_VFABI_DEMANGLE_FUZZER_BUILD"
872+ "LLVM_TOOL_XCODE_TOOLCHAIN_BUILD"
873+ "LLVM_TOOL_YAML2OBJ_BUILD"
874+ ]
875+
876+
725877def get_llvm_cmake_definitions (builder_type ):
726878 # Keep sorted!
727879 definitions = {
728880 'CMAKE_BUILD_TYPE' : 'Release' ,
729881 'CMAKE_INSTALL_PREFIX' : get_llvm_install_path (builder_type ),
730882 'LLVM_BUILD_32_BITS' : ('ON' if builder_type .bits == 32 else 'OFF' ),
731883 'LLVM_ENABLE_ASSERTIONS' : 'ON' ,
732- 'LLVM_ENABLE_BINDINGS' : 'OFF' ,
733- 'LLVM_ENABLE_CURL' : 'OFF' ,
734- 'LLVM_ENABLE_DIA_SDK' : 'OFF' ,
735- 'LLVM_ENABLE_HTTPLIB' : 'OFF' ,
736- 'LLVM_ENABLE_IDE' : 'OFF' ,
737- 'LLVM_ENABLE_LIBXML2' : 'OFF' ,
738- 'LLVM_ENABLE_OCAMLDOC' : 'OFF' ,
739884 'LLVM_ENABLE_RTTI' : 'ON' ,
740- 'LLVM_ENABLE_TERMINFO' : 'OFF' ,
741- 'LLVM_ENABLE_WARNINGS' : 'OFF' , # silence them, it's not like we're gonna fix them
742885 'LLVM_ENABLE_ZLIB' : 'ON' ,
743- 'LLVM_ENABLE_ZSTD' : 'OFF' ,
744- 'LLVM_INCLUDE_BENCHMARKS' : 'OFF' ,
745- 'LLVM_INCLUDE_EXAMPLES' : 'OFF' ,
746- 'LLVM_INCLUDE_TESTS' : 'OFF' ,
747886 'LLVM_TARGETS_TO_BUILD' : 'X86;ARM;NVPTX;AArch64;Hexagon;PowerPC;WebAssembly' ,
748887 }
749888
889+ for off in _LLVM_OFF_OPTS :
890+ definitions [off ] = 'OFF'
891+
750892 if builder_type .bits == 32 :
751893 definitions ['CMAKE_FIND_ROOT_PATH_MODE_INCLUDE' ] = "ONLY"
752894 definitions ['CMAKE_FIND_ROOT_PATH_MODE_LIBRARY' ] = "ONLY"
0 commit comments