| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/usr/bin/python3
- #
- # Copyright (C) 2019 Intel Corporation. All rights reserved.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- #
- import os
- WORK_DIR = os.getcwd()
- WAMR_DIR = os.path.join(WORK_DIR, "../../../")
- IWASM_DIR = os.path.join(
- WORK_DIR, "../../../product-mini/platforms/linux")
- def compile_llvm():
- print("============ compile llvm =============")
- os.chdir(os.path.join(WAMR_DIR, "wamr-compiler"))
- exit_status = os.system("./build_llvm.sh")
- assert exit_status >> 8 == 0, "compile llvm failed, add -v for detail error output"
- print("============ compile llvm successful =============")
- def compile_wamrc(verbose: bool):
- print("============ compile wamrc =============")
- os.chdir(os.path.join(WAMR_DIR, "wamr-compiler"))
- os.system("rm -rf build")
- os.system("mkdir build")
- exit_status = os.system(
- f"cmake -DWAMR_BUILD_GC=1 -B build {'' if verbose else '> /dev/null 2>&1'}")
- exit_status |= os.system(
- f"cmake --build build -j {os.cpu_count()} {'' if verbose else '> /dev/null 2>&1'}"
- )
- assert exit_status >> 8 == 0, "compile wamrc failed, add -v for detail error output"
- print("============ compile wamrc successful =============")
- def compile_iwasm(verbose: bool):
- print("============ compile iwasm =============")
- os.chdir(IWASM_DIR)
- os.system("rm -rf build")
- os.system("mkdir build")
- exit_status = os.system(
- f"cmake -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_GC=1 -DWAMR_BUILD_SPEC_TEST=1 -B build {'' if verbose else '> /dev/null 2>&1'}"
- )
- exit_status |= os.system(
- f"cmake --build build -j {os.cpu_count()} {'' if verbose else '> /dev/null 2>&1'}"
- )
- os.chdir(WORK_DIR)
- assert exit_status >> 8 == 0, "compile iwasm failed, add -v for detail error output"
- print("============ compile iwasm successful =============")
- def compile_spec_interpreter():
- print("============ compile spec interpreter =============")
- os.chdir(WORK_DIR)
- exit_status = os.system("./build_spec_interpreter.sh")
- assert exit_status >> 8 == 0, "compile spec interpreter failed."
- print("============ compile spec interpreter successful =============")
- def build(verbose: bool) -> None:
- compile_llvm()
- compile_wamrc(verbose)
- compile_iwasm(verbose)
- compile_spec_interpreter()
- return
- if __name__ == "__main__":
- build(True)
|