<?xml version="1.0" encoding="UTF-8"?>
<package schemaVersion="1.6" 
  xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
  <vendor>tensorflow</vendor>
  <name>tensorflow-lite-micro</name>
  <description>Deep learning framework for on-device inference.</description>
  <!-- web download link -->
  <url>https://github.com/MDK-Packs/tensorflow-pack/releases/download/1.22.5-rc4/</url>
  <license>LICENSE</license>
  <repository type="git">https://github/MDK-Packs/tensorflow-pack.git</repository>
  <releases>
    <release version="1.22.5-rc4" date="2022-06-13"> Latest release. </release>
    <release version="1.22.2" url="https://github.com/MDK-Packs/tensorflow-pack/releases/download/1.22.2/tensorflow.tensorflow-lite-micro.1.22.2.pack" date="2022-06-07">First release synchronized with released versions from https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u/ (rev 22.02)</release>
<release version="0.4.0" url="https://github.com/MDK-Packs/tensorflow-pack/releases/download/0.4.0/tensorflow.tensorflow-lite-micro.0.4.0.pack" date="2022-05-31">First release listed on pack repository</release>

  </releases>

  <taxonomy>
    <description Cclass="Machine Learning">Software Components for Machine Learning</description>
  </taxonomy>

  <conditions>
    <condition id="CMSIS-NN">
        <require condition="Kernel Utils"/>
        <require condition="3rd Party"/>
        <require Cclass="CMSIS" Cgroup="NN Lib"/>
    </condition>
    <condition id="Reference">
        <require condition="Kernel Utils"/>
        <require condition="3rd Party"/>       
    </condition>
    <condition id="Ethos-U">
        <require condition="Kernel Utils"/>
        <require condition="3rd Party"/>
        <require Cclass="Machine Learning" Cgroup="NPU Support" Csub="Ethos-U Driver"/>
    </condition>
    <condition id="Kernel Utils">
        <require Cclass="Machine Learning" Cgroup="TensorFlow" Csub="Kernel Utils"/>
    </condition>
    <condition id="3rd Party">
      <require Cclass="Data Processing" Cgroup="Math" Csub="kissfft" Cvariant="tensorflow"/>
      <require Cclass="Data Processing" Cgroup="Math" Csub="ruy" Cvariant="tensorflow"/>
      <require Cclass="Data Processing" Cgroup="Math" Csub="gemmlowp fixed-point" Cvariant="tensorflow"/>
      <require Cclass="Data Exchange" Cgroup="Serialization" Csub="flatbuffers" Cvariant="tensorflow"/>
    </condition>    
  </conditions>

  <components>
    <component Cclass="Machine Learning" Cgroup="TensorFlow" Csub="Kernel" Cvariant="Reference" Cversion="1.22.5-rc4" condition="Reference">
      <description>TensorFlow Lite Micro Library</description>
      <RTE_Components_h>
        <!-- the following content goes into file 'RTE_Components.h' -->
        #define RTE_ML_TF_LITE     /* TF */
      </RTE_Components_h>
      <Pre_Include_Global_h>
        // enabling global pre includes 
        #define TF_LITE_STATIC_MEMORY 1
      </Pre_Include_Global_h>
      <files>
        
        <file category="include" name="./"/>
      </files>
    </component>
    <component Cclass="Machine Learning" Cgroup="TensorFlow" Csub="Kernel" Cvariant="CMSIS-NN" Cversion="1.22.5-rc4" condition="CMSIS-NN" >
      <description>TensorFlow Lite Micro Library</description>
      <RTE_Components_h>
        <!-- the following content goes into file 'RTE_Components.h' -->
        #define RTE_ML_TF_LITE     /* TF */
      </RTE_Components_h>
      <Pre_Include_Global_h>
        // enabling global pre includes 
        #define TF_LITE_STATIC_MEMORY 1
        #define CMSIS_NN
      </Pre_Include_Global_h>
      <files>
        
        <file category="include" name="./"/>
      </files>
    </component>
    <component Cclass="Machine Learning" Cgroup="TensorFlow" Csub="Kernel" Cvariant="Ethos-U" Cversion="1.22.5-rc4" condition="Ethos-U">
      <description>TensorFlow Lite Micro Library</description>
      <RTE_Components_h>
        <!-- the following content goes into file 'RTE_Components.h' -->
        #define RTE_ML_TF_LITE     /* TF */
      </RTE_Components_h>
      <Pre_Include_Global_h>
        // enabling global pre includes 
        #define TF_LITE_STATIC_MEMORY 1
        #define TF_LITE_DISABLE_X86_NEON 1
        //#define TF_LITE_STRIP_ERROR_STRINGS 1
        #define CMSIS_NN
      </Pre_Include_Global_h>
      <files>
         
        <file category="include" name="./"/>
      </files>
    </component>
     <!-- this component can be merged into the Kernel components, when duplicate module name issue is solved elsewhere -->
    <component Cclass="Machine Learning" Cgroup="TensorFlow" Csub="Kernel Utils" Cversion="1.22.5-rc4">
      <description>TensorFlow Lite Micro Library</description>
      <files>
        <file category="sourceCpp" name="tensorflow/lite/kernels/kernel_util.cpp"/> 
        <file category="sourceCpp" name="tensorflow/lite/micro/system_setup.cpp" version="1.22.5-rc4" attr="config"/>
        <file category="sourceCpp" name="tensorflow/lite/micro/cortex_m_generic/micro_time.cpp" version="1.22.5-rc4" attr="config"/>
        <file category="sourceCpp" name="tensorflow/lite/micro/cortex_m_generic/debug_log.cpp" version="1.22.5-rc4" attr="config"/>
        
      </files>
    </component>
    <component Cclass="Machine Learning" Cgroup="TensorFlow" Csub="Testing" Cversion="1.22.5-rc4">
      <description>TensorFlow Lite Micro Library</description>
      <RTE_Components_h>
        <!-- the following content goes into file 'RTE_Components.h' -->
        #define RTE_ML_TF_LITE     /* TF */
      </RTE_Components_h>
      <files>
                <file category="include" name="tensorflow/lite/micro/testing/"/> 

        <file category="include" name="./"/>
      </files>
    </component>

  </components>
</package>
