Issue #1962 - Update libtheora.

Removed some obsolete patches that were either backports from newer
 svn revisions, or a fix for older, non-applicable assemblers.
Update our own README to account for upstream's migration to git.
I didn't remove the bug 703135 patch as it's for MSVC it seems, and
 we still use MSVC for Windows.
Also deleted some unneeded upstream code deleted by Mozilla as well.
This commit is contained in:
Job Bautista 2022-07-19 17:26:42 +08:00 • committed by roytam1
commit be2516a091
61 changed files with 1212 additions and 2349 deletions

View file

@ -1,4 +1,5 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
@ -9,7 +10,6 @@ with Files('*'):
EXPORTS.theora += [
'include/theora/codec.h',
'include/theora/theoradec.h',
'include/theora/theoraenc.h',
]
# We allow warnings for third-party code that can be updated from upstream.
@ -21,20 +21,20 @@ FINAL_LIBRARY = 'gkmedias'
DEFINES['THEORA_DISABLE_ENCODE'] = True
# Suppress warnings in third-party code.
if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
CFLAGS += ['-Wno-type-limits']
if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
CFLAGS += ['-Wno-tautological-compare']
if CONFIG['CLANG_CL']:
CFLAGS += ['-Wno-type-limits']
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
CFLAGS += [
'-Wno-shift-negative-value',
'-Wno-tautological-compare',
]
if CONFIG['CC_TYPE'] == 'clang-cl':
CFLAGS += [
'-Wno-parentheses',
'-Wno-pointer-sign',
'-Wno-shift-op-parentheses',
]
UNIFIED_SOURCES += [
'lib/apiwrapper.c',
'lib/bitpack.c',
'lib/decapiwrapper.c',
'lib/decinfo.c',
'lib/decode.c',
'lib/dequant.c',
@ -49,27 +49,25 @@ UNIFIED_SOURCES += [
LOCAL_INCLUDES += ['include']
if '86' in CONFIG['OS_TEST']:
if CONFIG['INTEL_ARCHITECTURE']:
if CONFIG['OS_ARCH'] != 'SunOS':
if CONFIG['CLANG_CL']:
if CONFIG['CC_TYPE'] == 'clang-cl':
# clang-cl can't handle libtheora's inline asm.
pass
elif CONFIG['OS_ARCH'] != 'WINNT' or CONFIG['OS_TEST'] != 'x86_64':
elif CONFIG['OS_ARCH'] != 'WINNT' or CONFIG['CPU_ARCH'] != 'x86_64':
DEFINES['OC_X86_ASM'] = True
if '64' in CONFIG['OS_TEST']:
if CONFIG['CPU_ARCH'] == 'x86_64':
DEFINES['OC_X86_64_ASM'] = True
if CONFIG['_MSC_VER']:
if CONFIG['CLANG_CL']:
# clang-cl can't handle libtheora's inline asm.
pass
elif '64' not in CONFIG['OS_TEST']:
SOURCES += [
'lib/x86_vc/mmxfrag.c',
'lib/x86_vc/mmxidct.c',
'lib/x86_vc/mmxstate.c',
'lib/x86_vc/x86cpu.c',
'lib/x86_vc/x86state.c',
]
if CONFIG['CC_TYPE'] == 'clang-cl':
# clang-cl can't handle libtheora's inline asm.
pass
#SOURCES += [
# 'lib/x86_vc/mmxfrag.c',
# 'lib/x86_vc/mmxidct.c',
# 'lib/x86_vc/mmxstate.c',
# 'lib/x86_vc/x86cpu.c',
# 'lib/x86_vc/x86state.c',
#]
else:
SOURCES += [
'lib/x86/mmxfrag.c',
@ -81,7 +79,7 @@ if '86' in CONFIG['OS_TEST']:
]
if CONFIG['GNU_AS']:
if 'arm' in CONFIG['OS_TEST']:
if CONFIG['CPU_ARCH'] == 'arm':
SOURCES += [
'lib/arm/armcpu.c',
'lib/arm/armstate.c',
@ -110,7 +108,7 @@ if CONFIG['GNU_AS']:
]
ASFLAGS += CONFIG['NEON_FLAGS']
if CONFIG['CLANG_CXX']:
if CONFIG['CC_TYPE'] == 'clang':
ASFLAGS += [
'-no-integrated-as',
]