mirror of
https://github.com/xiph/opus.git
synced 2025-05-14 15:38:32 +00:00
Remove more LPCNet useless files (e.g. build)
This commit is contained in:
parent
ab6f93ad30
commit
254b5ee7b2
14 changed files with 2 additions and 847 deletions
4
COPYING
4
COPYING
|
@ -1,7 +1,7 @@
|
||||||
Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic,
|
Copyright 2001-2023 Xiph.Org, Skype Limited, Octasic,
|
||||||
Jean-Marc Valin, Timothy B. Terriberry,
|
Jean-Marc Valin, Timothy B. Terriberry,
|
||||||
CSIRO, Gregory Maxwell, Mark Borgerding,
|
CSIRO, Gregory Maxwell, Mark Borgerding,
|
||||||
Erik de Castro Lopo
|
Erik de Castro Lopo, Mozilla, Amazon
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
||||||
David Rowe <david@rowetel.com>
|
|
31
dnn/COPYING
31
dnn/COPYING
|
@ -1,31 +0,0 @@
|
||||||
Copyright (c) 2017-2018, Mozilla
|
|
||||||
Copyright (c) 2007-2017, Jean-Marc Valin
|
|
||||||
Copyright (c) 2005-2017, Xiph.Org Foundation
|
|
||||||
Copyright (c) 2003-2004, Mark Borgerding
|
|
||||||
|
|
||||||
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 FOUNDATION
|
|
||||||
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.
|
|
158
dnn/Makefile.am
158
dnn/Makefile.am
|
@ -1,158 +0,0 @@
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/ $(DEPS_CFLAGS)
|
|
||||||
|
|
||||||
dist_doc_DATA = COPYING AUTHORS README README.md
|
|
||||||
|
|
||||||
include_HEADERS = include/lpcnet.h
|
|
||||||
|
|
||||||
lib_LTLIBRARIES = liblpcnet.la
|
|
||||||
noinst_HEADERS = arch.h \
|
|
||||||
burg.h \
|
|
||||||
common.h \
|
|
||||||
freq.h \
|
|
||||||
_kiss_fft_guts.h \
|
|
||||||
kiss_fft.h \
|
|
||||||
kiss99.h \
|
|
||||||
lpcnet_private.h \
|
|
||||||
opus_types.h \
|
|
||||||
nnet_data.h \
|
|
||||||
plc_data.h \
|
|
||||||
nnet.h \
|
|
||||||
pitch.h \
|
|
||||||
tansig_table.h \
|
|
||||||
vec.h \
|
|
||||||
vec_avx.h \
|
|
||||||
vec_neon.h
|
|
||||||
|
|
||||||
liblpcnet_la_SOURCES = \
|
|
||||||
burg.c \
|
|
||||||
common.c \
|
|
||||||
kiss99.c \
|
|
||||||
lpcnet.c \
|
|
||||||
lpcnet_dec.c \
|
|
||||||
lpcnet_enc.c \
|
|
||||||
lpcnet_tables.c \
|
|
||||||
nnet.c \
|
|
||||||
nnet_data.c \
|
|
||||||
plc_data.c \
|
|
||||||
ceps_codebooks.c \
|
|
||||||
pitch.c \
|
|
||||||
parse_lpcnet_weights.c \
|
|
||||||
freq.c \
|
|
||||||
kiss_fft.c \
|
|
||||||
lpcnet_plc.c
|
|
||||||
|
|
||||||
liblpcnet_la_LIBADD = $(DEPS_LIBS) $(lrintf_lib) $(LIBM)
|
|
||||||
liblpcnet_la_LDFLAGS = -no-undefined \
|
|
||||||
-version-info @OP_LT_CURRENT@:@OP_LT_REVISION@:@OP_LT_AGE@
|
|
||||||
|
|
||||||
noinst_PROGRAMS = lpcnet_demo dump_data dump_weights_blob
|
|
||||||
|
|
||||||
lpcnet_demo_SOURCES = lpcnet_demo.c
|
|
||||||
lpcnet_demo_LDADD = liblpcnet.la
|
|
||||||
|
|
||||||
|
|
||||||
#DUMP_SOURCES = freq.c kiss_fft.c pitch.c lpcnet_dec.c lpcnet_enc.c ceps_codebooks.c common.c
|
|
||||||
#DUMP_OBJ = $(DUMP_SOURCES:.c=.lo)
|
|
||||||
#dump_data_SOURCES = dump_data.c
|
|
||||||
#dump_data_LDADD = $(DUMP_OBJ) $(LIBM)
|
|
||||||
|
|
||||||
dump_data_SOURCES = common.c dump_data.c burg.c freq.c kiss_fft.c pitch.c lpcnet_dec.c lpcnet_enc.c lpcnet_tables.c ceps_codebooks.c
|
|
||||||
dump_data_LDADD = $(LIBM)
|
|
||||||
dump_data_CFLAGS = $(AM_CFLAGS)
|
|
||||||
|
|
||||||
dump_weights_blob_SOURCES = write_lpcnet_weights.c
|
|
||||||
dump_weights_blob_LDADD = $(LIBM)
|
|
||||||
dump_weights_blob_CFLAGS = $(AM_CFLAGS) -DDUMP_BINARY_WEIGHTS
|
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
pkgconfig_DATA = lpcnet.pc
|
|
||||||
|
|
||||||
debug:
|
|
||||||
$(MAKE) CFLAGS="${CFLAGS} -O0 -ggdb -DOP_ENABLE_ASSERTIONS" all
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
lpcnet.pc.in \
|
|
||||||
lpcnet-uninstalled.pc.in \
|
|
||||||
doc/Doxyfile.in \
|
|
||||||
doc/Makefile
|
|
||||||
|
|
||||||
# Targets to build and install just the library without the docs
|
|
||||||
liblpcnet install-liblpcnet: NO_DOXYGEN = 1
|
|
||||||
|
|
||||||
lpcnet: all
|
|
||||||
install-lpcnet: install
|
|
||||||
|
|
||||||
# Or just the docs
|
|
||||||
docs: doc/doxygen-build.stamp
|
|
||||||
|
|
||||||
install-docs:
|
|
||||||
@if [ -z "$(NO_DOXYGEN)" ]; then \
|
|
||||||
( cd doc && \
|
|
||||||
echo "Installing documentation in $(DESTDIR)$(docdir)"; \
|
|
||||||
$(INSTALL) -d $(DESTDIR)$(docdir)/html/search; \
|
|
||||||
for f in `find html -type f \! -name "installdox"` ; do \
|
|
||||||
$(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f; \
|
|
||||||
done ) \
|
|
||||||
fi
|
|
||||||
|
|
||||||
doc/doxygen-build.stamp: doc/Doxyfile \
|
|
||||||
$(top_srcdir)/include/*.h
|
|
||||||
@[ -n "$(NO_DOXYGEN)" ] || ( cd doc && doxygen && touch $(@F) )
|
|
||||||
|
|
||||||
|
|
||||||
if HAVE_DOXYGEN
|
|
||||||
|
|
||||||
# Or everything (by default)
|
|
||||||
all-local: docs
|
|
||||||
|
|
||||||
install-data-local: install-docs
|
|
||||||
|
|
||||||
clean-local:
|
|
||||||
$(RM) -r doc/html
|
|
||||||
$(RM) -r doc/latex
|
|
||||||
$(RM) doc/doxygen-build.stamp
|
|
||||||
|
|
||||||
uninstall-local:
|
|
||||||
$(RM) -r $(DESTDIR)$(docdir)/html
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# We check this every time make is run, with configure.ac being touched to
|
|
||||||
# trigger an update of the build system files if update_version changes the
|
|
||||||
# current PACKAGE_VERSION (or if package_version was modified manually by a
|
|
||||||
# user with either AUTO_UPDATE=no or no update_version script present - the
|
|
||||||
# latter being the normal case for tarball releases).
|
|
||||||
#
|
|
||||||
# We can't just add the package_version file to CONFIGURE_DEPENDENCIES since
|
|
||||||
# simply running autoconf will not actually regenerate configure for us when
|
|
||||||
# the content of that file changes (due to autoconf dependency checking not
|
|
||||||
# knowing about that without us creating yet another file for it to include).
|
|
||||||
#
|
|
||||||
# The MAKECMDGOALS check is a gnu-make'ism, but will degrade 'gracefully' for
|
|
||||||
# makes that don't support it. The only loss of functionality is not forcing
|
|
||||||
# an update of package_version for `make dist` if AUTO_UPDATE=no, but that is
|
|
||||||
# unlikely to be a real problem for any real user.
|
|
||||||
$(top_srcdir)/configure.ac: force
|
|
||||||
@case "$(MAKECMDGOALS)" in \
|
|
||||||
dist-hook) exit 0 ;; \
|
|
||||||
dist-* | dist | distcheck | distclean) _arg=release ;; \
|
|
||||||
esac; \
|
|
||||||
if ! $(top_srcdir)/update_version $$_arg 2> /dev/null; then \
|
|
||||||
if [ ! -e $(top_srcdir)/package_version ]; then \
|
|
||||||
echo 'PACKAGE_VERSION="unknown"' > $(top_srcdir)/package_version; \
|
|
||||||
fi; \
|
|
||||||
. $(top_srcdir)/package_version || exit 1; \
|
|
||||||
[ "$(PACKAGE_VERSION)" != "$$PACKAGE_VERSION" ] || exit 0; \
|
|
||||||
fi; \
|
|
||||||
touch $@
|
|
||||||
|
|
||||||
force:
|
|
||||||
|
|
||||||
# Create a minimal package_version file when make dist is run.
|
|
||||||
dist-hook:
|
|
||||||
echo 'PACKAGE_VERSION="$(PACKAGE_VERSION)"' > $(top_distdir)/package_version
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: lpcnet install-lpcnet docs install-docs
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# Run this to set up the build system: configure, makefiles, etc.
|
|
||||||
set -e
|
|
||||||
|
|
||||||
srcdir=`dirname $0`
|
|
||||||
test -n "$srcdir" && cd "$srcdir"
|
|
||||||
|
|
||||||
#SHA1 of the first commit compatible with the current model
|
|
||||||
commit=2ddc476
|
|
||||||
./download_model.sh $commit
|
|
||||||
|
|
||||||
echo "Updating build configuration files for lpcnet, please wait...."
|
|
||||||
|
|
||||||
autoreconf -isf
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
gcc -Wall -W -O3 -g -I../include dump_data.c freq.c kiss_fft.c pitch.c celt_lpc.c -o dump_data -lm
|
|
||||||
gcc -o test_lpcnet -mavx2 -mfma -g -O3 -Wall -W -Wextra test_lpcnet.c lpcnet.c nnet.c nnet_data.c freq.c kiss_fft.c pitch.c celt_lpc.c -lm
|
|
|
@ -1,6 +0,0 @@
|
||||||
# Place in 16k-LP7 from TSPSpeech.iso and run to concatenate wave files
|
|
||||||
# into one headerless training file
|
|
||||||
for i in */*.wav
|
|
||||||
do
|
|
||||||
sox $i -r 16000 -c 1 -t sw -
|
|
||||||
done > input.s16
|
|
131
dnn/configure.ac
131
dnn/configure.ac
|
@ -1,131 +0,0 @@
|
||||||
# autoconf source script for generating configure
|
|
||||||
|
|
||||||
dnl The package_version file will be automatically synced to the git revision
|
|
||||||
dnl by the update_version script when configured in the repository, but will
|
|
||||||
dnl remain constant in tarball releases unless it is manually edited.
|
|
||||||
m4_define([CURRENT_VERSION],
|
|
||||||
m4_esyscmd([ ./update_version 2>/dev/null || true
|
|
||||||
if test -e package_version; then
|
|
||||||
. ./package_version
|
|
||||||
printf "$PACKAGE_VERSION"
|
|
||||||
else
|
|
||||||
printf "unknown"
|
|
||||||
fi ]))
|
|
||||||
|
|
||||||
AC_INIT([lpcnet],[CURRENT_VERSION],[jmvalin@jmvalin.ca])
|
|
||||||
AC_CONFIG_SRCDIR([lpcnet.c])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
|
|
||||||
AC_USE_SYSTEM_EXTENSIONS
|
|
||||||
AC_SYS_LARGEFILE
|
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([1.11 foreign no-define dist-zip subdir-objects])
|
|
||||||
AM_MAINTAINER_MODE([enable])
|
|
||||||
|
|
||||||
AC_C_INLINE
|
|
||||||
|
|
||||||
LT_INIT
|
|
||||||
|
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
||||||
|
|
||||||
AC_DEFINE([LPCNET_BUILD], [], [This is a build of the library])
|
|
||||||
|
|
||||||
dnl Library versioning for libtool.
|
|
||||||
dnl Please update these for releases.
|
|
||||||
dnl CURRENT, REVISION, AGE
|
|
||||||
dnl - library source changed -> increment REVISION
|
|
||||||
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
|
|
||||||
dnl - interfaces added -> increment AGE
|
|
||||||
dnl - interfaces removed -> AGE = 0
|
|
||||||
|
|
||||||
OP_LT_CURRENT=0
|
|
||||||
OP_LT_REVISION=0
|
|
||||||
OP_LT_AGE=0
|
|
||||||
|
|
||||||
AC_SUBST(OP_LT_CURRENT)
|
|
||||||
AC_SUBST(OP_LT_REVISION)
|
|
||||||
AC_SUBST(OP_LT_AGE)
|
|
||||||
|
|
||||||
CC_CHECK_CFLAGS_APPEND(
|
|
||||||
[-pedantic -Wall -Wextra -Wno-sign-compare -Wno-parentheses -Wno-long-long])
|
|
||||||
|
|
||||||
# Platform-specific tweaks
|
|
||||||
case $host in
|
|
||||||
*-mingw*)
|
|
||||||
# -std=c89 causes some warnings under mingw.
|
|
||||||
CC_CHECK_CFLAGS_APPEND([-U__STRICT_ANSI__])
|
|
||||||
# We need WINNT>=0x501 (WindowsXP) for getaddrinfo/freeaddrinfo.
|
|
||||||
# It's okay to define this even when HTTP support is disabled, as it only
|
|
||||||
# affects header declarations, not linking (unless we actually use some
|
|
||||||
# XP-only functions).
|
|
||||||
AC_DEFINE_UNQUOTED(_WIN32_WINNT,0x501,
|
|
||||||
[We need at least WindowsXP for getaddrinfo/freeaddrinfo])
|
|
||||||
host_mingw=true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AM_CONDITIONAL(OP_WIN32, test "$host_mingw" = "true")
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([assertions],
|
|
||||||
AS_HELP_STRING([--enable-assertions], [Enable assertions in code]),,
|
|
||||||
enable_assertions=no)
|
|
||||||
|
|
||||||
AS_IF([test "$enable_assertions" = "yes"], [
|
|
||||||
AC_DEFINE([OP_ENABLE_ASSERTIONS], [1], [Enable assertions in code])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([dot-product],
|
|
||||||
AS_HELP_STRING([--disable-dot-product], [Disable dot product implementation]),,
|
|
||||||
enable_dot_product=yes)
|
|
||||||
|
|
||||||
AS_IF([test "$enable_dot_product" = "no"], [
|
|
||||||
AC_DEFINE([DISABLE_DOT_PROD], [1], [Disable dot product instructions])
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_CASE(["$ac_cv_search_lrintf"],
|
|
||||||
["no"],[],
|
|
||||||
["none required"],[],
|
|
||||||
[lrintf_lib="$ac_cv_search_lrintf"])
|
|
||||||
|
|
||||||
LT_LIB_M
|
|
||||||
|
|
||||||
AC_SUBST([lrintf_lib])
|
|
||||||
|
|
||||||
CC_ATTRIBUTE_VISIBILITY([default], [
|
|
||||||
CC_FLAG_VISIBILITY([CFLAGS="${CFLAGS} -fvisibility=hidden"])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Check for doxygen
|
|
||||||
AC_ARG_ENABLE([doc],
|
|
||||||
AS_HELP_STRING([--disable-doc], [Do not build API documentation]),,
|
|
||||||
[enable_doc=yes]
|
|
||||||
)
|
|
||||||
|
|
||||||
AS_IF([test "$enable_doc" = "yes"], [
|
|
||||||
AC_CHECK_PROG([HAVE_DOXYGEN], [doxygen], [yes], [no])
|
|
||||||
AC_CHECK_PROG([HAVE_DOT], [dot], [yes], [no])
|
|
||||||
],[
|
|
||||||
HAVE_DOXYGEN=no
|
|
||||||
])
|
|
||||||
|
|
||||||
AM_CONDITIONAL([HAVE_DOXYGEN], [test "$HAVE_DOXYGEN" = "yes"])
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
|
||||||
Makefile
|
|
||||||
lpcnet.pc
|
|
||||||
lpcnet-uninstalled.pc
|
|
||||||
doc/Doxyfile
|
|
||||||
])
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
$PACKAGE_NAME $PACKAGE_VERSION: Automatic configuration OK.
|
|
||||||
|
|
||||||
Dot product intrinsics ....... ${enable_dot_product}
|
|
||||||
Assertions ................... ${enable_assertions}
|
|
||||||
Hidden visibility ............ ${cc_cv_flag_visibility}
|
|
||||||
|
|
||||||
API documentation ............ ${enable_doc}
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
])
|
|
|
@ -1,18 +0,0 @@
|
||||||
# Process with doxygen to generate API documentation
|
|
||||||
|
|
||||||
PROJECT_NAME = @PACKAGE_NAME@
|
|
||||||
PROJECT_NUMBER = @PACKAGE_VERSION@
|
|
||||||
PROJECT_BRIEF = "Neural Vocoder."
|
|
||||||
INPUT = @top_srcdir@/include/lpcnet.h
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
|
|
||||||
QUIET = YES
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_IF_DOC_ERROR = YES
|
|
||||||
WARN_NO_PARAMDOC = YES
|
|
||||||
|
|
||||||
JAVADOC_AUTOBRIEF = YES
|
|
||||||
SORT_MEMBER_DOCS = NO
|
|
||||||
|
|
||||||
HAVE_DOT = @HAVE_DOT@
|
|
|
@ -1,68 +0,0 @@
|
||||||
# Makefile for LPCNet
|
|
||||||
|
|
||||||
CC=gcc
|
|
||||||
CFLAGS+=-Wall -W -Wextra -Wno-unused-function -O3 -g -Iinclude
|
|
||||||
|
|
||||||
AVX2:=$(shell cat /proc/cpuinfo | grep -c avx2)
|
|
||||||
AVX:=$(shell cat /proc/cpuinfo | grep -c avx)
|
|
||||||
NEON:=$(shell cat /proc/cpuinfo | grep -c neon)
|
|
||||||
|
|
||||||
ifneq ($(AVX2),0)
|
|
||||||
CFLAGS+=-mavx2 -mfma
|
|
||||||
else
|
|
||||||
# AVX2 machines will also match on AVX
|
|
||||||
ifneq ($(AVX),0)
|
|
||||||
CFLAGS+=-mavx
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(NEON),0)
|
|
||||||
CFLAGS+=-mfpu=neon -march=armv8-a -mtune=cortex-a53
|
|
||||||
endif
|
|
||||||
|
|
||||||
all: dump_data lpcnet_demo test_lpcnet test_vec
|
|
||||||
|
|
||||||
lpcnet_data-8ea8396.tar.gz:
|
|
||||||
wget https://media.xiph.org/lpcnet/data/lpcnet_data-8ea8396.tar.gz
|
|
||||||
|
|
||||||
download: src/ceps_codebooks.c src/nnet_data.c
|
|
||||||
|
|
||||||
src/ceps_codebooks.c: lpcnet_data-8ea8396.tar.gz
|
|
||||||
tar xvf lpcnet_data-8ea8396.tar.gz
|
|
||||||
|
|
||||||
dump_data_objs := src/common.o src/dump_data.o src/freq.o src/kiss_fft.o src/pitch.o src/celt_lpc.o src/lpcnet_dec.o src/lpcnet_enc.o src/ceps_codebooks.o
|
|
||||||
dump_data_deps := $(dump_data_objs:.o=.d)
|
|
||||||
dump_data: download $(dump_data_objs)
|
|
||||||
gcc -o $@ $(CFLAGS) $(dump_data_objs) -lm
|
|
||||||
|
|
||||||
-include $dump_data_deps(_deps)
|
|
||||||
|
|
||||||
test_lpcnet_objs := src/common.o src/test_lpcnet.o src/lpcnet.o src/nnet.o src/nnet_data.o src/freq.o src/kiss_fft.o src/pitch.o src/celt_lpc.o src/lpcnet_dec.o src/ceps_codebooks.o
|
|
||||||
test_lpcnet_deps := $(test_lpcnet_objs:.o=.d)
|
|
||||||
test_lpcnet: download $(test_lpcnet_objs)
|
|
||||||
gcc -o $@ $(CFLAGS) $(test_lpcnet_objs) -lm
|
|
||||||
|
|
||||||
-include $(test_lpcnet_deps)
|
|
||||||
|
|
||||||
lpcnet_demo_objs := src/common.o src/lpcnet_demo.o src/lpcnet.o src/nnet.o src/nnet_data.o src/freq.o src/kiss_fft.o src/pitch.o src/celt_lpc.o src/lpcnet_dec.o src/ceps_codebooks.o src/lpcnet_enc.o
|
|
||||||
lpcnet_demo_deps := $(lpcnet_demo_objs:.o=.d)
|
|
||||||
lpcnet_demo: download $(lpcnet_demo_objs)
|
|
||||||
gcc -o $@ $(CFLAGS) $(lpcnet_demo_objs) -lm
|
|
||||||
|
|
||||||
-include $(lpcnet_demo_deps)
|
|
||||||
|
|
||||||
test_vec_objs := src/test_vec.o
|
|
||||||
test_vec_deps := $(test_vec_objs:.o=.d)
|
|
||||||
test_vec: $(test_vec_objs)
|
|
||||||
gcc -o $@ $(CFLAGS) $(test_vec_objs) -lm
|
|
||||||
|
|
||||||
-include $(test_vec_deps)
|
|
||||||
|
|
||||||
test: test_vec
|
|
||||||
./test_vec
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f dump_data test_lpcnet test_vec
|
|
||||||
rm -f $(dump_data_objs) $(dump_data_deps)
|
|
||||||
rm -f $(test_lpcnet_objs) $(test_lpcnet_deps)
|
|
||||||
rm -f $(test_vec_objs) $(test_vec_deps)
|
|
|
@ -1,13 +0,0 @@
|
||||||
# lpcnet uninstalled pkg-config file
|
|
||||||
|
|
||||||
prefix=
|
|
||||||
exec_prefix=
|
|
||||||
libdir=${pcfiledir}/.libs
|
|
||||||
includedir=${pcfiledir}/@top_srcdir@/include
|
|
||||||
|
|
||||||
Name: lpcnet uninstalled
|
|
||||||
Description: RNN-based noise suppression (not installed)
|
|
||||||
Version: @PACKAGE_VERSION@
|
|
||||||
Conflicts:
|
|
||||||
Libs: ${libdir}/liblpcnet.la @lrintf_lib@
|
|
||||||
Cflags: -I${includedir}
|
|
|
@ -1,14 +0,0 @@
|
||||||
# lpcnet installed pkg-config file
|
|
||||||
|
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
libdir=@libdir@
|
|
||||||
includedir=@includedir@
|
|
||||||
|
|
||||||
Name: lpcnet
|
|
||||||
Description: RNN-based noise suppression
|
|
||||||
Version: @PACKAGE_VERSION@
|
|
||||||
Conflicts:
|
|
||||||
Libs: -L${libdir} -llpcnet
|
|
||||||
Libs.private: @lrintf_lib@
|
|
||||||
Cflags: -I${includedir}/
|
|
|
@ -1,321 +0,0 @@
|
||||||
dnl Macros to check the presence of generic (non-typed) symbols.
|
|
||||||
dnl Copyright (c) 2006-2007 Diego Pettenò <flameeyes@gmail.com>
|
|
||||||
dnl Copyright (c) 2006-2007 xine project
|
|
||||||
dnl
|
|
||||||
dnl This program is free software; you can redistribute it and/or modify
|
|
||||||
dnl it under the terms of the GNU General Public License as published by
|
|
||||||
dnl the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
dnl any later version.
|
|
||||||
dnl
|
|
||||||
dnl This program is distributed in the hope that it will be useful,
|
|
||||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
dnl GNU General Public License for more details.
|
|
||||||
dnl
|
|
||||||
dnl You should have received a copy of the GNU General Public License
|
|
||||||
dnl along with this program; if not, write to the Free Software
|
|
||||||
dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
||||||
dnl 02110-1301, USA.
|
|
||||||
dnl
|
|
||||||
dnl As a special exception, the copyright owners of the
|
|
||||||
dnl macro gives unlimited permission to copy, distribute and modify the
|
|
||||||
dnl configure scripts that are the output of Autoconf when processing the
|
|
||||||
dnl Macro. You need not follow the terms of the GNU General Public
|
|
||||||
dnl License when using or distributing such scripts, even though portions
|
|
||||||
dnl of the text of the Macro appear in them. The GNU General Public
|
|
||||||
dnl License (GPL) does govern all other use of the material that
|
|
||||||
dnl constitutes the Autoconf Macro.
|
|
||||||
dnl
|
|
||||||
dnl This special exception to the GPL applies to versions of the
|
|
||||||
dnl Autoconf Macro released by this project. When you make and
|
|
||||||
dnl distribute a modified version of the Autoconf Macro, you may extend
|
|
||||||
dnl this special exception to the GPL to apply to your modified version as
|
|
||||||
dnl well.
|
|
||||||
|
|
||||||
dnl Check if the flag is supported by compiler
|
|
||||||
dnl CC_CHECK_CFLAGS_SILENT([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_CHECK_CFLAGS_SILENT], [
|
|
||||||
AC_CACHE_VAL(AS_TR_SH([cc_cv_cflags_$1]),
|
|
||||||
[ac_save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $1"
|
|
||||||
AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return 0; }])],
|
|
||||||
[eval "AS_TR_SH([cc_cv_cflags_$1])='yes'"],
|
|
||||||
[eval "AS_TR_SH([cc_cv_cflags_$1])='no'"])
|
|
||||||
CFLAGS="$ac_save_CFLAGS"
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes],
|
|
||||||
[$2], [$3])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Check if the flag is supported by compiler (cacheable)
|
|
||||||
dnl CC_CHECK_CFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_CHECK_CFLAGS], [
|
|
||||||
AC_CACHE_CHECK([if $CC supports $1 flag],
|
|
||||||
AS_TR_SH([cc_cv_cflags_$1]),
|
|
||||||
CC_CHECK_CFLAGS_SILENT([$1]) dnl Don't execute actions here!
|
|
||||||
)
|
|
||||||
|
|
||||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes],
|
|
||||||
[$2], [$3])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl CC_CHECK_CFLAG_APPEND(FLAG, [action-if-found], [action-if-not-found])
|
|
||||||
dnl Check for CFLAG and appends them to CFLAGS if supported
|
|
||||||
AC_DEFUN([CC_CHECK_CFLAG_APPEND], [
|
|
||||||
AC_CACHE_CHECK([if $CC supports $1 flag],
|
|
||||||
AS_TR_SH([cc_cv_cflags_$1]),
|
|
||||||
CC_CHECK_CFLAGS_SILENT([$1]) dnl Don't execute actions here!
|
|
||||||
)
|
|
||||||
|
|
||||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes],
|
|
||||||
[CFLAGS="$CFLAGS $1"; $2], [$3])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl CC_CHECK_CFLAGS_APPEND([FLAG1 FLAG2], [action-if-found], [action-if-not])
|
|
||||||
AC_DEFUN([CC_CHECK_CFLAGS_APPEND], [
|
|
||||||
for flag in $1; do
|
|
||||||
CC_CHECK_CFLAG_APPEND($flag, [$2], [$3])
|
|
||||||
done
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Check if the flag is supported by linker (cacheable)
|
|
||||||
dnl CC_CHECK_LDFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_CHECK_LDFLAGS], [
|
|
||||||
AC_CACHE_CHECK([if $CC supports $1 flag],
|
|
||||||
AS_TR_SH([cc_cv_ldflags_$1]),
|
|
||||||
[ac_save_LDFLAGS="$LDFLAGS"
|
|
||||||
LDFLAGS="$LDFLAGS $1"
|
|
||||||
AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return 1; }])],
|
|
||||||
[eval "AS_TR_SH([cc_cv_ldflags_$1])='yes'"],
|
|
||||||
[eval "AS_TR_SH([cc_cv_ldflags_$1])="])
|
|
||||||
LDFLAGS="$ac_save_LDFLAGS"
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_ldflags_$1])[ = xyes],
|
|
||||||
[$2], [$3])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl define the LDFLAGS_NOUNDEFINED variable with the correct value for
|
|
||||||
dnl the current linker to avoid undefined references in a shared object.
|
|
||||||
AC_DEFUN([CC_NOUNDEFINED], [
|
|
||||||
dnl We check $host for which systems to enable this for.
|
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
||||||
|
|
||||||
case $host in
|
|
||||||
dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads
|
|
||||||
dnl are requested, as different implementations are present; to avoid problems
|
|
||||||
dnl use -Wl,-z,defs only for those platform not behaving this way.
|
|
||||||
*-freebsd* | *-openbsd*) ;;
|
|
||||||
*)
|
|
||||||
dnl First of all check for the --no-undefined variant of GNU ld. This allows
|
|
||||||
dnl for a much more readable commandline, so that people can understand what
|
|
||||||
dnl it does without going to look for what the heck -z defs does.
|
|
||||||
for possible_flags in "-Wl,--no-undefined" "-Wl,-z,defs"; do
|
|
||||||
CC_CHECK_LDFLAGS([$possible_flags], [LDFLAGS_NOUNDEFINED="$possible_flags"])
|
|
||||||
break
|
|
||||||
done
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST([LDFLAGS_NOUNDEFINED])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Check for a -Werror flag or equivalent. -Werror is the GCC
|
|
||||||
dnl and ICC flag that tells the compiler to treat all the warnings
|
|
||||||
dnl as fatal. We usually need this option to make sure that some
|
|
||||||
dnl constructs (like attributes) are not simply ignored.
|
|
||||||
dnl
|
|
||||||
dnl Other compilers don't support -Werror per se, but they support
|
|
||||||
dnl an equivalent flag:
|
|
||||||
dnl - Sun Studio compiler supports -errwarn=%all
|
|
||||||
AC_DEFUN([CC_CHECK_WERROR], [
|
|
||||||
AC_CACHE_CHECK(
|
|
||||||
[for $CC way to treat warnings as errors],
|
|
||||||
[cc_cv_werror],
|
|
||||||
[CC_CHECK_CFLAGS_SILENT([-Werror], [cc_cv_werror=-Werror],
|
|
||||||
[CC_CHECK_CFLAGS_SILENT([-errwarn=%all], [cc_cv_werror=-errwarn=%all])])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_CHECK_ATTRIBUTE], [
|
|
||||||
AC_REQUIRE([CC_CHECK_WERROR])
|
|
||||||
AC_CACHE_CHECK([if $CC supports __attribute__(( ifelse([$2], , [$1], [$2]) ))],
|
|
||||||
AS_TR_SH([cc_cv_attribute_$1]),
|
|
||||||
[ac_save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([$3])],
|
|
||||||
[eval "AS_TR_SH([cc_cv_attribute_$1])='yes'"],
|
|
||||||
[eval "AS_TR_SH([cc_cv_attribute_$1])='no'"])
|
|
||||||
CFLAGS="$ac_save_CFLAGS"
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([eval test x$]AS_TR_SH([cc_cv_attribute_$1])[ = xyes],
|
|
||||||
[AC_DEFINE(
|
|
||||||
AS_TR_CPP([SUPPORT_ATTRIBUTE_$1]), 1,
|
|
||||||
[Define this if the compiler supports __attribute__(( ifelse([$2], , [$1], [$2]) ))]
|
|
||||||
)
|
|
||||||
$4],
|
|
||||||
[$5])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[constructor],,
|
|
||||||
[extern void foo();
|
|
||||||
void __attribute__((constructor)) ctor() { foo(); }],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_DESTRUCTOR], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[destructor],,
|
|
||||||
[extern void foo();
|
|
||||||
void __attribute__((destructor)) dtor() { foo(); }],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_FORMAT], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[format], [format(printf, n, n)],
|
|
||||||
[void __attribute__((format(printf, 1, 2))) printflike(const char *fmt, ...) { fmt = (void *)0; }],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_FORMAT_ARG], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[format_arg], [format_arg(printf)],
|
|
||||||
[char *__attribute__((format_arg(1))) gettextlike(const char *fmt) { fmt = (void *)0; }],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[visibility_$1], [visibility("$1")],
|
|
||||||
[void __attribute__((visibility("$1"))) $1_function() { }],
|
|
||||||
[$2], [$3])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_NONNULL], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[nonnull], [nonnull()],
|
|
||||||
[void __attribute__((nonnull())) some_function(void *foo, void *bar) { foo = (void*)0; bar = (void*)0; }],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_UNUSED], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[unused], ,
|
|
||||||
[void some_function(void *foo, __attribute__((unused)) void *bar);],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_SENTINEL], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[sentinel], ,
|
|
||||||
[void some_function(void *foo, ...) __attribute__((sentinel));],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_DEPRECATED], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[deprecated], ,
|
|
||||||
[void some_function(void *foo, ...) __attribute__((deprecated));],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_ALIAS], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[alias], [weak, alias],
|
|
||||||
[void other_function(void *foo) { }
|
|
||||||
void some_function(void *foo) __attribute__((weak, alias("other_function")));],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_MALLOC], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[malloc], ,
|
|
||||||
[void * __attribute__((malloc)) my_alloc(int n);],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_PACKED], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[packed], ,
|
|
||||||
[struct astructure { char a; int b; long c; void *d; } __attribute__((packed));
|
|
||||||
char assert@<:@(sizeof(struct astructure) == (sizeof(char)+sizeof(int)+sizeof(long)+sizeof(void*)))-1@:>@;],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_CONST], [
|
|
||||||
CC_CHECK_ATTRIBUTE(
|
|
||||||
[const], ,
|
|
||||||
[int __attribute__((const)) twopow(int n) { return 1 << n; } ],
|
|
||||||
[$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_FLAG_VISIBILITY], [
|
|
||||||
AC_REQUIRE([CC_CHECK_WERROR])
|
|
||||||
AC_CACHE_CHECK([if $CC supports -fvisibility=hidden],
|
|
||||||
[cc_cv_flag_visibility],
|
|
||||||
[cc_flag_visibility_save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
|
||||||
CC_CHECK_CFLAGS_SILENT([-fvisibility=hidden],
|
|
||||||
cc_cv_flag_visibility='yes',
|
|
||||||
cc_cv_flag_visibility='no')
|
|
||||||
CFLAGS="$cc_flag_visibility_save_CFLAGS"])
|
|
||||||
|
|
||||||
AS_IF([test "x$cc_cv_flag_visibility" = "xyes"],
|
|
||||||
[AC_DEFINE([SUPPORT_FLAG_VISIBILITY], 1,
|
|
||||||
[Define this if the compiler supports the -fvisibility flag])
|
|
||||||
$1],
|
|
||||||
[$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_FUNC_EXPECT], [
|
|
||||||
AC_REQUIRE([CC_CHECK_WERROR])
|
|
||||||
AC_CACHE_CHECK([if compiler has __builtin_expect function],
|
|
||||||
[cc_cv_func_expect],
|
|
||||||
[ac_save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
|
||||||
[int some_function() {
|
|
||||||
int a = 3;
|
|
||||||
return (int)__builtin_expect(a, 3);
|
|
||||||
}])],
|
|
||||||
[cc_cv_func_expect=yes],
|
|
||||||
[cc_cv_func_expect=no])
|
|
||||||
CFLAGS="$ac_save_CFLAGS"
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([test "x$cc_cv_func_expect" = "xyes"],
|
|
||||||
[AC_DEFINE([SUPPORT__BUILTIN_EXPECT], 1,
|
|
||||||
[Define this if the compiler supports __builtin_expect() function])
|
|
||||||
$1],
|
|
||||||
[$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([CC_ATTRIBUTE_ALIGNED], [
|
|
||||||
AC_REQUIRE([CC_CHECK_WERROR])
|
|
||||||
AC_CACHE_CHECK([highest __attribute__ ((aligned ())) supported],
|
|
||||||
[cc_cv_attribute_aligned],
|
|
||||||
[ac_save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $cc_cv_werror"
|
|
||||||
for cc_attribute_align_try in 64 32 16 8 4 2; do
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
|
||||||
int main() {
|
|
||||||
static char c __attribute__ ((aligned($cc_attribute_align_try))) = 0;
|
|
||||||
return c;
|
|
||||||
}])], [cc_cv_attribute_aligned=$cc_attribute_align_try; break])
|
|
||||||
done
|
|
||||||
CFLAGS="$ac_save_CFLAGS"
|
|
||||||
])
|
|
||||||
|
|
||||||
if test "x$cc_cv_attribute_aligned" != "x"; then
|
|
||||||
AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], [$cc_cv_attribute_aligned],
|
|
||||||
[Define the highest alignment supported])
|
|
||||||
fi
|
|
||||||
])
|
|
|
@ -1,65 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Creates and updates the package_version information used by configure.ac
|
|
||||||
# (or other makefiles). When run inside a git repository it will use the
|
|
||||||
# version information that can be queried from it unless AUTO_UPDATE is set
|
|
||||||
# to 'no'. If no version is currently known it will be set to 'unknown'.
|
|
||||||
#
|
|
||||||
# If called with the argument 'release', the PACKAGE_VERSION will be updated
|
|
||||||
# even if AUTO_UPDATE=no, but the value of AUTO_UPDATE shall be preserved.
|
|
||||||
# This is used to force a version update whenever `make dist` is run.
|
|
||||||
#
|
|
||||||
# The exit status is 1 if package_version is not modified, else 0 is returned.
|
|
||||||
#
|
|
||||||
# This script should NOT be included in distributed tarballs, because if a
|
|
||||||
# parent directory contains a git repository we do not want to accidentally
|
|
||||||
# retrieve the version information from it instead. Tarballs should ship
|
|
||||||
# with only the package_version file.
|
|
||||||
#
|
|
||||||
# Ron <ron@debian.org>, 2012.
|
|
||||||
|
|
||||||
SRCDIR=$(dirname $0)
|
|
||||||
|
|
||||||
if [ -e "$SRCDIR/package_version" ]; then
|
|
||||||
. "$SRCDIR/package_version"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$AUTO_UPDATE" = no ]; then
|
|
||||||
[ "$1" = release ] || exit 1
|
|
||||||
else
|
|
||||||
AUTO_UPDATE=yes
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We run `git status` before describe here to ensure that we don't get a false
|
|
||||||
# -dirty from files that have been touched but are not actually altered in the
|
|
||||||
# working dir.
|
|
||||||
GIT_VERSION=$(cd "$SRCDIR" && git status > /dev/null 2>&1 \
|
|
||||||
&& git describe --tags --match 'v*' --dirty 2> /dev/null)
|
|
||||||
GIT_VERSION=${GIT_VERSION#v}
|
|
||||||
|
|
||||||
if [ -n "$GIT_VERSION" ]; then
|
|
||||||
|
|
||||||
[ "$GIT_VERSION" != "$PACKAGE_VERSION" ] || exit 1
|
|
||||||
PACKAGE_VERSION="$GIT_VERSION"
|
|
||||||
|
|
||||||
elif [ -z "$PACKAGE_VERSION" ]; then
|
|
||||||
# No current package_version and no git ...
|
|
||||||
# We really shouldn't ever get here, because this script should only be
|
|
||||||
# included in the git repository, and should usually be export-ignored.
|
|
||||||
PACKAGE_VERSION="unknown"
|
|
||||||
else
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat > "$SRCDIR/package_version" <<-EOF
|
|
||||||
# Automatically generated by update_version.
|
|
||||||
# This file may be sourced into a shell script or makefile.
|
|
||||||
|
|
||||||
# Set this to 'no' if you do not wish the version information
|
|
||||||
# to be checked and updated for every build. Most people will
|
|
||||||
# never want to change this, it is an option for developers
|
|
||||||
# making frequent changes that they know will not be released.
|
|
||||||
AUTO_UPDATE=$AUTO_UPDATE
|
|
||||||
|
|
||||||
PACKAGE_VERSION="$PACKAGE_VERSION"
|
|
||||||
EOF
|
|
Loading…
Add table
Add a link
Reference in a new issue