| 102 | |
| 103 | |
| 104 | def build_benchmarker(x86_target="fallback", arch_str=None, benchmarkers=None): |
| 105 | for arch_desc in arch_str: |
| 106 | benchmark_build_dir = "{}/benchmark/build/{}".format( |
| 107 | megcc_path, arch_desc) |
| 108 | subprocess.check_call("rm -rf {}".format(benchmark_build_dir), |
| 109 | shell=True) |
| 110 | if arch_desc == "x86": |
| 111 | build_option = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install -DRUNTIME_KERNEL_DIR={}".format( |
| 112 | kernel_build_dirs[arch_desc]) |
| 113 | else: |
| 114 | if arch_desc == "arm64": |
| 115 | TOOLCHAIN_OPTION = '-DCMAKE_TOOLCHAIN_FILE="$NDK_ROOT/build/cmake/android.toolchain.cmake" -DANDROID_NDK="$NDK_ROOT" -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=21' |
| 116 | elif arch_desc == "armv7": |
| 117 | TOOLCHAIN_OPTION = '-DCMAKE_TOOLCHAIN_FILE="$NDK_ROOT/build/cmake/android.toolchain.cmake" -DANDROID_NDK="$NDK_ROOT" -DANDROID_ABI=armeabi-v7a -DANDROID_NATIVE_API_LEVEL=21' |
| 118 | elif arch_desc == "riscv": |
| 119 | TOOLCHAIN_OPTION = '-DCMAKE_TOOLCHAIN_FILE="{}/runtime/toolchains/riscv64-linux-gnu.toolchain.cmake"'.format( |
| 120 | megcc_path) |
| 121 | build_option = "{} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install -DRUNTIME_KERNEL_DIR={}".format( |
| 122 | TOOLCHAIN_OPTION, kernel_build_dirs[arch_desc]) |
| 123 | benchmarkers[arch_desc].build(build_options=build_option) |