~ubuntu-branches/ubuntu/quantal/flac/quantal

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2007-12-06 16:57:20 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20071206165720-ldii5tm8dq6zxg0l
Tags: 1.2.1-1ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/control: xmms-dev dropped to allow xmms to move to universe,
    adjust maintainer field.

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
 
39
39
 
40
40
===============================================================================
41
 
FLAC - 1.1.4 - Contents
 
41
FLAC - 1.2.1 - Contents
42
42
===============================================================================
43
43
 
44
44
- Introduction
45
45
- Prerequisites
 
46
- Note to embedded developers
46
47
- Building in a GNU environment
47
48
- Building with Makefile.lite
48
49
- Building with MSVC
49
50
- Building on Mac OS X
50
 
- Note to embedded developers
51
51
 
52
52
 
53
53
===============================================================================
63
63
A brief description of the directory tree:
64
64
 
65
65
        doc/          the HTML documentation
66
 
        flac.pbproj/  the Mac OS X Project Builder project
67
66
        include/      public include files for libFLAC and libFLAC++
68
67
        man/          the man page for `flac'
69
68
        src/          the source code and private headers
84
83
 
85
84
 
86
85
===============================================================================
 
86
Note to embedded developers
 
87
===============================================================================
 
88
 
 
89
libFLAC has grown larger over time as more functionality has been
 
90
included, but much of it may be unnecessary for a particular embedded
 
91
implementation.  Unused parts may be pruned by some simple editing of
 
92
configure.in and src/libFLAC/Makefile.am; the following dependency
 
93
graph shows which modules may be pruned without breaking things
 
94
further down:
 
95
 
 
96
metadata.h
 
97
        stream_decoder.h
 
98
        format.h
 
99
 
 
100
stream_encoder.h
 
101
        stream_decoder.h
 
102
        format.h
 
103
 
 
104
stream_decoder.h
 
105
        format.h
 
106
 
 
107
In other words, for pure decoding applications, both the stream encoder
 
108
and metadata editing interfaces can be safely removed.
 
109
 
 
110
There is a section dedicated to embedded use in the libFLAC API
 
111
HTML documentation (see doc/html/api/index.html).
 
112
 
 
113
Also, there are several places in the libFLAC code with comments marked
 
114
with "OPT:" where a #define can be changed to enable code that might be
 
115
faster on a specific platform.  Experimenting with these can yield faster
 
116
binaries.
 
117
 
 
118
 
 
119
===============================================================================
87
120
Building in a GNU environment
88
121
===============================================================================
89
122
 
115
148
assembly routines.  Many routines have assembly versions for
116
149
speed and `configure' is pretty good about knowing what is
117
150
supported, but you can use this option to build only from the
118
 
C sources.
 
151
C sources.  May be necessary for building on OS X (Intel)
119
152
 
120
153
--enable-sse : If you are building for an x86 CPU that supports
121
154
SSE instructions, you can enable some of the faster routines
167
200
Building with MSVC
168
201
===============================================================================
169
202
 
170
 
There are now .dsp projects and a master FLAC.dsw workspace to build
171
 
all the libraries and executables.
 
203
There are .dsp projects and a master FLAC.dsw workspace to build all
 
204
the libraries and executables with MSVC6.  There are also .vcproj
 
205
projects and a master FLAC.sln solution to build all the libraries and
 
206
executables with VC++ 2005.
172
207
 
173
208
Prerequisite: you must have the Ogg libraries installed as described
174
209
later.
177
212
your PATH, or the path to nasmw.exe must be added to the list of
178
213
directories for executable files in the MSVC global options.
179
214
 
 
215
MSVC6:
180
216
To build everything, run Developer Studio, do File|Open Workspace,
181
217
and open FLAC.dsw.  Select "Build | Set active configuration..."
182
218
from the menu, then in the dialog, select "All - Win32 Release" (or
183
 
Debug if you prefer).  Click "Ok" then hit F7 to build. This will build
184
 
all libraries both statically (e.g. obj\release\lib\libFLAC_static.lib)
185
 
and as DLLs (e.g.  obj\release\bin\libFLAC.dll), and it will build all
186
 
binaries, statically linked (e.g. obj\release\bin\flac.exe).
 
219
Debug if you prefer).  Click "Ok" then hit F7 to build.
 
220
 
 
221
VC++ 2005:
 
222
To build everything, run Visual Studio, do File|Open and open FLAC.sln.
 
223
From the dropdown in the toolbar, select "Release" instead of "Debug",
 
224
then hit F7 to build.
 
225
 
 
226
Either way, this will build all libraries both statically (e.g.
 
227
obj\release\lib\libFLAC_static.lib) and as DLLs (e.g.
 
228
obj\release\lib\libFLAC.dll), and it will build all binaries, statically
 
229
linked (e.g. obj\release\bin\flac.exe).
187
230
 
188
231
Everything will end up in the "obj" directory.  DLLs and .exe files
189
232
are all that are needed and can be copied to an installation area and
198
241
FLAC's 'include' directory (so that there is an 'ogg' directory in FLAC's
199
242
'include' directory with the files ogg.h, os_types.h and config_types.h).
200
243
 
 
244
If you want to build without Ogg support, instead edit all .dsp or
 
245
.vcproj files and remove any occurrences of "/D FLAC__HAS_OGG".
 
246
 
201
247
 
202
248
===============================================================================
203
249
Building on Mac OS X
204
250
===============================================================================
205
251
 
206
 
If you have Fink, the GNU flow above should work.  Otherwise,
207
 
there is a Project Builder project in the top-level source
208
 
directory to build libFLAC and the command-line utilities on
209
 
Mac OS X.  In a terminal, cd to the top-level directory (the
210
 
one that contains this README file) and type:
211
 
 
212
 
        pbxbuild -alltargets
213
 
 
214
 
This will create everything and leave it in the build/ directory.
215
 
Don't worry about the rest of the stuff that is in build/ or
216
 
the stuff that was already there before building.
217
 
 
218
 
The Project Builder project requires that you have libiconv and
219
 
libogg in /sw, ala fink.  If you don't, you'll need to install
220
 
them somewhere and change the path to them in the Library Paths
221
 
section of several targets.
222
 
 
223
 
It also assumes the CPU supports Altivec instructions.  If it does
224
 
not, you will also have to add -DFLAC__NO_ASM to the CFLAGS in the
225
 
libFLAC target.
226
 
 
227
 
There currently is no install procedure; you will have to
228
 
manually copy the tools to wherever you need them.
229
 
 
230
 
 
231
 
===============================================================================
232
 
Note to embedded developers
233
 
===============================================================================
234
 
 
235
 
libFLAC has grown larger over time as more functionality has been
236
 
included, but much of it may be unnecessary for a particular embedded
237
 
implementation.  Unused parts may be pruned by some simple editing of
238
 
configure.in and src/libFLAC/Makefile.am; the following dependency
239
 
graph shows which modules may be pruned without breaking things
240
 
further down:
241
 
 
242
 
stream_encoder.h
243
 
        stream_decoder.h
244
 
        format.h
245
 
 
246
 
stream_decoder.h
247
 
        format.h
248
 
 
249
 
metadata.h
250
 
        format.h
251
 
 
252
 
In other words, for pure decoding applications, both the stream encoder
253
 
and metadata editing interfaces can be safely removed.
254
 
 
255
 
There is a section dedicated to embedded use in the libFLAC API
256
 
HTML documentation (see doc/html/api/index.html).
 
252
If you have Fink or a recent version of OS X with the proper autotooles,
 
253
the GNU flow above should work.  The Project Builder project has been
 
254
deprecated but we are working on replacing it with an Xcode equivalent.