Ai
11 Star 2 Fork 41

OpenHarmony/third_party_pcre2
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
BUILD.gn 4.68 KB
一键复制 编辑 原始数据 按行查看 历史
zhenghui 提交于 2025-07-14 15:08 +08:00 . treble解耦
# 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/config/components/ets_frontend/ets_frontend_config.gni")
if (ark_standalone_build) {
import("$build_root/ark.gni")
} else {
import("//build/ohos.gni")
}
PCRE2_LIB_DIR = "//third_party/pcre2/pcre2"
# use action replace exec_script
action("copy_generic_files") {
script = rebase_path("//third_party/pcre2/copy_generic_files.sh")
inputs = [
"$PCRE2_LIB_DIR/src/config.h.generic",
"$PCRE2_LIB_DIR/src/pcre2.h.generic",
"$PCRE2_LIB_DIR/src/pcre2_chartables.c",
]
outputs = [
"${target_gen_dir}/src/pcre2_chartables.c",
]
args = [
rebase_path("$PCRE2_LIB_DIR"),
rebase_path("${target_gen_dir}"),
]
}
# srcs depended by glib
ohos_shared_headers("pcre2_generated_headers") {
include_dirs = [get_label_info(":copy_generic_files", "target_gen_dir") + "/src"]
deps = [":copy_generic_files"]
part_name = "pcre2"
subsystem_name = "thirdparty"
}
# include dir depended by glib
ohos_prebuilt_etc("publish_generic_file") {
source = get_label_info(":copy_generic_files", "target_gen_dir") + "/src/pcre2_chartables.c"
output = "pcre2_chartables.c"
part_name = "pcre2"
install_enable = false
subsystem_name = "thirdparty"
deps = [":copy_generic_files"]
}
config("third_party_pcre2_config") {
include_dirs = [ "$PCRE2_LIB_DIR/src" ]
include_dirs += [ "${target_gen_dir}/src" ]
}
pcre2_sources = [
"$PCRE2_LIB_DIR/src/pcre2_auto_possess.c",
"$PCRE2_LIB_DIR/src/pcre2_chkdint.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",
]
ohos_shared_library("libpcre2") {
deps = [ ":publish_generic_file" ]
branch_protector_ret = "pac_ret"
output_name = "libpcre2"
sources = pcre2_sources
sources += get_target_outputs(":publish_generic_file")
public_configs = [ ":third_party_pcre2_config" ]
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_sp_indirect",
]
part_name = "pcre2"
subsystem_name = "thirdparty"
}
ohos_static_library("libpcre2_static") {
deps = [ ":publish_generic_file" ]
output_name = "libpcre2_static"
sources = pcre2_sources
sources += get_target_outputs(":publish_generic_file")
public_configs = [ ":third_party_pcre2_config" ]
cflags = [
"-D_GNU_SOURCE",
"-DHAVE_CONFIG_H",
"-DSUPPORT_PCRE2_8=1",
"-DPCRE2_CODE_UNIT_WIDTH=8",
"-w",
]
license_file = "$PCRE2_LIB_DIR/LICENCE"
part_name = "pcre2"
subsystem_name = "thirdparty"
}
ohos_static_library("libpcre2_static_16") {
deps = [ ":publish_generic_file" ]
output_name = "libpcre2_static_16"
sources = pcre2_sources
sources -= [ "$PCRE2_LIB_DIR/src/pcre2_chkdint.c" ]
sources += get_target_outputs(":publish_generic_file")
public_configs = [ ":third_party_pcre2_config" ]
cflags = [
"-D_GNU_SOURCE",
"-DHAVE_CONFIG_H",
"-DSUPPORT_PCRE2_16=1",
"-DSUPPORT_UNICODE=1",
"-DPCRE2_CODE_UNIT_WIDTH=16",
"-w",
]
license_file = "$PCRE2_LIB_DIR/LICENCE"
part_name = "pcre2"
subsystem_name = "thirdparty"
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/third_party_pcre2.git
git@gitee.com:openharmony/third_party_pcre2.git
openharmony
third_party_pcre2
third_party_pcre2
master

搜索帮助