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