aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/yosys.cc
diff options
context:
space:
mode:
authorBenedikt Tutzer <e1225461@student.tuwien.ac.at>2018-08-20 14:44:03 +0200
committerBenedikt Tutzer <e1225461@student.tuwien.ac.at>2018-08-20 14:44:03 +0200
commit5864db3c2bf353d4ee124d35aa2f911c4249edbc (patch)
tree2c6962b3114b44f91b3fbe016b9afc5fb38f0a0f /kernel/yosys.cc
parentd79a2808cf2446fa21d91a6141f6fbe2318c03ec (diff)
downloadyosys-5864db3c2bf353d4ee124d35aa2f911c4249edbc.tar.gz
yosys-5864db3c2bf353d4ee124d35aa2f911c4249edbc.tar.bz2
yosys-5864db3c2bf353d4ee124d35aa2f911c4249edbc.zip
Fixed issue when using a python plugin in the yosys shell
Diffstat (limited to 'kernel/yosys.cc')
-rw-r--r--kernel/yosys.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/yosys.cc b/kernel/yosys.cc
index 8e16ba01d..8380fe75d 100644
--- a/kernel/yosys.cc
+++ b/kernel/yosys.cc
@@ -55,6 +55,16 @@
# include <sys/sysctl.h>
#endif
+#ifdef WITH_PYTHON
+#if PY_MAJOR_VERSION >= 3
+# define INIT_MODULE PyInit_libyosys
+ extern "C" PyObject* INIT_MODULE();
+#else
+# define INIT_MODULE initlibyosys
+ extern "C" void INIT_MODULE();
+#endif
+#endif
+
#include <limits.h>
#include <errno.h>
@@ -482,6 +492,7 @@ void yosys_setup()
IdString::get_reference(empty_id.index_);
#ifdef WITH_PYTHON
+ PyImport_AppendInittab((char*)"libyosys", INIT_MODULE);
Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\"./\")");
@@ -496,6 +507,11 @@ void yosys_setup()
log_push();
}
+bool yosys_already_setup()
+{
+ return already_setup;
+}
+
bool already_shutdown = false;
void yosys_shutdown()