mirror of
https://github.com/openharmony/developtools_syscap_codec.git
synced 2026-08-27 10:21:25 -04:00
ef4593f4df
Signed-off-by: yudechen <chenyude@huawei.com> Change-Id: I65257b75a0a685e510eab13f610daff5c934f529
155 lines
4.0 KiB
Plaintext
Executable File
155 lines
4.0 KiB
Plaintext
Executable File
# Copyright (C) 2022 Huawei Device Co., Ltd.
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import("//build/lite/config/component/lite_component.gni")
|
|
import("//build/ohos.gni")
|
|
|
|
config("pubilc") {
|
|
include_dirs = [ "include" ]
|
|
}
|
|
|
|
sources_platform_common = [
|
|
"./src/syscap_tool.c",
|
|
"./src/create_pcid.c",
|
|
"./src/endian_internal.c",
|
|
]
|
|
|
|
ohos_executable("syscap_tool_bin") {
|
|
output_name = "syscap_tool"
|
|
install_enable = true
|
|
include_dirs = [ "src" ]
|
|
public_configs = [ ":pubilc" ]
|
|
defines = []
|
|
|
|
if (is_mingw) {
|
|
defines += [ "_POSIX_" ]
|
|
}
|
|
|
|
sources = [ "./src/main.c" ]
|
|
sources += sources_platform_common
|
|
|
|
deps = [ "//third_party/bounds_checking_function:libsec_static" ]
|
|
|
|
if (defined(ohos_lite)) {
|
|
deps += [ "//build/lite/config/component/cJSON:cjson_static" ]
|
|
} else {
|
|
deps += [ "//third_party/cJSON:cjson_static" ]
|
|
}
|
|
|
|
subsystem_name = "developtools"
|
|
part_name = "syscap_codec"
|
|
}
|
|
|
|
ohos_executable("syscap_tool_test") {
|
|
install_enable = true
|
|
include_dirs = [ "src" ]
|
|
public_configs = [ ":pubilc" ]
|
|
defines = []
|
|
|
|
if (is_mingw) {
|
|
defines += [ "_POSIX_" ]
|
|
}
|
|
|
|
sources = [ "./test/syscap_tool_test.c" ]
|
|
sources += sources_platform_common
|
|
|
|
deps = [ "//third_party/bounds_checking_function:libsec_static" ]
|
|
|
|
if (defined(ohos_lite)) {
|
|
deps += [ "//build/lite/config/component/cJSON:cjson_static" ]
|
|
} else {
|
|
deps += [ "//third_party/cJSON:cjson_static" ]
|
|
}
|
|
|
|
subsystem_name = "developtools"
|
|
part_name = "syscap_codec"
|
|
}
|
|
|
|
ohos_shared_library("syscap_tool_shared") {
|
|
output_name = "syscap_codec"
|
|
include_dirs = [ "src" ]
|
|
public_configs = [ ":pubilc" ]
|
|
|
|
sources = sources_platform_common
|
|
|
|
deps = [ "//third_party/bounds_checking_function:libsec_static" ]
|
|
|
|
if (defined(ohos_lite)) {
|
|
deps += [ "//build/lite/config/component/cJSON:cjson_static" ]
|
|
} else {
|
|
deps += [ "//third_party/cJSON:cjson_static" ]
|
|
}
|
|
|
|
subsystem_name = "developtools"
|
|
part_name = "syscap_codec"
|
|
}
|
|
|
|
ohos_shared_library("syscap_interface_shared") {
|
|
include_dirs = [ "./interfaces/inner_api/" ]
|
|
public_configs = [ ":pubilc" ]
|
|
sources = [ "./interfaces/inner_api/syscap_interface.c" ]
|
|
|
|
deps = [ "//third_party/bounds_checking_function:libsec_static" ]
|
|
|
|
if (defined(ohos_lite)) {
|
|
deps += [ "//build/lite/config/component/cJSON:cjson_static" ]
|
|
} else {
|
|
deps += [ "//third_party/cJSON:cjson_static" ]
|
|
}
|
|
|
|
subsystem_name = "developtools"
|
|
part_name = "syscap_codec"
|
|
}
|
|
|
|
group("syscap_tool_bin_linux") {
|
|
deps = [ ":syscap_tool_bin(//build/toolchain/linux:clang_x64)" ]
|
|
}
|
|
|
|
build_ext_component("generate_pcid") {
|
|
outputs = [ "$root_out_dir/PCID.sc" ]
|
|
deps = [ ":syscap_tool_bin_linux" ]
|
|
exec_path = rebase_path(root_out_dir)
|
|
preload_path = rebase_path(preloader_output_dir)
|
|
if (defined(ohos_lite)) {
|
|
cmd = "${exec_path}/clang_x64/syscap_tool"
|
|
} else {
|
|
cmd = "${exec_path}/clang_x64/developtools/syscap_codec/syscap_tool"
|
|
}
|
|
command = "chmod 777 $cmd"
|
|
command += " && $cmd -P -e -i ${preload_path}/${product_name}/system/etc/SystemCapability.json"
|
|
if (defined(ohos_lite)) {
|
|
command += " && mkdir -p $exec_path/system/etc && cp $exec_path/PCID.sc $exec_path/system/etc/PCID.sc"
|
|
}
|
|
}
|
|
|
|
ohos_prebuilt_etc("PCID.sc") {
|
|
deps = [ ":generate_pcid" ]
|
|
source = "$root_out_dir/PCID.sc"
|
|
part_name = "syscap_codec"
|
|
}
|
|
|
|
group("pcid_sc") {
|
|
deps = [ ":PCID.sc" ]
|
|
}
|
|
|
|
group("syscap_codec") {
|
|
deps = [
|
|
":pcid_sc",
|
|
":syscap_interface_shared",
|
|
":syscap_tool_shared",
|
|
]
|
|
if (support_jsapi && is_standard_system) {
|
|
deps += [ "napi:systemcapability" ]
|
|
}
|
|
}
|