From 6bc68845fef0e3d234dff31f857b17f26bd57727 Mon Sep 17 00:00:00 2001 From: the_big_blue_devil Date: Mon, 6 May 2024 18:57:45 +0800 Subject: [PATCH 1/3] Signed-off-by:hanqiaosheng --- BUILD.gn | 128 ++++++++++++++++++++++++++++++++++++++++------------ bundle.json | 7 +++ 2 files changed, 106 insertions(+), 29 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index f2f3ac8..7ee9407 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -20,6 +20,36 @@ 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 = [ @@ -73,35 +103,7 @@ ohos_shared_library("libpcre2") { } 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 +127,71 @@ ohos_shared_library("libpcre2") { part_name = "pcre2" subsystem_name = "thirdparty" } + +ohos_static_library("libpcre2_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/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_static" + 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 From 7f4a4885cfd01ea4010f9672ad8a40f5480c22d5 Mon Sep 17 00:00:00 2001 From: the_big_blue_devil Date: Wed, 8 May 2024 09:48:53 +0800 Subject: [PATCH 2/3] Signed-off-by:hanqiaosheng --- BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD.gn b/BUILD.gn index 7ee9407..e207282 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -194,4 +194,4 @@ ohos_static_library("libpcre2_static") { license_file = "$PCRE2_LIB_DIR/LICENCE" part_name = "pcre2" subsystem_name = "thirdparty" -} \ No newline at end of file +} -- Gitee From 69fbc71c3e8fc52d08964e5cab85e51351566227 Mon Sep 17 00:00:00 2001 From: the_big_blue_devil Date: Mon, 13 May 2024 21:06:49 +0800 Subject: [PATCH 3/3] Signed-off-by:hanqiaosheng --- BUILD.gn | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index e207282..3f18ef0 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -22,7 +22,6 @@ config("third_party_pcre2_config") { 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", @@ -104,6 +103,7 @@ ohos_shared_library("libpcre2") { 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 = [ @@ -129,10 +129,16 @@ ohos_shared_library("libpcre2") { } 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/config.h"), + rebase_path("$PCRE2_LIB_DIR/src_static/config.h"), ] check_config_result = @@ -143,13 +149,13 @@ ohos_static_library("libpcre2_static") { "cp", "-f", rebase_path("$PCRE2_LIB_DIR/src/config.h.generic"), - rebase_path("$PCRE2_LIB_DIR/src/config.h"), + 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/pcre2.h"), + rebase_path("$PCRE2_LIB_DIR/src_static/pcre2.h"), ] check_pcre2_result = exec_script(md5_check_script, _arguments_pcre2, "string") @@ -159,13 +165,13 @@ ohos_static_library("libpcre2_static") { "cp", "-f", rebase_path("$PCRE2_LIB_DIR/src/pcre2.h.generic"), - rebase_path("$PCRE2_LIB_DIR/src/pcre2.h"), + 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/pcre2_chartables.c"), + rebase_path("$PCRE2_LIB_DIR/src_static/pcre2_chartables.c"), ] check_pcre2_chartables_result = @@ -176,13 +182,15 @@ ohos_static_library("libpcre2_static") { "cp", "-f", rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c.dist"), - rebase_path("$PCRE2_LIB_DIR/src/pcre2_chartables.c"), + 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", -- Gitee