def METHOD_NAME(self):
    spec = self.spec
    # Templight is a debugging tool, not a production compiler, so we only
    # need a very bare-bones build of clang
    #
    # Minimal build config ideas were taken from the llvm package, with
    # the templight-specific assumption that we will always be building
    # for LLVM / Clang 5.0+ and can safely ignore older tricks.
    #
    METHOD_NAME = [
        "-DLLVM_REQUIRES_RTTI:BOOL=ON",
        "-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp",
        "-DPYTHON_EXECUTABLE:PATH={0}".format(spec["python"].command.path),
        "-DLLVM_EXTERNAL_POLLY_BUILD:Bool=OFF",
        "-DLLVM_TOOL_POLLY_BUILD:Bool=OFF",
        "-DLLVM_POLLY_BUILD:Bool=OFF",
        "-DLLVM_POLLY_LINK_INTO_TOOLS:Bool=OFF",
        "-DLLVM_EXTERNAL_LLDB_BUILD:Bool=OFF",
        "-DLLVM_TOOL_LLDB_BUILD:Bool=OFF",
        "-DLLVM_TOOL_LLD_BUILD:Bool=OFF",
        "-DLLVM_EXTERNAL_LIBUNWIND_BUILD:Bool=OFF",
        "-DLLVM_EXTERNAL_LIBCXX_BUILD:Bool=OFF",
        "-DLLVM_EXTERNAL_LIBCXXABI_BUILD:Bool=OFF",
        "-DLLVM_EXTERNAL_COMPILER_RT_BUILD:Bool=OFF",
    ]
    targets = ["NVPTX", "AMDGPU"]
    if spec.target.family == "x86" or spec.target.family == "x86_64":
        targets.append("X86")
    elif spec.target.family == "arm":
        targets.append("ARM")
    elif spec.target.family == "aarch64":
        targets.append("AArch64")
    elif spec.target.family == "sparc" or spec.target.family == "sparc64":
        targets.append("Sparc")
    elif (
        spec.target.family == "ppc64"
        or spec.target.family == "ppc64le"
        or spec.target.family == "ppc"
        or spec.target.family == "ppcle"
    ):
        targets.append("PowerPC")
    METHOD_NAME.append("-DLLVM_TARGETS_TO_BUILD:Bool=" + ";".join(targets))
    if spec.satisfies("platform=linux"):
        METHOD_NAME.append("-DCMAKE_BUILD_WITH_INSTALL_RPATH=1")
    return METHOD_NAME