llvm/tools sets LLVM_TOOL_LTO_BUILD to Off if LLVM_ENABLE_PIC=OFF, but that's
not visible in llvm/test.
r289662 added the llvm_tool_lto_build lit parameter, there the intent was to
use it with an explicit -DLLVM_TOOL_LTO_BUILD=OFF, which is visible globally.
On the review for that (D27739), a mild preference was expressed for using a
lit parameter over checking the existence of libLTO.dylib. Since that works
with the LLVM_ENABLE_PIC=OFF case too and since it matches what we do for the
gold plugin, switch to that approach.
Differential Revision: https://reviews.llvm.org/D56805
llvm-svn: 351515
def have_ld64_plugin_support():
- if not config.llvm_tool_lto_build or config.ld64_executable == '':
+ if not os.path.exists(os.path.join(config.llvm_shlib_dir, 'libLTO' + config.llvm_shlib_ext)):
+ return False
+
+ if config.ld64_executable == '':
return False
ld_cmd = subprocess.Popen(
config.python_executable = "@PYTHON_EXECUTABLE@"
config.gold_executable = "@GOLD_EXECUTABLE@"
config.ld64_executable = "@LD64_EXECUTABLE@"
-config.llvm_tool_lto_build = @LLVM_TOOL_LTO_BUILD@
config.ocamlfind_executable = "@OCAMLFIND@"
config.have_ocamlopt = @HAVE_OCAMLOPT@
config.have_ocaml_ounit = @HAVE_OCAML_OUNIT@
"LLVM_LINK_LLVM_DYLIB=0",
"LLVM_LIT_TOOLS_DIR=", # Intentionally empty, matches cmake build.
"LLVM_NATIVE_ARCH=$native_target",
- "LLVM_TOOL_LTO_BUILD=1", # The GN build always builds //llvm/tools/lto.
"LLVM_USE_INTEL_JITEVENTS=0",
"LLVM_USE_SANITIZER=",
"PYTHON_EXECUTABLE=$python_path",