aboutsummaryrefslogblamecommitdiff
path: root/mail/thunderbird/files/patch-bug1559213
blob: 49bbb0fb05ff82d812ba15fdb5ee03c7738c5a46 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                                                  
                             

                             
                                                     
                                      
 





                                            
 

                                      
                                                                        
                             

                                  

                                                        













                                                                      
                             

                                 


                                        






                                                         
                      
                 

                                                                            
                                         
                                    


















                                                     
                                                      



                                    

                    


                                                 

                                                       

                                                                            
 

                                                                                  







                                                          



                                                                                        
                                                          



                                                                     
 
                          
                                                                 
commit 717bba28411c
Author: Jory A. Pratt <anarchy@gentoo.org>
Date:   Thu Jun 13 11:53:00 2019 -0700

    Bug 1559213 - Allow to use system av1 libs instead of bundled.
---
 config/external/moz.build      |  5 +++--
 config/system-headers.mozbuild |  8 ++++++++
 dom/media/platforms/moz.build  |  5 +++++
 toolkit/moz.configure          | 19 ++++++++++++++++++-
 4 files changed, 34 insertions(+), 3 deletions(-)

diff --git config/external/moz.build config/external/moz.build
index ab77121..75595d9 100644
--- config/external/moz.build
+++ 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 config/system-headers.mozbuild config/system-headers.mozbuild
index a1b58eb..65729f9 100644
--- config/system-headers.mozbuild
+++ config/system-headers.mozbuild
@@ -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 --git dom/media/platforms/moz.build dom/media/platforms/moz.build
index 8509aec..eb6f129 100644
--- dom/media/platforms/moz.build
+++ 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 media/ffvpx/libavcodec/moz.build media/ffvpx/libavcodec/moz.build
index 0069865..e806fc8 100644
--- media/ffvpx/libavcodec/moz.build.orig
+++ media/ffvpx/libavcodec/moz.build
@@ -108,10 +108,14 @@
         'vp9prob.c',
         'vp9recon.c'
     ]
-    USE_LIBS += [
-        'dav1d',
-        'media_libdav1d_asm',
-    ]
+    if CONFIG["MOZ_SYSTEM_AV1"]:
+      CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
+      OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
+    else:
+      USE_LIBS += [
+          'dav1d',
+          'media_libdav1d_asm',
+      ]
     if CONFIG['MOZ_WAYLAND']:
         LOCAL_INCLUDES += ['/media/mozva']
         SOURCES += [
diff --git toolkit/moz.configure toolkit/moz.configure
index 0069865..e806fc8 100644
--- toolkit/moz.configure
+++ toolkit/moz.configure
@@ -523,7 +523,23 @@ def av1(value):
         return True
 
 
-@depends(target, when=av1 & compile_environment)
+option("--with-system-av1",
+       help="Use system av1 (located with pkgconfig)")
+
+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
@@ -539,6 +555,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
 # ==============================================================