From 8c8eb717e41a98240a8eceb18db9bb1412b385ac Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Wed, 12 Sep 2007 01:03:20 +0000 Subject: [PATCH] move and expand note to embedded developers --- README | 64 ++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/README b/README index 9ef6e4cc..444d225a 100644 --- a/README +++ b/README @@ -43,11 +43,11 @@ FLAC - 1.2.0 - Contents - Introduction - Prerequisites +- Note to embedded developers - Building in a GNU environment - Building with Makefile.lite - Building with MSVC - Building on Mac OS X -- Note to embedded developers =============================================================================== @@ -82,6 +82,40 @@ need to have NASM >= 0.98.30 installed according to the specific instructions below. +=============================================================================== +Note to embedded developers +=============================================================================== + +libFLAC has grown larger over time as more functionality has been +included, but much of it may be unnecessary for a particular embedded +implementation. Unused parts may be pruned by some simple editing of +configure.in and src/libFLAC/Makefile.am; the following dependency +graph shows which modules may be pruned without breaking things +further down: + +metadata.h + stream_decoder.h + format.h + +stream_encoder.h + stream_decoder.h + format.h + +stream_decoder.h + format.h + +In other words, for pure decoding applications, both the stream encoder +and metadata editing interfaces can be safely removed. + +There is a section dedicated to embedded use in the libFLAC API +HTML documentation (see doc/html/api/index.html). + +Also, there are several places in the libFLAC code with comments marked +with "OPT:" where a #define can be changed to enable code that might be +faster on a specific platform. Experimenting with these can yield faster +binaries. + + =============================================================================== Building in a GNU environment =============================================================================== @@ -218,31 +252,3 @@ Building on Mac OS X If you have Fink or a recent version of OS X with the proper autotooles, the GNU flow above should work. The Project Builder project has been deprecated but we are working on replacing it with an Xcode equivalent. - - -=============================================================================== -Note to embedded developers -=============================================================================== - -libFLAC has grown larger over time as more functionality has been -included, but much of it may be unnecessary for a particular embedded -implementation. Unused parts may be pruned by some simple editing of -configure.in and src/libFLAC/Makefile.am; the following dependency -graph shows which modules may be pruned without breaking things -further down: - -stream_encoder.h - stream_decoder.h - format.h - -stream_decoder.h - format.h - -metadata.h - format.h - -In other words, for pure decoding applications, both the stream encoder -and metadata editing interfaces can be safely removed. - -There is a section dedicated to embedded use in the libFLAC API -HTML documentation (see doc/html/api/index.html).