OSDN Git Service

Android: redirect debug messages to logcat
authorChih-Wei Huang <cwhuang@linux.org.tw>
Fri, 11 Jan 2019 09:19:39 +0000 (17:19 +0800)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Fri, 11 Jan 2019 09:19:39 +0000 (17:19 +0800)
Android.mk
xf86drm.c

index df0275e..f2c78bc 100644 (file)
@@ -97,6 +97,7 @@ LOCAL_EXPORT_C_INCLUDE_DIRS := \
        $(LOCAL_PATH)/android
 
 LOCAL_SHARED_LIBRARIES := \
+       liblog \
        libcutils
 
 LOCAL_C_INCLUDES := \
index 10df682..86300d6 100644 (file)
--- a/xf86drm.c
+++ b/xf86drm.c
 
 #include "util_math.h"
 
+#ifdef __ANDROID__
+#include <log/log.h>
+#endif
+
 #ifdef __OpenBSD__
 #define DRM_PRIMARY_MINOR_NAME  "drm"
 #define DRM_CONTROL_MINOR_NAME  "drmC"
@@ -138,16 +142,22 @@ drm_public void drmSetServerInfo(drmServerInfoPtr info)
 static int DRM_PRINTFLIKE(1, 0)
 drmDebugPrint(const char *format, va_list ap)
 {
+#ifdef __ANDROID__
+    return __android_log_vprint(ANDROID_LOG_DEBUG, "libdrm", format, ap);
+#else
     return vfprintf(stderr, format, ap);
+#endif
 }
 
 drm_public void
 drmMsg(const char *format, ...)
 {
     va_list ap;
+#ifndef __ANDROID__
     const char *env;
     if (((env = getenv("LIBGL_DEBUG")) && strstr(env, "verbose")) ||
         (drm_server_info && drm_server_info->debug_print))
+#endif
     {
         va_start(ap, format);
         if (drm_server_info) {