comparison Core/Toolbox.cpp @ 1337:afaa55d42ddd

FreeBSD support
author jodogne
date Tue, 31 Mar 2015 11:40:29 +0200
parents 7f0aa3c0f659
children 60cc0ee61edb
comparison
equal deleted inserted replaced
1336:a80e811ec619 1337:afaa55d42ddd
57 #if defined(__APPLE__) && defined(__MACH__) 57 #if defined(__APPLE__) && defined(__MACH__)
58 #include <mach-o/dyld.h> /* _NSGetExecutablePath */ 58 #include <mach-o/dyld.h> /* _NSGetExecutablePath */
59 #include <limits.h> /* PATH_MAX */ 59 #include <limits.h> /* PATH_MAX */
60 #endif 60 #endif
61 61
62 #if defined(__linux) || defined(__FreeBSD_kernel__) 62 #if defined(__linux) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
63 #include <limits.h> /* PATH_MAX */ 63 #include <limits.h> /* PATH_MAX */
64 #include <signal.h> 64 #include <signal.h>
65 #include <unistd.h> 65 #include <unistd.h>
66 #endif 66 #endif
67 67
114 114
115 void Toolbox::USleep(uint64_t microSeconds) 115 void Toolbox::USleep(uint64_t microSeconds)
116 { 116 {
117 #if defined(_WIN32) 117 #if defined(_WIN32)
118 ::Sleep(static_cast<DWORD>(microSeconds / static_cast<uint64_t>(1000))); 118 ::Sleep(static_cast<DWORD>(microSeconds / static_cast<uint64_t>(1000)));
119 #elif defined(__linux) || defined(__APPLE__) || defined(__FreeBSD_kernel__) 119 #elif defined(__linux) || defined(__APPLE__) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
120 usleep(microSeconds); 120 usleep(microSeconds);
121 #else 121 #else
122 #error Support your platform here 122 #error Support your platform here
123 #endif 123 #endif
124 } 124 }
501 std::vector<char> buffer(32768); 501 std::vector<char> buffer(32768);
502 /*int bytes =*/ GetModuleFileNameA(NULL, &buffer[0], static_cast<DWORD>(buffer.size() - 1)); 502 /*int bytes =*/ GetModuleFileNameA(NULL, &buffer[0], static_cast<DWORD>(buffer.size() - 1));
503 return std::string(&buffer[0]); 503 return std::string(&buffer[0]);
504 } 504 }
505 505
506 #elif defined(__linux) || defined(__FreeBSD_kernel__) 506 #elif defined(__linux) || defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
507 static std::string GetPathToExecutableInternal() 507 static std::string GetPathToExecutableInternal()
508 { 508 {
509 std::vector<char> buffer(PATH_MAX + 1); 509 std::vector<char> buffer(PATH_MAX + 1);
510 ssize_t bytes = readlink("/proc/self/exe", &buffer[0], buffer.size() - 1); 510 ssize_t bytes = readlink("/proc/self/exe", &buffer[0], buffer.size() - 1);
511 if (bytes == 0) 511 if (bytes == 0)