]> git.tdb.fi Git - ext/ogg.git/blob - README.md
Add MSP build files
[ext/ogg.git] / README.md
1 # Ogg
2
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)
6
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.
12
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.
18
19 Directory:
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
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.
34
35 ## Building ##
36
37 #### Building from tarball distributions ####
38
39     ./configure
40     make
41
42 and optionally (as root):
43
44     make install
45
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.
49
50 #### Building from repository source ####
51
52 A standard svn build should consist of nothing more than:
53
54     ./autogen.sh
55     ./configure
56     make
57
58 and as root if desired :
59
60     make install
61
62 #### Building on Windows ####
63
64 Use the project file in the win32 directory. It should compile out of the box.
65
66 #### Cross-compiling from Linux to Windows ####
67
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.
71
72 On Debian and Ubuntu systems, these cross compiler tools can be installed
73 by doing:
74
75     sudo apt-get mingw32 mingw32-binutils mingw32-runtime wine
76
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:
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
86 be found in those source modules' README files)
87
88 ## Building with CMake ##
89
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):
92
93     mkdir build
94     cd build
95     cmake -G YOUR-PROJECT-GENERATOR ..
96
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:
99
100     cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 ..
101
102 After projects are generated use them as usual
103
104 #### Building on Windows ####
105
106 Use proper generator for your Visual Studio version like:
107
108     cmake -G "Visual Studio 12 2013" ..
109
110 #### Building on Mac OS X ####
111
112 Use Xcode generator. To build framework run:
113
114     cmake -G Xcode -DBUILD_FRAMEWORK=1 ..
115
116 #### Building on Linux ####
117
118 Use Makefile generator which is default one.
119
120     cmake ..
121     make
122
123 ## Testing ##
124
125 This package includes a collection of automated tests.
126 Running them is not part of building nor installation but optional.
127
128 ### Unix-like System or MinGW ###
129
130 If build under automake:
131
132     make check
133
134 If build under CMake:
135
136     make test
137
138 or:
139
140     ctest
141
142 ### Windows with MSBuild ###
143
144 If build with configuration type "Debug", then:
145
146     ctest -C Debug
147
148 If build with configuration type "Release", then:
149
150     ctest -C Release
151
152 ## License ##
153
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.
158
159 THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2019
160 by the Xiph.Org Foundation https://www.xiph.org/