Header changes so it will compile on VS
authorWilliam Speirs <bill.speirs@gmail.com>
Thu, 16 Oct 2014 16:06:54 +0000 (12:06 -0400)
committerClifford Wolf <clifford@clifford.at>
Fri, 17 Oct 2014 09:41:36 +0000 (11:41 +0200)
frontends/verific/verific.cc
frontends/vhdl2verilog/vhdl2verilog.cc
kernel/driver.cc
kernel/yosys.cc
kernel/yosys.h
libs/ezsat/ezminisat.cc
passes/abc/abc.cc
passes/cmds/cover.cc
passes/cmds/show.cc
passes/hierarchy/hierarchy.cc

index 5e1894cfd8997efc89ea04a6c9a45efb7acf952b..44dfba0a80e20ecc80cb5f77e45d5b17ec54f407 100644 (file)
 #include "kernel/yosys.h"
 #include "kernel/sigtools.h"
 #include "kernel/log.h"
-#include <unistd.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
-#include <dirent.h>
+
+#ifndef _WIN32
+#  include <unistd.h>
+#  include <dirent.h>
+#endif
 
 USING_YOSYS_NAMESPACE
 
index 39b4f14960411c0bccef9418eb25a481ac39c34a..82ff7b5024f58a09d82926a1bf0854486126b157 100644 (file)
 #include "kernel/register.h"
 #include "kernel/sigtools.h"
 #include "kernel/log.h"
-#include <unistd.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
-#include <dirent.h>
 #include <errno.h>
 #include <limits.h>
 
+#ifndef _WIN32
+#  include <unistd.h>
+#  include <dirent.h>
+#endif
+
 YOSYS_NAMESPACE_BEGIN
 
 struct Vhdl2verilogPass : public Pass {
index 8117a61c5514f95b89e29694de7d7fcc5ccf6b3f..7f2cdb325169ca2748334df9fc9a252953849ab4 100644 (file)
 
 #include <stdio.h>
 #include <string.h>
-#include <unistd.h>
-#include <libgen.h>
 #include <limits.h>
 #include <errno.h>
 
+#ifndef _WIN32
+#  include <unistd.h>
+#endif
+
+
 USING_YOSYS_NAMESPACE
 
 int main(int argc, char **argv)
index 1ce7b52075898c10d4943865f8eae88aeada6809..9c1cb58f394c684699e592b6babf08fc843054a0 100644 (file)
 #elif defined(__APPLE__)
 #  include <mach-o/dyld.h>
 #else
+#  include <unistd.h>
+#  include <dirent.h>
 #  include <sys/types.h>
 #  include <sys/stat.h>
 #endif
 
-#include <unistd.h>
 #include <limits.h>
-#include <dirent.h>
 #include <errno.h>
 
 YOSYS_NAMESPACE_BEGIN
 
+#ifdef _WIN32
+const char *yosys_version_str = "Windows";
+#endif
+
 int autoidx = 1;
 RTLIL::Design *yosys_design = NULL;
 
@@ -325,10 +329,10 @@ void yosys_shutdown()
 #ifdef YOSYS_ENABLE_PLUGINS
        for (auto &it : loaded_plugins)
                dlclose(it.second);
-#endif
 
        loaded_plugins.clear();
        loaded_plugin_aliases.clear();
+#endif
 }
 
 RTLIL::IdString new_id(std::string file, int line, std::string func)
index 239146d776efefc498007af1929827629ad1eb74..e4465edf7295d6966ca6ef7f7bfbc2ff99ad6a9c 100644 (file)
 #  include <tcl.h>
 #endif
 
+// a few platform specific things
+#ifdef _WIN32
+#  define NOMINMAX
+#  include <Windows.h>
+#  include <stdint.h> // takes care of a number of typedefs
+#  include <io.h>
+#  include <direct.h>
+
+// these are always a bit dangerous :-)
+#  define strtok_r strtok_s
+#  define strdup _strdup
+#  define snprintf _snprintf
+#  define access _access
+#  define getcwd _getcwd
+#  define mkdir _mkdir
+#  define popen _popen
+#  define pclose _pclose
+
+#  define PATH_MAX MAX_PATH
+#  define F_OK 00
+#  define X_OK 00 // note this is NOT correct as there is no execute flag in Windows
+#endif
+
+
 #define PRIVATE_NAMESPACE_BEGIN  namespace {
 #define PRIVATE_NAMESPACE_END    }
 #define YOSYS_NAMESPACE_BEGIN    namespace Yosys {
 
 #if !defined(__GNUC__) && !defined(__clang__)
 #  define __attribute__(...)
+#  define _NORETURN_ __declspec(noreturn)
+#else
+#  define _NORETURN_
 #endif
 
 YOSYS_NAMESPACE_BEGIN
@@ -96,7 +123,7 @@ namespace RTLIL {
        struct Cell;
 }
 
-std::string stringf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
+std::string stringf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
 std::string vstringf(const char *fmt, va_list ap);
 std::string next_token(std::string &text, const char *sep);
 bool patmatch(const char *pattern, const char *string);
index b996d4a3dbaf8615c30194dc635adccd5ca3752c..dee82a8dfb2a2a41975083091eb91f352c8e28c8 100644 (file)
 #include <stdint.h>
 #include <csignal>
 #include <cinttypes>
-#include <unistd.h>
+
+#ifndef _WIN32
+#  include <unistd.h>
+#endif
 
 #include "../minisat/Solver.h"
 #include "../minisat/SimpSolver.h"
index 891804393d29c0f01f4d2a7855a765f4ae55ad01..79aa067d76bad209ae4277f85e92c2a691e4deb4 100644 (file)
 #include "kernel/sigtools.h"
 #include "kernel/cost.h"
 #include "kernel/log.h"
-#include <unistd.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
-#include <dirent.h>
 #include <cerrno>
 #include <sstream>
 #include <climits>
 
+#ifndef _WIN32
+#  include <unistd.h>
+#  include <dirent.h>
+#endif
+
 #include "blifparse.h"
 
 USING_YOSYS_NAMESPACE
index 857d5aa475e755d2800e88459922dc63b360bcf5..b8baaf3d855df46b0ac9eb97dd105759961b3cf5 100644 (file)
  *
  */
 
-#include <sys/types.h>
-#include <unistd.h>
 #include "kernel/yosys.h"
+#include <sys/types.h>
+
+#ifndef _WIN32
+#  include <unistd.h>
+#else
+#  include <io.h>
+#endif
+
+#include "kernel/register.h"
+#include "kernel/rtlil.h"
+#include "kernel/log.h"
 
 USING_YOSYS_NAMESPACE
 PRIVATE_NAMESPACE_BEGIN
index c6335cb301d114c587b120e14268ce011fe72b22..1413742dfed76140b9dc49199ff2e14d453ca7b0 100644 (file)
 #include "kernel/celltypes.h"
 #include "kernel/log.h"
 #include <string.h>
-#include <dirent.h>
+
+#ifndef _WIN32
+#  include <dirent.h>
+#endif
 
 #ifdef YOSYS_ENABLE_READLINE
 #  include <readline/readline.h>
index 4b414d3cb682f4faa8b4e7364b8b901a5b4a961d..2a7e96346fe59c7f19ce7d44c36a07f62a24ddd9 100644 (file)
 #include <stdlib.h>
 #include <stdio.h>
 #include <set>
-#include <unistd.h>
+
+#ifndef _WIN32
+#  include <unistd.h>
+#endif
+
 
 USING_YOSYS_NAMESPACE
 PRIVATE_NAMESPACE_BEGIN