mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-09 16:57:30 +09:00
There is no damned reason to treat this differently than any other media lib given its license and there never was.
143 lines
5.2 KiB
Python
143 lines
5.2 KiB
Python
# -*- 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/.
|
|
|
|
with Files('*'):
|
|
BUG_COMPONENT = ('Core', 'Audio/Video')
|
|
|
|
include('sources.mozbuild')
|
|
|
|
# Linux, Mac and Win share file lists for x86* but not configurations.
|
|
if CONFIG['CPU_ARCH'] == 'x86_64':
|
|
EXPORTS.aom += files['X64_EXPORTS']
|
|
SOURCES += files['X64_SOURCES']
|
|
USE_YASM = True
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
if CONFIG['GNU_CC']:
|
|
ASFLAGS += [ '-I%s/media/libaom/config/win/mingw64/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/win/mingw64/' ]
|
|
EXPORTS.aom += [ 'config/win/mingw64/config/aom_config.h' ]
|
|
else:
|
|
ASFLAGS += [ '-I%s/media/libaom/config/win/x64/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/win/x64/' ]
|
|
EXPORTS.aom += [ 'config/win/x64/config/aom_config.h' ]
|
|
NO_PGO = True
|
|
elif CONFIG['OS_TARGET'] == 'Darwin':
|
|
ASFLAGS += [ '-I%s/media/libaom/config/mac/x64/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/mac/x64/' ]
|
|
EXPORTS.aom += [ 'config/mac/x64/config/aom_config.h' ]
|
|
else: # Android, Linux, BSDs, etc.
|
|
ASFLAGS += [ '-I%s/media/libaom/config/linux/x64/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/linux/x64/' ]
|
|
EXPORTS.aom += [ 'config/linux/x64/config/aom_config.h' ]
|
|
elif CONFIG['CPU_ARCH'] == 'x86':
|
|
EXPORTS.aom += files['IA32_EXPORTS']
|
|
SOURCES += files['IA32_SOURCES']
|
|
USE_YASM = True
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
if CONFIG['GNU_CC']:
|
|
ASFLAGS += [ '-I%s/media/libaom/config/win/mingw32/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/win/mingw32/' ]
|
|
EXPORTS.aom += [ 'config/win/mingw32/config/aom_config.h' ]
|
|
else:
|
|
ASFLAGS += [ '-I%s/media/libaom/config/win/ia32/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/win/ia32/' ]
|
|
EXPORTS.aom += [ 'config/win/ia32/config/aom_config.h' ]
|
|
NO_PGO = True
|
|
else: # Android, Linux, BSDs, etc.
|
|
ASFLAGS += [ '-I%s/media/libaom/config/linux/ia32/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/linux/ia32/' ]
|
|
EXPORTS.aom += [ 'config/linux/ia32/config/aom_config.h' ]
|
|
elif CONFIG['CPU_ARCH'] == 'arm':
|
|
EXPORTS.aom += files['ARM_EXPORTS']
|
|
ASFLAGS += [
|
|
'-I%s/media/libaom/config/linux/arm/' % TOPSRCDIR,
|
|
'-I%s/libaom' % OBJDIR,
|
|
]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/linux/arm/' ]
|
|
EXPORTS.aom += [ 'config/linux/arm/config/aom_config.h' ]
|
|
|
|
arm_asm_files = files['ARM_SOURCES']
|
|
|
|
if CONFIG['VPX_AS_CONVERSION']:
|
|
SOURCES += sorted([
|
|
"!%s.S" % f if f.endswith('.asm') else f for f in arm_asm_files
|
|
])
|
|
else:
|
|
SOURCES += sorted(arm_asm_files)
|
|
|
|
for f in SOURCES:
|
|
if f.endswith('neon.c'):
|
|
SOURCES[f].flags += CONFIG['VPX_ASFLAGS']
|
|
|
|
if CONFIG['OS_TARGET'] == 'Android':
|
|
# For cpu-features.h
|
|
LOCAL_INCLUDES += [
|
|
'%%%s/sources/android/cpufeatures' % CONFIG['ANDROID_NDK'],
|
|
]
|
|
if CONFIG['CLANG_CXX']:
|
|
ASFLAGS += [
|
|
'-no-integrated-as',
|
|
]
|
|
else:
|
|
# Generic C-only configuration
|
|
EXPORTS.aom += files['GENERIC_EXPORTS']
|
|
SOURCES += files['GENERIC_SOURCES']
|
|
ASFLAGS += [ '-I%s/media/libaom/config/generic/' % TOPSRCDIR ]
|
|
LOCAL_INCLUDES += [ '/media/libaom/config/generic/' ]
|
|
EXPORTS.aom += [ 'config/generic/config/aom_config.h' ]
|
|
|
|
# We allow warnings for third-party code that can be updated from upstream.
|
|
ALLOW_COMPILER_WARNINGS = True
|
|
|
|
FINAL_LIBRARY = 'gkmedias'
|
|
|
|
if CONFIG['OS_TARGET'] == 'Android':
|
|
# Older versions of the Android NDK don't pre-define anything to indicate
|
|
# the OS they're on, so do it for them.
|
|
DEFINES['__linux__'] = True
|
|
|
|
if not CONFIG['MOZ_WEBRTC']:
|
|
SOURCES += [
|
|
'%%%s/sources/android/cpufeatures/cpu-features.c' % CONFIG['ANDROID_NDK'],
|
|
]
|
|
|
|
if CONFIG['CLANG_CL'] or not CONFIG['_MSC_VER']:
|
|
for f in SOURCES:
|
|
if f.endswith('sse2.c'):
|
|
SOURCES[f].flags += CONFIG['SSE2_FLAGS']
|
|
elif f.endswith('ssse3.c'):
|
|
SOURCES[f].flags += ['-mssse3']
|
|
elif f.endswith('sse4.c'):
|
|
SOURCES[f].flags += ['-msse4.1']
|
|
elif f.endswith('sse42.c'):
|
|
SOURCES[f].flags += ['-msse4.2']
|
|
elif f.endswith('avx.c'):
|
|
SOURCES[f].flags += ['-mavx']
|
|
elif f.endswith('avx2.c'):
|
|
SOURCES[f].flags += ['-mavx2']
|
|
|
|
# Suppress warnings in third-party code.
|
|
if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
|
|
CFLAGS += [
|
|
'-Wno-sign-compare',
|
|
'-Wno-unused-function', # so many of these warnings; just ignore them
|
|
]
|
|
if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
|
|
CFLAGS += [
|
|
'-Wno-unreachable-code',
|
|
'-Wno-unneeded-internal-declaration',
|
|
]
|
|
|
|
ASFLAGS += CONFIG['VPX_ASFLAGS']
|
|
ASFLAGS += [
|
|
'-I.',
|
|
'-I%s/media/libaom/src' % TOPSRCDIR,
|
|
]
|
|
|
|
LOCAL_INCLUDES += [
|
|
'/media/libaom/config', # aom_version.h
|
|
'/media/libaom/src',
|
|
]
|