aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/yosys.cc
diff options
context:
space:
mode:
authorMiodrag Milanović <mmicko@gmail.com>2022-11-25 18:12:43 +0100
committerGitHub <noreply@github.com>2022-11-25 18:12:43 +0100
commitfd01d9eb8bfd487521c25156a819a0e08a79d56e (patch)
treebe5d65da31df4c7f622b3033191ac0d664ac84b5 /kernel/yosys.cc
parent448a796e155416884c5fa45465da4e5ecc9f75a4 (diff)
parent2450e6be2223b4895bfa239364996c882c0229af (diff)
downloadyosys-fd01d9eb8bfd487521c25156a819a0e08a79d56e.tar.gz
yosys-fd01d9eb8bfd487521c25156a819a0e08a79d56e.tar.bz2
yosys-fd01d9eb8bfd487521c25156a819a0e08a79d56e.zip
Merge pull request #3561 from YosysHQ/tcl_shell
Add TCL interactive shell mode
Diffstat (limited to 'kernel/yosys.cc')
-rw-r--r--kernel/yosys.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/kernel/yosys.cc b/kernel/yosys.cc
index a56a066fe..4a22d0a7b 100644
--- a/kernel/yosys.cc
+++ b/kernel/yosys.cc
@@ -740,13 +740,19 @@ static int tcl_yosys_cmd(ClientData, Tcl_Interp *interp, int argc, const char *a
return TCL_OK;
}
+int yosys_tcl_iterp_init(Tcl_Interp *interp)
+{
+ if (Tcl_Init(interp)!=TCL_OK)
+ log_warning("Tcl_Init() call failed - %s\n",Tcl_ErrnoMsg(Tcl_GetErrno()));
+ Tcl_CreateCommand(interp, "yosys", tcl_yosys_cmd, NULL, NULL);
+ return TCL_OK ;
+}
+
extern Tcl_Interp *yosys_get_tcl_interp()
{
if (yosys_tcl_interp == NULL) {
yosys_tcl_interp = Tcl_CreateInterp();
- if (Tcl_Init(yosys_tcl_interp)!=TCL_OK)
- log_warning("Tcl_Init() call failed - %s\n",Tcl_ErrnoMsg(Tcl_GetErrno()));
- Tcl_CreateCommand(yosys_tcl_interp, "yosys", tcl_yosys_cmd, NULL, NULL);
+ yosys_tcl_iterp_init(yosys_tcl_interp);
}
return yosys_tcl_interp;
}