Various small fixes for non-win32 builds
authorClifford Wolf <clifford@clifford.at>
Sun, 12 Oct 2014 10:18:38 +0000 (12:18 +0200)
committerClifford Wolf <clifford@clifford.at>
Sun, 12 Oct 2014 10:18:38 +0000 (12:18 +0200)
kernel/yosys.cc
kernel/yosys.h

index 4af3ff9c0dcf9c84bbcdd6770dc81ff3af8757b8..fa14c5d9af261170b4c84c6b6e108a6901a9aec1 100644 (file)
 
 #ifdef _WIN32
 #  include <windows.h>
+#elif defined(__APPLE__)
+#  include <mach-o/dyld.h>
+#else
+#  include <sys/types.h>
+#  include <sys/stat.h>
 #endif
 
 #include <unistd.h>
@@ -263,7 +268,7 @@ std::string make_temp_dir(std::string template_str)
        log_assert(suffixlen == 0);
 
        char *p = strdup(template_str.c_str());
-       mkdtemp(p, suffixlen);
+       mkdtemp(p);
        template_str = p;
        free(p);
 
@@ -282,7 +287,7 @@ void remove_directory(std::string dirname)
        log_assert(n >= 0);
        for (int i = 0; i < n; i++) {
                if (strcmp(namelist[i]->d_name, ".") && strcmp(namelist[i]->d_name, "..")) {
-                       buffer = stringf("%s/%s", dirname.c_str(), namelist[i]->d_name);
+                       std::string buffer = stringf("%s/%s", dirname.c_str(), namelist[i]->d_name);
                        if (!stat(buffer.c_str(), &stbuf) && S_ISREG(stbuf.st_mode)) {
                                log("Removing `%s'.\n", buffer.c_str());
                                remove(buffer.c_str());
@@ -455,7 +460,6 @@ std::string proc_self_dirname()
        return std::string(path, buflen);
 }
 #elif defined(__APPLE__)
-#include <mach-o/dyld.h>
 std::string proc_self_dirname()
 {
        char *path = NULL;
index e579e90d93c6bfaf920133ad6fbadae15937a3c3..5a37dd3c5b509dbfbea01c738f7f2f496dd92372 100644 (file)
 #include <string.h>
 #include <stdio.h>
 
+#ifdef YOSYS_ENABLE_TCL
+#  include <tcl.h>
+#endif
+
 #define PRIVATE_NAMESPACE_BEGIN  namespace {
 #define PRIVATE_NAMESPACE_END    }
 #define YOSYS_NAMESPACE_BEGIN    namespace Yosys {
@@ -107,7 +111,6 @@ void yosys_setup();
 void yosys_shutdown();
 
 #ifdef YOSYS_ENABLE_TCL
-#include <tcl.h>
 Tcl_Interp *yosys_get_tcl_interp();
 #endif