diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2023-12-11 10:58:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-11 10:58:49 +0800 |
commit | ffe927a567425b5048d9fb03daa7af6d8fd2c8a0 (patch) | |
tree | 11d484239fd7573010cabb002d0924e6b1726156 /scripts/generate_target_board | |
parent | fcc49c7f4a19f6c41383894ef55e0488751ae875 (diff) | |
parent | 7e6696a6c97b09c9dfe36446950921a1280b6ba9 (diff) | |
download | riscv-gnu-toolchain-ffe927a567425b5048d9fb03daa7af6d8fd2c8a0.zip riscv-gnu-toolchain-ffe927a567425b5048d9fb03daa7af6d8fd2c8a0.tar.gz riscv-gnu-toolchain-ffe927a567425b5048d9fb03daa7af6d8fd2c8a0.tar.bz2 |
Merge pull request #1378 from Incarnation-p-lee/master
Add OR operator for option '--with-extra-multilib-test'
Diffstat (limited to 'scripts/generate_target_board')
-rwxr-xr-x | scripts/generate_target_board | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/scripts/generate_target_board b/scripts/generate_target_board index 00d8e9f..9996f7e 100755 --- a/scripts/generate_target_board +++ b/scripts/generate_target_board @@ -29,17 +29,16 @@ def parse_options(argv): # riscv-sim/-march=rv64gcv_zvl256b/-mabi=lp64d/-mcmodel=medlow # From the config_string like below, --param is optional # rv64gcv_zvl128b-lp64d:--param=riscv-autovec-lmul=m1 -def generate_one_target_board(config_string, options): - configs = config_string.split(":") - arch_and_abi = configs[0].split("-") +def generate_one_target_board(arch_abi, flags, options): + arch_and_abi = arch_abi.split("-") arch = arch_and_abi[0] abi = arch_and_abi[1] - if len (configs) == 1: + if len(flags) == 0: return "{0}/-march={1}/-mabi={2}/-mcmodel={3}".format( options.sim_name, arch, abi, options.cmodel) - flags = '/'.join(configs[1:]) + flags = flags.replace(":", "/") return "{0}/-march={1}/-mabi={2}/-mcmodel={3}/{4}".format( options.sim_name, arch, abi, options.cmodel, flags) @@ -52,14 +51,25 @@ def main(argv): return target_board_list = [ - generate_one_target_board(options.build_arch_abi, options) + generate_one_target_board(options.build_arch_abi, "", options) ] if options.extra_test_arch_abi_flags_list: extra_test_list = options.extra_test_arch_abi_flags_list.split (";") for extra_test in extra_test_list: - target_board_list.append(generate_one_target_board(extra_test, options)) + idx = extra_test.find(":") + + if idx == -1: + one_target_board = generate_one_target_board(extra_test, "", options) + target_board_list.append(one_target_board) + else: + arch_abi = extra_test[:idx - 1] + flags = extra_test[idx + 1:] + + for flag in flags.split(","): + one_target_board = generate_one_target_board(arch_abi, flag, options) + target_board_list.append(one_target_board) print(' '.join(target_board_list)) |