diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2012-03-03 19:37:40 +0100 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2012-03-03 20:19:08 +0100 |
commit | 466a7c6a405f80cd8e01ebf0a70eb406863a38f1 (patch) | |
tree | acd8dcec239d7407a69df7f20b9ad7f3b10f4200 | |
parent | 13a7c9ac70bfeed574d38705ab568c2085ca77e7 (diff) | |
download | rockbox-466a7c6a405f80cd8e01ebf0a70eb406863a38f1.tar.gz rockbox-466a7c6a405f80cd8e01ebf0a70eb406863a38f1.zip |
Integrate the warble tool in the regular build system.
Only sdl app builds work properly for now.
Change-Id: I7807d42f69b8577b401e48cdc63de71e54f49217
-rw-r--r-- | firmware/core_alloc.c | 2 | ||||
-rw-r--r-- | firmware/export/system.h | 1 | ||||
-rw-r--r-- | lib/rbcodec/test/SOURCES | 49 | ||||
-rw-r--r-- | lib/rbcodec/test/warble.c | 4 | ||||
-rw-r--r-- | lib/rbcodec/test/warble.make | 37 | ||||
-rw-r--r-- | tools/checkwps/checkwps.make | 2 | ||||
-rwxr-xr-x | tools/configure | 13 | ||||
-rw-r--r-- | tools/root.make | 6 |
8 files changed, 110 insertions, 4 deletions
diff --git a/firmware/core_alloc.c b/firmware/core_alloc.c index 34ed48b39f..47faed6e95 100644 --- a/firmware/core_alloc.c +++ b/firmware/core_alloc.c @@ -9,7 +9,7 @@ struct buflib_context core_ctx; /* defined in linker script */ -#if (CONFIG_PLATFORM & PLATFORM_NATIVE) +#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(__PCTOOL__) #if defined(IPOD_VIDEO) && !defined(BOOTLOADER) extern unsigned char *audiobufend_lds[]; unsigned char *audiobufend; diff --git a/firmware/export/system.h b/firmware/export/system.h index b33edc6d3e..d93d10c9e2 100644 --- a/firmware/export/system.h +++ b/firmware/export/system.h @@ -192,6 +192,7 @@ enum { #include "system-sdl.h" #define NEED_GENERIC_BYTESWAPS #elif defined(__PCTOOL__) +#include "system-sdl.h" #define NEED_GENERIC_BYTESWAPS #endif #include "bitswap.h" diff --git a/lib/rbcodec/test/SOURCES b/lib/rbcodec/test/SOURCES new file mode 100644 index 0000000000..467115e0d6 --- /dev/null +++ b/lib/rbcodec/test/SOURCES @@ -0,0 +1,49 @@ +warble.c +../../../apps/metadata.c +../../../apps/replaygain.c +../../../firmware/buflib.c +../../../firmware/core_alloc.c +../../../firmware/common/strlcpy.c +../../../firmware/common/unicode.c +../../../firmware/common/structec.c +../../../apps/mp3data.c +../../../apps/fixedpoint.c +../../../uisimulator/common/io.c +../../../apps/compressor.c +../../../apps/dsp.c +../../../apps/eq.c +../../../apps/tdspeed.c +../../../apps/metadata/a52.c +../../../apps/metadata/adx.c +../../../apps/metadata/aiff.c +../../../apps/metadata/ape.c +../../../apps/metadata/asap.c +../../../apps/metadata/asf.c +../../../apps/metadata/au.c +../../../apps/metadata/ay.c +../../../apps/metadata/flac.c +../../../apps/metadata/gbs.c +../../../apps/metadata/hes.c +../../../apps/metadata/id3tags.c +../../../apps/metadata/kss.c +../../../apps/metadata/metadata_common.c +../../../apps/metadata/mod.c +../../../apps/metadata/monkeys.c +../../../apps/metadata/mp3.c +../../../apps/metadata/mp4.c +../../../apps/metadata/mpc.c +../../../apps/metadata/nsf.c +../../../apps/metadata/ogg.c +../../../apps/metadata/oma.c +../../../apps/metadata/rm.c +../../../apps/metadata/sgc.c +../../../apps/metadata/sid.c +../../../apps/metadata/smaf.c +../../../apps/metadata/spc.c +../../../apps/metadata/tta.c +../../../apps/metadata/vgm.c +../../../apps/metadata/vorbis.c +../../../apps/metadata/vox.c +../../../apps/metadata/wave.c +../../../apps/metadata/wavpack.c + diff --git a/lib/rbcodec/test/warble.c b/lib/rbcodec/test/warble.c index 2cba6c0d59..e3d9456f4d 100644 --- a/lib/rbcodec/test/warble.c +++ b/lib/rbcodec/test/warble.c @@ -358,9 +358,11 @@ static void perform_config(void) codec_action_param = atoi(val); } else if (!strncmp(name, "tempo=", 6)) { dsp_set_timestretch(atof(val) * PITCH_SPEED_100); +#ifdef HAVE_SW_VOLUME_CONTROL } else if (!strncmp(name, "vol=", 4)) { global_settings.volume = atoi(val); dsp_callback(DSP_CALLBACK_SET_SW_VOLUME, 0); +#endif } else { fprintf(stderr, "error: unrecognized config \"%.*s\"\n", (int)(eq - name), name); @@ -775,7 +777,9 @@ static void print_help(const char *progname) " rate=<n> Multiply rate by <n> [1.0]\n" " seek=<n> Seek <n> ms into the file\n" " tempo=<n> Timestretch by <n> [1.0]\n" +#ifdef HAVE_SW_VOLUME_CONTROL " vol=<n> Set volume to <n> dB [0]\n" +#endif " wait=<n> Don't apply remaining configuration until\n" " <n> total samples have output\n" "\n" diff --git a/lib/rbcodec/test/warble.make b/lib/rbcodec/test/warble.make new file mode 100644 index 0000000000..0687e05620 --- /dev/null +++ b/lib/rbcodec/test/warble.make @@ -0,0 +1,37 @@ +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# $Id$ +# + + +include $(ROOTDIR)/tools/functions.make +include $(ROOTDIR)/apps/codecs/codecs.make + +FLAGS=-g -D__PCTOOL__ $(TARGET) -Wall + +SRC= $(call preprocess, $(ROOTDIR)/lib/rbcodec/test/SOURCES) + +INCLUDES += -I$(ROOTDIR)/apps -I$(ROOTDIR)/apps/codecs -I$(ROOTDIR)/apps/codecs/lib \ + -I$(ROOTDIR)/apps/gui -I$(ROOTDIR)/apps/metadata +INCLUDES += -I$(ROOTDIR)/firmware/export -I$(ROOTDIR)/firmware/include \ + -I$(ROOTDIR)/firmware/target/hosted \ + -I$(ROOTDIR)/firmware/target/hosted/sdl + +GCCOPTS+=-D__PCTOOL__ -g -std=gnu99 `$(SDLCONFIG) --cflags` -DCODECDIR="\"$(CODECDIR)\"" + +LIBS=`$(SDLCONFIG) --libs` -lc +ifneq ($(findstring MINGW,$(shell uname)),MINGW) +LIBS += -ldl +endif + +.SECONDEXPANSION: # $$(OBJ) is not populated until after this + +$(BUILDDIR)/$(BINARY): $(CODECS) + +$(BUILDDIR)/$(BINARY): $$(OBJ) + @echo LD $(BINARY) + $(SILENT)$(HOSTCC) $(SIMFLAGS) $(LIBS) -o $@ $+ diff --git a/tools/checkwps/checkwps.make b/tools/checkwps/checkwps.make index e021024901..1e92e3d63e 100644 --- a/tools/checkwps/checkwps.make +++ b/tools/checkwps/checkwps.make @@ -15,6 +15,8 @@ INCLUDES = -I$(ROOTDIR)/apps/gui \ -I$(ROOTDIR)/apps/gui/skin_engine \ -I$(ROOTDIR)/firmware/export \ -I$(ROOTDIR)/firmware/include \ + -I$(ROOTDIR)/firmware/target/hosted \ + -I$(ROOTDIR)/firmware/target/hosted/sdl \ -I$(ROOTDIR)/apps \ -I$(ROOTDIR)/apps/recorder \ -I$(ROOTDIR)/apps/radio \ diff --git a/tools/configure b/tools/configure index 87dc78f27d..84e87c9fdf 100755 --- a/tools/configure +++ b/tools/configure @@ -3383,7 +3383,7 @@ esac if [ "$ARG_TYPE" ]; then btype=$ARG_TYPE else - echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool$gdbstub: (Defaults to N)" + echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, (W)arble codec tool$gdbstub: (Defaults to N)" btype=`input`; fi @@ -3484,6 +3484,17 @@ fi echo "Database tool build selected" ;; + [Ww]) + uname=`uname` + simcc "warble" + toolset=''; + t_cpu=''; + GCCOPTS=''; + extradefines="$extradefines -DDEBUG" + output='warble.'${modelname}; + archosrom=''; + echo "Warble build selected" + ;; *) if [ "$modelname" = "sansae200r" ]; then echo "Do not use the e200R target for regular builds. Use e200 instead." diff --git a/tools/root.make b/tools/root.make index 74279064bf..3231b73053 100644 --- a/tools/root.make +++ b/tools/root.make @@ -87,11 +87,13 @@ ifneq (,$(findstring bootloader,$(APPSDIR))) else ifneq (,$(findstring bootbox,$(APPSDIR))) BOOTBOXLDOPTS = -Wl,--gc-sections include $(APPSDIR)/bootbox.make -else ifneq (,$(findstring checkwps,$(APPSDIR))) +else ifneq (,$(findstring checkwps,$(APP_TYPE))) include $(APPSDIR)/checkwps.make include $(ROOTDIR)/lib/skin_parser/skin_parser.make -else ifneq (,$(findstring database,$(APPSDIR))) +else ifneq (,$(findstring database,$(APP_TYPE))) include $(APPSDIR)/database.make +else ifneq (,$(findstring warble,$(APP_TYPE))) + include $(ROOTDIR)/lib/rbcodec/test/warble.make else include $(APPSDIR)/apps.make include $(APPSDIR)/lang/lang.make |