Merge pull request #1971 from ChronoAndross/5_1-new
Update Vorbis from 1.3.2 to 1.3.6. Updating to this version addresses…
@@ -0,0 +1,40 @@
|
||||
*.o
|
||||
*.lo
|
||||
*.la
|
||||
.libs
|
||||
.deps
|
||||
aclocal.m4
|
||||
configure
|
||||
Makefile
|
||||
Makefile.in
|
||||
autom4te.cache
|
||||
compile
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in
|
||||
config.h.in~
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
depcomp
|
||||
install-sh
|
||||
libtool
|
||||
ltmain.sh
|
||||
missing
|
||||
stamp-h1
|
||||
m4/libtool.m4
|
||||
m4/ltoptions.m4
|
||||
m4/ltsugar.m4
|
||||
m4/ltversion.m4
|
||||
m4/lt~obsolete.m4
|
||||
libvorbis.spec
|
||||
vorbis-uninstalled.pc
|
||||
vorbis.pc
|
||||
vorbisenc-uninstalled.pc
|
||||
vorbisenc.pc
|
||||
vorbisfile-uninstalled.pc
|
||||
vorbisfile.pc
|
||||
doc/Doxyfile
|
||||
doc/doxygen-build.stamp
|
||||
lib/test_sharedbook
|
||||
test/test
|
||||
@@ -0,0 +1,24 @@
|
||||
language: c
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
env:
|
||||
- BUILD_SYSTEM=AUTOTOOLS
|
||||
- BUILD_SYSTEM=CMAKE
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libogg-dev
|
||||
|
||||
script:
|
||||
- if [[ "$BUILD_SYSTEM" == "AUTOTOOLS" ]] ; then ./autogen.sh ; fi
|
||||
- if [[ "$BUILD_SYSTEM" == "AUTOTOOLS" ]] ; then ./configure ; fi
|
||||
- if [[ "$BUILD_SYSTEM" == "AUTOTOOLS" ]] ; then make -j2 V=1 distcheck ; fi
|
||||
- if [[ "$BUILD_SYSTEM" == "CMAKE" ]] ; then mkdir build ; fi
|
||||
- if [[ "$BUILD_SYSTEM" == "CMAKE" ]] ; then pushd build ; fi
|
||||
- if [[ "$BUILD_SYSTEM" == "CMAKE" ]] ; then cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .. ; fi
|
||||
- if [[ "$BUILD_SYSTEM" == "CMAKE" ]] ; then cmake --build . ; fi
|
||||
- if [[ "$BUILD_SYSTEM" == "CMAKE" ]] ; then popd ; fi
|
||||
@@ -0,0 +1,8 @@
|
||||
def FlagsForFile(filename, **kwargs):
|
||||
return {
|
||||
'flags': [
|
||||
'-x', 'c',
|
||||
'-g', '-Wall', '-Wextra',
|
||||
'-D_REENTRANT', '-D__NO_MATH_INLINES', '-fsigned-char'
|
||||
],
|
||||
}
|
||||
@@ -1,4 +1,17 @@
|
||||
libvorbis 1.3.5 (unreleased) -- "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)"
|
||||
libvorbis 1.3.6 (2018-03-16) -- "Xiph.Org libVorbis I 20180316 (Now 100% fewer shells)"
|
||||
|
||||
* Fix CVE-2018-5146 - out-of-bounds write on codebook decoding.
|
||||
* Fix CVE-2017-14632 - free() on unitialized data
|
||||
* Fix CVE-2017-14633 - out-of-bounds read
|
||||
* Fix bitrate metadata parsing.
|
||||
* Fix out-of-bounds read in codebook parsing.
|
||||
* Fix residue vector size in Vorbis I spec.
|
||||
* Appveyor support
|
||||
* Travis CI support
|
||||
* Add secondary CMake build system.
|
||||
* Build system fixes
|
||||
|
||||
libvorbis 1.3.5 (2015-03-03) -- "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)"
|
||||
|
||||
* Tolerate single-entry codebooks.
|
||||
* Fix decoder crash with invalid input.
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
cmake_minimum_required(VERSION 2.8.7)
|
||||
project(vorbis)
|
||||
|
||||
# Required modules
|
||||
include(GNUInstallDirs)
|
||||
include(CheckIncludeFiles)
|
||||
|
||||
# Build options
|
||||
option(BUILD_SHARED_LIBS "Build shared library" OFF)
|
||||
if(APPLE)
|
||||
option(BUILD_FRAMEWORK "Build Framework bundle for OSX" OFF)
|
||||
endif()
|
||||
|
||||
if(BUILD_FRAMEWORK)
|
||||
set(BUILD_SHARED_LIBS TRUE)
|
||||
endif()
|
||||
|
||||
# Extract project version from configure.ac
|
||||
file(READ configure.ac CONFIGURE_AC_CONTENTS)
|
||||
string(REGEX MATCH "AC_INIT\\(\\[libvorbis\\],\\[([0-9]*).([0-9]*).([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
|
||||
set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||
set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_2})
|
||||
set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_3})
|
||||
set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
|
||||
|
||||
# Helper function to get version-info
|
||||
function(get_version_info result current_var_name age_var_name revision_var_name)
|
||||
string(REGEX MATCH "${current_var_name}=([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
|
||||
set(VERSION_INFO_CURRENT ${CMAKE_MATCH_1})
|
||||
|
||||
string(REGEX MATCH "${age_var_name}=([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
|
||||
set(VERSION_INFO_AGE ${CMAKE_MATCH_1})
|
||||
|
||||
string(REGEX MATCH "${revision_var_name}=([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
|
||||
set(VERSION_INFO_REVISION ${CMAKE_MATCH_1})
|
||||
|
||||
math(EXPR VERSION_INFO_CURRENT_MINUS_AGE "${VERSION_INFO_CURRENT} - ${VERSION_INFO_AGE}")
|
||||
|
||||
set(${result} "${VERSION_INFO_CURRENT_MINUS_AGE}.${VERSION_INFO_AGE}.${VERSION_INFO_REVISION}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Helper function to configure pkg-config files
|
||||
function(configure_pkg_config_file pkg_config_file_in)
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
set(exec_prefix ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||
set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
|
||||
set(VERSION ${PROJECT_VERSION})
|
||||
string(REPLACE ".in" "" pkg_config_file ${pkg_config_file_in})
|
||||
configure_file(${pkg_config_file_in} ${pkg_config_file} @ONLY)
|
||||
endfunction()
|
||||
|
||||
message(STATUS "Configuring ${PROJECT_NAME} ${PROJECT_VERSION}")
|
||||
|
||||
# Find ogg dependency
|
||||
if(NOT OGG_ROOT)
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_OGG QUIET ogg)
|
||||
find_path(OGG_INCLUDE_DIRS NAMES ogg/ogg.h HINTS ${PC_OGG_INCLUDE_DIRS} PATH_SUFFIXES ogg)
|
||||
find_library(OGG_LIBRARIES NAMES ogg HINTS ${PC_OGG_LIBRARY_DIRS})
|
||||
else()
|
||||
find_path(OGG_INCLUDE_DIRS NAMES ogg/ogg.h HINTS ${OGG_ROOT}/include PATH_SUFFIXES ogg)
|
||||
find_library(OGG_LIBRARIES NAMES ogg HINTS ${OGG_ROOT}/lib ${OGG_ROOT}/lib64)
|
||||
endif()
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(OGG DEFAULT_MSG OGG_INCLUDE_DIRS OGG_LIBRARIES)
|
||||
|
||||
add_subdirectory(lib)
|
||||
|
||||
configure_pkg_config_file(vorbis.pc.in)
|
||||
configure_pkg_config_file(vorbisenc.pc.in)
|
||||
configure_pkg_config_file(vorbisfile.pc.in)
|
||||
|
||||
install(
|
||||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/vorbis.pc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/vorbisenc.pc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/vorbisfile.pc
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/pkgconfig
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2002-2015 Xiph.org Foundation
|
||||
Copyright (c) 2002-2018 Xiph.org Foundation
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
#AUTOMAKE_OPTIONS = 1.7 foreign dist-zip dist-bzip2
|
||||
AUTOMAKE_OPTIONS = foreign 1.11 dist-zip dist-xz
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
SUBDIRS = m4 include vq lib test doc
|
||||
|
||||
if BUILD_EXAMPLES
|
||||
@@ -17,7 +18,7 @@ pkgconfig_DATA = vorbis.pc vorbisenc.pc vorbisfile.pc
|
||||
|
||||
EXTRA_DIST = \
|
||||
CHANGES COPYING \
|
||||
todo.txt autogen.sh \
|
||||
autogen.sh \
|
||||
libvorbis.spec libvorbis.spec.in \
|
||||
vorbis.m4 \
|
||||
vorbis.pc.in vorbisenc.pc.in vorbisfile.pc.in \
|
||||
@@ -25,7 +26,7 @@ EXTRA_DIST = \
|
||||
vorbisenc-uninstalled.pc.in \
|
||||
vorbisfile-uninstalled.pc.in \
|
||||
symbian \
|
||||
macos macosx win32
|
||||
macosx win32
|
||||
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-docs
|
||||
|
||||
@@ -1,134 +0,0 @@
|
||||
********************************************************************
|
||||
* *
|
||||
* 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 (C) COPYRIGHT 1994-2015 *
|
||||
* by the Xiph.org Foundation, http://www.xiph.org/ *
|
||||
* *
|
||||
********************************************************************
|
||||
|
||||
Vorbis is a general purpose audio and music encoding format
|
||||
contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
|
||||
MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
|
||||
proprietary formats such as RealAudio G2 and Windows' flavor of the
|
||||
month), the Vorbis CODEC specification belongs to the public domain.
|
||||
All the technical details are published and documented, and any
|
||||
software entity may make full use of the format without license
|
||||
fee, royalty or patent concerns.
|
||||
|
||||
This package contains:
|
||||
|
||||
* libvorbis, a BSD-style license software implementation of
|
||||
the Vorbis specification by the Xiph.Org Foundation
|
||||
(http://www.xiph.org/)
|
||||
|
||||
* libvorbisfile, a BSD-style license convenience library
|
||||
built on Vorbis designed to simplify common uses
|
||||
|
||||
* libvorbisenc, a BSD-style license library that provides a simple,
|
||||
programmatic encoding setup interface
|
||||
|
||||
* example code making use of libogg, libvorbis, libvorbisfile and
|
||||
libvorbisenc
|
||||
|
||||
WHAT'S HERE:
|
||||
|
||||
This source distribution includes libvorbis and an example
|
||||
encoder/player to demonstrate use of libvorbis as well as
|
||||
documentation on the Ogg Vorbis audio coding format.
|
||||
|
||||
You'll need libogg (distributed separately) to compile this library.
|
||||
A more comprehensive set of utilities is available in the vorbis-tools
|
||||
package.
|
||||
|
||||
Directory:
|
||||
|
||||
./lib The source for the libraries, a BSD-license implementation
|
||||
of the public domain Ogg Vorbis audio encoding format.
|
||||
|
||||
./include Library API headers
|
||||
|
||||
./debian Rules/spec files for building Debian .deb packages
|
||||
|
||||
./doc Vorbis documentation
|
||||
|
||||
./examples Example code illustrating programmatic use of libvorbis,
|
||||
libvorbisfile and libvorbisenc
|
||||
|
||||
./mac Codewarrior project files and build tweaks for MacOS.
|
||||
|
||||
./macosx Project files for MacOS X.
|
||||
|
||||
./win32 Win32 projects files and build automation
|
||||
|
||||
./vq Internal utilities for training/building new LSP/residue
|
||||
and auxiliary codebooks.
|
||||
|
||||
CONTACT:
|
||||
|
||||
The Ogg homepage is located at 'http://www.xiph.org/ogg/'.
|
||||
Vorbis's homepage is located at 'http://www.xiph.org/vorbis/'.
|
||||
Up to date technical documents, contact information, source code and
|
||||
pre-built utilities may be found there.
|
||||
|
||||
The user website for Ogg Vorbis software and audio is http://vorbis.com/
|
||||
|
||||
BUILDING FROM TRUNK:
|
||||
|
||||
Development source is under subversion revision control at
|
||||
https://svn.xiph.org/trunk/vorbis/. You will also need the
|
||||
newest versions of autoconf, automake, libtool and pkg-config in
|
||||
order to compile Vorbis from development source. A configure script
|
||||
is provided for you in the source tarball distributions.
|
||||
|
||||
[update or checkout latest source]
|
||||
./autogen.sh
|
||||
make
|
||||
|
||||
and as root if desired:
|
||||
|
||||
make install
|
||||
|
||||
This will install the Vorbis libraries (static and shared) into
|
||||
/usr/local/lib, includes into /usr/local/include and API manpages
|
||||
(once we write some) into /usr/local/man.
|
||||
|
||||
Documentation building requires xsltproc and pdfxmltex.
|
||||
|
||||
BUILDING FROM TARBALL DISTRIBUTIONS:
|
||||
|
||||
./configure
|
||||
make
|
||||
|
||||
and optionally (as root):
|
||||
make install
|
||||
|
||||
BUILDING RPMS:
|
||||
|
||||
after normal configuring:
|
||||
|
||||
make dist
|
||||
rpm -ta libvorbis-<version>.tar.gz
|
||||
|
||||
BUILDING ON MACOS 9:
|
||||
|
||||
Vorbis on MacOS 9 is built using Metroworks CodeWarrior. To build it,
|
||||
first verify that the Ogg libraries are already built following the
|
||||
instructions in the Ogg module README. Open vorbis/mac/libvorbis.mcp,
|
||||
switch to the "Targets" pane, select everything, and make the project.
|
||||
Do the same thing to build libvorbisenc.mcp, and libvorbisfile.mcp (in
|
||||
that order). In vorbis/mac/Output you will now have both debug and final
|
||||
versions of Vorbis shared libraries to link your projects against.
|
||||
|
||||
To build a project using Ogg Vorbis, add access paths to your
|
||||
CodeWarrior project for the ogg/include, ogg/mac/Output,
|
||||
vorbis/include, and vorbis/mac/Output folders. Be sure that
|
||||
"interpret DOS and Unix paths" is turned on in your project; it can
|
||||
be found in the "access paths" pane in your project settings. Now
|
||||
simply add the shared libraries you need to your project (OggLib and
|
||||
VorbisLib at least) and #include "ogg/ogg.h" and "vorbis/codec.h"
|
||||
wherever you need to access Ogg and Vorbis functionality.
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
# Vorbis
|
||||
|
||||
[](https://travis-ci.org/xiph/vorbis)
|
||||
[](https://mf4.xiph.org/jenkins/job/libvorbis/)
|
||||
[](https://ci.appveyor.com/project/rillian/vorbis)
|
||||
|
||||
Vorbis is a general purpose audio and music encoding format
|
||||
contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
|
||||
MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
|
||||
proprietary formats such as RealAudio G2 and Windows' flavor of the
|
||||
month), the Vorbis CODEC specification belongs to the public domain.
|
||||
All the technical details are published and documented, and any
|
||||
software entity may make full use of the format without license
|
||||
fee, royalty or patent concerns.
|
||||
|
||||
This package contains:
|
||||
|
||||
- libvorbis, a BSD-style license software implementation of
|
||||
the Vorbis specification by the Xiph.Org Foundation
|
||||
(https://www.xiph.org/)
|
||||
|
||||
- libvorbisfile, a BSD-style license convenience library
|
||||
built on Vorbis designed to simplify common uses
|
||||
|
||||
- libvorbisenc, a BSD-style license library that provides a simple,
|
||||
programmatic encoding setup interface
|
||||
|
||||
- example code making use of libogg, libvorbis, libvorbisfile and
|
||||
libvorbisenc
|
||||
|
||||
## What's here ##
|
||||
|
||||
This source distribution includes libvorbis and an example
|
||||
encoder/player to demonstrate use of libvorbis as well as
|
||||
documentation on the Ogg Vorbis audio coding format.
|
||||
|
||||
You'll need libogg (distributed separately) to compile this library.
|
||||
A more comprehensive set of utilities is available in the vorbis-tools
|
||||
package.
|
||||
|
||||
Directory:
|
||||
|
||||
- `lib` The source for the libraries, a BSD-license implementation of the public domain Ogg Vorbis audio encoding format.
|
||||
|
||||
- `include` Library API headers
|
||||
|
||||
- `debian` Rules/spec files for building Debian .deb packages
|
||||
|
||||
- `doc` Vorbis documentation
|
||||
|
||||
- `examples` Example code illustrating programmatic use of libvorbis, libvorbisfile and libvorbisenc
|
||||
|
||||
- `macosx` Project files for MacOS X.
|
||||
|
||||
- `win32` Win32 projects files and build automation
|
||||
|
||||
- `vq` Internal utilities for training/building new LSP/residue and auxiliary codebooks.
|
||||
|
||||
## Contact ##
|
||||
|
||||
The Ogg homepage is located at 'https://www.xiph.org/ogg/'.
|
||||
Vorbis's homepage is located at 'https://www.xiph.org/vorbis/'.
|
||||
Up to date technical documents, contact information, source code and
|
||||
pre-built utilities may be found there.
|
||||
|
||||
The user website for Ogg Vorbis software and audio is http://vorbis.com/
|
||||
|
||||
## Building ##
|
||||
|
||||
#### Building from master ####
|
||||
|
||||
Development source is under git revision control at
|
||||
https://git.xiph.org/vorbis.git. You will also need the
|
||||
newest versions of autoconf, automake, libtool and pkg-config in
|
||||
order to compile Vorbis from development source. A configure script
|
||||
is provided for you in the source tarball distributions.
|
||||
|
||||
./autogen.sh
|
||||
./configure
|
||||
make
|
||||
|
||||
and as root if desired:
|
||||
|
||||
make install
|
||||
|
||||
This will install the Vorbis libraries (static and shared) into
|
||||
/usr/local/lib, includes into /usr/local/include and API manpages
|
||||
(once we write some) into /usr/local/man.
|
||||
|
||||
Documentation building requires xsltproc and pdfxmltex.
|
||||
|
||||
#### Building from tarball distributions ####
|
||||
|
||||
./configure
|
||||
make
|
||||
|
||||
and optionally (as root):
|
||||
|
||||
make install
|
||||
|
||||
#### Building RPM packages ####
|
||||
|
||||
after normal configuring:
|
||||
|
||||
make dist
|
||||
rpm -ta libvorbis-<version>.tar.gz
|
||||
|
||||
## 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
|
||||
|
||||
## 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-2018
|
||||
by the Xiph.Org Foundation https://www.xiph.org/
|
||||
@@ -0,0 +1,32 @@
|
||||
image: Visual Studio 2015
|
||||
configuration:
|
||||
- Debug
|
||||
|
||||
platform:
|
||||
- Win32
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
- BUILD_SYSTEM: MSVC
|
||||
- BUILD_SYSTEM: CMAKE
|
||||
|
||||
install:
|
||||
- git clone -q https://github.com/xiph/ogg.git %APPVEYOR_BUILD_FOLDER%\..\libogg
|
||||
- if "%BUILD_SYSTEM%"=="MSVC" msbuild "%APPVEYOR_BUILD_FOLDER%\..\libogg\win32\VS2015\libogg_static.sln" /m /v:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /property:Configuration=%CONFIGURATION%;Platform=%PLATFORM%
|
||||
- if "%BUILD_SYSTEM%"=="CMAKE" mkdir "%APPVEYOR_BUILD_FOLDER%\..\libogg\build"
|
||||
- if "%BUILD_SYSTEM%"=="CMAKE" pushd "%APPVEYOR_BUILD_FOLDER%\..\libogg\build"
|
||||
- if "%BUILD_SYSTEM%"=="CMAKE" cmake -A "%PLATFORM%" -G "Visual Studio 14 2015" -DCMAKE_INSTALL_PREFIX="%APPVEYOR_BUILD_FOLDER%\..\libogg\install" ..
|
||||
- if "%BUILD_SYSTEM%"=="CMAKE" cmake --build . --config "%CONFIGURATION%" --target install -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||
- if "%BUILD_SYSTEM%"=="CMAKE" popd
|
||||
|
||||
before_build:
|
||||
- if "%BUILD_SYSTEM%" == "CMAKE" mkdir "%APPVEYOR_BUILD_FOLDER%\build"
|
||||
- if "%BUILD_SYSTEM%" == "CMAKE" pushd "%APPVEYOR_BUILD_FOLDER%\build"
|
||||
- if "%BUILD_SYSTEM%" == "CMAKE" cmake -A "%PLATFORM%" -G "Visual Studio 14 2015" -DOGG_ROOT=%APPVEYOR_BUILD_FOLDER%\..\libogg\install ..
|
||||
- if "%BUILD_SYSTEM%" == "CMAKE" popd
|
||||
|
||||
build_script:
|
||||
- if "%BUILD_SYSTEM%"=="MSVC" msbuild "%APPVEYOR_BUILD_FOLDER%\win32\VS2010\vorbis_dynamic.sln" /m /v:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /property:Configuration=%CONFIGURATION%;Platform=%PLATFORM%
|
||||
- if "%BUILD_SYSTEM%" == "CMAKE" pushd "%APPVEYOR_BUILD_FOLDER%\build"
|
||||
- if "%BUILD_SYSTEM%" == "CMAKE" cmake --build . --config "%CONFIGURATION%" -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||
- if "%BUILD_SYSTEM%" == "CMAKE" popd
|
||||
@@ -1,129 +1,12 @@
|
||||
#!/bin/sh
|
||||
# Run this to set up the build system: configure, makefiles, etc.
|
||||
# (based on the version in enlightenment's cvs)
|
||||
set -e
|
||||
|
||||
package="vorbis"
|
||||
|
||||
ACLOCAL_FLAGS="-I m4"
|
||||
|
||||
olddir=`pwd`
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
test -n "$srcdir" && cd "$srcdir"
|
||||
|
||||
cd "$srcdir"
|
||||
DIE=0
|
||||
echo "Updating build configuration files for $package, please wait...."
|
||||
|
||||
echo "checking for autoconf... "
|
||||
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
||||
echo
|
||||
echo "You must have autoconf installed to compile $package."
|
||||
echo "Download the appropriate package for your distribution,"
|
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||
DIE=1
|
||||
}
|
||||
|
||||
VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/"
|
||||
VERSIONMKMAJ="sed -e s/\([0-9][0-9]*\)[^0-9].*/\\1/"
|
||||
VERSIONMKMIN="sed -e s/.*[0-9][0-9]*\.//"
|
||||
|
||||
# do we need automake?
|
||||
if test -r Makefile.am; then
|
||||
AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
|
||||
AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
|
||||
if test x"$AM_NEEDED" = "x$AM_OPTIONS"; then
|
||||
AM_NEEDED=""
|
||||
fi
|
||||
if test -z $AM_NEEDED; then
|
||||
echo -n "checking for automake... "
|
||||
AUTOMAKE=automake
|
||||
ACLOCAL=aclocal
|
||||
if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
|
||||
echo "yes"
|
||||
else
|
||||
echo "no"
|
||||
AUTOMAKE=
|
||||
fi
|
||||
else
|
||||
echo -n "checking for automake $AM_NEEDED or later... "
|
||||
majneeded=`echo $AM_NEEDED | $VERSIONMKMAJ`
|
||||
minneeded=`echo $AM_NEEDED | $VERSIONMKMIN`
|
||||
for am in automake-$AM_NEEDED automake$AM_NEEDED \
|
||||
automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake; do
|
||||
($am --version < /dev/null > /dev/null 2>&1) || continue
|
||||
ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP`
|
||||
maj=`echo $ver | $VERSIONMKMAJ`
|
||||
min=`echo $ver | $VERSIONMKMIN`
|
||||
if test $maj -eq $majneeded -a $min -ge $minneeded; then
|
||||
AUTOMAKE=$am
|
||||
echo $AUTOMAKE
|
||||
break
|
||||
fi
|
||||
done
|
||||
test -z $AUTOMAKE && echo "no"
|
||||
echo -n "checking for aclocal $AM_NEEDED or later... "
|
||||
for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED \
|
||||
aclocal-1.10 aclocal-1.9 aclocal-1.8 aclocal-1.7 aclocal; do
|
||||
($ac --version < /dev/null > /dev/null 2>&1) || continue
|
||||
ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP`
|
||||
maj=`echo $ver | $VERSIONMKMAJ`
|
||||
min=`echo $ver | $VERSIONMKMIN`
|
||||
if test $maj -eq $majneeded -a $min -ge $minneeded; then
|
||||
ACLOCAL=$ac
|
||||
echo $ACLOCAL
|
||||
break
|
||||
fi
|
||||
done
|
||||
test -z $ACLOCAL && echo "no"
|
||||
fi
|
||||
test -z $AUTOMAKE || test -z $ACLOCAL && {
|
||||
echo
|
||||
echo "You must have automake installed to compile $package."
|
||||
echo "Download the appropriate package for your distribution,"
|
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
echo -n "checking for libtool... "
|
||||
for LIBTOOLIZE in libtoolize glibtoolize nope; do
|
||||
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
|
||||
done
|
||||
if test x$LIBTOOLIZE = xnope; then
|
||||
echo "nope."
|
||||
LIBTOOLIZE=libtoolize
|
||||
else
|
||||
echo $LIBTOOLIZE
|
||||
fi
|
||||
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
|
||||
echo
|
||||
echo "You must have libtool installed to compile $package."
|
||||
echo "Download the appropriate package for your system,"
|
||||
echo "or get the source from one of the GNU ftp sites"
|
||||
echo "listed in http://www.gnu.org/order/ftp.html"
|
||||
DIE=1
|
||||
}
|
||||
|
||||
if test "$DIE" -eq 1; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$*"; then
|
||||
echo "I am going to run ./configure with no arguments - if you wish "
|
||||
echo "to pass any to it, please specify them on the $0 command line."
|
||||
fi
|
||||
|
||||
echo "Generating configuration files for $package, please wait...."
|
||||
|
||||
echo " $ACLOCAL $ACLOCAL_FLAGS"
|
||||
$ACLOCAL $ACLOCAL_FLAGS || exit 1
|
||||
echo " $LIBTOOLIZE --automake"
|
||||
$LIBTOOLIZE --automake || exit 1
|
||||
echo " autoheader"
|
||||
autoheader || exit 1
|
||||
echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
|
||||
$AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1
|
||||
echo " autoconf"
|
||||
autoconf || exit 1
|
||||
|
||||
cd $olddir
|
||||
$srcdir/configure --enable-maintainer-mode "$@" && echo
|
||||
autoreconf -if
|
||||
|
||||
@@ -1,347 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -1,93 +0,0 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
||||
systems. This function is required for `alloca.c' support on those systems.
|
||||
*/
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define to 1 if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to 1 if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
||||
*/
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at runtime.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
@@ -5,7 +5,9 @@ dnl Initialization and Versioning
|
||||
dnl ------------------------------------------------
|
||||
|
||||
|
||||
AC_INIT([libvorbis],[1.3.5],[vorbis-dev@xiph.org])
|
||||
AC_INIT([libvorbis],[1.3.6],[vorbis-dev@xiph.org])
|
||||
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
AC_CONFIG_SRCDIR([lib/mdct.c])
|
||||
|
||||
@@ -17,6 +19,9 @@ AM_MAINTAINER_MODE
|
||||
dnl Add parameters for aclocal
|
||||
AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
|
||||
|
||||
dnl enable silent rules on automake 1.11 and later
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
||||
dnl Library versioning
|
||||
dnl - library source changed -> increment REVISION
|
||||
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
|
||||
@@ -45,9 +50,9 @@ AC_SUBST(VE_LIB_CURRENT)
|
||||
AC_SUBST(VE_LIB_REVISION)
|
||||
AC_SUBST(VE_LIB_AGE)
|
||||
|
||||
dnl --------------------------------------------------
|
||||
dnl --------------------------------------------------
|
||||
dnl Check for programs
|
||||
dnl --------------------------------------------------
|
||||
dnl --------------------------------------------------
|
||||
|
||||
dnl save $CFLAGS since AC_PROG_CC likes to insert "-g -O2"
|
||||
dnl if $CFLAGS is blank
|
||||
@@ -88,10 +93,10 @@ fi
|
||||
|
||||
AM_CONDITIONAL(BUILD_DOCS, [test "x$enable_docs" = xyes])
|
||||
|
||||
AC_ARG_ENABLE(examples,
|
||||
AS_HELP_STRING([--enable-examples], [build the examples]))
|
||||
|
||||
AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$enable_examples" = xyes])
|
||||
AC_ARG_ENABLE(examples,
|
||||
AS_HELP_STRING([--enable-examples], [build the examples]))
|
||||
|
||||
AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$enable_examples" = xyes])
|
||||
|
||||
dnl --------------------------------------------------
|
||||
dnl Set build flags based on environment
|
||||
@@ -101,14 +106,14 @@ dnl Set some target options
|
||||
|
||||
cflags_save="$CFLAGS"
|
||||
if test -z "$GCC"; then
|
||||
case $host in
|
||||
case $host in
|
||||
*-*-irix*)
|
||||
dnl If we're on IRIX, we wanna use cc even if gcc
|
||||
dnl If we're on IRIX, we wanna use cc even if gcc
|
||||
dnl is there (unless the user has overriden us)...
|
||||
if test -z "$CC"; then
|
||||
CC=cc
|
||||
fi
|
||||
DEBUG="-g -signed"
|
||||
DEBUG="-g -signed"
|
||||
CFLAGS="-O2 -w -signed"
|
||||
PROFILE="-p -g3 -O2 -signed" ;;
|
||||
sparc-sun-solaris*)
|
||||
@@ -125,10 +130,10 @@ else
|
||||
AC_MSG_CHECKING([GCC version])
|
||||
GCC_VERSION=`$CC -dumpversion`
|
||||
AC_MSG_RESULT([$GCC_VERSION])
|
||||
case $host in
|
||||
case $host in
|
||||
*86-*-linux*)
|
||||
DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
|
||||
CFLAGS="-O3 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char"
|
||||
CFLAGS="-O3 -Wall -Wextra -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char"
|
||||
# PROFILE="-Wall -Wextra -pg -g -O3 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static"
|
||||
PROFILE="-Wall -Wextra -pg -g -O3 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline"
|
||||
|
||||
@@ -171,10 +176,10 @@ else
|
||||
CFLAGS=${OPT}" -D__NO_MATH_INLINES"
|
||||
PROFILE=${PROFILE}" -D__NO_MATH_INLINES"
|
||||
fi;;
|
||||
powerpc-*-linux*spe)
|
||||
DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
|
||||
CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -D_REENTRANT"
|
||||
PROFILE="-pg -g -O3 -ffast-math -mfused-madd -D_REENTRANT";;
|
||||
powerpc-*-linux*spe)
|
||||
DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
|
||||
CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -D_REENTRANT"
|
||||
PROFILE="-pg -g -O3 -ffast-math -mfused-madd -D_REENTRANT";;
|
||||
powerpc-*-linux*)
|
||||
DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
|
||||
CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT"
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
libvorbis (1.2.0.dfsg-3.1) unstable; urgency=high
|
||||
|
||||
* Non-maintainer upload by the security team
|
||||
* Fix integer overflows (and possible DoS attacks) via crafted
|
||||
OGG files (Closes: #482518)
|
||||
Fixes: CVE-2008-1423, CVE-2008-1420, CVE-2008-1419
|
||||
|
||||
-- Steffen Joeris <white@debian.org> Mon, 26 May 2008 12:48:06 +0000
|
||||
|
||||
libvorbis (1.2.0.dfsg-3) unstable; urgency=low
|
||||
|
||||
* Use dpkg-gensymbols, with symbol files obtained from Mole (stripping
|
||||
debian revision and .dfsg suffix).
|
||||
|
||||
* Install upstream CHANGES file as changelog.gz. (Closes: #302037)
|
||||
|
||||
* Bump debian/compat to 5, and Standards-Version to 3.7.3 (no changes
|
||||
needed).
|
||||
|
||||
* Use quilt.make in debian/rules.
|
||||
|
||||
-- Adeodato Simó <dato@net.com.org.es> Thu, 27 Dec 2007 14:33:45 +0100
|
||||
|
||||
libvorbis (1.2.0.dfsg-2) unstable; urgency=high
|
||||
|
||||
* Bump shlibs for libvorbis0a due to new vorbis_synthesis_idheader header.
|
||||
(Closes: #436083)
|
||||
|
||||
-- Adeodato Simó <dato@net.com.org.es> Tue, 14 Aug 2007 20:55:54 +0200
|
||||
|
||||
libvorbis (1.2.0.dfsg-1) unstable; urgency=low
|
||||
|
||||
[ Adeodato Simó ]
|
||||
* Use ${binary:Version} instead of ${Source-Version}.
|
||||
|
||||
[ Clint Adams ]
|
||||
* New upstream release.
|
||||
- Remove upstream_r13198-fix_segfault_in_ov_time_seek.diff .
|
||||
* Bump shlibs for libvorbisfile3 to >= 1.2.0 due to new ov_fopen
|
||||
function.
|
||||
|
||||
-- Clint Adams <schizo@debian.org> Fri, 27 Jul 2007 02:57:44 -0400
|
||||
|
||||
libvorbis (1.1.2.dfsg-2) unstable; urgency=low
|
||||
|
||||
* Bump to Standards-Version 3.7.2.
|
||||
* Add upstream_r13198-fix_segfault_in_ov_time_seek.diff. closes: #281995.
|
||||
|
||||
-- Clint Adams <schizo@debian.org> Fri, 29 Jun 2007 09:46:12 -0400
|
||||
|
||||
libvorbis (1.1.2.dfsg-1.2) unstable; urgency=high
|
||||
|
||||
* Fix shlibs files for libvorbisenc and libvorbisfile, which were broken
|
||||
by my first NMU to have dependencies for libvorbis0a. Closes: #395048
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Tue, 24 Oct 2006 19:55:19 -0400
|
||||
|
||||
libvorbis (1.1.2.dfsg-1.1) unstable; urgency=low
|
||||
|
||||
* NMU
|
||||
* Remove draft RFC files, as they are not under a free license.
|
||||
Closes: #390660
|
||||
* Repackage the source package without these files.
|
||||
* Add README.Source documenting how the upstream source is repackaged.
|
||||
* Modify dh_makeshlibs call to avoid generating a shlibs file that has
|
||||
an unncessarily tight versioned dependency on this new pseudo-version
|
||||
of libvorbis.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sun, 15 Oct 2006 17:21:37 -0400
|
||||
|
||||
libvorbis (1.1.2-1) unstable; urgency=low
|
||||
|
||||
* Switch maintenance to the Debian Xiph.org Maintainers (alioth/pkg-xiph).
|
||||
|
||||
* New upstream release packaged. (Closes: #327586)
|
||||
|
||||
* Move HTML documentation from /usr/share/doc/libvorbis-dev itself to an
|
||||
html/ subdirectory of it.
|
||||
|
||||
* Update debian/control:
|
||||
+ drop unnecessary build-dependency on devscripts.
|
||||
+ drop version restriction on debhelper and libogg-dev build-dependencies,
|
||||
since they're already satisfied with stable.
|
||||
|
||||
* Overhaul debian/rules, and switch to quilt for patch management.
|
||||
|
||||
* Add debian/compat file, instead of exporting DH_COMPAT.
|
||||
|
||||
* Update download URL in debian/copyright.
|
||||
|
||||
* Add debian/watch file.
|
||||
|
||||
* Bumped Standards-Version to 3.6.2 (no changes required).
|
||||
|
||||
-- Adeodato Simó <dato@net.com.org.es> Thu, 26 Jan 2006 01:35:39 +0100
|
||||
|
||||
libvorbis (1.1.0-1) unstable; urgency=low
|
||||
|
||||
* New upstream.
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Thu, 17 Mar 2005 21:30:00 -0600
|
||||
|
||||
libvorbis (1.0.1-1) unstable; urgency=low
|
||||
|
||||
* New upstream.
|
||||
* Improved descriptions. (Closes: #166649)
|
||||
* Updated DEB_BUILD_OPTIONS support. (Closes: #188464)
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Tue, 9 Dec 2003 01:00:00 -0600
|
||||
|
||||
libvorbis (1.0.0-3) unstable; urgency=low
|
||||
|
||||
* Add libvorbis0 conflict to libvorbis0a.
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Wed, 12 Mar 2003 17:00:00 -0600
|
||||
|
||||
libvorbis (1.0.0-2) unstable; urgency=low
|
||||
|
||||
* Rename libvorbis0 -> libvorbis0a to keep packages from upgrading to it
|
||||
by mistake. (Closes: #156227, #156365, #161961, #171548, #172466,
|
||||
#172469, #178756)
|
||||
* GNU config automated update: config.sub (20020621 to 20030103),
|
||||
config.guess (20020529 to 20030110)
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Sat, 8 Mar 2003 13:00:00 -0600
|
||||
|
||||
libvorbis (1.0.0-1) unstable; urgency=low
|
||||
|
||||
* New upstream.
|
||||
* Split libvorbis package into libvorbis libvorbisenc libvorbisfile due to
|
||||
shared object major versions going out of sync.
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Fri, 19 Jul 2002 09:00:00 -0500
|
||||
|
||||
libvorbis (1.0rc3-1) unstable; urgency=low
|
||||
|
||||
* New upstream. (Closes: #121995, #123472)
|
||||
* added autotools target (config.* updater) to rules
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Mon, 24 Dec 2001 11:00:00 -0600
|
||||
|
||||
libvorbis (1.0rc2-1) unstable; urgency=low
|
||||
|
||||
* New upstream.
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Sun, 12 Aug 2001 22:00:00 -0500
|
||||
|
||||
libvorbis (1.0rc1-1) unstable; urgency=low
|
||||
|
||||
* New upstream. (Closes: #84977, #95330)
|
||||
* Upstream says lame at fault. See bug details. (Closes: #98010)
|
||||
* Fixed versioned depends.
|
||||
* Changed clean method to distclean.
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Sun, 17 Jun 2001 20:00:00 -0500
|
||||
|
||||
libvorbis (1.0beta4-1) unstable; urgency=low
|
||||
|
||||
* New upstream.
|
||||
* Appears to be fixed, can't reproduce bug (closes: #78848)
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Mon, 26 Feb 2001 08:00:00 -0600
|
||||
|
||||
libvorbis (1.0beta3-3) unstable; urgency=low
|
||||
|
||||
* Fixed Build-Depends libogg-dev version dependency.
|
||||
* Fixed Sections.
|
||||
* Updated to Standards-Version to 3.5.1.0
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Sat, 17 Feb 2001 18:14:53 -0600
|
||||
|
||||
libvorbis (1.0beta3-2) unstable; urgency=low
|
||||
|
||||
* Added dependency for libogg-dev (closes: #78262)
|
||||
* Added dependency for libogg-dev (closes: #81432)
|
||||
* Corrected development library package name (closes: #82464)
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Sat, 3 Feb 2001 13:29:30 -0600
|
||||
|
||||
libvorbis (1.0beta3-1) unstable; urgency=low
|
||||
|
||||
* New Maintainer.
|
||||
* Upstream source was reorganized.
|
||||
* Package split according to the upstream reorganization.
|
||||
|
||||
-- Christopher L Cheney <ccheney@debian.org> Tue, 31 Oct 2000 15:08:22 -0600
|
||||
|
||||
vorbis (1.0beta2-1) unstable; urgency=low
|
||||
|
||||
* New upstream version. Closes: #67326, #68416
|
||||
* Changed xmms-vorbis to Architechture: any. Closes: #67395
|
||||
* Added Build-deps. Closes: #66628
|
||||
* Moved vorbize to vorbis-tools along with oggenc and vorbiscomment
|
||||
|
||||
-- Michael Beattie <mjb@debian.org> Wed, 9 Aug 2000 00:30:15 +1200
|
||||
|
||||
vorbis (1.0beta1-1) unstable; urgency=low
|
||||
|
||||
* First Beta, Ready for debian release.
|
||||
|
||||
-- Michael Beattie <mickyb@es.co.nz> Fri, 30 Jun 2000 19:26:59 +1200
|
||||
|
||||
vorbis (0.0-1) unstable; urgency=low
|
||||
|
||||
* Initial Release.
|
||||
* Initial package, not placed in archive.
|
||||
|
||||
-- Michael Beattie <mickyb@es.co.nz> Mon, 26 Jun 2000 18:59:56 +1200
|
||||
@@ -0,0 +1,60 @@
|
||||
Source: libvorbis
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Maintainer: Christopher L Cheney <ccheney@debian.org>
|
||||
Build-Depends: autotools-dev, debhelper (>> 4.0.18), devscripts, libogg-dev (>> 1.1.0)
|
||||
Standards-Version: 3.6.1.0
|
||||
|
||||
Package: libvorbis0a
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends}
|
||||
Conflicts: libvorbis0
|
||||
Replaces: libvorbis0
|
||||
Description: The Vorbis General Audio Compression Codec
|
||||
Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
|
||||
general-purpose compressed audio format for audio and music at fixed
|
||||
and variable bitrates from 16 to 128 kbps/channel.
|
||||
.
|
||||
The Vorbis library is the primary Ogg Vorbis library.
|
||||
|
||||
Package: libvorbisenc2
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends}
|
||||
Conflicts: libvorbis0 (<< 1.0.0)
|
||||
Replaces: libvorbis0 (<< 1.0.0)
|
||||
Description: The Vorbis General Audio Compression Codec
|
||||
Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
|
||||
general-purpose compressed audio format for audio and music at fixed
|
||||
and variable bitrates from 16 to 128 kbps/channel.
|
||||
.
|
||||
The Vorbisenc library provides a convenient API for setting up an encoding
|
||||
environment using libvorbis.
|
||||
|
||||
Package: libvorbisfile3
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends}
|
||||
Conflicts: libvorbis0 (<< 1.0.0)
|
||||
Replaces: libvorbis0 (<< 1.0.0)
|
||||
Description: The Vorbis General Audio Compression Codec
|
||||
Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
|
||||
general-purpose compressed audio format for audio and music at fixed
|
||||
and variable bitrates from 16 to 128 kbps/channel.
|
||||
.
|
||||
The Vorbisfile library provides a convenient high-level API for decoding
|
||||
and basic manipulation of all Vorbis I audio streams.
|
||||
|
||||
Package: libvorbis-dev
|
||||
Architecture: any
|
||||
Section: libdevel
|
||||
Depends: libogg-dev, libvorbis0a (= ${Source-Version}), libvorbisenc2 (= ${Source-Version}), libvorbisfile3 (= ${Source-Version})
|
||||
Description: The Vorbis General Audio Compression Codec (development files)
|
||||
Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
|
||||
general-purpose compressed audio format for audio and music at fixed
|
||||
and variable bitrates from 16 to 128 kbps/channel.
|
||||
.
|
||||
This package contains the header files and documentation needed to develop
|
||||
applications with libvorbis.
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
This package was debianized by Christopher L Cheney <ccheney@debian.org> on
|
||||
Tue, 31 Oct 2000 15:08:22 -0600.
|
||||
|
||||
It was downloaded from http://www.vorbis.com/download_unix.psp
|
||||
|
||||
Upstream Author: Monty <monty@xiph.org>
|
||||
|
||||
Copyright:
|
||||
|
||||
Copyright (c) 2002, Xiph.org Foundation
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
- Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
- Neither the name of the Xiph.org Foundation nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
debian/tmp/usr/share/doc/libvorbis-*/*
|
||||
@@ -0,0 +1,2 @@
|
||||
examples/*.c
|
||||
examples/*.pl
|
||||
@@ -0,0 +1,16 @@
|
||||
debian/tmp/usr/include/vorbis/codec.h
|
||||
debian/tmp/usr/include/vorbis/vorbisenc.h
|
||||
debian/tmp/usr/include/vorbis/vorbisfile.h
|
||||
debian/tmp/usr/lib/libvorbis.a
|
||||
debian/tmp/usr/lib/libvorbis.la
|
||||
debian/tmp/usr/lib/libvorbis.so
|
||||
debian/tmp/usr/lib/libvorbisenc.a
|
||||
debian/tmp/usr/lib/libvorbisenc.la
|
||||
debian/tmp/usr/lib/libvorbisenc.so
|
||||
debian/tmp/usr/lib/libvorbisfile.a
|
||||
debian/tmp/usr/lib/libvorbisfile.la
|
||||
debian/tmp/usr/lib/libvorbisfile.so
|
||||
debian/tmp/usr/lib/pkgconfig/vorbis.pc
|
||||
debian/tmp/usr/lib/pkgconfig/vorbisenc.pc
|
||||
debian/tmp/usr/lib/pkgconfig/vorbisfile.pc
|
||||
debian/tmp/usr/share/aclocal/vorbis.m4
|
||||
@@ -0,0 +1 @@
|
||||
debian/tmp/usr/lib/libvorbis.so.*
|
||||
@@ -0,0 +1 @@
|
||||
debian/tmp/usr/lib/libvorbisenc.so.*
|
||||
@@ -0,0 +1 @@
|
||||
debian/tmp/usr/lib/libvorbisfile.so.*
|
||||
@@ -0,0 +1,154 @@
|
||||
#!/usr/bin/make -f
|
||||
# Sample debian/rules that uses debhelper.
|
||||
# GNU copyright 1997 to 1999 by Joey Hess.
|
||||
#
|
||||
# Modified to make a template file for a multi-binary package with separated
|
||||
# build-arch and build-indep targets by Bill Allombert 2001
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
# This is the debhelper compatibility version to use.
|
||||
export DH_COMPAT=4
|
||||
|
||||
# This has to be exported to make some magic below work.
|
||||
export DH_OPTIONS
|
||||
|
||||
# These are used for cross-compiling and for saving the configure script
|
||||
# from having to guess our platform (since we know it already)
|
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||
|
||||
objdir = $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
|
||||
|
||||
CFLAGS = -Wall -g
|
||||
|
||||
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||
CFLAGS += -O0
|
||||
else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
||||
INSTALL_PROGRAM += -s
|
||||
endif
|
||||
|
||||
configure: configure-stamp
|
||||
configure-stamp:
|
||||
dh_testdir
|
||||
|
||||
# make build directory
|
||||
mkdir $(objdir)
|
||||
|
||||
# run configure with build tree $(objdir)
|
||||
# change ../configure to ../autogen.sh for CVS build
|
||||
cd $(objdir) && \
|
||||
../configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
|
||||
--prefix=/usr --enable-static
|
||||
|
||||
touch configure-stamp
|
||||
|
||||
#Architecture
|
||||
build: build-arch build-indep
|
||||
|
||||
build-arch: build-arch-stamp
|
||||
build-arch-stamp: configure-stamp
|
||||
|
||||
cd $(objdir) && \
|
||||
$(MAKE)
|
||||
|
||||
touch build-arch-stamp
|
||||
|
||||
build-indep: build-indep-stamp
|
||||
build-indep-stamp: configure-stamp
|
||||
|
||||
# Add here commands to compile the indep part of the package.
|
||||
#$(MAKE) doc
|
||||
touch build-indep-stamp
|
||||
|
||||
debian-clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
|
||||
dh_clean
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-arch-stamp build-indep-stamp configure-stamp
|
||||
|
||||
# Remove build tree
|
||||
rm -rf $(objdir)
|
||||
|
||||
# if Makefile exists run distclean
|
||||
if test -f Makefile; then \
|
||||
$(MAKE) distclean; \
|
||||
fi
|
||||
|
||||
#if test -d CVS; then \
|
||||
$(MAKE) cvs-clean ;\
|
||||
fi
|
||||
|
||||
dh_clean
|
||||
|
||||
install: install-indep install-arch
|
||||
install-indep:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
# dh_clean -k -i
|
||||
# dh_installdirs -i
|
||||
|
||||
# dh_install -i --list-missing
|
||||
|
||||
install-arch:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k -s
|
||||
dh_installdirs -s
|
||||
|
||||
cd $(objdir) && \
|
||||
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
|
||||
|
||||
dh_install -s --list-missing
|
||||
|
||||
# Must not depend on anything. This is to be called by
|
||||
# binary-arch/binary-indep
|
||||
# in another 'make' thread.
|
||||
binary-common:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installchangelogs CHANGES
|
||||
dh_installdocs
|
||||
dh_installexamples
|
||||
# dh_installmenu
|
||||
# dh_installdebconf
|
||||
# dh_installlogrotate
|
||||
# dh_installemacsen
|
||||
# dh_installpam
|
||||
# dh_installmime
|
||||
# dh_installinit
|
||||
# dh_installcron
|
||||
# dh_installinfo
|
||||
dh_installman
|
||||
dh_link
|
||||
dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
# dh_perl
|
||||
# dh_python
|
||||
dh_makeshlibs -V
|
||||
dh_installdeb
|
||||
dh_shlibdeps -ldebian/libvorbis0a/usr/lib
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
# Build architecture independant packages using the common target.
|
||||
binary-indep: build-indep install-indep
|
||||
# $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
|
||||
|
||||
# Build architecture dependant packages using the common target.
|
||||
binary-arch: build-arch install-arch
|
||||
$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
|
||||
|
||||
binary: binary-arch binary-indep
|
||||
.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
|
||||
@@ -0,0 +1,3 @@
|
||||
version=2
|
||||
|
||||
http://downloads.xiph.org/releases/vorbis/libvorbis-(.*)\.tar\.gz debian uupdate
|
||||
@@ -1,791 +0,0 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2013-05-30.07; # UTC
|
||||
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by 'PROGRAMS ARGS'.
|
||||
object Object file output by 'PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get the directory component of the given path, and save it in the
|
||||
# global variables '$dir'. Note that this directory component will
|
||||
# be either empty or ending with a '/' character. This is deliberate.
|
||||
set_dir_from ()
|
||||
{
|
||||
case $1 in
|
||||
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||
*) dir=;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Get the suffix-stripped basename of the given path, and save it the
|
||||
# global variable '$base'.
|
||||
set_base_from ()
|
||||
{
|
||||
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||
}
|
||||
|
||||
# If no dependency file was actually created by the compiler invocation,
|
||||
# we still have to create a dummy depfile, to avoid errors with the
|
||||
# Makefile "include basename.Plo" scheme.
|
||||
make_dummy_depfile ()
|
||||
{
|
||||
echo "#dummy" > "$depfile"
|
||||
}
|
||||
|
||||
# Factor out some common post-processing of the generated depfile.
|
||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||
aix_post_process_depfile ()
|
||||
{
|
||||
# If the compiler actually managed to produce a dependency file,
|
||||
# post-process it.
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependency.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# $object: dependency.h
|
||||
# and one to simply output
|
||||
# dependency.h:
|
||||
# which is needed to avoid the deleted-header problem.
|
||||
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||
} > "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
}
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
# Character ranges might be problematic outside the C locale.
|
||||
# These definitions help.
|
||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
lower=abcdefghijklmnopqrstuvwxyz
|
||||
digits=0123456789
|
||||
alpha=${upper}${lower}
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Avoid interferences from the environment.
|
||||
gccflag= dashmflag=
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||
## (see the conditional assignment to $gccflag above).
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say). Also, it might not be
|
||||
## supported by the other compilers which use the 'gcc' depmode.
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The second -e expression handles DOS-style file names with drive
|
||||
# letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the "deleted header file" problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
## Some versions of gcc put a space before the ':'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||
| tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
tcc)
|
||||
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||
# FIXME: That version still under development at the moment of writing.
|
||||
# Make that this statement remains true also for stable, released
|
||||
# versions.
|
||||
# It will wrap lines (doesn't matter whether long or short) with a
|
||||
# trailing '\', as in:
|
||||
#
|
||||
# foo.o : \
|
||||
# foo.c \
|
||||
# foo.h \
|
||||
#
|
||||
# It will put a trailing '\' even on the last line, and will use leading
|
||||
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||
# "Emit spaces for -MD").
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||
# We have to change lines of the first kind to '$object: \'.
|
||||
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||
# dummy dependency, to avoid the deleted-header problem.
|
||||
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
## The order of this option in the case statement is important, since the
|
||||
## shell code in configure will try each of these formats in the order
|
||||
## listed in this file. A plain '-MD' option would be understood by many
|
||||
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||
pgcc)
|
||||
# Portland's C compiler understands '-MD'.
|
||||
# Will always output deps to 'file.d' where file is the root name of the
|
||||
# source file under compilation, even if file resides in a subdirectory.
|
||||
# The object file name does not affect the name of the '.d' file.
|
||||
# pgcc 10.2 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\' :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
set_dir_from "$object"
|
||||
# Use the source, not the object, to determine the base name, since
|
||||
# that's sadly what pgcc will do too.
|
||||
set_base_from "$source"
|
||||
tmpdepfile=$base.d
|
||||
|
||||
# For projects that build the same source file twice into different object
|
||||
# files, the pgcc approach of using the *source* file root name can cause
|
||||
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||
# the same $tmpdepfile.
|
||||
lockdir=$base.d-lock
|
||||
trap "
|
||||
echo '$0: caught signal, cleaning up...' >&2
|
||||
rmdir '$lockdir'
|
||||
exit 1
|
||||
" 1 2 13 15
|
||||
numtries=100
|
||||
i=$numtries
|
||||
while test $i -gt 0; do
|
||||
# mkdir is a portable test-and-set.
|
||||
if mkdir "$lockdir" 2>/dev/null; then
|
||||
# This process acquired the lock.
|
||||
"$@" -MD
|
||||
stat=$?
|
||||
# Release the lock.
|
||||
rmdir "$lockdir"
|
||||
break
|
||||
else
|
||||
# If the lock is being held by a different process, wait
|
||||
# until the winning process is done or we timeout.
|
||||
while test -d "$lockdir" && test $i -gt 0; do
|
||||
sleep 1
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
fi
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
trap - 1 2 13 15
|
||||
if test $i -le 0; then
|
||||
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||
echo "$0: check lockdir '$lockdir'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in 'foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# Libtool generates 2 separate objects for the 2 libraries. These
|
||||
# two compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
# Same post-processing that is required for AIX mode.
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for ':'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed '1,2d' "$tmpdepfile" \
|
||||
| tr ' ' "$nl" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E \
|
||||
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
| sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Introduction and Description} \label{vorbis:spec:intro}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Bitpacking Convention} \label{vorbis:spec:bitpacking}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Probability Model and Codebooks} \label{vorbis:spec:codebook}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Codec Setup and Packet Decode} \label{vorbis:spec:codec}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{comment field and header specification} \label{vorbis:spec:comment}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Floor type 0 setup and decode} \label{vorbis:spec:floor0}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Floor type 1 setup and decode} \label{vorbis:spec:floor1}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Residue setup and decode} \label{vorbis:spec:residue}
|
||||
|
||||
\subsection{Overview}
|
||||
@@ -270,8 +269,8 @@ process.
|
||||
1) [actual\_size] = current blocksize/2;
|
||||
2) if residue encoding is format 2
|
||||
3) [actual\_size] = [actual\_size] * [ch];
|
||||
4) [limit\_residue\_begin] = maximum of ([residue\_begin],[actual\_size]);
|
||||
5) [limit\_residue\_end] = maximum of ([residue\_end],[actual\_size]);
|
||||
4) [limit\_residue\_begin] = minimum of ([residue\_begin],[actual\_size]);
|
||||
5) [limit\_residue\_end] = minimum of ([residue\_end],[actual\_size]);
|
||||
\end{programlisting}
|
||||
|
||||
The following convenience values are conceptually useful to clarifying
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Helper equations} \label{vorbis:spec:helper}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Tables} \label{vorbis:spec:tables}
|
||||
|
||||
\subsection{floor1\_inverse\_dB\_table} \label{vorbis:spec:floor1:inverse:dB:table}
|
||||
|
||||
@@ -29,7 +29,6 @@ static_docs = \
|
||||
# bits needed by the spec
|
||||
SPEC_PNG = \
|
||||
components.png \
|
||||
fish_xiph_org.png \
|
||||
floor1-1.png \
|
||||
floor1-2.png \
|
||||
floor1-3.png \
|
||||
@@ -39,7 +38,22 @@ SPEC_PNG = \
|
||||
residue-pack.png \
|
||||
residue2.png \
|
||||
window1.png \
|
||||
window2.png
|
||||
window2.png \
|
||||
Vorbis_I_spec0x.png \
|
||||
Vorbis_I_spec1x.png \
|
||||
Vorbis_I_spec2x.png \
|
||||
Vorbis_I_spec3x.png \
|
||||
Vorbis_I_spec4x.png \
|
||||
Vorbis_I_spec5x.png \
|
||||
Vorbis_I_spec6x.png \
|
||||
Vorbis_I_spec7x.png \
|
||||
Vorbis_I_spec8x.png \
|
||||
Vorbis_I_spec9x.png \
|
||||
Vorbis_I_spec10x.png \
|
||||
Vorbis_I_spec11x.png \
|
||||
Vorbis_I_spec12x.png \
|
||||
Vorbis_I_spec13x.png \
|
||||
Vorbis_I_spec14x.png
|
||||
|
||||
SPEC_TEX = \
|
||||
Vorbis_I_spec.tex \
|
||||
@@ -77,14 +91,13 @@ CLEANFILES = $(SPEC_TEX:%.tex=%.aux) \
|
||||
Vorbis_I_spec.lg Vorbis_I_spec.log \
|
||||
Vorbis_I_spec.out Vorbis_I_spec.tmp \
|
||||
Vorbis_I_spec.toc Vorbis_I_spec.xref \
|
||||
Vorbis_I_spec*.png \
|
||||
zzVorbis_I_spec.ps
|
||||
DISTCLEANFILES = $(built_docs)
|
||||
|
||||
|
||||
# explicit rules for generating docs
|
||||
if BUILD_DOCS
|
||||
Vorbis_I_spec.html Vorbis_I_spec.css: $(SPEC_TEX) $(SPEC_PNG)
|
||||
Vorbis_I_spec.html Vorbis_I_spec.css: $(SPEC_TEX) $(SPEC_PNG) fish_xiph_org.png
|
||||
htlatex $<
|
||||
|
||||
Vorbis_I_spec.pdf: $(SPEC_TEX) $(SPEC_PNG)
|
||||
@@ -107,7 +120,7 @@ doxygen-build.stamp: Doxyfile $(top_srcdir)/include/vorbis/*.h
|
||||
touch doxygen-build.stamp
|
||||
else
|
||||
doxygen-build.stamp:
|
||||
echo "*** Warning: Doxygen not found; documentation will not be built."
|
||||
echo "*** Warning: Documentation build is disabled."
|
||||
touch doxygen-build.stamp
|
||||
endif
|
||||
|
||||
|
||||
@@ -9737,7 +9737,7 @@ class="cmtt-8"> </span><span
|
||||
class="cmtt-8"> 4)</span><span
|
||||
class="cmtt-8"> [limit\_residue\_begin]</span><span
|
||||
class="cmtt-8"> =</span><span
|
||||
class="cmtt-8"> maximum</span><span
|
||||
class="cmtt-8"> minimum</span><span
|
||||
class="cmtt-8"> of</span><span
|
||||
class="cmtt-8"> ([residue\_begin],[actual\_size]);</span>
|
||||
<br class="fancyvrb" /><a
|
||||
@@ -9749,7 +9749,7 @@ class="cmtt-8"> </span><span
|
||||
class="cmtt-8"> 5)</span><span
|
||||
class="cmtt-8"> [limit\_residue\_end]</span><span
|
||||
class="cmtt-8"> =</span><span
|
||||
class="cmtt-8"> maximum</span><span
|
||||
class="cmtt-8"> minimum</span><span
|
||||
class="cmtt-8"> of</span><span
|
||||
class="cmtt-8"> ([residue\_end],[actual\_size]);</span></div>
|
||||
<!--l. 277--><p class="noindent" >The following convenience values are conceptually useful to clarifying the decode process:
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
% $Id$
|
||||
\documentclass[12pt,paper=a4]{scrartcl}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 556 B |
|
After Width: | Height: | Size: 557 B |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Embedding Vorbis into an Ogg stream} \label{vorbis:over:ogg}
|
||||
|
||||
\subsection{Overview}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section{Vorbis encapsulation in RTP} \label{vorbis:over:rtp}
|
||||
|
||||
% TODO: Include draft-rtp.xml somehow?
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
|
||||
%!TEX root = Vorbis_I_spec.tex
|
||||
% $Id$
|
||||
\section*{Colophon}
|
||||
|
||||
\includegraphics[width=5cm]{fish_xiph_org}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
libvorbis release checklist.
|
||||
|
||||
- Bump vendor string for encoder changes in lib/info.c
|
||||
- Bump release version and sonames in configure.ac
|
||||
- Update CHANGES.
|
||||
- Update overall copyright dates on COPYING and README.
|
||||
- Verify everything is committed.
|
||||
- Tag release: `git tag -S v1.x.y` Paste the CHANGES entry as a tag msg.
|
||||
- Verify 'make distcheck' works.
|
||||
- Publish the tag: `git push --tags`
|
||||
- Copy source packages to a checkout of https://svn.xiph.org/releases/vorbis/
|
||||
- Add the packages to the repo and update checksum files there.
|
||||
- Update https://xiph.org/downloads/
|
||||
- Update topic in the #vorbis irc channel on freenode.net.
|
||||
- Post announcement to https://xiph.org/press/ and link from front page.
|
||||
- Announce new release to mailing list.
|
||||
@@ -72,7 +72,7 @@ li {
|
||||
|
||||
<h1>Ogg Vorbis I format specification: comment field and header specification</h1>
|
||||
|
||||
<h1>Overview</h1>
|
||||
<h1 id="overview">Overview</h1>
|
||||
|
||||
<p>The Vorbis text comment header is the second (of three) header
|
||||
packets that begin a Vorbis bitstream. It is meant for short, text
|
||||
@@ -92,9 +92,9 @@ they turn out to be, eg:</p>
|
||||
opening for Moxy Früvous, 1997"
|
||||
</p></blockquote>
|
||||
|
||||
<h1>Comment encoding</h1>
|
||||
<h1 id="commentencoding">Comment encoding</h1>
|
||||
|
||||
<h2>Structure</h2>
|
||||
<h2 id="structure">Structure</h2>
|
||||
|
||||
<p>The comment header logically is a list of eight-bit-clean vectors; the
|
||||
number of vectors is bounded to 2^32-1 and the length of each vector
|
||||
@@ -122,7 +122,7 @@ set the vendor string to "Xiph.Org libVorbis I 20020717".</p>
|
||||
9) done.
|
||||
</pre>
|
||||
|
||||
<h2>Content vector format</h2>
|
||||
<h2 id="vectorformat">Content vector format</h2>
|
||||
|
||||
<p>The comment vectors are structured similarly to a UNIX environment variable.
|
||||
That is, comment fields consist of a field name and a corresponding value and
|
||||
@@ -144,7 +144,7 @@ this equals sign is used to terminate the field name.</li>
|
||||
field contents to the end of the field.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Field names</h3>
|
||||
<h3 id="fieldnames">Field names</h3>
|
||||
|
||||
<p>Below is a proposed, minimal list of standard field names with a
|
||||
description of intended use. No single or group of field names is
|
||||
@@ -216,7 +216,7 @@ ISRC intro page</a> for more information on ISRC numbers.</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h3>Implications</h3>
|
||||
<h3 id="implications">Implications</h3>
|
||||
|
||||
<ul>
|
||||
<li>Field names should not be 'internationalized'; this is a
|
||||
@@ -244,7 +244,7 @@ well know artists; the following is permissible, and encouraged:
|
||||
</pre></li>
|
||||
</ul>
|
||||
|
||||
<h2>Encoding</h2>
|
||||
<h2 id="encoding">Encoding</h2>
|
||||
|
||||
<p>The comment header comprises the entirety of the second bitstream
|
||||
header packet. Unlike the first bitstream header packet, it is not
|
||||
|
||||
@@ -2,30 +2,30 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
|
||||
|
||||
noinst_PROGRAMS = decoder_example encoder_example chaining_example\
|
||||
vorbisfile_example seeking_example
|
||||
|
||||
EXTRA_DIST = frameview.pl
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include @OGG_CFLAGS@
|
||||
|
||||
# uncomment to build static executables from the example code
|
||||
#LDFLAGS = -all-static
|
||||
|
||||
decoder_example_SOURCES = decoder_example.c
|
||||
decoder_example_LDADD = $(top_builddir)/lib/libvorbis.la
|
||||
decoder_example_LDADD = $(top_builddir)/lib/libvorbis.la @OGG_LIBS@
|
||||
|
||||
encoder_example_SOURCES = encoder_example.c
|
||||
encoder_example_LDADD = $(top_builddir)/lib/libvorbisenc.la $(top_builddir)/lib/libvorbis.la
|
||||
encoder_example_LDADD = $(top_builddir)/lib/libvorbisenc.la $(top_builddir)/lib/libvorbis.la @OGG_LIBS@
|
||||
|
||||
chaining_example_SOURCES = chaining_example.c
|
||||
chaining_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
|
||||
chaining_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la @OGG_LIBS@
|
||||
|
||||
vorbisfile_example_SOURCES = vorbisfile_example.c
|
||||
vorbisfile_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
|
||||
vorbisfile_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la @OGG_LIBS@
|
||||
|
||||
seeking_example_SOURCES = seeking_example.c
|
||||
seeking_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
|
||||
seeking_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la @OGG_LIBS@
|
||||
|
||||
debug:
|
||||
$(MAKE) all CFLAGS="@DEBUG@"
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: illustrate simple use of chained bitstream and vorbisfile.a
|
||||
last mod: $Id: chaining_example.c 16243 2009-07-10 02:49:31Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: simple example decoder
|
||||
last mod: $Id: decoder_example.c 16243 2009-07-10 02:49:31Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
@@ -75,7 +74,7 @@ int main(){
|
||||
/********** Decode setup ************/
|
||||
|
||||
ogg_sync_init(&oy); /* Now we can read pages */
|
||||
|
||||
|
||||
while(1){ /* we repeat if the bitstream is chained */
|
||||
int eos=0;
|
||||
int i;
|
||||
@@ -89,60 +88,60 @@ int main(){
|
||||
buffer=ogg_sync_buffer(&oy,4096);
|
||||
bytes=fread(buffer,1,4096,stdin);
|
||||
ogg_sync_wrote(&oy,bytes);
|
||||
|
||||
|
||||
/* Get the first page. */
|
||||
if(ogg_sync_pageout(&oy,&og)!=1){
|
||||
/* have we simply run out of data? If so, we're done. */
|
||||
if(bytes<4096)break;
|
||||
|
||||
|
||||
/* error case. Must not be Vorbis data */
|
||||
fprintf(stderr,"Input does not appear to be an Ogg bitstream.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
/* Get the serial number and set up the rest of decode. */
|
||||
/* serialno first; use it to set up a logical stream */
|
||||
ogg_stream_init(&os,ogg_page_serialno(&og));
|
||||
|
||||
|
||||
/* extract the initial header from the first page and verify that the
|
||||
Ogg bitstream is in fact Vorbis data */
|
||||
|
||||
|
||||
/* I handle the initial header first instead of just having the code
|
||||
read all three Vorbis headers at once because reading the initial
|
||||
header is an easy way to identify a Vorbis bitstream and it's
|
||||
useful to see that functionality seperated out. */
|
||||
|
||||
|
||||
vorbis_info_init(&vi);
|
||||
vorbis_comment_init(&vc);
|
||||
if(ogg_stream_pagein(&os,&og)<0){
|
||||
if(ogg_stream_pagein(&os,&og)<0){
|
||||
/* error; stream version mismatch perhaps */
|
||||
fprintf(stderr,"Error reading first page of Ogg bitstream data.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if(ogg_stream_packetout(&os,&op)!=1){
|
||||
|
||||
if(ogg_stream_packetout(&os,&op)!=1){
|
||||
/* no page? must not be vorbis */
|
||||
fprintf(stderr,"Error reading initial header packet.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if(vorbis_synthesis_headerin(&vi,&vc,&op)<0){
|
||||
|
||||
if(vorbis_synthesis_headerin(&vi,&vc,&op)<0){
|
||||
/* error case; not a vorbis header */
|
||||
fprintf(stderr,"This Ogg bitstream does not contain Vorbis "
|
||||
"audio data.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
/* At this point, we're sure we're Vorbis. We've set up the logical
|
||||
(Ogg) bitstream decoder. Get the comment and codebook headers and
|
||||
set up the Vorbis decoder */
|
||||
|
||||
|
||||
/* The next two packets in order are the comment and codebook headers.
|
||||
They're likely large and may span multiple pages. Thus we read
|
||||
and submit data until we get our two packets, watching that no
|
||||
pages are missing. If a page is missing, error out; losing a
|
||||
header page is the only place where missing data is fatal. */
|
||||
|
||||
|
||||
i=0;
|
||||
while(i<2){
|
||||
while(i<2){
|
||||
@@ -181,7 +180,7 @@ int main(){
|
||||
}
|
||||
ogg_sync_wrote(&oy,bytes);
|
||||
}
|
||||
|
||||
|
||||
/* Throw the comments plus a few lines about the bitstream we're
|
||||
decoding */
|
||||
{
|
||||
@@ -193,7 +192,7 @@ int main(){
|
||||
fprintf(stderr,"\nBitstream is %d channel, %ldHz\n",vi.channels,vi.rate);
|
||||
fprintf(stderr,"Encoded by: %s\n\n",vc.vendor);
|
||||
}
|
||||
|
||||
|
||||
convsize=4096/vi.channels;
|
||||
|
||||
/* OK, got and parsed all three headers. Initialize the Vorbis
|
||||
@@ -204,7 +203,7 @@ int main(){
|
||||
proceed in parallel. We could init
|
||||
multiple vorbis_block structures
|
||||
for vd here */
|
||||
|
||||
|
||||
/* The rest is just a straight decode loop until end of stream */
|
||||
while(!eos){
|
||||
while(!eos){
|
||||
@@ -218,7 +217,7 @@ int main(){
|
||||
this point */
|
||||
while(1){
|
||||
result=ogg_stream_packetout(&os,&op);
|
||||
|
||||
|
||||
if(result==0)break; /* need more data */
|
||||
if(result<0){ /* missing or corrupt data at this page position */
|
||||
/* no reason to complain; already complained above */
|
||||
@@ -226,21 +225,21 @@ int main(){
|
||||
/* we have a packet. Decode it */
|
||||
float **pcm;
|
||||
int samples;
|
||||
|
||||
|
||||
if(vorbis_synthesis(&vb,&op)==0) /* test for success! */
|
||||
vorbis_synthesis_blockin(&vd,&vb);
|
||||
/*
|
||||
|
||||
/*
|
||||
|
||||
**pcm is a multichannel float vector. In stereo, for
|
||||
example, pcm[0] is left, and pcm[1] is right. samples is
|
||||
the size of each channel. Convert the float values
|
||||
(-1.<=range<=1.) to whatever PCM format and write it out */
|
||||
|
||||
|
||||
while((samples=vorbis_synthesis_pcmout(&vd,&pcm))>0){
|
||||
int j;
|
||||
int clipflag=0;
|
||||
int bout=(samples<convsize?samples:convsize);
|
||||
|
||||
|
||||
/* convert floats to 16 bit signed ints (host order) and
|
||||
interleave */
|
||||
for(i=0;i<vi.channels;i++){
|
||||
@@ -265,17 +264,17 @@ int main(){
|
||||
ptr+=vi.channels;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(clipflag)
|
||||
fprintf(stderr,"Clipping in frame %ld\n",(long)(vd.sequence));
|
||||
|
||||
|
||||
|
||||
|
||||
fwrite(convbuffer,2*vi.channels,bout,stdout);
|
||||
|
||||
|
||||
vorbis_synthesis_read(&vd,bout); /* tell libvorbis how
|
||||
many samples we
|
||||
actually consumed */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(ogg_page_eos(&og))eos=1;
|
||||
@@ -288,10 +287,10 @@ int main(){
|
||||
if(bytes==0)eos=1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ogg_page and ogg_packet structs always point to storage in
|
||||
libvorbis. They're never freed or manipulated directly */
|
||||
|
||||
|
||||
vorbis_block_clear(&vb);
|
||||
vorbis_dsp_clear(&vd);
|
||||
}else{
|
||||
@@ -300,7 +299,7 @@ int main(){
|
||||
|
||||
/* clean up this logical bitstream; before exit we see if we're
|
||||
followed by another [chained] */
|
||||
|
||||
|
||||
ogg_stream_clear(&os);
|
||||
vorbis_comment_clear(&vc);
|
||||
vorbis_info_clear(&vi); /* must be called last */
|
||||
@@ -308,7 +307,7 @@ int main(){
|
||||
|
||||
/* OK, clean up the framer */
|
||||
ogg_sync_clear(&oy);
|
||||
|
||||
|
||||
fprintf(stderr,"Done.\n");
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: simple example encoder
|
||||
last mod: $Id: encoder_example.c 16946 2010-03-03 16:12:40Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: illustrate seeking, and test it too
|
||||
last mod: $Id: seeking_example.c 19164 2014-06-18 06:33:58Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
@@ -214,7 +213,7 @@ int main(){
|
||||
{
|
||||
fprintf(stderr,"testing time page seeking to random places in %f seconds....\n",
|
||||
timelength);
|
||||
|
||||
|
||||
for(i=0;i<1000;i++){
|
||||
double val=(double)rand()/RAND_MAX*timelength;
|
||||
fprintf(stderr,"\r\t%d [time position %f]... ",i,val);
|
||||
@@ -233,7 +232,7 @@ int main(){
|
||||
{
|
||||
fprintf(stderr,"testing time exact seeking to random places in %f seconds....\n",
|
||||
timelength);
|
||||
|
||||
|
||||
for(i=0;i<1000;i++){
|
||||
double val=(double)rand()/RAND_MAX*timelength;
|
||||
fprintf(stderr,"\r\t%d [time position %f]... ",i,val);
|
||||
@@ -252,7 +251,7 @@ int main(){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fprintf(stderr,"\r \nOK.\n\n");
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: simple example decoder using vorbisfile
|
||||
last mod: $Id: vorbisfile_example.c 16328 2009-07-24 01:51:10Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
@@ -38,7 +37,7 @@ int main(){
|
||||
int current_section;
|
||||
|
||||
#ifdef _WIN32 /* We need to set stdin/stdout to binary mode. Damn windows. */
|
||||
/* Beware the evil ifdef. We avoid these where we can, but this one we
|
||||
/* Beware the evil ifdef. We avoid these where we can, but this one we
|
||||
cannot. Don't add any more, you'll probably go to hell if you do. */
|
||||
_setmode( _fileno( stdin ), _O_BINARY );
|
||||
_setmode( _fileno( stdout ), _O_BINARY );
|
||||
@@ -63,7 +62,7 @@ int main(){
|
||||
(long)ov_pcm_total(&vf,-1));
|
||||
fprintf(stderr,"Encoded by: %s\n\n",ov_comment(&vf,-1)->vendor);
|
||||
}
|
||||
|
||||
|
||||
while(!eof){
|
||||
long ret=ov_read(&vf,pcmout,sizeof(pcmout),0,2,1,¤t_section);
|
||||
if (ret == 0) {
|
||||
@@ -86,7 +85,7 @@ int main(){
|
||||
|
||||
/* cleanup */
|
||||
ov_clear(&vf);
|
||||
|
||||
|
||||
fprintf(stderr,"Done.\n");
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: libvorbis codec headers
|
||||
last mod: $Id: codec.h 17021 2010-03-24 09:29:41Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: vorbis encode-engine setup
|
||||
last mod: $Id: vorbisenc.h 17021 2010-03-24 09:29:41Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: stdio-based convenience library for opening/seeking/decoding
|
||||
last mod: $Id: vorbisfile.h 17182 2010-04-29 03:48:32Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -1,527 +0,0 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2011-11-20.07; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# 'make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call 'install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
do_exit='(exit $ret); exit $ret'
|
||||
trap "ret=129; $do_exit" 1
|
||||
trap "ret=130; $do_exit" 2
|
||||
trap "ret=141; $do_exit" 13
|
||||
trap "ret=143; $do_exit" 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $src in
|
||||
-* | [=\(\)!]) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test X"$d" = X && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -0,0 +1,108 @@
|
||||
set(VORBIS_PUBLIC_HEADERS
|
||||
../include/vorbis/codec.h
|
||||
../include/vorbis/vorbisenc.h
|
||||
../include/vorbis/vorbisfile.h
|
||||
)
|
||||
|
||||
set(VORBIS_HEADERS
|
||||
envelope.h
|
||||
lpc.h
|
||||
lsp.h
|
||||
codebook.h
|
||||
misc.h
|
||||
psy.h
|
||||
masking.h
|
||||
os.h
|
||||
mdct.h
|
||||
smallft.h
|
||||
highlevel.h
|
||||
registry.h
|
||||
scales.h
|
||||
window.h
|
||||
lookup.h
|
||||
lookup_data.h
|
||||
codec_internal.h
|
||||
backends.h
|
||||
bitrate.h
|
||||
)
|
||||
|
||||
set(VORBIS_SOURCES
|
||||
mdct.c
|
||||
smallft.c
|
||||
block.c
|
||||
envelope.c
|
||||
window.c
|
||||
lsp.c
|
||||
lpc.c
|
||||
analysis.c
|
||||
synthesis.c
|
||||
psy.c
|
||||
info.c
|
||||
floor1.c
|
||||
floor0.c
|
||||
res0.c
|
||||
mapping0.c
|
||||
registry.c
|
||||
codebook.c
|
||||
sharedbook.c
|
||||
lookup.c
|
||||
bitrate.c
|
||||
)
|
||||
|
||||
set(VORBISFILE_SOURCES
|
||||
vorbisfile.c
|
||||
)
|
||||
|
||||
set(VORBISENC_SOURCES
|
||||
vorbisenc.c
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND VORBIS_SOURCES vorbisenc.c)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
list(APPEND VORBIS_SOURCES ../win32/vorbis.def)
|
||||
list(APPEND VORBISENC_SOURCES ../win32/vorbisenc.def)
|
||||
list(APPEND VORBISFILE_SOURCES ../win32/vorbisfile.def)
|
||||
endif()
|
||||
|
||||
include_directories(../include)
|
||||
include_directories(.)
|
||||
include_directories(${OGG_INCLUDE_DIRS})
|
||||
|
||||
if (NOT BUILD_FRAMEWORK)
|
||||
add_library(vorbis ${VORBIS_HEADERS} ${VORBIS_SOURCES})
|
||||
add_library(vorbisenc ${VORBISENC_SOURCES})
|
||||
add_library(vorbisfile ${VORBISFILE_SOURCES})
|
||||
|
||||
get_version_info(VORBIS_VERSION_INFO "V_LIB_CURRENT" "V_LIB_AGE" "V_LIB_REVISION")
|
||||
set_target_properties(vorbis PROPERTIES SOVERSION ${VORBIS_VERSION_INFO})
|
||||
get_version_info(VORBISENC_VERSION_INFO "VE_LIB_CURRENT" "VE_LIB_AGE" "VE_LIB_REVISION")
|
||||
set_target_properties(vorbisenc PROPERTIES SOVERSION ${VORBISENC_VERSION_INFO})
|
||||
get_version_info(VORBISFILE_VERSION_INFO "VF_LIB_CURRENT" "VF_LIB_AGE" "VF_LIB_REVISION")
|
||||
set_target_properties(vorbisfile PROPERTIES SOVERSION ${VORBISFILE_VERSION_INFO})
|
||||
|
||||
target_link_libraries(vorbis ${OGG_LIBRARIES})
|
||||
target_link_libraries(vorbisenc ${OGG_LIBRARIES} vorbis)
|
||||
target_link_libraries(vorbisfile ${OGG_LIBRARIES} vorbis)
|
||||
|
||||
install(FILES ${VORBIS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/vorbis)
|
||||
|
||||
install(TARGETS vorbis RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
install(TARGETS vorbisenc RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
install(TARGETS vorbisfile RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
else()
|
||||
add_library(vorbis ${VORBIS_PUBLIC_HEADERS} ${VORBIS_HEADERS} ${VORBIS_SOURCES} ${VORBISFILE_SOURCES} ${VORBISENC_SOURCES})
|
||||
set_target_properties(vorbis PROPERTIES
|
||||
FRAMEWORK TRUE
|
||||
FRAMEWORK_VERSION ${PROJECT_VERSION}
|
||||
MACOSX_FRAMEWORK_IDENTIFIER org.xiph.vorbis
|
||||
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION}
|
||||
MACOSX_FRAMEWORK_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
|
||||
PUBLIC_HEADER "${VORBIS_PUBLIC_HEADERS}"
|
||||
OUTPUT_NAME Vorbis
|
||||
)
|
||||
target_link_libraries(vorbis ${OGG_LIBRARIES})
|
||||
endif()
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
SUBDIRS = modes books
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include @OGG_CFLAGS@
|
||||
|
||||
lib_LTLIBRARIES = libvorbis.la libvorbisfile.la libvorbisenc.la
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: single-block PCM analysis mode dispatch
|
||||
last mod: $Id: analysis.c 16226 2009-07-08 06:43:49Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
function: libvorbis backend and mapping structures; needed for
|
||||
static mode headers
|
||||
last mod: $Id: backends.h 16962 2010-03-11 07:30:34Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: bark scale utility
|
||||
last mod: $Id: barkmel.c 19454 2015-03-02 22:39:28Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: bitrate tracking and management
|
||||
last mod: $Id: bitrate.c 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: bitrate tracking and management
|
||||
last mod: $Id: bitrate.h 13293 2007-07-24 00:09:47Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: PCM data vector blocking, windowing and dis/reassembly
|
||||
last mod: $Id: block.c 19457 2015-03-03 00:15:29Z giles $
|
||||
|
||||
Handle windowing, overlap-add, etc of the PCM vectors. This is made
|
||||
more amusing by Vorbis' current two allowed block sizes.
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
*
|
||||
* function: static codebooks for 5.1 surround
|
||||
* last modified: $Id: res_books_51.h 19057 2014-01-22 12:32:31Z xiphmont $
|
||||
*
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: static codebooks autogenerated by huff/huffbuld
|
||||
last modified: $Id: res_books_stereo.h 19057 2014-01-22 12:32:31Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: static codebooks autogenerated by huff/huffbuld
|
||||
last modified: $Id: floor_books.h 19057 2014-01-22 12:32:31Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: static codebooks autogenerated by huff/huffbuld
|
||||
last modified: $Id: res_books_uncoupled.h 19057 2014-01-22 12:32:31Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: basic codebook pack/unpack/code/decode operations
|
||||
last mod: $Id: codebook.c 19457 2015-03-03 00:15:29Z giles $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
@@ -387,7 +386,7 @@ long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){
|
||||
t[i] = book->valuelist+entry[i]*book->dim;
|
||||
}
|
||||
for(i=0,o=0;i<book->dim;i++,o+=step)
|
||||
for (j=0;j<step;j++)
|
||||
for (j=0;o+j<n && j<step;j++)
|
||||
a[o+j]+=t[j][i];
|
||||
}
|
||||
return(0);
|
||||
@@ -399,41 +398,12 @@ long vorbis_book_decodev_add(codebook *book,float *a,oggpack_buffer *b,int n){
|
||||
int i,j,entry;
|
||||
float *t;
|
||||
|
||||
if(book->dim>8){
|
||||
for(i=0;i<n;){
|
||||
entry = decode_packed_entry_number(book,b);
|
||||
if(entry==-1)return(-1);
|
||||
t = book->valuelist+entry*book->dim;
|
||||
for (j=0;j<book->dim;)
|
||||
a[i++]+=t[j++];
|
||||
}
|
||||
}else{
|
||||
for(i=0;i<n;){
|
||||
entry = decode_packed_entry_number(book,b);
|
||||
if(entry==-1)return(-1);
|
||||
t = book->valuelist+entry*book->dim;
|
||||
j=0;
|
||||
switch((int)book->dim){
|
||||
case 8:
|
||||
a[i++]+=t[j++];
|
||||
case 7:
|
||||
a[i++]+=t[j++];
|
||||
case 6:
|
||||
a[i++]+=t[j++];
|
||||
case 5:
|
||||
a[i++]+=t[j++];
|
||||
case 4:
|
||||
a[i++]+=t[j++];
|
||||
case 3:
|
||||
a[i++]+=t[j++];
|
||||
case 2:
|
||||
a[i++]+=t[j++];
|
||||
case 1:
|
||||
a[i++]+=t[j++];
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(i=0;i<n;){
|
||||
entry = decode_packed_entry_number(book,b);
|
||||
if(entry==-1)return(-1);
|
||||
t = book->valuelist+entry*book->dim;
|
||||
for(j=0;i<n && j<book->dim;)
|
||||
a[i++]+=t[j++];
|
||||
}
|
||||
}
|
||||
return(0);
|
||||
@@ -471,12 +441,13 @@ long vorbis_book_decodevv_add(codebook *book,float **a,long offset,int ch,
|
||||
long i,j,entry;
|
||||
int chptr=0;
|
||||
if(book->used_entries>0){
|
||||
for(i=offset/ch;i<(offset+n)/ch;){
|
||||
int m=(offset+n)/ch;
|
||||
for(i=offset/ch;i<m;){
|
||||
entry = decode_packed_entry_number(book,b);
|
||||
if(entry==-1)return(-1);
|
||||
{
|
||||
const float *t = book->valuelist+entry*book->dim;
|
||||
for (j=0;j<book->dim;j++){
|
||||
for (j=0;i<m && j<book->dim;j++){
|
||||
a[chptr++][i]+=t[j];
|
||||
if(chptr==ch){
|
||||
chptr=0;
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: basic shared codebook operations
|
||||
last mod: $Id: codebook.h 19457 2015-03-03 00:15:29Z giles $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: libvorbis codec headers
|
||||
last mod: $Id: codec_internal.h 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: PCM data envelope analysis
|
||||
last mod: $Id: envelope.c 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: PCM data envelope analysis and manipulation
|
||||
last mod: $Id: envelope.h 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: floor backend 0 implementation
|
||||
last mod: $Id: floor0.c 19457 2015-03-03 00:15:29Z giles $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: floor backend 1 implementation
|
||||
last mod: $Id: floor1.c 19457 2015-03-03 00:15:29Z giles $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: highlevel encoder setup struct separated out for vorbisenc clarity
|
||||
last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: maintain the info structure, info <-> header packets
|
||||
last mod: $Id: info.c 19441 2015-01-21 01:17:41Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
@@ -31,8 +30,8 @@
|
||||
#include "misc.h"
|
||||
#include "os.h"
|
||||
|
||||
#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.5"
|
||||
#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)"
|
||||
#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.6"
|
||||
#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20180316 (Now 100% fewer shells)"
|
||||
|
||||
/* helpers */
|
||||
static void _v_writestring(oggpack_buffer *o,const char *s, int bytes){
|
||||
@@ -65,11 +64,13 @@ void vorbis_comment_add(vorbis_comment *vc,const char *comment){
|
||||
}
|
||||
|
||||
void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, const char *contents){
|
||||
char *comment=alloca(strlen(tag)+strlen(contents)+2); /* +2 for = and \0 */
|
||||
/* Length for key and value +2 for = and \0 */
|
||||
char *comment=_ogg_malloc(strlen(tag)+strlen(contents)+2);
|
||||
strcpy(comment, tag);
|
||||
strcat(comment, "=");
|
||||
strcat(comment, contents);
|
||||
vorbis_comment_add(vc, comment);
|
||||
_ogg_free(comment);
|
||||
}
|
||||
|
||||
/* This is more or less the same as strncasecmp - but that doesn't exist
|
||||
@@ -88,27 +89,30 @@ char *vorbis_comment_query(vorbis_comment *vc, const char *tag, int count){
|
||||
long i;
|
||||
int found = 0;
|
||||
int taglen = strlen(tag)+1; /* +1 for the = we append */
|
||||
char *fulltag = alloca(taglen+ 1);
|
||||
char *fulltag = _ogg_malloc(taglen+1);
|
||||
|
||||
strcpy(fulltag, tag);
|
||||
strcat(fulltag, "=");
|
||||
|
||||
for(i=0;i<vc->comments;i++){
|
||||
if(!tagcompare(vc->user_comments[i], fulltag, taglen)){
|
||||
if(count == found)
|
||||
if(count == found) {
|
||||
/* We return a pointer to the data, not a copy */
|
||||
return vc->user_comments[i] + taglen;
|
||||
else
|
||||
_ogg_free(fulltag);
|
||||
return vc->user_comments[i] + taglen;
|
||||
} else {
|
||||
found++;
|
||||
}
|
||||
}
|
||||
}
|
||||
_ogg_free(fulltag);
|
||||
return NULL; /* didn't find anything */
|
||||
}
|
||||
|
||||
int vorbis_comment_query_count(vorbis_comment *vc, const char *tag){
|
||||
int i,count=0;
|
||||
int taglen = strlen(tag)+1; /* +1 for the = we append */
|
||||
char *fulltag = alloca(taglen+1);
|
||||
char *fulltag = _ogg_malloc(taglen+1);
|
||||
strcpy(fulltag,tag);
|
||||
strcat(fulltag, "=");
|
||||
|
||||
@@ -117,6 +121,7 @@ int vorbis_comment_query_count(vorbis_comment *vc, const char *tag){
|
||||
count++;
|
||||
}
|
||||
|
||||
_ogg_free(fulltag);
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -206,9 +211,9 @@ static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){
|
||||
vi->channels=oggpack_read(opb,8);
|
||||
vi->rate=oggpack_read(opb,32);
|
||||
|
||||
vi->bitrate_upper=oggpack_read(opb,32);
|
||||
vi->bitrate_nominal=oggpack_read(opb,32);
|
||||
vi->bitrate_lower=oggpack_read(opb,32);
|
||||
vi->bitrate_upper=(ogg_int32_t)oggpack_read(opb,32);
|
||||
vi->bitrate_nominal=(ogg_int32_t)oggpack_read(opb,32);
|
||||
vi->bitrate_lower=(ogg_int32_t)oggpack_read(opb,32);
|
||||
|
||||
ci->blocksizes[0]=1<<oggpack_read(opb,4);
|
||||
ci->blocksizes[1]=1<<oggpack_read(opb,4);
|
||||
@@ -583,7 +588,8 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
||||
oggpack_buffer opb;
|
||||
private_state *b=v->backend_state;
|
||||
|
||||
if(!b||vi->channels<=0){
|
||||
if(!b||vi->channels<=0||vi->channels>256){
|
||||
b = NULL;
|
||||
ret=OV_EFAULT;
|
||||
goto err_out;
|
||||
}
|
||||
@@ -642,7 +648,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
||||
memset(op_code,0,sizeof(*op_code));
|
||||
|
||||
if(b){
|
||||
oggpack_writeclear(&opb);
|
||||
if(vi->channels>0)oggpack_writeclear(&opb);
|
||||
if(b->header)_ogg_free(b->header);
|
||||
if(b->header1)_ogg_free(b->header1);
|
||||
if(b->header2)_ogg_free(b->header2);
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: lookup based functions
|
||||
last mod: $Id: lookup.c 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: lookup based functions
|
||||
last mod: $Id: lookup.h 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: lookup data; generated by lookups.pl; edit there
|
||||
last mod: $Id: lookup_data.h 16037 2009-05-26 21:10:58Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ print <<'EOD';
|
||||
********************************************************************
|
||||
|
||||
function: lookup data; generated by lookups.pl; edit there
|
||||
last mod: $Id: lookups.pl 13293 2007-07-24 00:09:47Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: LPC low level routines
|
||||
last mod: $Id: lpc.c 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: LPC low level routines
|
||||
last mod: $Id: lpc.h 16037 2009-05-26 21:10:58Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: LSP (also called LSF) conversion routines
|
||||
last mod: $Id: lsp.c 19453 2015-03-02 22:35:34Z xiphmont $
|
||||
|
||||
The LSP generation code is taken (with minimal modification and a
|
||||
few bugfixes) from "On the Computation of the LSP Frequencies" by
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
********************************************************************
|
||||
|
||||
function: LSP (also called LSF) conversion routines
|
||||
last mod: $Id: lsp.h 16227 2009-07-08 06:58:46Z xiphmont $
|
||||
|
||||
********************************************************************/
|
||||
|
||||
|
||||