aboutsummaryrefslogtreecommitdiff
path: root/baseboards/basic-sid.exp
diff options
context:
space:
mode:
Diffstat (limited to 'baseboards/basic-sid.exp')
-rw-r--r--baseboards/basic-sid.exp58
1 files changed, 58 insertions, 0 deletions
diff --git a/baseboards/basic-sid.exp b/baseboards/basic-sid.exp
new file mode 100644
index 0000000..290c6f4
--- /dev/null
+++ b/baseboards/basic-sid.exp
@@ -0,0 +1,58 @@
+# find_sid -- find a usable SID simulator.
+# This proc is local to this file and is used to locate a SID to use.
+# Search the build tree, then $PATH.
+#
+# Written by Ben Elliston (bje@redhat.com).
+
+proc find_sid { target_alias } {
+ global env
+ global tool_root_dir
+
+ set try [lookfor_file ${tool_root_dir} sid/bsp/${target_alias}-sid]
+ if { $try != "" } {
+ set sid_build [lookfor_file ${tool_root_dir} sid/main/dynamic/sid]
+ if { $sid_build != "" } { set env(SID) $sid_build }
+ return $try
+ }
+
+ # In this case, the bsp script must be available on the PATH.
+ # Just hope for the best!
+ return ${target_alias}-sid
+}
+
+# find_sid_conf -- find a usable pre-generated SID config file.
+
+proc find_sid_conf { config } {
+ global env
+ global srcdir
+
+ set try [lookfor_file ${srcdir} sid/bsp/pregen/${config}.conf]
+ if { $try == "" } then { return ${config}.conf } else { return $try }
+}
+
+# find_rawsid -- find a usable SID simulator.
+# This proc is local to this file and is used to locate a SID to use.
+# Search the build tree, then $PATH.
+
+proc find_rawsid { } {
+ global env
+ global tool_root_dir
+ global srcdir
+
+ set try [lookfor_file ${tool_root_dir} sid/main/dynamic/sid]
+ if { $try == "" } {
+ set try "sid"
+ } else {
+ # testing build tree
+ set env(SID_LIBRARY_PATH) [join [glob "${tool_root_dir}/sid/component/*" "$srcdir/sid/component/*"] ":"]
+ # srcdir=/..../sid/component/testsuite
+ set tcl_library "$srcdir/tcl/library"
+ global host_os
+ switch -glob $host_os {
+ {cygwin*} { set tcl_library [exec cygpath -w $tcl_library] }
+ }
+ set env(TCL_LIBRARY) $tcl_library
+ }
+
+ return $try
+}