Make the sentencepiece op and the ragged op compile am: 1101235e13 am: c07ecc9d3f am: cd41010b1c

Original change: https://android-review.googlesource.com/c/platform/external/tflite-support/+/1634620

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id97c6751c19a39cd66b75195187520db30480826
diff --git a/Android.bp b/Android.bp
index c83570b..3264068 100644
--- a/Android.bp
+++ b/Android.bp
@@ -6,6 +6,10 @@
     export_include_dirs: ["."],
     srcs: [
         "tensorflow_lite_support/cc/utils/common_utils.cc",
+        "tensorflow_lite_support/custom_ops/kernel/sentencepiece/sentencepiece_tokenizer_tflite.cc",
+        "tensorflow_lite_support/custom_ops/kernel/sentencepiece/optimized_encoder.cc",
+        "tensorflow_lite_support/custom_ops/kernel/ragged/ragged_range_tflite.cc",
+        "tensorflow_lite_support/custom_ops/kernel/ragged/ragged_tensor_to_tensor_tflite.cc",
     ],
     cflags: [
         "-Werror",
@@ -15,8 +19,13 @@
         "-Wno-unused-parameter",
         "-Wno-unused-variable",
     ],
+    generated_headers: [
+        "tflite_support_spm_config",
+        "tflite_support_spm_encoder_config"
+    ],
     header_libs: [
         "tensorflow_headers",
+        "flatbuffer_headers",
     ],
     static_libs: [
         "libtextclassifier_abseil",
@@ -29,3 +38,30 @@
 
     visibility: ["//external/libtextclassifier:__subpackages__"],
 }
+
+
+// -----------------
+// Generate headers with FlatBuffer schema compiler.
+// -----------------
+genrule_defaults {
+    name: "tflite_support_fbgen",
+    tools: ["flatc"],
+    // "depfile" is used here in conjunction with flatc's -M to gather the deps
+    cmd: "$(location flatc) --cpp --no-union-value-namespacing --gen-object-api --keep-prefix -I external/tflite-support -M $(in) >$(depfile) && " +
+        "$(location flatc) --cpp --no-union-value-namespacing --gen-object-api --keep-prefix -I external/tflite-support -o $$(dirname $(out)) $(in)",
+    depfile: true,
+}
+
+genrule {
+    name: "tflite_support_spm_config",
+    srcs: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/config.fbs"],
+    out: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/config_generated.h"],
+    defaults: ["tflite_support_fbgen"],
+}
+
+genrule {
+    name: "tflite_support_spm_encoder_config",
+    srcs: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config.fbs"],
+    out: ["tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config_generated.h"],
+    defaults: ["tflite_support_fbgen"],
+}
diff --git a/tensorflow_lite_support/custom_ops/kernel/sentencepiece/decoder_config.fbs b/tensorflow_lite_support/custom_ops/kernel/sentencepiece/decoder_config.fbs
index 4a230ed..21a155d 100644
--- a/tensorflow_lite_support/custom_ops/kernel/sentencepiece/decoder_config.fbs
+++ b/tensorflow_lite_support/custom_ops/kernel/sentencepiece/decoder_config.fbs
@@ -13,7 +13,7 @@
 limitations under the License.
 ==============================================================================*/
 
-include "config.fbs";
+include "tensorflow_lite_support/custom_ops/kernel/sentencepiece/config.fbs";
 
 namespace tflite.ops.custom.sentencepiece;
 
diff --git a/tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config.fbs b/tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config.fbs
index 7f1f2ba..eac962e 100644
--- a/tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config.fbs
+++ b/tensorflow_lite_support/custom_ops/kernel/sentencepiece/encoder_config.fbs
@@ -11,7 +11,7 @@
 // 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.
-include "config.fbs";
+include "tensorflow_lite_support/custom_ops/kernel/sentencepiece/config.fbs";
 
 namespace tflite.ops.custom.sentencepiece;