From ab63f6c49b423948e0ebc5e3144eba93e0deba24 Mon Sep 17 00:00:00 2001 From: 0tkl <118708188+0tkl@users.noreply.github.com> Date: Fri, 8 Mar 2024 23:24:29 +0800 Subject: [PATCH] Update 0001.patch --- subprojects/packagefiles/ffmpeg/0001.patch | 108 +++------------------ 1 file changed, 11 insertions(+), 97 deletions(-) diff --git a/subprojects/packagefiles/ffmpeg/0001.patch b/subprojects/packagefiles/ffmpeg/0001.patch index 3c177d9197..06fe5c825a 100644 --- a/subprojects/packagefiles/ffmpeg/0001.patch +++ b/subprojects/packagefiles/ffmpeg/0001.patch @@ -1,100 +1,14 @@ diff --git a/meson.build b/meson.build -index 688b368859..dc9d18acd5 100644 +index 1ac3baa2b3..ae31c53c02 100644 --- a/meson.build +++ b/meson.build -@@ -1037,7 +1037,7 @@ check_components = [ - ['user32', ['windows.h', 'winuser.h'], ['GetShellWindow'], ['user32']], - ['vfw32', ['windows.h', 'vfw.h'], ['capCreateCaptureWindow'], ['vfw3']], - ['vaapi', ['va/va.h'], ['vaInitialize'], ['va']], -- ['zlib', ['zlib.h'], ['zlibVersion'], ['z']], -+ ['zlib', ['zlib.h'], ['zlibVersion'], ['z'], {'meson-dep': 'zlib'}], - - # Libraries with preconditions - ['vaapi_drm', ['va/va.h', 'va/va_drm.h'], ['vaGetDisplayDRM'], ['va', 'va-drm'], -@@ -1925,6 +1925,7 @@ foreach check : all_checks - prefix = '' - - found = true -+ skipchecks = false - - preconditions = opts.get('preconditions', []) - -@@ -1980,6 +1981,11 @@ foreach check : all_checks - req = false - endif - dep = cc.find_library(link_with, required : req) -+ if not dep.found() and opts.has_key('meson-dep') -+ dep = dependency(opts.get('meson-dep'), required: false) -+ # We can't do compiler checks for non-external dependencies, so skip them and trust the meson dependency -+ skipchecks = true -+ endif - found = found and dep.found() - extra_deps += dep - endforeach -@@ -2009,7 +2015,8 @@ foreach check : all_checks - else - dep = dependency(pkg_name, required : req) - endif -- found = dep.found() and dep.type_name() != 'internal' -+ found = dep.found() -+ skipchecks = dep.type_name() == 'internal' # same here, trust the meson dependency - extra_deps += dep - endif - endif -@@ -2023,14 +2030,14 @@ foreach check : all_checks - endif - - if not conf.has(header.underscorify()) -- has_header = cc.has_header(header, dependencies: extra_deps) -+ has_header = skipchecks or cc.has_header(header, dependencies: extra_deps) - conf.set10(header.underscorify().to_lower(), has_header) - found = found and has_header - endif - endforeach - endif - -- if found -+ if found and not skipchecks - n_funcs_found = 0 - foreach symbol : funcs - if check_type == 'header-func' -@@ -2050,7 +2057,7 @@ foreach check : all_checks - endif - endif - -- if found -+ if found and not skipchecks - n_defines_found = 0 - foreach symbol : defines - if cc.get_define(symbol, dependencies : extra_deps, prefix: prefix, args : c_args + project_c_args) != '' -@@ -2060,15 +2067,15 @@ foreach check : all_checks - found = n_defines_found == defines.length() - endif - -- if found and compiles != '' -+ if found and compiles != '' and not skipchecks - found = cc.compiles('\n\n'.join([prefix, compiles]), dependencies : extra_deps, args : c_args + project_c_args, name: name) - endif - -- if found and links != '' -+ if found and links != '' and not skipchecks - found = cc.links('\n\n'.join([prefix, links]), dependencies : extra_deps, args : c_args + project_c_args, name: name) - endif - -- if found and type != '' -+ if found and type != '' and not skipchecks - found = cc.has_type(type, prefix : prefix, dependencies : extra_deps, args : c_args + project_c_args) - endif - -@@ -3087,6 +3094,11 @@ foreach a: arch_list - endforeach - - foreach have: have_list -+ if have == 'unistd_h' and conf.get(have) == 0 -+ # an atrocious hack to get this working with the zlib subproject on windows... -+ # zlib also uses a HAVE_UNISTD_H define, but it checks it with #ifdef and not #if -+ continue -+ endif - final_conf.set('HAVE_@0@'.format(have.to_upper()), conf.get(have.to_lower())) - endforeach - +@@ -3054,6 +3061,8 @@ if host_machine.system() == 'windows' + makedef_args += ['--os', 'win'] + elif host_machine.system() in ['darwin', 'ios'] + makedef_args += ['--os', 'darwin'] ++else ++ makedef_args += ['--os', 'linux'] + endif + + final_conf = configuration_data() +