diff options
author | Mukilan Thiyagarajan <mukilan@igalia.com> | 2024-09-20 13:50:27 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-20 08:20:27 +0000 |
commit | 157e28c59b34ec8c7334161fda658cbbb1e66a25 (patch) | |
tree | a4f2b9b57f1c3b30333a97fb3831973c110fad99 /python/servo/platform | |
parent | 457d37d94ee6966cad377c373d333a00c637e1ae (diff) | |
download | servo-157e28c59b34ec8c7334161fda658cbbb1e66a25.tar.gz servo-157e28c59b34ec8c7334161fda658cbbb1e66a25.zip |
openharmony: add servoshell for ohos (#33295)
* openharmony: add servoshell for ohos
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* ohos: handle missing signing config on forks
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
---------
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Diffstat (limited to 'python/servo/platform')
-rw-r--r-- | python/servo/platform/build_target.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/python/servo/platform/build_target.py b/python/servo/platform/build_target.py index bf795386b5a..ecdb6c71c13 100644 --- a/python/servo/platform/build_target.py +++ b/python/servo/platform/build_target.py @@ -21,6 +21,7 @@ from packaging.version import parse as parse_version from typing import Any, Dict, Optional import servo.platform +import servo.util as util class BuildTarget(object): @@ -61,6 +62,8 @@ class CrossBuildTarget(BuildTarget): class AndroidTarget(CrossBuildTarget): + DEFAULT_TRIPLE = "aarch64-linux-android" + def ndk_configuration(self) -> Dict[str, str]: target = self.triple() config = {} @@ -237,8 +240,16 @@ class AndroidTarget(CrossBuildTarget): def needs_packaging(self) -> bool: return True + def get_package_path(self, build_type_directory: str) -> str: + base_path = util.get_target_dir() + base_path = path.join(base_path, "android", self.triple()) + apk_name = "servoapp.apk" + return path.join(base_path, build_type_directory, apk_name) + class OpenHarmonyTarget(CrossBuildTarget): + DEFAULT_TRIPLE = "aarch64-unknown-linux-ohos" + def configure_build_environment(self, env: Dict[str, str], config: Dict[str, Any], topdir: pathlib.Path): # Paths to OpenHarmony SDK and build tools: # Note: `OHOS_SDK_NATIVE` is the CMake variable name the `hvigor` build-system @@ -370,3 +381,17 @@ class OpenHarmonyTarget(CrossBuildTarget): def needs_packaging(self) -> bool: return True + + def get_package_path(self, build_type_directory: str) -> str: + base_path = util.get_target_dir() + base_path = path.join(base_path, "openharmony", self.triple()) + hap_name = "servoshell-default-signed.hap" + build_output_path = path.join("entry", "build", "default", "outputs", "default") + return path.join(base_path, build_type_directory, build_output_path, hap_name) + + def abi_string(self) -> str: + abi_map = { + "aarch64-unknown-linux-ohos": "arm64-v8a", + "x86_64-unknown-linux-ohos": "x86_64" + } + return abi_map[self.triple()] |