libogg fork for PS2 cross-compilation (ps2build/CMake)
  • C 85.7%
  • M4 6.6%
  • CMake 6.2%
  • Makefile 1.3%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
techwritescode 0c963ed131
All checks were successful
Build / build (push) Successful in 47s
Move CI to Docker instead of the Windows self-hosted runner
The Windows runner has been unreliable (jobs sitting queued with no
duration, never picked up - confirmed across multiple repos this
session), while every Docker-hosted job in this ecosystem has run
without issue. Converts both workflows from PowerShell/Compress-
Archive to bash/zip, matching the already-proven libjpeg-turbo Docker
pattern: explicit CMAKE_MAKE_PROGRAM (ninja is never actually on PATH
in a fresh container), setup-forgejo for fj auth in release.yml.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-09-08 18:26:08 -05:00
.forgejo/workflows Move CI to Docker instead of the Windows self-hosted runner 2026-09-08 18:26:08 -05:00
.github/workflows github actions: Install libtool on macos 2025-03-18 12:16:11 -04:00
cmake CMake: checking type sizes (#48) 2019-07-20 18:27:11 +10:00
doc Update release checklist 2025-06-16 17:33:00 -04:00
include os_types: fix unsigned typedefs for MacOS 2019-09-07 11:18:22 -04:00
src Fix potential overflow in ogg_stream_iovecin. 2026-03-02 05:10:35 -08:00
win32 Use full platform name in project file 2019-08-30 12:53:51 -07:00
.gitignore Ignore new temporary files 2025-06-16 17:33:00 -04:00
.gitlab-ci.yml gitlab ci: log source package checksums 2025-06-15 13:25:32 -04:00
.travis.yml Don't update homebrew on macOS travis builds. 2019-08-07 15:58:05 -07:00
appveyor.yml Remove DLL configurations from appveyor.yml and fix platform name for x86 2019-08-30 12:53:51 -07:00
AUTHORS Update the author list with recent contributors. 2011-08-04 17:34:43 +00:00
autogen.sh autotools: use LT_INIT instead of obsolete AM_PROG_LIBTOOL 2018-02-12 11:56:28 -05:00
CHANGES Set release date for 1.3.6 2025-06-16 11:55:41 -04:00
CMakeLists.txt Default CMAKE_TOOLCHAIN_FILE to $PS2DEV/cmake/ps2dev.cmake, not share/ 2026-09-07 10:10:45 -05:00
configure.ac Update version number and soname for the 1.3.6 release 2025-06-16 11:55:41 -04:00
COPYING REGENTS->FOUNDATION 2002-10-11 06:17:20 +00:00
libogg.spec.in update doc/libogg in libogg.spec.in, as reported by thosmos in #vorbis 2007-11-08 07:44:39 +00:00
Makefile.am Remove macOS XCode project files. 2020-05-02 21:03:05 -07:00
ogg-uninstalled.pc.in Fixes ogg-uninstalled.pc.in 2017-12-22 10:58:04 -08:00
ogg.m4 ogg.m4: fix -Wstrict-prototypes 2025-06-13 14:21:15 +00:00
ogg.pc.in This patch adds an -uninstalled.pc file so other libs/tools can use it 2004-07-05 11:21:44 +00:00
package.yaml Add ps2build package.yaml for the PS2 EE cross-build 2026-09-03 21:03:17 -05:00
README.md Update CI build status badges 2025-06-16 17:33:00 -04:00
releases.sha2 Add checksums for the 1.3.6 source packages 2025-06-16 17:32:51 -04:00

Ogg

GitLab Pipeline Status GitHub CI Autotools build GitHub CI CMake build AppVeyor Build Status

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 separate, concurrent media streams into a single physical bitstream.

What's here

This source distribution includes libogg and nothing else. Other modules (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.

Directory:

  • src The source for libogg, a BSD-license implementation of the public domain Ogg bitstream format

  • include Library API headers

  • doc Ogg specification and libogg API documents

  • win32 Win32 projects and build automation

Contact

The Ogg homepage is located at https://www.xiph.org/ogg/ . Up to date technical documents, contact information, source code and pre-built utilities may be found there.

Building

Building from tarball distributions

./configure
make

and optionally (as root):

make install

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.

Building from repository source

A standard svn build should consist of nothing more than:

./autogen.sh
./configure
make

and as root if desired :

make install

Building on Windows

Use the project file in the win32 directory. It should compile out of the box.

Cross-compiling from Linux to Windows

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 executing the following commands, or something similar depending on your system:

./configure --host=i586-mingw32msvc --target=i586-mingw32msvc --build=i586-linux
make
make check

(Build instructions for Ogg codecs such as vorbis are similar and may be found in those source modules' README files)

Building with CMake

Ogg supports building using CMake. 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:

mkdir build
cd build
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

Testing

This package includes a collection of automated tests. Running them is not part of building nor installation but optional.

Unix-like System or MinGW

If build under automake:

make check

If build under CMake:

make test

or:

ctest

Windows with MSBuild

If build with configuration type "Debug", then:

ctest -C Debug

If build with configuration type "Release", then:

ctest -C Release

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-2019 by the Xiph.Org Foundation https://www.xiph.org/