From 50007d82c53e23e697b7c1cf2e65c571ee01dcc3 Mon Sep 17 00:00:00 2001 From: yangming_ha Date: Thu, 8 Jul 2021 05:35:17 -0700 Subject: [PATCH] user space only Signed-off-by: yangming_ha --- BUILD.gn | 32 +++++++++++++++++++++----------- ohos_var.gni | 4 ++++ 2 files changed, 25 insertions(+), 11 deletions(-) mode change 100644 => 100755 BUILD.gn diff --git a/BUILD.gn b/BUILD.gn old mode 100644 new mode 100755 index 2822906..e80d236 --- a/BUILD.gn +++ b/BUILD.gn @@ -16,8 +16,10 @@ import("//build/lite/ndk/ndk.gni") assert(gn_version >= 1714, "GN version 1714 required, please upgrade!") # write version info. -version_info = [ "VERSION=\"$ohos_version\"", - "BUILD_TIME=\"$ohos_build_datetime\""] +version_info = [ + "VERSION=\"$ohos_version\"", + "BUILD_TIME=\"$ohos_build_datetime\"", +] write_file("$root_build_dir/etc/version-info", version_info) group("prebuilts") { @@ -65,7 +67,7 @@ group("ohos") { if (component.component == product_configed_component.component) { # Step 6.1.1: Loop OS components adapted kernel type. foreach(component_adapted_kernel, component.adapted_kernel) { - if (component_adapted_kernel == product_cfg.kernel_type && + if (component_adapted_kernel == product_cfg.kernel_type && kernel_valid == false) { kernel_valid = true } @@ -76,19 +78,27 @@ group("ohos") { "Invalid component configed, ${subsystem_name}:${product_configed_component.component} " + "not available for kernel: ${product_cfg.kernel_type}!") # Step 6.1.2: Add valid component for compiling. - foreach(component_target, component.targets) { - deps += [ component_target ] + # Skip kernel target for userspace only scenario. + if (!ohos_build_userspace_only || + (ohos_build_userspace_only && subsystem_name != "kernel" && subsystem_name != "vendor")) { + print("$subsystem_name ") + foreach(component_target, component.targets) { + deps += [ component_target ] + } } } } } } - - # Step 7: Add device and product target by default. - deps += [ - "${device_path}/../", - "${product_path}" - ] + # Skip device and product target for userspace only scenario. + if (!ohos_build_userspace_only) { + # Step 7: Add device and product target by default. + deps += [ + "${device_path}/../", + "${product_path}", + ] + } + print("$deps") } else { deps += string_split(ohos_build_target, "&&") } diff --git a/ohos_var.gni b/ohos_var.gni index afb32f4..36b4528 100755 --- a/ohos_var.gni +++ b/ohos_var.gni @@ -90,3 +90,7 @@ declare_args() { enable_tee_ree = false enable_ohos_security_dmverity = false } + +declare_args() { + ohos_build_userspace_only = false +} -- GitLab