Backed out 10 changesets (bug 1803810) for xpcshell failures on test_import_global...
[gecko.git] / media / libogg / README
blob0101cb14dc1a6e0726be9a73fe944ba8e605bbd5
1 # Ogg
3 [![Travis Build Status](https://travis-ci.org/xiph/ogg.svg?branch=master)](https://travis-ci.org/xiph/ogg)
4 [![Jenkins Build Status](https://mf4.xiph.org/jenkins/job/libogg/badge/icon)](https://mf4.xiph.org/jenkins/job/libogg/)
5 [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/xiph/ogg?branch=master&svg=true)](https://ci.appveyor.com/project/rillian/ogg)
7 Ogg project codecs use the Ogg bitstream format to arrange the raw,
8 compressed bitstream into a more robust, useful form. For example,
9 the Ogg bitstream makes seeking, time stamping and error recovery
10 possible, as well as mixing several sepearate, concurrent media
11 streams into a single physical bitstream.
13 ## What's here ##
14 This source distribution includes libogg and nothing else. Other modules
15 (eg, the modules libvorbis, vorbis-tools for the Vorbis music codec,
16 libtheora for the Theora video codec) contain the codec libraries for
17 use with Ogg bitstreams.
19 Directory:
21 - `src` The source for libogg, a BSD-license inplementation of the public domain Ogg bitstream format
23 - `include` Library API headers
25 - `doc` Ogg specification and libogg API documents
27 - `win32` Win32 projects and build automation
29 ## Contact ##
31 The Ogg homepage is located at https://www.xiph.org/ogg/ .
32 Up to date technical documents, contact information, source code and
33 pre-built utilities may be found there.
35 ## Building ##
37 #### Building from tarball distributions ####
39     ./configure
40     make
42 and optionally (as root):
44     make install
46 This will install the Ogg libraries (static and shared) into
47 /usr/local/lib, includes into /usr/local/include and API
48 documentation into /usr/local/share/doc.
50 #### Building from repository source ####
52 A standard svn build should consist of nothing more than:
54     ./autogen.sh
55     ./configure
56     make
58 and as root if desired :
60     make install
62 #### Building on Windows ####
64 Use the project file in the win32 directory. It should compile out of the box.
66 #### Cross-compiling from Linux to Windows ####
68 It is also possible to cross compile from Linux to windows using the MinGW
69 cross tools and even to run the test suite under Wine, the Linux/*nix
70 windows emulator.
72 On Debian and Ubuntu systems, these cross compiler tools can be installed
73 by doing:
75     sudo apt-get mingw32 mingw32-binutils mingw32-runtime wine
77 Once these tools are installed its possible to compile and test by
78 executing the following commands, or something similar depending on
79 your system:
81     ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc --build=i586-linux
82     make
83     make check
85 (Build instructions for Ogg codecs such as vorbis are similar and may
86 be found in those source modules' README files)
88 ## Building with CMake ##
90 Ogg supports building using [CMake](http://www.cmake.org/). CMake is a meta build system that generates native projects for each platform.
91 To generate projects just run cmake replacing `YOUR-PROJECT-GENERATOR` with a proper generator from a list [here](http://www.cmake.org/cmake/help/v3.2/manual/cmake-generators.7.html):
93     mkdir build
94     cd build
95     cmake -G YOUR-PROJECT-GENERATOR ..
97 Note that by default cmake generates projects that will build static libraries.
98 To generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this:
100     cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 ..
102 After projects are generated use them as usual
104 #### Building on Windows ####
106 Use proper generator for your Visual Studio version like:
108     cmake -G "Visual Studio 12 2013" ..
110 #### Building on Mac OS X ####
112 Use Xcode generator. To build framework run:
114     cmake -G Xcode -DBUILD_FRAMEWORK=1 ..
116 #### Building on Linux ####
118 Use Makefile generator which is default one.
120     cmake ..
121     make
123 ## Testing ##
125 This package includes a collection of automated tests.
126 Running them is not part of building nor installation but optional.
128 ### Unix-like System or MinGW ###
130 If build under automake:
132     make check
134 If build under CMake:
136     make test
140     ctest
142 ### Windows with MSBuild ###
144 If build with configuration type "Debug", then:
146     ctest -C Debug
148 If build with configuration type "Release", then:
150     ctest -C Release
152 ## License ##
154 THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
155 USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
156 GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
157 IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
159 THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2019
160 by the Xiph.Org Foundation https://www.xiph.org/