Replaces libpcre with libpcre2

libpcre was removed and libpcre2 10.21 was added instead.

The files of the c++ wrapper library, libpcrecpp, were moved to
their own directory, pcrecpp. As of this patch pcrecpp is broken
due to the missing dependency libpcre. The port will be added in
a subsequent commit to better document the changes made.

Merged-In: Iac638baa545470596cc764271ae94d6b95ebede8
Bug: 24091652
Change-Id: Iac638baa545470596cc764271ae94d6b95ebede8
diff --git a/Android.bp b/Android.bp
index 088b1c5..00fb54a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,56 +1,61 @@
 
+
+libpcre2_dist_prefix = "dist2"
+
+libpcre2_src_files = [
+    libpcre2_dist_prefix + "/src/pcre2_auto_possess.c",
+    libpcre2_dist_prefix + "/src/pcre2_compile.c",
+    libpcre2_dist_prefix + "/src/pcre2_config.c",
+    libpcre2_dist_prefix + "/src/pcre2_context.c",
+    libpcre2_dist_prefix + "/src/pcre2_dfa_match.c",
+    libpcre2_dist_prefix + "/src/pcre2_error.c",
+    libpcre2_dist_prefix + "/src/pcre2_find_bracket.c",
+    libpcre2_dist_prefix + "/src/pcre2_maketables.c",
+    libpcre2_dist_prefix + "/src/pcre2_match.c",
+    libpcre2_dist_prefix + "/src/pcre2_match_data.c",
+    libpcre2_dist_prefix + "/src/pcre2_jit_compile.c",
+    libpcre2_dist_prefix + "/src/pcre2_newline.c",
+    libpcre2_dist_prefix + "/src/pcre2_ord2utf.c",
+    libpcre2_dist_prefix + "/src/pcre2_pattern_info.c",
+    libpcre2_dist_prefix + "/src/pcre2_serialize.c",
+    libpcre2_dist_prefix + "/src/pcre2_string_utils.c",
+    libpcre2_dist_prefix + "/src/pcre2_study.c",
+    libpcre2_dist_prefix + "/src/pcre2_substitute.c",
+    libpcre2_dist_prefix + "/src/pcre2_substring.c",
+    libpcre2_dist_prefix + "/src/pcre2_tables.c",
+    libpcre2_dist_prefix + "/src/pcre2_ucd.c",
+    libpcre2_dist_prefix + "/src/pcre2_valid_utf.c",
+    libpcre2_dist_prefix + "/src/pcre2_xclass.c",
+    libpcre2_dist_prefix + "/src/pcre2_chartables.c",
+]
+
 cc_defaults {
     name: "pcre_defaults",
-    cflags: [
-        "-DHAVE_CONFIG_H",
-        "-Wno-self-assign",
-        "-Wno-unused-parameter",
+    cflags: ["-DHAVE_CONFIG_H"],
+    local_include_dirs: [
+        "include_internal",
+        "include",
     ],
-    local_include_dirs: ["dist"],
-    export_include_dirs: ["."],
+    export_include_dirs: ["include"],
 }
 
 // === libpcre targets ===
 
 cc_library {
-    name: "libpcre",
+    name: "libpcre2",
     defaults: ["pcre_defaults"],
     host_supported: true,
-    srcs: [
-        "pcre_chartables.c",
-        "dist/pcre_byte_order.c",
-        "dist/pcre_compile.c",
-        "dist/pcre_config.c",
-        "dist/pcre_dfa_exec.c",
-        "dist/pcre_exec.c",
-        "dist/pcre_fullinfo.c",
-        "dist/pcre_get.c",
-        "dist/pcre_globals.c",
-        "dist/pcre_jit_compile.c",
-        "dist/pcre_maketables.c",
-        "dist/pcre_newline.c",
-        "dist/pcre_ord2utf8.c",
-        "dist/pcre_refcount.c",
-        "dist/pcre_string_utils.c",
-        "dist/pcre_study.c",
-        "dist/pcre_tables.c",
-        "dist/pcre_ucd.c",
-        "dist/pcre_valid_utf8.c",
-        "dist/pcre_version.c",
-        "dist/pcre_xclass.c",
-    ],
+    srcs: libpcre2_src_files,
 }
 
 // === libpcrecpp targets ===
 
-cc_library_shared {
-    name: "libpcrecpp",
-    defaults: ["pcre_defaults"],
-
-    srcs: [
-        "dist/pcrecpp.cc",
-        "dist/pcre_scanner.cc",
-        "dist/pcre_stringpiece.cc",
-    ],
-    shared_libs: ["libpcre"],
-}
+//cc_library_shared {
+//    name: "libpcrecpp",
+//    cflags: libpcre_cflags,
+//    local_include_dirs: ["dist"],
+//
+//    srcs: libpcrecpp_src_files,
+//    shared_libs: ["libpcre"],
+//    export_include_dirs: ["."],
+//}