enable custom llvm build flags (#2000)

This commit is contained in:
Xu Jun 2023-03-06 06:50:53 +08:00 committed by GitHub
parent e8d718096d
commit e6a0184797
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -47,7 +47,7 @@ def query_llvm_version(llvm_info):
return response['sha']
def build_llvm(llvm_dir, platform, backends, projects, use_clang=False):
def build_llvm(llvm_dir, platform, backends, projects, use_clang=False, extra_flags=''):
LLVM_COMPILE_OPTIONS = [
'-DCMAKE_BUILD_TYPE:STRING="Release"',
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
@ -143,7 +143,7 @@ def build_llvm(llvm_dir, platform, backends, projects, use_clang=False):
+ LLVM_INCLUDE_TOOLS_OPTION
)
CONFIG_CMD = f"cmake {compile_options} ../llvm"
CONFIG_CMD = f"cmake {compile_options} {extra_flags} ../llvm"
if "windows" == platform:
if "mingw" in sysconfig.get_platform().lower():
CONFIG_CMD += " -G'Unix Makefiles'"
@ -227,6 +227,12 @@ def main():
action="store_true",
help="use clang instead of gcc",
)
parser.add_argument(
"--extra-cmake-flags",
type=str,
default="",
help="custom extra cmake flags",
)
options = parser.parse_args()
# if the "platform" is not identified in the command line option,
@ -275,7 +281,8 @@ def main():
llvm_dir = clone_llvm(deps_dir, llvm_info["repo"], llvm_info["branch"])
if (
build_llvm(
llvm_dir, platform, options.arch, options.project, options.use_clang
llvm_dir, platform, options.arch, options.project, options.use_clang,
options.extra_cmake_flags
)
is not None
):