File seamonkey-2.53.20-system-av1.patch of Package seamonkey
diff -Nrup mozilla/config/external/moz.build mozilla-OK/config/external/moz.build
--- mozilla/config/external/moz.build 2024-12-11 23:05:11.000000000 +0300
+++ mozilla-OK/config/external/moz.build 2024-12-18 22:25:57.015364278 +0300
@@ -32,8 +32,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 -Nrup mozilla/config/system-headers.mozbuild mozilla-OK/config/system-headers.mozbuild
--- mozilla/config/system-headers.mozbuild 2024-12-11 23:05:11.000000000 +0300
+++ mozilla-OK/config/system-headers.mozbuild 2024-12-18 22:25:57.015364278 +0300
@@ -1289,6 +1289,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 -Nrup mozilla/dom/media/platforms/moz.build mozilla-OK/dom/media/platforms/moz.build
--- mozilla/dom/media/platforms/moz.build 2024-12-11 23:05:11.000000000 +0300
+++ mozilla-OK/dom/media/platforms/moz.build 2024-12-18 22:25:57.016364270 +0300
@@ -74,6 +74,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_APPLEMEDIA']:
EXPORTS += [
diff -Nrup mozilla/toolkit/moz.configure mozilla-OK/toolkit/moz.configure
--- mozilla/toolkit/moz.configure 2024-12-11 23:05:11.000000000 +0300
+++ mozilla-OK/toolkit/moz.configure 2024-12-18 22:35:00.174271221 +0300
@@ -414,8 +414,23 @@ def av1(value):
if value:
return True
+option('--with-system-av1',
+ help="Use system av1 (located with pkgconfig)")
-@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
@@ -431,6 +446,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))
# Built-in fragmented MP4 support.
# ==============================================================
@@ -1745,4 +1761,4 @@ def android_package_name(value, moz_app_
return 'org.mozilla.fennec_aurora'
return 'org.mozilla.%s' % moz_app_name
-set_config('ANDROID_PACKAGE_NAME', android_package_name)
\ No newline at end of file
+set_config('ANDROID_PACKAGE_NAME', android_package_name)