[lld] respect LLVM_EXTERNAL_LIT

Consider a setup without a system-wide installation of lit.
Instead you pass the path to lit like this:

```
cmake ...
-DLLVM_EXTERNAL_LIT=<PATH_TO_LIT_BINARY> ...
```

Then you will run into this error:

```
ninja: error: unknown target 'check-lld'
```

I have a buildbot builder that fails with this message. Here's the
passage that triggers this error:

d3bfd5ccbc/zorg/buildbot/builders/annotated/standalone-build.sh (L194-L239)

By using `LLVM_EXTERNAL_LIT` instead of `LLVM_LIT` we fix this problem.

See
[here](https://llvm.org/docs/GettingStarted.html#stand-alone-builds) for
a description:

> Both the LLVM_ROOT and LLVM_EXTERNAL_LIT options are required to do stand-alone builds for all sub-projects. Additional required options for each sub-project can be found in the table below.

Differential Revision: https://reviews.llvm.org/D154599
This commit is contained in:
Konrad Kleine
2023-07-06 14:05:02 +02:00
parent 8af9a373ad
commit 58fb2c7a6c

View File

@@ -61,7 +61,7 @@ if(LLD_BUILT_STANDALONE)
if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
# Note: path not really used, except for checking if lit was found
set(LLVM_LIT ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
set(LLVM_EXTERNAL_LIT ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
if(NOT LLVM_UTILS_PROVIDED)
add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/FileCheck utils/FileCheck)
add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/not utils/not)
@@ -74,13 +74,13 @@ if(LLD_BUILT_STANDALONE)
endif()
else()
# Seek installed Lit.
find_program(LLVM_LIT
find_program(LLVM_EXTERNAL_LIT
NAMES llvm-lit lit.py lit
PATHS "${LLVM_MAIN_SRC_DIR}/utils/lit"
DOC "Path to lit.py")
endif()
if(LLVM_LIT)
if(LLVM_EXTERNAL_LIT)
# Define the default arguments to use with 'lit', and an option for the user
# to override.
set(LIT_ARGS_DEFAULT "-sv")