summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/yosys.cc9
-rw-r--r--kernel/yosys.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/kernel/yosys.cc b/kernel/yosys.cc
index b5483662..884b2c59 100644
--- a/kernel/yosys.cc
+++ b/kernel/yosys.cc
@@ -376,6 +376,15 @@ bool check_file_exists(std::string filename, bool is_exec)
}
#endif
+bool is_absolute_path(std::string filename)
+{
+#ifdef _WIN32
+ return filename[0] == '/' || filename[0] == '\\' || (filename[0] != 0 && filename[1] == ':');
+#else
+ return filename[0] == '/';
+#endif
+}
+
void remove_directory(std::string dirname)
{
#ifdef _WIN32
diff --git a/kernel/yosys.h b/kernel/yosys.h
index 467d2074..231dd4de 100644
--- a/kernel/yosys.h
+++ b/kernel/yosys.h
@@ -210,6 +210,7 @@ int run_command(const std::string &command, std::function<void(const std::string
std::string make_temp_file(std::string template_str = "/tmp/yosys_XXXXXX");
std::string make_temp_dir(std::string template_str = "/tmp/yosys_XXXXXX");
bool check_file_exists(std::string filename, bool is_exec = false);
+bool is_absolute_path(std::string filename);
void remove_directory(std::string dirname);
template<typename T> int GetSize(const T &obj) { return obj.size(); }