From 61978eff82c9daba4538b6c9ca159defeba96394 Mon Sep 17 00:00:00 2001 From: thomasjfox Date: Thu, 24 Feb 2011 23:35:16 +0000 Subject: [PATCH] RaaA: Enable plugins for application builds Use own plugins/SOURCES and plugins/SUBDIRS file to avoid ifdef hell for disabled plugins without a keymap. This finally brings the credits screen to RaaA. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29392 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/SOURCES.app_build | 41 ++++++++++++++++++++++++++++++++++++ apps/plugins/SUBDIRS.app_build | 17 +++++++++++++++ apps/plugins/plugins.make | 15 +++++++++++++ firmware/export/config/application.h | 5 +++++ tools/configure | 6 +++--- 5 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 apps/plugins/SOURCES.app_build create mode 100644 apps/plugins/SUBDIRS.app_build diff --git a/apps/plugins/SOURCES.app_build b/apps/plugins/SOURCES.app_build new file mode 100644 index 0000000000..ddac2b9ba8 --- /dev/null +++ b/apps/plugins/SOURCES.app_build @@ -0,0 +1,41 @@ +/* plugins common to all models */ +credits.c +properties.c +random_folder_advance_config.c +search.c +sort.c +theme_remove.c +vbrfix.c + +#ifdef HAVE_TEST_PLUGINS /* enable in advanced build options */ +#ifdef HAVE_ADJUSTABLE_CPU_FREQ +test_boost.c +#endif +#if CONFIG_CODEC == SWCODEC +test_codec.c +#endif +#ifdef HAVE_JPEG +test_core_jpeg.c +#endif +test_disk.c +#ifdef HAVE_LCD_BITMAP +#if LCD_DEPTH < 4 && !defined(SIMULATOR) +test_scanrate.c +#endif +#ifndef HAVE_LCD_COLOR +test_grey.c +test_greylib_bitmap_scale.c +#endif +#endif +test_mem.c +#ifdef HAVE_LCD_BITMAP +test_mem_jpeg.c +#endif +#ifdef HAVE_LCD_COLOR +test_resize.c +#endif +#if CONFIG_CODEC == SWCODEC +test_sampr.c +#endif +test_viewports.c +#endif /* HAVE_TEST_PLUGINS */ diff --git a/apps/plugins/SUBDIRS.app_build b/apps/plugins/SUBDIRS.app_build new file mode 100644 index 0000000000..dbf4382b62 --- /dev/null +++ b/apps/plugins/SUBDIRS.app_build @@ -0,0 +1,17 @@ +/* For all targets with a bitmap display */ +#ifdef HAVE_LCD_BITMAP + +#ifdef HAVE_TAGCACHE +pictureflow +#endif + +#endif /* HAVE_LCD_BITMAP */ + +/* For all the swcodec targets */ +#if CONFIG_CODEC == SWCODEC + +#if MEMORYSIZE > 2 /* we need a lot of RAM for instruments */ +mikmod +#endif + +#endif /* CONFIG_CODEC == SWCODEC */ diff --git a/apps/plugins/plugins.make b/apps/plugins/plugins.make index 30cf26f621..3271c57303 100644 --- a/apps/plugins/plugins.make +++ b/apps/plugins/plugins.make @@ -8,7 +8,18 @@ # # single-file plugins: +is_app_build = +ifdef APP_TYPE +ifneq ($(APP_TYPE),sdl-sim) + is_app_build = yes +endif +endif + +ifdef is_app_build +PLUGINS_SRC = $(call preprocess, $(APPSDIR)/plugins/SOURCES.app_build) +else PLUGINS_SRC = $(call preprocess, $(APPSDIR)/plugins/SOURCES) +endif OTHER_SRC += $(PLUGINS_SRC) ROCKS1 := $(PLUGINS_SRC:.c=.rock) ROCKS1 := $(subst $(ROOTDIR),$(BUILDDIR),$(ROCKS1)) @@ -36,7 +47,11 @@ endif OTHER_SRC += $(ROOTDIR)/apps/plugins/plugin_crt0.c PLUGIN_CRT0 := $(BUILDDIR)/apps/plugins/plugin_crt0.o # multifile plugins (subdirs): +ifdef is_app_build +PLUGINSUBDIRS := $(call preprocess, $(APPSDIR)/plugins/SUBDIRS.app_build) +else PLUGINSUBDIRS := $(call preprocess, $(APPSDIR)/plugins/SUBDIRS) +endif # include .make from each subdir (yay!) $(foreach dir,$(PLUGINSUBDIRS),$(eval include $(dir)/$(notdir $(dir)).make)) diff --git a/firmware/export/config/application.h b/firmware/export/config/application.h index 64ebbf3685..0aa4a3f54d 100644 --- a/firmware/export/config/application.h +++ b/firmware/export/config/application.h @@ -79,6 +79,11 @@ /* Define this if you do software codec */ #define CONFIG_CODEC SWCODEC +/* Work around debug macro expansion of strncmp in scratchbox */ +#if (CONFIG_PLATFORM & PLATFORM_MAEMO) +#define _HAVE_STRING_ARCH_strncmp +#endif + #if (CONFIG_PLATFORM & (PLATFORM_ANDROID|PLATFORM_MAEMO)) #define HAVE_MULTIMEDIA_KEYS #endif diff --git a/tools/configure b/tools/configure index 5648438c7b..00572f41c4 100755 --- a/tools/configure +++ b/tools/configure @@ -2918,7 +2918,7 @@ fi output="rockbox" bootoutput="rockbox" appextra="recorder:gui:radio" - plugins="" + plugins="yes" swcodec="yes" # architecture, manufacturer and model for the target-tree build t_cpu="hosted" @@ -2974,7 +2974,7 @@ fi output="rockbox" bootoutput="rockbox" appextra="recorder:gui:radio" - plugins="" + plugins="yes" swcodec="yes" # architecture, manufacturer and model for the target-tree build t_cpu="hosted" @@ -3002,7 +3002,7 @@ fi output="rockbox" bootoutput="rockbox" appextra="recorder:gui:radio" - plugins="" + plugins="yes" swcodec="yes" # architecture, manufacturer and model for the target-tree build t_cpu="hosted" -- 2.11.4.GIT