115 lines
3.9 KiB
Diff
115 lines
3.9 KiB
Diff
|
From 8a4627c0c910415b00bebeb976dc6ea8c3e0d5d0 Mon Sep 17 00:00:00 2001
|
||
|
From: Thomas Deutschmann <whissi@gentoo.org>
|
||
|
Date: Mon, 6 Apr 2020 19:36:02 +0200
|
||
|
Subject: [PATCH 06/30] bmo#1559213: Support system av1
|
||
|
|
||
|
Allow building against system-wide av1.
|
||
|
|
||
|
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1559213
|
||
|
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
|
||
|
---
|
||
|
config/external/moz.build | 5 +++--
|
||
|
config/system-headers.mozbuild | 8 ++++++++
|
||
|
dom/media/platforms/moz.build | 5 +++++
|
||
|
toolkit/moz.configure | 20 ++++++++++++++++++--
|
||
|
4 files changed, 34 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/config/external/moz.build b/config/external/moz.build
|
||
|
index ab771212bf..75595d999c 100644
|
||
|
--- a/config/external/moz.build
|
||
|
+++ b/config/external/moz.build
|
||
|
@@ -49,8 +49,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
|
||
|
external_dirs += ["media/libvpx"]
|
||
|
|
||
|
if CONFIG["MOZ_AV1"]:
|
||
|
- external_dirs += ["media/libaom"]
|
||
|
- external_dirs += ["media/libdav1d"]
|
||
|
+ if not CONFIG["MOZ_SYSTEM_AV1"]:
|
||
|
+ external_dirs += ["media/libaom"]
|
||
|
+ external_dirs += ["media/libdav1d"]
|
||
|
|
||
|
if not CONFIG["MOZ_SYSTEM_PNG"]:
|
||
|
external_dirs += ["media/libpng"]
|
||
|
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
|
||
|
index 2f7ae39515..96ab3a6466 100644
|
||
|
--- a/config/system-headers.mozbuild
|
||
|
+++ b/config/system-headers.mozbuild
|
||
|
@@ -1301,6 +1301,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
|
||
|
'proxy.h',
|
||
|
]
|
||
|
|
||
|
+if CONFIG['MOZ_SYSTEM_AV1']:
|
||
|
+ system_headers += [
|
||
|
+ 'aom/aom_decoder.h',
|
||
|
+ 'aom/aomdx.h',
|
||
|
+ 'aom/aom_image.h',
|
||
|
+ 'dav1d/dav1d.h',
|
||
|
+ ]
|
||
|
+
|
||
|
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||
|
system_headers += [
|
||
|
'vpx_mem/vpx_mem.h',
|
||
|
diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
|
||
|
index 8509aec6ef..7c5a1df63d 100644
|
||
|
--- a/dom/media/platforms/moz.build
|
||
|
+++ b/dom/media/platforms/moz.build
|
||
|
@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
|
||
|
"agnostic/AOMDecoder.cpp",
|
||
|
"agnostic/DAV1DDecoder.cpp",
|
||
|
]
|
||
|
+ if CONFIG["MOZ_SYSTEM_AV1"]:
|
||
|
+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBAOM_CFLAGS"]
|
||
|
+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBAOM_LIBS"]
|
||
|
+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBDAV1D_CFLAGS"]
|
||
|
+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBDAV1D_LIBS"]
|
||
|
|
||
|
if CONFIG["MOZ_OMX"]:
|
||
|
EXPORTS += [
|
||
|
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
|
||
|
index a68e1b347d..7b7975bd12 100644
|
||
|
--- a/toolkit/moz.configure
|
||
|
+++ b/toolkit/moz.configure
|
||
|
@@ -544,14 +544,29 @@ def av1(value):
|
||
|
if value:
|
||
|
return True
|
||
|
|
||
|
+option("--with-system-av1", help="Use system av1 (located with pkg-config)")
|
||
|
|
||
|
-@depends(target, when=av1 & compile_environment)
|
||
|
+system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
|
||
|
+ when='--with-system-av1')
|
||
|
+
|
||
|
+system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >= 0.1.1',
|
||
|
+ when='--with-system-av1')
|
||
|
+
|
||
|
+@depends(system_libaom_info, system_libdav1d_info)
|
||
|
+def system_av1(system_libaom_info, system_libdav1d_info):
|
||
|
+ has_av1_libs = False
|
||
|
+ if system_libaom_info and system_libdav1d_info:
|
||
|
+ has_av1_libs = True
|
||
|
+ return has_av1_libs
|
||
|
+
|
||
|
+
|
||
|
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
|
||
|
def dav1d_asm(target):
|
||
|
if target.cpu in ("aarch64", "x86", "x86_64"):
|
||
|
return True
|
||
|
|
||
|
|
||
|
-@depends(target, when=av1 & compile_environment)
|
||
|
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
|
||
|
def dav1d_nasm(target):
|
||
|
if target.cpu in ("x86", "x86_64"):
|
||
|
return namespace(version="2.14", what="AV1")
|
||
|
@@ -561,6 +576,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
|
||
|
set_define("MOZ_DAV1D_ASM", dav1d_asm)
|
||
|
set_config("MOZ_AV1", av1)
|
||
|
set_define("MOZ_AV1", av1)
|
||
|
+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
|
||
|
|
||
|
# JXL Image Codec Support
|
||
|
# ==============================================================
|
||
|
--
|
||
|
2.34.1
|
||
|
|