mirror of https://gitee.com/Nocallback/dejagnu.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.3 KiB
51 lines
1.3 KiB
# find_sim -- find a usable simulator
|
|
# This proc is local to this file and is used to locate a simulator to use.
|
|
# First we see if SIM=foo was specified on the command line.
|
|
# Otherwise we search the build tree, then $PATH.
|
|
|
|
proc find_sim { target_alias sim_dir sim_name } {
|
|
global tool_root_dir;
|
|
global SIM
|
|
|
|
if [info exists SIM] {
|
|
return $SIM
|
|
}
|
|
|
|
if [is_remote host] {
|
|
if ![board_info host exists no_transform_name] {
|
|
return ${target_alias}-${sim_name};
|
|
} else {
|
|
return ${sim_name};
|
|
}
|
|
}
|
|
|
|
# We have to search because tool_root_dir may actually point to that blasted
|
|
# "target" subdirectory.
|
|
set try [lookfor_file ${tool_root_dir} sim/${sim_dir}/${sim_name}];
|
|
if { $try != "" } {
|
|
return $try;
|
|
}
|
|
return ${target_alias}-${sim_name};
|
|
}
|
|
|
|
proc setup_sim { subdir_name } {
|
|
global target_alias;
|
|
global tool_root_dir;
|
|
global board;
|
|
|
|
if [info exists target_alias] {
|
|
set tmp $target_alias;
|
|
} else {
|
|
if [board_info $board exists target_install] {
|
|
set tmp [lindex [board_info $board target_install] 0];
|
|
}
|
|
}
|
|
|
|
if ![board_info $board exists sim] {
|
|
set_board_info sim [find_sim $tmp $subdir_name run];
|
|
}
|
|
|
|
verbose "Using simulator [board_info $board sim]\n"
|
|
}
|
|
|
|
set_board_info is_simulator 1;
|
|
|