加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
BUILD.gn 3.86 KB
一键复制 编辑 原始数据 按行查看 历史
# Copyright (c) 2021 北京万里红科技有限公司
#
# 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/ohos.gni")
PCRE2_LIB_DIR = "//third_party/pcre2/pcre2"
ohos_shared_library("libpcre2") {
md5_check_script = rebase_path("$PCRE2_LIB_DIR/check_md5.sh")
_arguments_config = [
rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"),
rebase_path("$PCRE2_LIB_DIR/src/config.h"),
]
check_config_result =
exec_script(md5_check_script, _arguments_config, "string")
if (check_config_result == "") {
exec_script("/usr/bin/env",
[
"cp",
rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"),
rebase_path("$PCRE2_LIB_DIR/src/config.h"),
])
}
_arguments_pcre2 = [
rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"),
rebase_path("$PCRE2_LIB_DIR/src/pcre2.h"),
]
check_pcre2_result = exec_script(md5_check_script, _arguments_pcre2, "string")
if (check_pcre2_result == "") {
exec_script("/usr/bin/env",
[
"cp",
rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"),
rebase_path("$PCRE2_LIB_DIR/src/pcre2.h"),
])
}
_arguments_pcre2_chartables = [
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"),
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"),
]
check_pcre2_chartables_result =
exec_script(md5_check_script, _arguments_pcre2_chartables, "string")
if (check_pcre2_chartables_result == "") {
exec_script("/usr/bin/env",
[
"cp",
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"),
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"),
])
}
output_name = "libpcre2"
sources = [
"$PCRE2_LIB_DIR/src/pcre2_auto_possess.c",
"$PCRE2_LIB_DIR/src/pcre2_chartables.c",
"$PCRE2_LIB_DIR/src/pcre2_compile.c",
"$PCRE2_LIB_DIR/src/pcre2_config.c",
"$PCRE2_LIB_DIR/src/pcre2_context.c",
"$PCRE2_LIB_DIR/src/pcre2_convert.c",
"$PCRE2_LIB_DIR/src/pcre2_dfa_match.c",
"$PCRE2_LIB_DIR/src/pcre2_error.c",
"$PCRE2_LIB_DIR/src/pcre2_extuni.c",
"$PCRE2_LIB_DIR/src/pcre2_find_bracket.c",
"$PCRE2_LIB_DIR/src/pcre2_jit_compile.c",
"$PCRE2_LIB_DIR/src/pcre2_maketables.c",
"$PCRE2_LIB_DIR/src/pcre2_match.c",
"$PCRE2_LIB_DIR/src/pcre2_match_data.c",
"$PCRE2_LIB_DIR/src/pcre2_newline.c",
"$PCRE2_LIB_DIR/src/pcre2_ord2utf.c",
"$PCRE2_LIB_DIR/src/pcre2_pattern_info.c",
"$PCRE2_LIB_DIR/src/pcre2_script_run.c",
"$PCRE2_LIB_DIR/src/pcre2_serialize.c",
"$PCRE2_LIB_DIR/src/pcre2_string_utils.c",
"$PCRE2_LIB_DIR/src/pcre2_study.c",
"$PCRE2_LIB_DIR/src/pcre2_substitute.c",
"$PCRE2_LIB_DIR/src/pcre2_substring.c",
"$PCRE2_LIB_DIR/src/pcre2_tables.c",
"$PCRE2_LIB_DIR/src/pcre2_ucd.c",
"$PCRE2_LIB_DIR/src/pcre2_valid_utf.c",
"$PCRE2_LIB_DIR/src/pcre2_xclass.c",
]
include_dirs = [ "$PCRE2_LIB_DIR/src" ]
cflags = [
"-D_GNU_SOURCE",
"-DHAVE_CONFIG_H",
"-DSUPPORT_PCRE2_8=1",
"-DPCRE2_CODE_UNIT_WIDTH=8",
"-w",
]
install_enable = true
install_images = [
"system",
"ramdisk",
"updater",
]
license_file = "$PCRE2_LIB_DIR/LICENCE"
innerapi_tags = [
"platformsdk_indirect",
"chipsetsdk_indirect",
]
part_name = "selinux"
subsystem_name = "security"
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化