~ubuntu-branches/ubuntu/saucy/flac/saucy

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Matt Zimmerman
  • Date: 2001-12-10 03:09:22 UTC
  • Revision ID: james.westby@ubuntu.com-20011210030922-0vdtpz6a7mfwefo5
Tags: upstream-1.0.2
ImportĀ upstreamĀ versionĀ 1.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* FLAC - Free Lossless Audio Codec
 
2
 * Copyright (C) 2001  Josh Coalson
 
3
 *
 
4
 * This program is part of FLAC; you can redistribute it and/or
 
5
 * modify it under the terms of the GNU General Public License
 
6
 * as published by the Free Software Foundation; either version 2
 
7
 * of the License, or (at your option) any later version.
 
8
 *
 
9
 * This program is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
 * GNU General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU General Public License
 
15
 * along with this program; if not, write to the Free Software
 
16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
17
 */
 
18
 
 
19
 
 
20
FLAC (http://flac.sourceforge.net/) is an Open Source lossless audio
 
21
codec developed by Josh Coalson.
 
22
 
 
23
FLAC is comprised of 1) `libFLAC', a library which implements
 
24
reference encoders and decoders, licensed under the GNU Lesser
 
25
General Public License (LGPL); 2) `flac', a command-line program for
 
26
encoding and decoding files, licensed under the GNU General public
 
27
License (GPL); 3) `metaflac', a command-line program for editing
 
28
FLAC metadata, licensed under the GPL; 4) player plugins for XMMS
 
29
and Winamp, licensed under the GPL; and 5) documentation, licensed
 
30
under the GNU Free Documentation License.
 
31
 
 
32
============
 
33
FLAC - 1.0.2
 
34
============
 
35
 
 
36
This is the source release for the FLAC project.  See
 
37
 
 
38
        doc/index.html
 
39
 
 
40
for full documentation.
 
41
 
 
42
A brief description of the directory tree:
 
43
 
 
44
        doc/       the HTML documentation
 
45
        include/   public include files for libFLAC
 
46
        src/       the source code and private headers
 
47
        test/      the test scripts
 
48
 
 
49
 
 
50
=============================
 
51
Building in a GNU environment
 
52
=============================
 
53
 
 
54
FLAC uses autoconf and libtool for configuring and building.
 
55
Better documentation for these will be forthcoming, but in
 
56
general, this should work:
 
57
 
 
58
./configure && make && make install
 
59
 
 
60
NOTE: automake 1.5 has a bug which will affect the x86 assembly
 
61
part of the build.  If you have automake 1.5 and have x86
 
62
assembly optimizations turned on, you will need to get a newer
 
63
version of automake or patch your /usr/bin/automake using the
 
64
included 'automake-1.5.patch' file.
 
65
 
 
66
If you still can't get it to work, see the next section on
 
67
Makefile.lite.
 
68
 
 
69
There are a few FLAC-specific arguments you can give to
 
70
`configure':
 
71
 
 
72
--enable-debug : Builds everything with debug symbols and some
 
73
extra (and more verbose) error checking.
 
74
 
 
75
--disable-asm-optimizations : Disables the compilation of the
 
76
assembly routines.  Many routines have assembly versions for
 
77
speed and `configure' is pretty good about knowing what is
 
78
supported, but you can use this option to build only from the
 
79
C sources.
 
80
 
 
81
--enable-sse : If you are building for an x86 CPU that supports
 
82
SSE instructions, you can enable some of the faster routines
 
83
if your operating system also supports SSE instructions.  flac
 
84
can tell if the CPU supports the instructions but currently has
 
85
no way to test if the OS does, so if it does, you must pass
 
86
this argument to configure to use the SSE routines.  If flac
 
87
crashes when built with this option you will have to go back and
 
88
configure without --enable-sse.  Note that
 
89
--disable-asm-optimizations implies --disable-sse.
 
90
 
 
91
--enable-3dnow : If you are building for an AMD CPU which has 3DNOW!
 
92
support, you can use this flag to enable some assembly routines
 
93
which use 3DNOW! instructions.  There have been some reports that
 
94
they may cause flac to crash, which is why it is not turned on
 
95
by default.  Note that --disable-asm-optimizations overrides
 
96
--enable-3dnow.
 
97
 
 
98
 
 
99
===========================
 
100
Building with Makefile.lite
 
101
===========================
 
102
 
 
103
There is a more lightweight build system for do-it-yourself-ers.
 
104
It is also useful if configure isn't working, which may be the
 
105
case since lately we've had some problems with different versions
 
106
of automake and libtool.  The Makefile.lite system should work
 
107
on Gnu systems with few or no minor adjustments.
 
108
 
 
109
From the top level just 'make -f Makefile.lite'.  You can
 
110
specify zero or one optional target from 'release', 'debug',
 
111
'test', or 'clean'.  The default is 'release'.  There is no
 
112
'install' target but everything you need will end up in the
 
113
obj/ directory.
 
114
 
 
115
If you are not on an x86 system or you don't have nasm, you
 
116
may have to change the DEFINES in src/libFLAC/Makefile.lite.  If
 
117
you don't have nasm, remove -DFLAC__HAS_NASM.  If your target is
 
118
not an x86, change -DFLAC__CPU_IA32 to -DFLAC__CPU_UNKNOWN.
 
119
 
 
120
 
 
121
==================
 
122
Building with MSVC
 
123
==================
 
124
 
 
125
There is no overall make system for MSVC but the individual
 
126
source directories with a 'Makefile.vc' file in them allow
 
127
building with MSVC.  Just 'nmake /f Makefile.vc'.  Currently
 
128
the Makefile.vc for libFLAC is hardcoded to use nasm.  If
 
129
you don't have nasm, or don't want any assembly optimizations,
 
130
edit the makefile, adding '/D FLAC__NO_ASM' and delete the
 
131
rules which compile the .s files.
 
132
 
 
133
 
 
134
====================
 
135
Building on Mac OS X
 
136
====================
 
137
 
 
138
There is a Project Builder project in the top-level source
 
139
directory to build libFLAC and the command-line utilities on
 
140
Mac OS X.  In a terminal, cd to the top-level directory (the
 
141
one that contains this README file) and type:
 
142
 
 
143
        pbxbuild -alltargets
 
144
 
 
145
This will create everything and leave it in build/ directory.
 
146
Don't worry about the rest of the stuff that is in build or
 
147
the stuff that was already there before building.
 
148
 
 
149
There currently is no install procedure; you will have to
 
150
manually copy the tools to wherever you need them.