dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: librbcodec update; directory structure discussion

Re: librbcodec update; directory structure discussion

From: Jonathan Gordon <>
Date: Sun, 17 Jul 2011 00:38:43 +1000

On 14 July 2011 05:36, Sean Bartell <> wrote:
> Hi all,
> My codec test program (warble) is now in FS. It needs some codec API
> changes in FS#12189, and the actual program is in FS#12190 [1].
> I've also gotten the DSP and metadata code compiling as a library. It
> has its own makefile, rbcodec.make, that builds librbcodec.a from the
> DSP and metadata code and makes the codecs. The Rockbox build process
> uses this and links librbcodec.a into the rockbox executable, with the
> end result no different from current builds. The test program is also
> changed to use this library. I'm now working on cleaning up these
> patches.
> One issue raised about these changes is where the librbcodec files
> should be moved. My current version moves them to /rbcodec, with dsp,
> metadata, and codecs subdirectories. Saratoga is doubtful the files
> should be moved at all [2], which means they would be copied out of
> /apps for a librbcodec release. JdGordon thinks they should be moved to
> /lib/rbcodec [3].  I'm inclined to put them in one directory because
> they're becoming independent from the rest of Rockbox, and it would make
> the build process cleaner.
> Once that's resolved and the build-as-library patches are in, I'll
> resume work on removing dependencies. This means dependencies on Rockbox
> header files outside librbcodec and functions like strlcpy. Since this
> is embedded software, wrapper functions and redundancy should be
> avoided.
> In my current solution, the user of the library provides a file (say
> rbcodecinterface.h) that declares or #defines system functions like
> open(). It can also optionally #define library functions like strlcpy();
> if it doesn't, a version provided with librbcodec will be used. There
> will be an rbcodecinterface.h for normal Rockbox builds as well as a
> POSIX rbcodecinterface.h used by the test program. This solution is
> quite efficient; its downsides are that it's a bit tricky and
> unconventional.
> Finally, I've submitted three miscellaneous fixes: FS#12163 (AIFF on
> 64-bit), FS#12164 (r30060; slightly incorrect behavior in cook and
> atrac3_rm), and FS#12188 (Perl scripts with Perl 5.14.0).
> [1]
> [2]
> [3]
> Thanks,
> Sean Bartell

Seen as noone has replied...
Yes I really think that the lib should be put in the libs/ directory.
The end goal is that this should be independant of the rest of the
code right? Leaving it in various folders in apps/ is just wrong then.
Received on 2011-07-16

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy