加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
BUILD.gn 6.43 KB
一键复制 编辑 原始数据 按行查看 历史
kirillparshukov 提交于 2024-09-24 12:34 . remove pcre2-16
# 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"
config("third_party_pcre2_config") {
include_dirs = [ "$PCRE2_LIB_DIR/src" ]
}
pcre2_sources = [
"$PCRE2_LIB_DIR/src/pcre2_auto_possess.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") {
branch_protector_ret = "pac_ret"
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",
"-f",
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",
"-f",
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",
"-f",
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"),
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"),
])
}
output_name = "libpcre2"
sources = pcre2_sources
sources += [ "$PCRE2_LIB_DIR/src/pcre2_chartables.c" ]
include_dirs = [ "$PCRE2_LIB_DIR/src" ]
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_indirect",
]
part_name = "pcre2"
subsystem_name = "thirdparty"
}
ohos_static_library("libpcre2_static") {
exec_script("/usr/bin/env",
[
"mkdir",
"-p",
rebase_path("$PCRE2_LIB_DIR/src_static"),
])
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_static/config.h"),
]
check_config_result =
exec_script(md5_check_script, _arguments_config, "string")
if (check_config_result == "") {
exec_script("/usr/bin/env",
[
"cp",
"-f",
rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"),
rebase_path("$PCRE2_LIB_DIR/src_static/config.h"),
])
}
_arguments_pcre2 = [
rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"),
rebase_path("$PCRE2_LIB_DIR/src_static/pcre2.h"),
]
check_pcre2_result = exec_script(md5_check_script, _arguments_pcre2, "string")
if (check_pcre2_result == "") {
exec_script("/usr/bin/env",
[
"cp",
"-f",
rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"),
rebase_path("$PCRE2_LIB_DIR/src_static/pcre2.h"),
])
}
_arguments_pcre2_chartables = [
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"),
rebase_path("$PCRE2_LIB_DIR/src_static/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",
"-f",
rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"),
rebase_path("$PCRE2_LIB_DIR/src_static/pcre2_chartables.c"),
])
}
output_name = "libpcre2_static"
sources = pcre2_sources
sources += [ "$PCRE2_LIB_DIR/src_static/pcre2_chartables.c" ]
include_dirs = [ "$PCRE2_LIB_DIR/src" ]
include_dirs += [ "$PCRE2_LIB_DIR/src_static" ]
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"
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化