summaryrefslogtreecommitdiffstats
path: root/recipes-wam/cef/files/cef/0004-Add-an-option-to-bypass-sysroot-checking-and-force.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-wam/cef/files/cef/0004-Add-an-option-to-bypass-sysroot-checking-and-force.patch')
-rw-r--r--recipes-wam/cef/files/cef/0004-Add-an-option-to-bypass-sysroot-checking-and-force.patch134
1 files changed, 134 insertions, 0 deletions
diff --git a/recipes-wam/cef/files/cef/0004-Add-an-option-to-bypass-sysroot-checking-and-force.patch b/recipes-wam/cef/files/cef/0004-Add-an-option-to-bypass-sysroot-checking-and-force.patch
new file mode 100644
index 00000000..c5790744
--- /dev/null
+++ b/recipes-wam/cef/files/cef/0004-Add-an-option-to-bypass-sysroot-checking-and-force.patch
@@ -0,0 +1,134 @@
+From 26d02223b99765f4c6d5ce5807947d4e0c925a0b Mon Sep 17 00:00:00 2001
+From: Roger Zanoni <rzanoni@igalia.com>
+Date: Tue, 16 May 2023 16:11:15 +0200
+Subject: [PATCH 4/9] Add an option to bypass sysroot checking and force
+
+---
+ tools/gclient_hook.py | 8 +++++++-
+ tools/gn_args.py | 28 ++++++++++++++--------------
+ 2 files changed, 21 insertions(+), 15 deletions(-)
+
+diff --git a/tools/gclient_hook.py b/tools/gclient_hook.py
+index 3d4375ec0..c971b9399 100644
+--- a/tools/gclient_hook.py
++++ b/tools/gclient_hook.py
+@@ -20,6 +20,12 @@ parser.add_option(
+ dest='baseoutpath',
+ default='',
+ help="Use an anternative base path for the generated gn outputs instead of using chromium source dir")
++parser.add_option(
++ '--bypass-sysroot-check',
++ action='store_true',
++ dest='bypasssysrootcheck',
++ default=False,
++ help='Don\'t chech if the sysroot exist while generating output directores.')
+
+ (options, args) = parser.parse_args()
+
+@@ -144,7 +150,7 @@ if platform == 'windows':
+ gn_args['windows_sdk_path'] = os.environ['SDK_ROOT']
+ gn_args['windows_sdk_version'] = os.environ['SDK_VERSION']
+
+-configs = GetAllPlatformConfigs(gn_args)
++configs = GetAllPlatformConfigs(gn_args, bypass_sysroot_check=options.bypasssysrootcheck)
+ for dir, config in configs.items():
+ # Create out directories and write the args.gn file.
+ base_out_dir = src_dir
+diff --git a/tools/gn_args.py b/tools/gn_args.py
+index c1acac17b..80545da49 100644
+--- a/tools/gn_args.py
++++ b/tools/gn_args.py
+@@ -327,7 +327,7 @@ def GetMergedArgs(build_args):
+ return MergeDicts(dict, required)
+
+
+-def ValidateArgs(args):
++def ValidateArgs(args, bypass_sysroot_check=False):
+ """
+ Validate GN arg combinations that we know about. Also provide suggestions
+ where appropriate.
+@@ -365,11 +365,11 @@ def ValidateArgs(args):
+
+ if platform == 'linux':
+ if target_cpu == 'x86':
+- assert use_sysroot, 'target_cpu="x86" requires use_sysroot=true'
++ assert use_sysroot or bypass_sysroot_check, 'target_cpu="x86" requires use_sysroot=true'
+ elif target_cpu == 'arm':
+- assert use_sysroot, 'target_cpu="arm" requires use_sysroot=true'
++ assert use_sysroot or bypass_sysroot_check, 'target_cpu="arm" requires use_sysroot=true'
+ elif target_cpu == 'arm64':
+- assert use_sysroot, 'target_cpu="arm64" requires use_sysroot=true'
++ assert use_sysroot or bypass_sysroot_check, 'target_cpu="arm64" requires use_sysroot=true'
+
+ # ASAN requires Release builds.
+ if is_asan:
+@@ -460,7 +460,7 @@ def ValidateArgs(args):
+ "visual_studio_path requires INCLUDE, LIB and PATH env variables"
+
+
+-def GetConfigArgs(args, is_debug, cpu):
++def GetConfigArgs(args, is_debug, cpu, bypass_sysroot_check=False):
+ """
+ Return merged GN args for the configuration and validate.
+ """
+@@ -490,11 +490,11 @@ def GetConfigArgs(args, is_debug, cpu):
+ if key.startswith('arm_'):
+ del result[key]
+
+- ValidateArgs(result)
++ ValidateArgs(result, bypass_sysroot_check)
+ return result
+
+
+-def GetConfigArgsSandbox(platform, args, is_debug, cpu):
++def GetConfigArgsSandbox(platform, args, is_debug, cpu, bypass_sysroot_check=False):
+ """
+ Return merged GN args for the cef_sandbox configuration and validate.
+ """
+@@ -566,7 +566,7 @@ def LinuxSysrootExists(cpu):
+ return os.path.isdir(os.path.join(sysroot_root, sysroot_name))
+
+
+-def GetAllPlatformConfigs(build_args):
++def GetAllPlatformConfigs(build_args, bypass_sysroot_check=False):
+ """
+ Return a map of directory name to GN args for the current platform.
+ """
+@@ -586,10 +586,10 @@ def GetAllPlatformConfigs(build_args):
+
+ if platform == 'linux':
+ use_sysroot = GetArgValue(args, 'use_sysroot')
+- if use_sysroot:
++ if bypass_sysroot_check or use_sysroot:
+ # Only generate configurations for sysroots that have been installed.
+ for cpu in ('x64', 'arm', 'arm64'):
+- if LinuxSysrootExists(cpu):
++ if bypass_sysroot_check or LinuxSysrootExists(cpu):
+ supported_cpus.append(cpu)
+ else:
+ msg('Not generating %s configuration due to missing sysroot directory'
+@@ -611,17 +611,17 @@ def GetAllPlatformConfigs(build_args):
+
+ for cpu in supported_cpus:
+ if create_debug:
+- result['Debug_GN_' + cpu] = GetConfigArgs(args, True, cpu)
+- result['Release_GN_' + cpu] = GetConfigArgs(args, False, cpu)
++ result['Debug_GN_' + cpu] = GetConfigArgs(args, True, cpu, bypass_sysroot_check)
++ result['Release_GN_' + cpu] = GetConfigArgs(args, False, cpu, bypass_sysroot_check)
+
+ if platform in ('windows', 'mac') and GetArgValue(args,
+ 'is_official_build'):
+ # Build cef_sandbox.lib with a different configuration.
+ if create_debug:
+ result['Debug_GN_' + cpu + '_sandbox'] = GetConfigArgsSandbox(
+- platform, args, True, cpu)
++ platform, args, True, cpu, bypass_sysroot_check)
+ result['Release_GN_' + cpu + '_sandbox'] = GetConfigArgsSandbox(
+- platform, args, False, cpu)
++ platform, args, False, cpu, bypass_sysroot_check)
+
+ return result
+
+--
+2.42.0
+