From ad500e1063124008e2c0fc5dc666a52e09bba018 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 20 Sep 2010 17:38:47 +0000 Subject: 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 --- firmware/SOURCES | 8 +++- firmware/debug.c | 2 - firmware/export/debug.h | 7 +--- firmware/target/hosted/android/debug-android.c | 52 ++++++++++++++++++++++++++ firmware/target/hosted/android/pcm-android.c | 3 +- firmware/target/hosted/android/system-target.h | 5 --- 6 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 firmware/target/hosted/android/debug-android.c 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 +#include +#include + +#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 #include #include +#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 -#define LOG_TAG "Rockbox" -#define LOG(args...) \ - __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, ##args); - #endif /* __SYSTEM_TARGET_H__ */ #define NEED_GENERIC_BYTESWAPS -- cgit v1.2.3