Mesa (master): mesa: fixes for building on Haiku
Brian Paul
brianp at kemper.freedesktop.org
Mon Feb 23 15:12:06 UTC 2009
Module: Mesa
Branch: master
Commit: 41172c04306098ab9ecba8b48d7be47c3911a662
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=41172c04306098ab9ecba8b48d7be47c3911a662
Author: Tomas Wilhelmsson <tomas.wilhelmsson at gmail.com>
Date: Mon Feb 23 08:11:29 2009 -0700
mesa: fixes for building on Haiku
---
src/mesa/glapi/glthread.h | 12 ++++++++++++
src/mesa/main/dlopen.c | 5 ++++-
src/mesa/main/imports.h | 3 ++-
src/mesa/x86/gen_matypes.c | 4 ++--
4 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/mesa/glapi/glthread.h b/src/mesa/glapi/glthread.h
index 4da31e5..dfe09a9 100644
--- a/src/mesa/glapi/glthread.h
+++ b/src/mesa/glapi/glthread.h
@@ -265,9 +265,21 @@ typedef xmutex_rec _glthread_Mutex;
*/
#ifdef BEOS_THREADS
+/* Problem with OS.h and this file on haiku */
+#ifndef __HAIKU__
#include <kernel/OS.h>
+#endif
+
#include <support/TLS.h>
+/* The only two typedefs required here
+ * this is cause of the OS.h problem
+ */
+#ifdef __HAIKU__
+typedef int32 thread_id;
+typedef int32 sem_id;
+#endif
+
typedef struct {
int32 key;
int initMagic;
diff --git a/src/mesa/main/dlopen.c b/src/mesa/main/dlopen.c
index 338246b..94bec4a 100644
--- a/src/mesa/main/dlopen.c
+++ b/src/mesa/main/dlopen.c
@@ -36,7 +36,10 @@
#if defined(_WIN32)
#include <windows.h>
#endif
-
+#if defined(__HAIKU__)
+/* for NULL */
+#include <stdio.h>
+#endif
/**
* Wrapper for dlopen().
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index d28860f..4192f03 100644
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -265,7 +265,8 @@ static INLINE int iround(float f)
}
#define IROUND(x) iround(x)
#elif defined(USE_X86_ASM) && defined(__GNUC__) && defined(__i386__) && \
- (!defined(__BEOS__) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)))
+ (!(defined(__BEOS__) || defined(__HAIKU__)) || \
+ (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)))
static INLINE int iround(float f)
{
int r;
diff --git a/src/mesa/x86/gen_matypes.c b/src/mesa/x86/gen_matypes.c
index afb4b11..8c690b4 100644
--- a/src/mesa/x86/gen_matypes.c
+++ b/src/mesa/x86/gen_matypes.c
@@ -61,7 +61,7 @@ do { \
printf( "\n" ); \
} while (0)
-#if defined(__BEOS__) || defined(_LP64)
+#if defined(__BEOS__) || defined(__HAIKU__) || defined(_LP64)
#define OFFSET( s, t, m ) \
printf( "#define %s\t%ld\n", s, offsetof( t, m ) );
#else
@@ -69,7 +69,7 @@ do { \
printf( "#define %s\t%d\n", s, offsetof( t, m ) );
#endif
-#if defined(__BEOS__) || defined(_LP64)
+#if defined(__BEOS__) || defined(__HAIKU__) || defined(_LP64)
#define SIZEOF( s, t ) \
printf( "#define %s\t%ld\n", s, sizeof(t) );
#else
More information about the mesa-commit
mailing list