summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-09-20 17:38:47 +0000
committerThomas Martitz <kugel@rockbox.org>2010-09-20 17:38:47 +0000
commitad500e1063124008e2c0fc5dc666a52e09bba018 (patch)
tree50a181f350237c26aaa74d015af7e6fa03f6bae2
parent66f8fb52a9114ece70e1771119096589004d29f0 (diff)
downloadrockbox-ad500e1063124008e2c0fc5dc666a52e09bba018.tar.gz
rockbox-ad500e1063124008e2c0fc5dc666a52e09bba018.zip
Redirect (L)DEBUGFs to adb logcat in DEBUG enabled builds.
Exclude compilation of firmware/debug.c for hosted platforms. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28125 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/SOURCES8
-rw-r--r--firmware/debug.c2
-rw-r--r--firmware/export/debug.h7
-rw-r--r--firmware/target/hosted/android/debug-android.c52
-rw-r--r--firmware/target/hosted/android/pcm-android.c3
-rw-r--r--firmware/target/hosted/android/system-target.h5
6 files changed, 62 insertions, 15 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index ac1a3e1be4..08ba20c610 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -20,7 +20,10 @@ rolo.c
#endif /* !defined(BOOTLOADER) || defined(CPU_SH) */
thread.c
timer.c
+debug.c
#endif /* PLATFORM_NATIVE */
+panic.c
+
#ifdef HAVE_SDL
target/hosted/sdl/button-sdl.c
target/hosted/sdl/kernel-sdl.c
@@ -43,8 +46,6 @@ target/hosted/sdl/key_to_touch-sdl.c
target/hosted/sdl/app/button-application.c
#endif
#endif
-panic.c
-debug.c
/* Standard library */
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(__MINGW32__) || defined(__CYGWIN__)
@@ -1707,6 +1708,9 @@ target/hosted/android/fs-android.c
target/hosted/android/lcd-android.c
target/hosted/android/lc-android.c
target/hosted/android/button-android.c
+#ifdef DEBUG
+target/hosted/android/debug-android.c
+#endif
target/hosted/android/kernel-android.c
target/hosted/android/pcm-android.c
target/hosted/android/powermgmt-android.c
diff --git a/firmware/debug.c b/firmware/debug.c
index 94404586de..bc382335b6 100644
--- a/firmware/debug.c
+++ b/firmware/debug.c
@@ -35,7 +35,6 @@ static char debugbuf[400];
#endif
#endif
-#ifndef SIMULATOR /* allow non archos platforms to display output */
#include "kernel.h"
#include "system.h"
#include "debug.h"
@@ -257,4 +256,3 @@ void debugf(const char *fmt, ...)
#endif
}
-#endif
diff --git a/firmware/export/debug.h b/firmware/export/debug.h
index d037edf656..93ebd5f546 100644
--- a/firmware/export/debug.h
+++ b/firmware/export/debug.h
@@ -33,13 +33,10 @@ extern void ldebugf(const char* file, int line, const char *fmt, ...)
#ifdef __GNUC__
/* */
-#if defined(SIMULATOR) && !defined(__PCTOOL__)
+#if (SIMULATOR) && !defined(__PCTOOL__) \
+ || ((CONFIG_PLATFORM & PLATFORM_ANDROID) && defined(DEBUG))
#define DEBUGF debugf
#define LDEBUGF(...) ldebugf(__FILE__, __LINE__, __VA_ARGS__)
-#elif (CONFIG_PLATFORM & PLATFORM_ANDROID)
-#include "system-target.h"
-#define DEBUGF LOG
-#define LDEBUGF(...)
#else
#if defined(DEBUG)
diff --git a/firmware/target/hosted/android/debug-android.c b/firmware/target/hosted/android/debug-android.c
new file mode 100644
index 0000000000..a478168e4c
--- /dev/null
+++ b/firmware/target/hosted/android/debug-android.c
@@ -0,0 +1,52 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (c) 2010 Thomas Martitz
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+
+
+#include "config.h"
+#ifdef DEBUG
+#include <android/log.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+#define LOG_TAG "Rockbox"
+
+void debug_init(void) {}
+
+void debugf(const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ __android_log_vprint(ANDROID_LOG_DEBUG, LOG_TAG, fmt, ap);
+ va_end(ap);
+}
+
+void ldebugf(const char* file, int line, const char *fmt, ...)
+{
+ va_list ap;
+ char buf[1024];
+ snprintf(buf, sizeof(buf), "%s:%d %s", file, line, fmt);
+ va_start(ap, fmt);
+ __android_log_vprint(ANDROID_LOG_DEBUG, LOG_TAG " L", buf, ap);
+ va_end(ap);
+}
+
+#endif
diff --git a/firmware/target/hosted/android/pcm-android.c b/firmware/target/hosted/android/pcm-android.c
index 649b42d421..c8bc410a54 100644
--- a/firmware/target/hosted/android/pcm-android.c
+++ b/firmware/target/hosted/android/pcm-android.c
@@ -22,6 +22,7 @@
#include <jni.h>
#include <stdbool.h>
#include <system.h>
+#include "debug.h"
#include "pcm.h"
extern JNIEnv *env_ptr;
@@ -73,7 +74,7 @@ Java_org_rockbox_RockboxPCM_pcmSamplesToByteArray(JNIEnv *env,
pcm_play_get_more_callback((void**)&pcm_data_start, &pcm_data_size);
if (pcm_data_size == 0)
{
- LOG("out of data\n");
+ DEBUGF("out of data\n");
return;
}
if (remaining > pcm_data_size)
diff --git a/firmware/target/hosted/android/system-target.h b/firmware/target/hosted/android/system-target.h
index 210d191d6c..0bd6d78fe0 100644
--- a/firmware/target/hosted/android/system-target.h
+++ b/firmware/target/hosted/android/system-target.h
@@ -28,11 +28,6 @@
void power_off(void);
-#include <android/log.h>
-#define LOG_TAG "Rockbox"
-#define LOG(args...) \
- __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, ##args);
-
#endif /* __SYSTEM_TARGET_H__ */
#define NEED_GENERIC_BYTESWAPS