Fix OS X build.

This commit is contained in:
David Anderson 2013-08-15 16:26:16 -07:00
parent 3d6d4f5464
commit c48cc0afdc
3 changed files with 15 additions and 1 deletions

View File

@ -24,6 +24,9 @@
#if defined(__linux__)
# include <sys/prctl.h>
#endif
#if defined(__APPLE__)
# include <dlfcn.h>
#endif
namespace ke {
@ -94,9 +97,18 @@ class ConditionVariable : public Lockable
WaitResult Wait(size_t timeout_ms) {
AssertCurrentThreadOwns();
#if defined(__linux__)
struct timespec ts;
if (clock_gettime(CLOCK_REALTIME, &ts) == -1)
return Wait_Error;
#else
struct timeval tv;
gettimeofday(&tv, NULL);
struct timespec ts;
ts.tv_sec = tv.tv_sec;
ts.tv_nsec = tv.tv_usec * 1000;
#endif
ts.tv_sec += timeout_ms / 1000;
ts.tv_nsec += (timeout_ms % 1000) * 1000000;

View File

@ -15,6 +15,9 @@ compiler['CXXINCLUDES'].append(os.path.join(base, 'knight', 'shared'))
if AMBuild.target['platform'] == 'linux':
compiler['POSTLINKFLAGS'].append('-lpthread')
compiler['POSTLINKFLAGS'].append('-lrt')
if AMBuild.target['platform'] == 'darwin':
compiler['POSTLINKFLAGS'].append('-lpthread')
compiler['POSTLINKFLAGS'].append('-ldl')
extension = AMBuild.AddJob('sourcepawn.jit.x86')
binary = Cpp.LibraryBuilder('sourcepawn.jit.x86', AMBuild, extension, compiler)

View File

@ -217,7 +217,6 @@ GenerateArray(BaseRuntime *rt, uint32_t argc, cell_t *argv, int autozero)
if (argv[0] <= 0)
return SP_ERROR_ARRAY_TOO_BIG;
uint32_t dim = 1; // second to last dimension
uint32_t cells = argv[0];
for (uint32_t dim = 1; dim < argc; dim++) {