1commit 25a5572d5cd137aa6d893e09a00bd39908a59a18 2Author: Christoph Moench-Tegeder <cmt@burggraben.net> 3Date: Tue Sep 10 22:23:32 2024 +0200 4 5 based on: 6 commit 717bba28411c 7 Author: Jory A. Pratt <anarchy@gentoo.org> 8 Date: Thu Jun 13 11:53:00 2019 -0700 9 10 Bug 1559213 - Allow to use system av1 libs instead of bundled. 11 12diff --git config/external/moz.build config/external/moz.build 13index a24b470396cf..547f5f5c9e04 100644 14--- config/external/moz.build 15+++ config/external/moz.build 16@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]: 17 external_dirs += ["media/libvpx"] 18 19 if CONFIG["MOZ_AV1"]: 20- external_dirs += ["media/libaom"] 21- external_dirs += ["media/libdav1d"] 22+ if not CONFIG["MOZ_SYSTEM_AV1"]: 23+ external_dirs += ["media/libaom"] 24+ external_dirs += ["media/libdav1d"] 25 26 if not CONFIG["MOZ_SYSTEM_PNG"]: 27 external_dirs += ["media/libpng"] 28diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build 29index 61536cc6e225..29cf635bbb44 100644 30--- dom/media/platforms/moz.build 31+++ dom/media/platforms/moz.build 32@@ -71,6 +71,11 @@ if CONFIG["MOZ_AV1"]: 33 "agnostic/AOMDecoder.cpp", 34 "agnostic/DAV1DDecoder.cpp", 35 ] 36+ if CONFIG['MOZ_SYSTEM_AV1']: 37+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS'] 38+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS'] 39+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS'] 40+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS'] 41 42 if CONFIG["MOZ_OMX"]: 43 EXPORTS += [ 44diff --git media/ffvpx/libavcodec/moz.build media/ffvpx/libavcodec/moz.build 45index 6f09049a6068..90a82a19a9d1 100644 46--- media/ffvpx/libavcodec/moz.build 47+++ media/ffvpx/libavcodec/moz.build 48@@ -119,10 +119,16 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']: 49 'vp9recon.c', 50 'vpx_rac.c', 51 ] 52- USE_LIBS += [ 53- 'dav1d', 54- 'media_libdav1d_asm', 55- ] 56+ if CONFIG["MOZ_SYSTEM_AV1"]: 57+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS'] 58+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS'] 59+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS'] 60+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS'] 61+ else: 62+ USE_LIBS += [ 63+ 'dav1d', 64+ 'media_libdav1d_asm', 65+ ] 66 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": 67 LOCAL_INCLUDES += ['/media/mozva'] 68 SOURCES += [ 69diff --git media/libopus/moz.build media/libopus/moz.build 70index 943aee79ee99..4ad07e3e98af 100644 71--- media/libopus/moz.build 72+++ media/libopus/moz.build 73@@ -58,7 +58,7 @@ if not CONFIG["MOZ_SAMPLE_TYPE_FLOAT32"]: 74 DEFINES["FIXED_POINT"] = 1 75 DEFINES["DISABLE_FLOAT_API"] = True 76 77-if CONFIG["OS_ARCH"] == "Linux": 78+if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"): 79 OS_LIBS += [ 80 "m", 81 ] 82diff --git media/libvorbis/moz.build media/libvorbis/moz.build 83index cd17d4f89759..816edd72a000 100644 84--- media/libvorbis/moz.build 85+++ media/libvorbis/moz.build 86@@ -45,7 +45,7 @@ LOCAL_INCLUDES += ['lib'] 87 if CONFIG['OS_ARCH'] == 'SunOS': 88 DEFINES['HAVE_ALLOCA_H'] = True 89 90-if CONFIG["OS_ARCH"] == "Linux": 91+if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"): 92 OS_LIBS += [ 93 "m", 94 ] 95diff --git toolkit/moz.configure toolkit/moz.configure 96index 1f85d2831f2f..07294b93f850 100644 97--- toolkit/moz.configure 98+++ toolkit/moz.configure 99@@ -883,7 +883,23 @@ def av1(value): 100 return True 101 102 103-@depends(target, when=av1 & compile_environment) 104+option("--with-system-av1", 105+ help="Use system av1 (located with pkgconfig)") 106+ 107+system_libaom_info = pkg_check_modules("MOZ_SYSTEM_LIBAOM", "aom >= 1.0.0", 108+ when="--with-system-av1") 109+ 110+system_libdav1d_info = pkg_check_modules("MOZ_SYSTEM_LIBDAV1D", "dav1d >= 0.1.1", 111+ when="--with-system-av1") 112+ 113+@depends(system_libaom_info, system_libdav1d_info) 114+def system_av1(system_libaom_info, system_libdav1d_info): 115+ has_av1_libs = False 116+ if system_libaom_info and system_libdav1d_info: 117+ has_av1_libs = True 118+ return has_av1_libs 119+ 120+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment) 121 def dav1d_asm(target): 122 if target.cpu in ("aarch64", "x86", "x86_64"): 123 return True 124@@ -899,6 +915,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm) 125 set_define("MOZ_DAV1D_ASM", dav1d_asm) 126 set_config("MOZ_AV1", av1) 127 set_define("MOZ_AV1", av1) 128+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True)) 129 130 # JXL Image Codec Support 131 # ============================================================== 132