gecko/media/libopus/update.sh
Ralph Giles 3ae1b38243 Bug 916807 - Update opus to 1.1 prerelease. r=derf
Update our opus implementation to a prerelease of 1.1. This
brings many performance and encoder improvements and we believe
it is stable enough to switch. This import does not enable any
of the new assembly optimizations.

The imported code is https://git.xiph.org/opus.git master
commit f2446c25c6519bae190152f7a579310b83dc43fd.
2013-09-16 14:48:00 -07:00

70 lines
2.2 KiB
Bash

#!/bin/sh
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Usage: ./update.sh <opus_src_directory>
#
# Copies the needed files from a directory containing the original
# libopus source, and applies any local patches we're carrying.
TARGET='.'
STATIC_FILES="COPYING"
MK_FILES="opus_sources.mk celt_sources.mk silk_sources.mk \
opus_headers.mk celt_headers.mk silk_headers.mk"
# Make sure we have a source directory
if test -z $1 || ! test -r $1/include/opus.h; then
echo "Update the current directory from a source checkout"
echo "usage: $0 ../opus"
exit 1
fi
# "parse" the makefile fragments to get the list of source files
# requires GNU sed extensions
SRC_FILES=$(sed -e ':a;N;$!ba;s/#[^\n]*\(\n\)/\1/g;s/\\\n//g;s/[A-Z_]* = //g' \
$(for file in ${MK_FILES}; do echo "$1/${file}"; done))
# pre-release versions of the code don't list opus_custom.h
# in celt_headers.mk, so we must include it manually
HDR_FILES="include/opus_custom.h"
# make sure the necessary subdirectories exist
for file in ${SRC_FILES}; do
base=${file##*/}
dir="${file%"${base}"}"
if test ! -d "${TARGET}/${dir}"; then
cmd="mkdir -p ${TARGET}/${dir}"
echo ${cmd}
${cmd}
fi
done
# copy files into the target directory
for file in ${STATIC_FILES} ${MK_FILES} ${SRC_FILES} ${HDR_FILES}; do
cmd="cp $1/${file} ${TARGET}/${file}"
echo ${cmd}
${cmd}
done
# query git for the revision we're copying from
if test -d $1/.git; then
version=$(cd $1 && git describe --tags)
else
version="UNKNOWN"
fi
echo "copied from revision ${version}"
# update README revision
sed -e "s/^The git tag\/revision used was .*/The git tag\/revision used was ${version}./" \
${TARGET}/README_MOZILLA > ${TARGET}/README_MOZILLA+ && \
mv ${TARGET}/README_MOZILLA+ ${TARGET}/README_MOZILLA
# update compiled-in version string
sed -e "s/-DOPUS_VERSION='\".*\"'/-DOPUS_VERSION='\"${version}-mozilla\"'/" \
${TARGET}/Makefile.in > ${TARGET}/Makefile.in+ && \
mv ${TARGET}/Makefile.in+ ${TARGET}/Makefile.in
# apply outstanding local patches
# ... no patches to apply ...