|
Rockbox mail archiveSubject: Re: librbcodec update; directory structure discussionRe: librbcodec update; directory structure discussion
From: Jonathan Gordon <jdgordy_at_gmail.com>
Date: Sun, 17 Jul 2011 00:38:43 +1000 On 14 July 2011 05:36, Sean Bartell <wingedtachikoma_at_gmail.com> 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] http://www.rockbox.org/tracker/task/12190 > [2] http://www.rockbox.org/irc/log-20110712#22:06:03 > [3] http://www.rockbox.org/irc/log-20110713#03:41:16 > > 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 |