代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/distributed-build 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From 01b899f9d73acccd7c44d1c2e049ad63a0a312d6 Mon Sep 17 00:00:00 2001
From: peng_langyuan <peng_langyuan@hoperun.com>
Date: Thu, 18 May 2023 16:11:43 +0800
Subject: [PATCH 02/11] =?UTF-8?q?feat(Adapt=20to=20Openeuler):=E7=BC=96?=
=?UTF-8?q?=E8=AF=91=E7=9B=B8=E5=85=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/BUILDCONFIG.gn | 45 ++++-
config/compiler/compiler.gni | 3 +-
config/ohos/BUILD.gn | 3 +
core/gn/BUILD.gn | 14 +-
ohos/images/BUILD.gn | 325 ++++++++++++++++++-----------------
ohos/packages/BUILD.gn | 12 +-
ohos_var.gni | 14 ++
templates/cxx/cxx.gni | 48 ++++--
8 files changed, 275 insertions(+), 189 deletions(-)
diff --git a/config/BUILDCONFIG.gn b/config/BUILDCONFIG.gn
index ff1319b..ffff773 100755
--- a/config/BUILDCONFIG.gn
+++ b/config/BUILDCONFIG.gn
@@ -64,6 +64,20 @@ declare_args() {
device_name = ""
}
+declare_args() {
+ if (product_name == "openeuler") {
+ build_openeuler = true
+ } else {
+ build_openeuler = false
+ }
+}
+
+declare_args() {
+ if (defined(build_openeuler) && build_openeuler && !defined(product_path)) {
+ product_path = ""
+ }
+}
+
declare_args() {
preloader_output_dir = "//out/preloader/${product_name}"
}
@@ -232,10 +246,14 @@ declare_args() {
is_desktop_linux = current_os == "linux"
# Set to true when compiling with the Clang compiler.
- is_clang = current_os != "linux" ||
- (current_cpu != "s390x" && current_cpu != "s390" &&
- current_cpu != "ppc64" && current_cpu != "ppc" &&
- current_cpu != "mips" && current_cpu != "mips64")
+ if (defined(build_openeuler) && build_openeuler) {
+ is_clang = true
+ } else {
+ is_clang = current_os != "linux" ||
+ (current_cpu != "s390x" && current_cpu != "s390" &&
+ current_cpu != "ppc64" && current_cpu != "ppc" &&
+ current_cpu != "mips" && current_cpu != "mips64")
+ }
# Allows the path to a custom target toolchain to be injected as a single
# argument, and set as the default toolchain.
@@ -256,7 +274,11 @@ declare_args() {
}
declare_args() {
- use_musl = true
+ if (defined(build_openeuler) && build_openeuler) {
+ use_musl = false
+ } else {
+ use_musl = true
+ }
}
declare_args() {
@@ -309,6 +331,9 @@ declare_args() {
} else {
full_mini_debug = true
}
+ if (build_openeuler) {
+ full_mini_debug = false
+ }
}
declare_args() {
@@ -604,6 +629,11 @@ if (is_standard_system) {
"//build/config/clang:extra_warnings",
]
}
+ if (build_openeuler) {
+ default_compiler_configs += [
+ "//build/openeuler:openeuler_include_dirs",
+ ]
+ }
# Debug/release-related defines.
if (is_debug) {
@@ -612,6 +642,11 @@ if (is_standard_system) {
default_compiler_configs += [ "//build/config:release" ]
}
+ if (build_openeuler) {
+ default_compiler_configs += [
+ "//build/openeuler:openeuler_config",
+ ]
+ }
# Static libraries and source sets use only the compiler ones.
default_static_library_configs = default_compiler_configs
default_source_set_configs = default_compiler_configs
diff --git a/config/compiler/compiler.gni b/config/compiler/compiler.gni
index 254e744..d3e4a3f 100755
--- a/config/compiler/compiler.gni
+++ b/config/compiler/compiler.gni
@@ -147,7 +147,8 @@ declare_args() {
use_lld = is_clang &&
(is_win || (use_thin_lto && target_os != "chromeos") ||
(is_linux && current_cpu == "x64" && target_os != "chromeos") ||
- (is_ohos && (current_cpu != "arm" || arm_version >= 7)))
+ (is_ohos && (current_cpu != "arm" || arm_version >= 7)) ||
+ (is_linux && current_cpu == "arm64"))
}
declare_args() {
diff --git a/config/ohos/BUILD.gn b/config/ohos/BUILD.gn
index f177a03..a41763d 100755
--- a/config/ohos/BUILD.gn
+++ b/config/ohos/BUILD.gn
@@ -43,6 +43,9 @@ config("compiler") {
cflags += [ "--target=$abi_target" ]
include_dirs = [ "${musl_sysroot}/usr/include/${abi_target}" ]
+ if (build_openeuler) {
+ include_dirs += [ "//build/openeuler/compiler_include" ]
+ }
ldflags += [ "--target=$abi_target" ]
diff --git a/core/gn/BUILD.gn b/core/gn/BUILD.gn
index abec57e..e87d50d 100755
--- a/core/gn/BUILD.gn
+++ b/core/gn/BUILD.gn
@@ -56,10 +56,16 @@ if (product_name == "ohos-sdk") {
group("build_all_test_pkg") {
testonly = true
- deps = [
- "$root_build_dir/build_configs:parts_test",
- "//test/testfwk/developer_test:make_temp_test",
- ]
+ if (build_openeuler) {
+ deps = [
+ "$root_build_dir/build_configs:parts_test",
+ ]
+ } else {
+ deps = [
+ "$root_build_dir/build_configs:parts_test",
+ "//test/testfwk/developer_test:make_temp_test",
+ ]
+ }
}
group("make_test") {
diff --git a/ohos/images/BUILD.gn b/ohos/images/BUILD.gn
index 7b0d11f..ae509ea 100644
--- a/ohos/images/BUILD.gn
+++ b/ohos/images/BUILD.gn
@@ -17,188 +17,195 @@ import("//build/ohos/build_var.gni")
# import target_platform_list
import("${build_configs_path}/platforms_list.gni")
-group("make_images") {
- deps = []
- if (is_standard_system) {
- deps = [
- "//third_party/e2fsprogs:e2fsprogs_host_toolchain",
- "//third_party/f2fs-tools:f2fs-tools_host_toolchain",
- ]
- foreach(_platform, target_platform_list) {
- deps += [
- ":${_platform}_sys_prod_image",
- ":${_platform}_system_image",
- ":${_platform}_userdata_image",
- ":${_platform}_vendor_image",
+
+if (build_openeuler) {
+ group("make_images") {
+ deps = []
+ if (is_standard_system) {
+ foreach(_platform, target_platform_list) {
+ deps += [
+ "//build/ohos/packages:${_platform}_install_modules"
+ ]
+ }
+ }
+ }
+} else {
+ group("make_images") {
+ deps = []
+ if (is_standard_system) {
+ deps = [
+ "//third_party/e2fsprogs:e2fsprogs_host_toolchain",
+ "//third_party/f2fs-tools:f2fs-tools_host_toolchain",
]
- if (enable_ramdisk) {
+ foreach(_platform, target_platform_list) {
deps += [
- ":${_platform}_ramdisk_image",
- ":${_platform}_updater_ramdisk_image",
+ ":${_platform}_sys_prod_image",
+ ":${_platform}_system_image",
+ ":${_platform}_userdata_image",
+ ":${_platform}_vendor_image",
]
- } else {
- deps += [ ":${_platform}_updater_image" ]
+ if (enable_ramdisk) {
+ deps += [
+ ":${_platform}_ramdisk_image",
+ ":${_platform}_updater_ramdisk_image",
+ ]
+ } else {
+ deps += [ ":${_platform}_updater_image" ]
+ }
}
+ deps += [ ":chip_prod_image" ]
+ } else {
+ deps += [ "//build/ohos/packages:packer" ]
}
- deps += [ ":chip_prod_image" ]
- } else {
- deps += [ "//build/ohos/packages:packer" ]
}
-}
-group("chip_prod_image") {
- deps = []
- if (is_standard_system) {
- deps += [
- "//third_party/e2fsprogs:e2fsprogs_host_toolchain",
- "//third_party/f2fs-tools:f2fs-tools_host_toolchain",
- ]
- }
- foreach(_platform, target_platform_list) {
- if (chip_product_list == []) {
- deps += [ ":${_platform}_chip_prod_image" ]
- } else {
- foreach(_product, chip_product_list) {
- deps += [ ":${_platform}_${_product}_chip_prod_image" ]
+ group("chip_prod_image") {
+ deps = []
+ if (is_standard_system) {
+ deps += [
+ "//third_party/e2fsprogs:e2fsprogs_host_toolchain",
+ "//third_party/f2fs-tools:f2fs-tools_host_toolchain",
+ ]
+ }
+ foreach(_platform, target_platform_list) {
+ if (chip_product_list == []) {
+ deps += [ ":${_platform}_chip_prod_image" ]
+ } else {
+ foreach(_product, chip_product_list) {
+ deps += [ ":${_platform}_${_product}_chip_prod_image" ]
+ }
}
}
}
-}
-
-build_image_tools_path = [
- "//out/${device_name}/clang_x64/thirdparty/e2fsprogs",
- "//out/${device_name}/clang_x64/thirdparty/f2fs_tools",
- "//third_party/e2fsprogs/prebuilt/host/bin",
- "//build/ohos/images/mkimage",
-]
-foreach(_platform, target_platform_list) {
- current_platform = _platform
- current_platform_dir = "${product_output_dir}/$current_platform"
+ foreach(_platform, target_platform_list) {
+ current_platform = _platform
+ current_platform_dir = "${product_output_dir}/$current_platform"
- system_module_info_list = "${current_platform_dir}/system_module_info.json"
- system_modules_list = "${current_platform_dir}/system_modules_list.txt"
+ system_module_info_list = "${current_platform_dir}/system_module_info.json"
+ system_modules_list = "${current_platform_dir}/system_modules_list.txt"
- image_list = [
- "system",
- "vendor",
- "userdata",
- "sys_prod",
- "chip_prod",
- ]
- if (enable_ramdisk) {
- image_list += [
- "ramdisk",
- "updater_ramdisk",
+ image_list = [
+ "system",
+ "vendor",
+ "userdata",
+ "sys_prod",
+ "chip_prod",
]
- } else {
- image_list += [ "updater" ]
- }
- foreach(_image_name, image_list) {
- action_with_pydeps("${_platform}_${_image_name}_image") {
- script = "//build/ohos/images/build_image.py"
- depfile = "$target_gen_dir/$target_name.d"
- deps = [ "//build/ohos/packages:${_platform}_install_modules" ]
- if (!asan_detector) {
- deps += [ "//build/ohos/packages:high_privilege_process_validate" ]
- }
+ if (enable_ramdisk) {
+ image_list += [
+ "ramdisk",
+ "updater_ramdisk",
+ ]
+ } else {
+ image_list += [ "updater" ]
+ }
+ foreach(_image_name, image_list) {
+ action_with_pydeps("${_platform}_${_image_name}_image") {
+ script = "//build/ohos/images/build_image.py"
+ depfile = "$target_gen_dir/$target_name.d"
+ deps = [ "//build/ohos/packages:${_platform}_install_modules" ]
+ if (!asan_detector) {
+ deps += [ "//build/ohos/packages:high_privilege_process_validate" ]
+ }
- image_config_file =
- "//build/ohos/images/mkimage/${_image_name}_image_conf.txt"
- if (is_debug) {
image_config_file =
- "//build/ohos/images/mkimage/debug/${_image_name}_image_conf.txt"
- }
- device_image_config_file =
- "${product_output_dir}/imagesconf/${_image_name}_image_conf.txt"
- if (_image_name == "ramdisk" || _image_name == "updater_ramdisk") {
- output_image_file = "$root_build_dir/${_image_name}.img"
- } else {
- output_image_file = "$current_platform_dir/images/${_image_name}.img"
- }
- if (_image_name == "updater_ramdisk") {
- image_input_path = "$current_platform_dir/updater"
- } else {
- image_input_path = "$current_platform_dir/${_image_name}"
- }
- if (_image_name == "userdata") {
- image_input_path = "$current_platform_dir/data"
- }
+ "//build/ohos/images/mkimage/${_image_name}_image_conf.txt"
+ if (is_debug) {
+ image_config_file =
+ "//build/ohos/images/mkimage/debug/${_image_name}_image_conf.txt"
+ }
+ device_image_config_file =
+ "${product_output_dir}/imagesconf/${_image_name}_image_conf.txt"
+ if (_image_name == "ramdisk" || _image_name == "updater_ramdisk") {
+ output_image_file = "$root_build_dir/${_image_name}.img"
+ } else {
+ output_image_file = "$current_platform_dir/images/${_image_name}.img"
+ }
+ if (_image_name == "updater_ramdisk") {
+ image_input_path = "$current_platform_dir/updater"
+ } else {
+ image_input_path = "$current_platform_dir/${_image_name}"
+ }
+ if (_image_name == "userdata") {
+ image_input_path = "$current_platform_dir/data"
+ }
- sources = [
- image_config_file,
- system_module_info_list,
- system_modules_list,
- ]
- outputs = [ output_image_file ]
- args = [
- "--depfile",
- rebase_path(depfile, root_build_dir),
- "--image-name",
- _image_name,
- "--input-path",
- rebase_path(image_input_path, root_build_dir),
- "--image-config-file",
- rebase_path(image_config_file, root_build_dir),
- "--device-image-config-file",
- rebase_path(device_image_config_file, root_build_dir),
- "--output-image",
- rebase_path(output_image_file, root_build_dir),
- "--target-cpu",
- target_cpu,
- "--build-image-tools-path",
- ]
- args += rebase_path(build_image_tools_path, root_build_dir)
- if (sparse_image) {
- args += [ "--sparse-image" ]
+ sources = [
+ image_config_file,
+ system_module_info_list,
+ system_modules_list,
+ ]
+ outputs = [ output_image_file ]
+ args = [
+ "--depfile",
+ rebase_path(depfile, root_build_dir),
+ "--image-name",
+ _image_name,
+ "--input-path",
+ rebase_path(image_input_path, root_build_dir),
+ "--image-config-file",
+ rebase_path(image_config_file, root_build_dir),
+ "--device-image-config-file",
+ rebase_path(device_image_config_file, root_build_dir),
+ "--output-image",
+ rebase_path(output_image_file, root_build_dir),
+ "--target-cpu",
+ target_cpu,
+ "--build-image-tools-path",
+ ]
+ args += rebase_path(build_image_tools_path, root_build_dir)
+ if (sparse_image) {
+ args += [ "--sparse-image" ]
+ }
}
}
- }
- # Used to generate chip_prod images of different products
- foreach(_product, chip_product_list) {
- _image_name = "chip_prod"
- action_with_pydeps("${_platform}_${_product}_chip_prod_image") {
- script = "//build/ohos/images/build_image.py"
- depfile = "$target_gen_dir/$target_name.d"
- deps = [ "//build/ohos/packages:${_platform}_install_modules" ]
+ # Used to generate chip_prod images of different products
+ foreach(_product, chip_product_list) {
+ _image_name = "chip_prod"
+ action_with_pydeps("${_platform}_${_product}_chip_prod_image") {
+ script = "//build/ohos/images/build_image.py"
+ depfile = "$target_gen_dir/$target_name.d"
+ deps = [ "//build/ohos/packages:${_platform}_install_modules" ]
- image_config_file =
- "//build/ohos/images/mkimage/${_image_name}_image_conf.txt"
- device_image_config_file =
- "${product_output_dir}/imagesconf/${_image_name}_image_conf.txt"
- image_input_path = "${current_platform_dir}/${_image_name}/${_product}"
- output_image_file =
- "${current_platform_dir}/images/${_product}/${_image_name}.img"
+ image_config_file =
+ "//build/ohos/images/mkimage/${_image_name}_image_conf.txt"
+ device_image_config_file =
+ "${product_output_dir}/imagesconf/${_image_name}_image_conf.txt"
+ image_input_path = "${current_platform_dir}/${_image_name}/${_product}"
+ output_image_file =
+ "${current_platform_dir}/images/${_product}/${_image_name}.img"
- sources = [
- image_config_file,
- system_module_info_list,
- system_modules_list,
- ]
- outputs = [ output_image_file ]
+ sources = [
+ image_config_file,
+ system_module_info_list,
+ system_modules_list,
+ ]
+ outputs = [ output_image_file ]
- args = [
- "--depfile",
- rebase_path(depfile, root_build_dir),
- "--image-name",
- _image_name,
- "--input-path",
- rebase_path(image_input_path, root_build_dir),
- "--image-config-file",
- rebase_path(image_config_file, root_build_dir),
- "--device-image-config-file",
- rebase_path(device_image_config_file, root_build_dir),
- "--output-image",
- rebase_path(output_image_file, root_build_dir),
- "--target-cpu",
- target_cpu,
- "--build-image-tools-path",
- ]
- args += rebase_path(build_image_tools_path, root_build_dir)
- if (sparse_image) {
- args += [ "--sparse-image" ]
+ args = [
+ "--depfile",
+ rebase_path(depfile, root_build_dir),
+ "--image-name",
+ _image_name,
+ "--input-path",
+ rebase_path(image_input_path, root_build_dir),
+ "--image-config-file",
+ rebase_path(image_config_file, root_build_dir),
+ "--device-image-config-file",
+ rebase_path(device_image_config_file, root_build_dir),
+ "--output-image",
+ rebase_path(output_image_file, root_build_dir),
+ "--target-cpu",
+ target_cpu,
+ "--build-image-tools-path",
+ ]
+ args += rebase_path(build_image_tools_path, root_build_dir)
+ if (sparse_image) {
+ args += [ "--sparse-image" ]
+ }
}
}
}
-}
\ No newline at end of file
+}
diff --git a/ohos/packages/BUILD.gn b/ohos/packages/BUILD.gn
index 4915b62..847d2e8 100755
--- a/ohos/packages/BUILD.gn
+++ b/ohos/packages/BUILD.gn
@@ -591,8 +591,12 @@ group("package_testcase") {
group("build_all_test_pkg") {
testonly = true
- deps = [
- "$root_build_dir/build_configs:parts_test",
- "//test/testfwk/developer_test:make_temp_test",
- ]
+ if (build_openeuler) {
+ deps = []
+ } else {
+ deps = [
+ "$root_build_dir/build_configs:parts_test",
+ "//test/testfwk/developer_test:make_temp_test",
+ ]
+ }
}
diff --git a/ohos_var.gni b/ohos_var.gni
index b49d97e..0ba4b70 100755
--- a/ohos_var.gni
+++ b/ohos_var.gni
@@ -151,6 +151,20 @@ declare_args() {
load_test_config = true
}
+if (build_openeuler) {
+ load_test_config = false
+}
+
+declare_args() {
+ # hiviewdfx
+ enable_hiviewdfx_hisysevent = false
+ enable_hiviewdfx_hitrace = false
+ enable_hiviewdfx_hidumper = false
+
+ # security
+ enable_security_accesstoken = false
+}
+
declare_args() {
# Skip module_info generation when the packaging image is not needed
skip_gen_module_info = false
diff --git a/templates/cxx/cxx.gni b/templates/cxx/cxx.gni
index b2e4554..1c82f82 100755
--- a/templates/cxx/cxx.gni
+++ b/templates/cxx/cxx.gni
@@ -105,9 +105,11 @@ template("ohos_executable") {
])
}
- _sanitize_config_target = "${target_name}__sanitizer_config"
- ohos_sanitizer_config(_sanitize_config_target) {
- forward_variables_from(invoker, [ "sanitize" ])
+ if (defined(build_openeuler) && !build_openeuler) {
+ _sanitize_config_target = "${target_name}__sanitizer_config"
+ ohos_sanitizer_config(_sanitize_config_target) {
+ forward_variables_from(invoker, [ "sanitize" ])
+ }
}
_test_target = defined(invoker.testonly) && invoker.testonly
@@ -159,7 +161,9 @@ template("ohos_executable") {
if (defined(invoker.remove_configs)) {
configs -= invoker.remove_configs
}
- configs += [ ":$_sanitize_config_target" ]
+ if (defined(build_openeuler) && !build_openeuler) {
+ configs += [ ":$_sanitize_config_target" ]
+ }
configs += [ ":$_security_config_target" ]
if (defined(invoker.use_exceptions) && invoker.use_exceptions) {
@@ -423,9 +427,11 @@ template("ohos_shared_library") {
])
}
- _sanitize_config_target = "${target_name}__sanitizer_config"
- ohos_sanitizer_config(_sanitize_config_target) {
- forward_variables_from(invoker, [ "sanitize" ])
+ if (defined(build_openeuler) && !build_openeuler) {
+ _sanitize_config_target = "${target_name}__sanitizer_config"
+ ohos_sanitizer_config(_sanitize_config_target) {
+ forward_variables_from(invoker, [ "sanitize" ])
+ }
}
_test_target = defined(invoker.testonly) && invoker.testonly
@@ -488,7 +494,9 @@ template("ohos_shared_library") {
configs -= invoker.remove_configs
}
- configs += [ ":$_sanitize_config_target" ]
+ if (defined(build_openeuler) && !build_openeuler) {
+ configs += [ ":$_sanitize_config_target" ]
+ }
configs += [ ":$_security_config_target" ]
if (defined(invoker.use_exceptions) && invoker.use_exceptions) {
@@ -763,9 +771,11 @@ template("ohos_static_library") {
])
}
- _sanitize_config_target = "${target_name}__sanitizer_config"
- ohos_sanitizer_config(_sanitize_config_target) {
- forward_variables_from(invoker, [ "sanitize" ])
+ if (defined(build_openeuler) && !build_openeuler) {
+ _sanitize_config_target = "${target_name}__sanitizer_config"
+ ohos_sanitizer_config(_sanitize_config_target) {
+ forward_variables_from(invoker, [ "sanitize" ])
+ }
}
_test_target = defined(invoker.testonly) && invoker.testonly
@@ -811,7 +821,9 @@ template("ohos_static_library") {
if (is_standard_system) {
configs -= [ "//build/config/compiler:thin_archive" ]
}
- configs += [ ":$_sanitize_config_target" ]
+ if (defined(build_openeuler) && !build_openeuler) {
+ configs += [ ":$_sanitize_config_target" ]
+ }
configs += [ ":$_security_config_target" ]
if (defined(invoker.use_exceptions) && invoker.use_exceptions) {
@@ -935,9 +947,11 @@ template("ohos_source_set") {
])
}
- _sanitize_config_target = "${target_name}__sanitizer_config"
- ohos_sanitizer_config(_sanitize_config_target) {
- forward_variables_from(invoker, [ "sanitize" ])
+ if (defined(build_openeuler) && !build_openeuler) {
+ _sanitize_config_target = "${target_name}__sanitizer_config"
+ ohos_sanitizer_config(_sanitize_config_target) {
+ forward_variables_from(invoker, [ "sanitize" ])
+ }
}
_test_target = defined(invoker.testonly) && invoker.testonly
@@ -982,7 +996,9 @@ template("ohos_source_set") {
configs -= invoker.remove_configs
}
- configs += [ ":$_sanitize_config_target" ]
+ if (defined(build_openeuler) && !build_openeuler) {
+ configs += [ ":$_sanitize_config_target" ]
+ }
configs += [ ":$_security_config_target" ]
if (defined(invoker.use_exceptions) && invoker.use_exceptions) {
--
2.33.0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。