aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/glx/glapi_gentable.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/glx/glapi_gentable.c')
-rw-r--r--xorg-server/glx/glapi_gentable.c36
1 files changed, 28 insertions, 8 deletions
diff --git a/xorg-server/glx/glapi_gentable.c b/xorg-server/glx/glapi_gentable.c
index aec35dd5e..5c0480170 100644
--- a/xorg-server/glx/glapi_gentable.c
+++ b/xorg-server/glx/glapi_gentable.c
@@ -27,11 +27,20 @@
* SOFTWARE.
*/
+/* GLXEXT is the define used in the xserver when the GLX extension is being
+ * built. Hijack this to determine whether this file is being built for the
+ * server or the client.
+ */
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
-#ifdef HAVE_BACKTRACE
+#if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \
+ || (!defined(GLXEXT) && defined(DEBUG) && !defined(_WIN32_WCE))
+#define USE_BACKTRACE
+#endif
+
+#ifdef USE_BACKTRACE
#include <execinfo.h>
#endif
@@ -44,15 +53,22 @@
#include "glapi.h"
#include "glapitable.h"
+#ifdef GLXEXT
#include "os.h"
+#endif
static void
__glapi_gentable_NoOp(void) {
-#if defined(DEBUG) && !defined(_WIN32_WCE)
- if (getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG")) {
- const char *fstr = "Unknown";
-
-#ifdef HAVE_BACKTRACE
+ const char *fstr = "Unknown";
+
+ /* Silence potential GCC warning for some #ifdef paths.
+ */
+ (void) fstr;
+#if defined(USE_BACKTRACE)
+#if !defined(GLXEXT)
+ if (getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG"))
+#endif
+ {
void *frames[2];
if(backtrace(frames, 2) == 2) {
@@ -61,11 +77,15 @@ __glapi_gentable_NoOp(void) {
if(info.dli_sname)
fstr = info.dli_sname;
}
-#endif
- LogMessage(X_ERROR, "GLX: Call to unimplemented API: %s\n", fstr);
+#if !defined(GLXEXT)
+ fprintf(stderr, "Call to unimplemented API: %s\n", fstr);
+#endif
}
#endif
+#if defined(GLXEXT)
+ LogMessage(X_ERROR, "GLX: Call to unimplemented API: %s\n", fstr);
+#endif
}
static void