diff --git a/clang-tools-extra/clangd/fuzzer/CMakeLists.txt b/clang-tools-extra/clangd/fuzzer/CMakeLists.txt --- a/clang-tools-extra/clangd/fuzzer/CMakeLists.txt +++ b/clang-tools-extra/clangd/fuzzer/CMakeLists.txt @@ -1,5 +1,5 @@ set(LLVM_LINK_COMPONENTS - FuzzMutate + FuzzerCLI Support ) diff --git a/clang-tools-extra/pseudo/fuzzer/CMakeLists.txt b/clang-tools-extra/pseudo/fuzzer/CMakeLists.txt --- a/clang-tools-extra/pseudo/fuzzer/CMakeLists.txt +++ b/clang-tools-extra/pseudo/fuzzer/CMakeLists.txt @@ -1,5 +1,5 @@ set(LLVM_LINK_COMPONENTS - FuzzMutate + FuzzerCLI Support ) diff --git a/clang/tools/clang-fuzzer/CMakeLists.txt b/clang/tools/clang-fuzzer/CMakeLists.txt --- a/clang/tools/clang-fuzzer/CMakeLists.txt +++ b/clang/tools/clang-fuzzer/CMakeLists.txt @@ -1,4 +1,4 @@ -set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} FuzzMutate) +set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} FuzzerCLI) set(CXX_FLAGS_NOFUZZ ${CMAKE_CXX_FLAGS}) set(DUMMY_MAIN DummyClangFuzzer.cpp) if(LLVM_LIB_FUZZING_ENGINE) diff --git a/llvm/lib/FuzzMutate/CMakeLists.txt b/llvm/lib/FuzzMutate/CMakeLists.txt --- a/llvm/lib/FuzzMutate/CMakeLists.txt +++ b/llvm/lib/FuzzMutate/CMakeLists.txt @@ -1,9 +1,23 @@ -add_llvm_component_library(LLVMFuzzMutate +# Generic helper for fuzzer binaries. +# This should not depend on LLVM IR etc. +add_llvm_component_library(LLVMFuzzerCLI FuzzerCLI.cpp + PARTIAL_SOURCES_INTENDED + + ADDITIONAL_HEADER_DIRS + ${LLVM_MAIN_INCLUDE_DIR}/llvm/FuzzMutate + + LINK_COMPONENTS + Support + ) + +# Library for using LLVM IR together with fuzzers. +add_llvm_component_library(LLVMFuzzMutate IRMutator.cpp OpDescriptor.cpp Operations.cpp RandomIRBuilder.cpp + PARTIAL_SOURCES_INTENDED ADDITIONAL_HEADER_DIRS ${LLVM_MAIN_INCLUDE_DIR}/llvm/FuzzMutate diff --git a/llvm/tools/llvm-dlang-demangle-fuzzer/CMakeLists.txt b/llvm/tools/llvm-dlang-demangle-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-dlang-demangle-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-dlang-demangle-fuzzer/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_LINK_COMPONENTS Demangle - FuzzMutate + FuzzerCLI Support ) diff --git a/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt b/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-isel-fuzzer/CMakeLists.txt @@ -9,6 +9,7 @@ BitWriter CodeGen Core + FuzzerCLI FuzzMutate IRReader MC diff --git a/llvm/tools/llvm-itanium-demangle-fuzzer/CMakeLists.txt b/llvm/tools/llvm-itanium-demangle-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-itanium-demangle-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-itanium-demangle-fuzzer/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_LINK_COMPONENTS Demangle - FuzzMutate + FuzzerCLI Support ) diff --git a/llvm/tools/llvm-microsoft-demangle-fuzzer/CMakeLists.txt b/llvm/tools/llvm-microsoft-demangle-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-microsoft-demangle-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-microsoft-demangle-fuzzer/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_LINK_COMPONENTS Demangle - FuzzMutate + FuzzerCLI Support ) diff --git a/llvm/tools/llvm-opt-fuzzer/CMakeLists.txt b/llvm/tools/llvm-opt-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-opt-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-opt-fuzzer/CMakeLists.txt @@ -14,6 +14,7 @@ AggressiveInstCombine InstCombine Instrumentation + FuzzerCLI FuzzMutate MC ObjCARCOpts diff --git a/llvm/tools/llvm-rust-demangle-fuzzer/CMakeLists.txt b/llvm/tools/llvm-rust-demangle-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-rust-demangle-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-rust-demangle-fuzzer/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_LINK_COMPONENTS Demangle - FuzzMutate + FuzzerCLI Support ) diff --git a/llvm/tools/llvm-special-case-list-fuzzer/CMakeLists.txt b/llvm/tools/llvm-special-case-list-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-special-case-list-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-special-case-list-fuzzer/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_LINK_COMPONENTS Support - FuzzMutate + FuzzerCLI ) add_llvm_fuzzer(llvm-special-case-list-fuzzer diff --git a/llvm/tools/llvm-yaml-numeric-parser-fuzzer/CMakeLists.txt b/llvm/tools/llvm-yaml-numeric-parser-fuzzer/CMakeLists.txt --- a/llvm/tools/llvm-yaml-numeric-parser-fuzzer/CMakeLists.txt +++ b/llvm/tools/llvm-yaml-numeric-parser-fuzzer/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_LINK_COMPONENTS Support - FuzzMutate + FuzzerCLI ) add_llvm_fuzzer(llvm-yaml-numeric-parser-fuzzer diff --git a/mlir/tools/mlir-parser-fuzzer/CMakeLists.txt b/mlir/tools/mlir-parser-fuzzer/CMakeLists.txt --- a/mlir/tools/mlir-parser-fuzzer/CMakeLists.txt +++ b/mlir/tools/mlir-parser-fuzzer/CMakeLists.txt @@ -1,5 +1,5 @@ set(LLVM_LINK_COMPONENTS - FuzzMutate + FuzzerCLI Support ) add_llvm_fuzzer(mlir-parser-fuzzer