util: android logging support
authorRob Clark <robdclark@chromium.org>
Tue, 3 Sep 2019 18:43:40 +0000 (11:43 -0700)
committerRob Clark <robdclark@gmail.com>
Fri, 6 Sep 2019 00:45:11 +0000 (00:45 +0000)
In particular, it would be nice for failed debug_assert() msgs to show
up in logcat.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Kristian H. Kristensen <hoegsberg@chromium.org>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
src/util/meson.build
src/util/os_misc.c

index cf1616e7bc6935e1d73eca7f617e3abe5cc4cdb4..3e65a36fdb5dea992168faa27c524b92d6ff89df 100644 (file)
@@ -134,11 +134,23 @@ format_srgb = custom_target(
   capture : true,
 )
 
+deps_for_libmesa_util = [
+  dep_zlib,
+  dep_clock,
+  dep_thread,
+  dep_atomic,
+  dep_m,
+]
+
+if with_platform_android
+  deps_for_libmesa_util += dep_android
+endif
+
 _libmesa_util = static_library(
   'mesa_util',
   [files_mesa_util, format_srgb],
   include_directories : inc_common,
-  dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m],
+  dependencies : deps_for_libmesa_util,
   c_args : [c_msvc_compat_args, c_vis_args],
   build_by_default : false
 )
index 436bc38604b8757e96154af1ce089d70ae187dae..e6894731b635b754e028b4ac49b2da8769607a0c 100644 (file)
 #endif
 
 
-#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD
+#if DETECT_OS_ANDROID
+#  define LOG_TAG "MESA"
+#  include <unistd.h>
+#  include <log/log.h>
+#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD
 #  include <unistd.h>
 #elif DETECT_OS_APPLE || DETECT_OS_BSD
 #  include <sys/sysctl.h>
@@ -104,6 +108,9 @@ os_log_message(const char *message)
    fflush(stdout);
    fputs(message, fout);
    fflush(fout);
+#  if DETECT_OS_ANDROID
+   LOG_PRI(ANDROID_LOG_ERROR, LOG_TAG, "%s", message);
+#  endif
 #endif
 }