Initial commit

added libraries:
opus
flac
libsndfile

updated:
libvorbis
libogg
openal

- Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
This commit is contained in:
marauder2k7 2024-03-21 17:33:47 +00:00
parent 05a083ca6f
commit a745fc3757
1954 changed files with 431332 additions and 21037 deletions

View file

@ -0,0 +1,86 @@
#!/usr/bin/env python3
#
# Opus get-version.py
#
# Extracts versions for build:
# - Opus package version based on 'git describe' or $srcroot/package_version
# - libtool version based on configure.ac
# - macos lib version based on configure.ac
#
# Usage:
# get-version.py [--package-version | --libtool-version | --darwin-version]
import argparse
import subprocess
import os
import sys
import shutil
if __name__ == '__main__':
arg_parser = argparse.ArgumentParser(description='Extract Opus package version or libtool version')
group = arg_parser.add_mutually_exclusive_group(required=True)
group.add_argument('--libtool-version', action='store_true')
group.add_argument('--package-version', action='store_true')
group.add_argument('--darwin-version', action='store_true')
args = arg_parser.parse_args()
srcroot = os.path.normpath(os.path.join(os.path.dirname(__file__), '..'))
# package version
if args.package_version:
package_version = None
# check if git checkout
git_dir = os.path.join(srcroot, '.git')
is_git = os.path.isdir(git_dir) or os.path.isfile(git_dir)
have_git = shutil.which('git') is not None
if is_git and have_git:
git_cmd = subprocess.run(['git', '--git-dir=' + git_dir, 'describe', 'HEAD'], stdout=subprocess.PIPE)
if git_cmd.returncode:
print('ERROR: Could not extract package version via `git describe` in', srcroot, file=sys.stderr)
sys.exit(-1)
package_version = git_cmd.stdout.decode('ascii').strip().lstrip('v')
else:
with open(os.path.join(srcroot, 'package_version'), 'r') as f:
for line in f:
if line.startswith('PACKAGE_VERSION="'):
package_version = line[17:].strip().lstrip('v').rstrip('"')
if package_version:
break
if not package_version:
print('ERROR: Could not extract package version from package_version file in', srcroot, file=sys.stderr)
sys.exit(-1)
print(package_version)
sys.exit(0)
# libtool version + darwin version
elif args.libtool_version or args.darwin_version:
opus_lt_cur = None
opus_lt_rev = None
opus_lt_age = None
with open(os.path.join(srcroot, 'configure.ac'), 'r') as f:
for line in f:
if line.strip().startswith('OPUS_LT_CURRENT='):
opus_lt_cur = line[16:].strip()
elif line.strip().startswith('OPUS_LT_REVISION='):
opus_lt_rev = line[17:].strip()
elif line.strip().startswith('OPUS_LT_AGE='):
opus_lt_age = line[12:].strip()
if opus_lt_cur and opus_lt_rev and opus_lt_age:
opus_lt_cur = int(opus_lt_cur)
opus_lt_rev = int(opus_lt_rev)
opus_lt_age = int(opus_lt_age)
if args.libtool_version:
print('{}.{}.{}'.format(opus_lt_cur - opus_lt_age, opus_lt_age, opus_lt_rev))
elif args.darwin_version:
print('{}.{}.{}'.format(opus_lt_cur + 1, 0, 0))
sys.exit(0)
else:
print('ERROR: Could not extract libtool version from configure.ac file in', srcroot, file=sys.stderr)
sys.exit(-1)
else:
sys.exit(-1)

View file

@ -0,0 +1,28 @@
#!/usr/bin/env python3
#
# opus/read-sources-list.py
#
# Parses .mk files and extracts list of source files.
# Prints one line per source file list, with filenames space-separated.
import sys
if len(sys.argv) < 2:
sys.exit('Usage: {} sources_foo.mk [sources_bar.mk...]'.format(sys.argv[0]))
for input_fn in sys.argv[1:]:
with open(input_fn, 'r', encoding='utf8') as f:
text = f.read()
text = text.replace('\\\n', '')
# Remove empty lines
lines = [line for line in text.split('\n') if line.strip()]
# Print SOURCES_XYZ = file1.c file2.c
for line in lines:
values = line.strip().split('=', maxsplit=2)
if len(values) != 2:
raise RuntimeError('Unable to parse line "{}" from file "{}"'.format(line, input_fn))
var, files = values
sources_list = [f for f in files.split(' ') if f]
print(var.strip(), '=', ' '.join(sources_list))