OSUOSL/Nero are experiencing Internet connectivity problems. This affects us as we're hosted with OSUOSL. We apologize for the inconvenience.

README.md 4.06 KB
Newer Older
stopiccot's avatar
stopiccot committed
1 2
# Ogg

Chocobo1's avatar
Chocobo1 committed
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)
stopiccot's avatar
stopiccot committed
6

7 8 9 10 11
Ogg project codecs use the Ogg bitstream format to arrange the raw,
compressed bitstream into a more robust, useful form. For example,
the Ogg bitstream makes seeking, time stamping and error recovery
possible, as well as mixing several sepearate, concurrent media
streams into a single physical bitstream.
Monty's avatar
 
Monty committed
12

13
## What's here ##
14
This source distribution includes libogg and nothing else. Other modules
Ralph Giles's avatar
Ralph Giles committed
15 16 17
(eg, the modules libvorbis, vorbis-tools for the Vorbis music codec,
libtheora for the Theora video codec) contain the codec libraries for
use with Ogg bitstreams.
Monty's avatar
 
Monty committed
18 19 20

Directory:

stopiccot's avatar
stopiccot committed
21
- `src` The source for libogg, a BSD-license inplementation of the public domain Ogg bitstream format
Monty's avatar
 
Monty committed
22

stopiccot's avatar
stopiccot committed
23
- `include` Library API headers
Monty's avatar
 
Monty committed
24

stopiccot's avatar
stopiccot committed
25
- `doc` Ogg specification and libogg API documents
Monty's avatar
 
Monty committed
26

Ralph Giles's avatar
Ralph Giles committed
27
- `win32` Win32 projects and build automation
28

stopiccot's avatar
stopiccot committed
29
- `macosx` Mac OS X project and build files
30

stopiccot's avatar
stopiccot committed
31
## Contact ##
Monty's avatar
 
Monty committed
32

stopiccot's avatar
stopiccot committed
33
The Ogg homepage is located at https://www.xiph.org/ogg/ .
Monty's avatar
 
Monty committed
34 35 36
Up to date technical documents, contact information, source code and
pre-built utilities may be found there.

stopiccot's avatar
stopiccot committed
37
## Building ##
Jack Moffitt's avatar
Jack Moffitt committed
38

stopiccot's avatar
stopiccot committed
39 40 41 42
#### Building from tarball distributions ####

    ./configure
    make
Jack Moffitt's avatar
Jack Moffitt committed
43 44

and optionally (as root):
stopiccot's avatar
stopiccot committed
45 46

    make install
Jack Moffitt's avatar
Jack Moffitt committed
47

Ralph Giles's avatar
Ralph Giles committed
48 49 50
This will install the Ogg libraries (static and shared) into
/usr/local/lib, includes into /usr/local/include and API
documentation into /usr/local/share/doc.
51

stopiccot's avatar
stopiccot committed
52
#### Building from repository source ####
53

Ralph Giles's avatar
Ralph Giles committed
54
A standard svn build should consist of nothing more than:
55

stopiccot's avatar
stopiccot committed
56
    ./autogen.sh
stopiccot's avatar
stopiccot committed
57
    ./configure
stopiccot's avatar
stopiccot committed
58
    make
59

Ralph Giles's avatar
Ralph Giles committed
60
and as root if desired :
61

stopiccot's avatar
stopiccot committed
62
    make install
Ralph Giles's avatar
Ralph Giles committed
63

stopiccot's avatar
stopiccot committed
64
#### Building on Windows ####
Ralph Giles's avatar
Ralph Giles committed
65 66

Use the project file in the win32 directory. It should compile out of the box.
Monty's avatar
 
Monty committed
67

stopiccot's avatar
stopiccot committed
68
#### Cross-compiling from Linux to Windows ####
69 70 71 72 73 74 75 76 77 78 79

It is also possible to cross compile from Linux to windows using the MinGW
cross tools and even to run the test suite under Wine, the Linux/*nix
windows emulator.

On Debian and Ubuntu systems, these cross compiler tools can be installed
by doing:

    sudo apt-get mingw32 mingw32-binutils mingw32-runtime wine

Once these tools are installed its possible to compile and test by
Ralph Giles's avatar
Ralph Giles committed
80 81
executing the following commands, or something similar depending on
your system:
82

stopiccot's avatar
stopiccot committed
83
    ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc --build=i586-linux
84 85 86
    make
    make check

Monty's avatar
 
Monty committed
87 88
(Build instructions for Ogg codecs such as vorbis are similar and may
be found in those source modules' README files)
89

90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
## Building with CMake ##

Ogg supports building using [CMake](http://www.cmake.org/). CMake is a meta build system that generates native projects for each platform.
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):

    cmake -G YOUR-PROJECT-GENERATOR .

Note that by default cmake generates projects that will build static libraries.
To generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this:

    cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 .

After projects are generated use them as usual

#### Building on Windows ####

Use proper generator for your Visual Studio version like:

    cmake -G "Visual Studio 12 2013" .

#### Building on Mac OS X ####

Use Xcode generator. To build framework run:

    cmake -G Xcode -DBUILD_FRAMEWORK=1 .

#### Building on Linux ####

Use Makefile generator which is default one.

    cmake .
    make

123 124 125 126 127 128 129 130 131
## License ##

THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.

THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2015
by the Xiph.Org Foundation https://www.xiph.org/