diff --git a/llvm/cmake/modules/LLVM-Build.cmake b/llvm/cmake/modules/LLVM-Build.cmake index 525186cbbb19..ca5d0dfdc2e7 100644 --- a/llvm/cmake/modules/LLVM-Build.cmake +++ b/llvm/cmake/modules/LLVM-Build.cmake @@ -17,6 +17,7 @@ function(LLVMBuildGenerateCFragment) endforeach() list(LENGTH llvmbuild_components llvmbuild_components_size) + math(EXPR components_size "${llvmbuild_components_size} + 4") file(WRITE ${ARG_OUTPUT} " struct AvailableComponent { @@ -30,8 +31,8 @@ function(LLVMBuildGenerateCFragment) bool IsInstalled; /// The list of libraries required when linking this component. - const char *RequiredLibraries[${llvmbuild_components_size}]; - } AvailableComponents[${llvmbuild_components_size}] = { + const char *RequiredLibraries[${components_size}]; + } AvailableComponents[${components_size}] = { ") foreach(llvmbuild_component ${llvmbuild_components}) @@ -73,6 +74,10 @@ function(LLVMBuildGenerateCFragment) foreach(llvmbuild_centry ${llvmbuild_centries}) file(APPEND ${ARG_OUTPUT} "${llvmbuild_centry}") endforeach() + file(APPEND ${ARG_OUTPUT} "{ \"lldcommon\", \"lldCommon\", true, {} },\n") + file(APPEND ${ARG_OUTPUT} "{ \"lldelf\", \"lldELF\", true, {} },\n") + file(APPEND ${ARG_OUTPUT} "{ \"lldc\", \"lldC\", true, {} },\n") + file(APPEND ${ARG_OUTPUT} "{ \"lld\", nullptr, true, {\"lldcommon\", \"lldelf\", \"lldc\"} },\n") file(APPEND ${ARG_OUTPUT} "};") endfunction() diff --git a/llvm/utils/gn/build/write_library_dependencies.py b/llvm/utils/gn/build/write_library_dependencies.py index ba1a8a015731..0fb772d1141b 100644 --- a/llvm/utils/gn/build/write_library_dependencies.py +++ b/llvm/utils/gn/build/write_library_dependencies.py @@ -18,10 +18,10 @@ bool IsInstalled; /// The list of libraries required when linking this component. - const char *RequiredLibraries[84]; - } AvailableComponents[84] = { + const char *RequiredLibraries[88]; + } AvailableComponents[88] = { { "aggressiveinstcombine", "LLVMAggressiveInstCombine", true, {"analysis", "core", "support", "transformutils"} }, -{ "all", nullptr, true, {"demangle", "support", "tablegen", "core", "fuzzmutate", "filecheck", "interfacestub", "irreader", "codegen", "selectiondag", "asmprinter", "mirparser", "globalisel", "binaryformat", "bitreader", "bitwriter", "bitstreamreader", "dwarflinker", "extensions", "frontendopenmp", "transformutils", "instrumentation", "aggressiveinstcombine", "instcombine", "scalaropts", "ipo", "vectorize", "objcarcopts", "coroutines", "cfguard", "linker", "analysis", "lto", "mc", "mcparser", "mcdisassembler", "mca", "object", "objectyaml", "option", "remarks", "debuginfodwarf", "debuginfogsym", "debuginfomsf", "debuginfocodeview", "debuginfopdb", "symbolize", "executionengine", "interpreter", "jitlink", "mcjit", "orcjit", "orcshared", "orctargetprocess", "runtimedyld", "target", "asmparser", "lineeditor", "profiledata", "coverage", "passes", "textapi", "dlltooldriver", "libdriver", "xray", "windowsmanifest"} }, +{ "all", nullptr, true, {"demangle", "support", "tablegen", "core", "fuzzmutate", "filecheck", "interfacestub", "irreader", "codegen", "selectiondag", "asmprinter", "mirparser", "globalisel", "binaryformat", "bitreader", "bitwriter", "bitstreamreader", "dwarflinker", "extensions", "frontendopenmp", "transformutils", "instrumentation", "aggressiveinstcombine", "instcombine", "scalaropts", "ipo", "vectorize", "objcarcopts", "coroutines", "cfguard", "linker", "analysis", "lto", "mc", "mcparser", "mcdisassembler", "mca", "object", "objectyaml", "option", "remarks", "debuginfodwarf", "debuginfogsym", "debuginfomsf", "debuginfocodeview", "debuginfopdb", "symbolize", "executionengine", "interpreter", "jitlink", "mcjit", "orcjit", "orcshared", "orctargetprocess", "runtimedyld", "target", "asmparser", "lineeditor", "profiledata", "coverage", "passes", "textapi", "dlltooldriver", "libdriver", "xray", "windowsmanifest", "lld"} }, { "all-targets", nullptr, true, {} }, { "analysis", "LLVMAnalysis", true, {"binaryformat", "core", "object", "profiledata", "support"} }, { "asmparser", "LLVMAsmParser", true, {"binaryformat", "core", "support"} }, @@ -91,6 +91,10 @@ { "vectorize", "LLVMVectorize", true, {"analysis", "core", "support", "transformutils"} }, { "windowsmanifest", "LLVMWindowsManifest", true, {"support"} }, { "xray", "LLVMXRay", true, {"support", "object"} }, +{ "lldcommon", "lldCommon", true, {} }, +{ "lldelf", "lldELF", true, {} }, +{ "lldc", "lldC", true, {} }, +{ "lld", "null", true, {"lldcommon", "lldelf", "lldc"} }, }; """