From ae3077a82092986c4b6a8bc8bb8b894b29e8b6b1 Mon Sep 17 00:00:00 2001 From: the_big_blue_devil Date: Mon, 13 May 2024 09:57:50 +0800 Subject: [PATCH] Signed-off-by:hanqiaosheng --- BUILD.gn | 128 ++++++++++++++++++++-------------------------------- bundle.json | 7 +++ 2 files changed, 55 insertions(+), 80 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index f2f3ac8..52e7d96 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -20,88 +20,39 @@ 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_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", +] + 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", - "-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_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", - ] + sources = pcre2_sources include_dirs = [ "$PCRE2_LIB_DIR/src" ] public_configs = [ ":third_party_pcre2_config" ] cflags = [ @@ -125,3 +76,20 @@ ohos_shared_library("libpcre2") { part_name = "pcre2" subsystem_name = "thirdparty" } + +ohos_static_library("libpcre2_static") { + output_name = "libpcre2" + sources = pcre2_sources + 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", + ] + license_file = "$PCRE2_LIB_DIR/LICENCE" + part_name = "pcre2" + subsystem_name = "thirdparty" +} \ No newline at end of file diff --git a/bundle.json b/bundle.json index 1021d5d..4e91562 100644 --- a/bundle.json +++ b/bundle.json @@ -31,6 +31,13 @@ "header_files": [], "header_base": "//third_party/pcre2/pcre2/src" } + }, + { + "name": "//third_party/pcre2:libpcre2_static", + "header": { + "header_files": [], + "header_base": "//third_party/pcre2/pcre2/src" + } } ], "test": [] -- Gitee