<?xml version='1.0' encoding="UTF-8"?>

<part id="tracker-overview">
  <title>Overview</title>
  <partintro>
    <para>
      The libtracker-miner library is the foundation for Tracker data miners,
      these miners will extract metadata and insert it in SPARQL form to
      a TrackerSparqlConnection.
    </para>
    <para>
      The abstract objects provided by this library implement the data indexing
      logic necessary for different data and patterns. They merely provide the
      guidelines, SPARQL updates are also possible without a libtracker-miner
      object implementation.
    </para>
  </partintro>

  <chapter id="tracker-overview-compiling">
    <title>Compiling applications</title>

    <para>
      To compile applications using libtracker-miner, you
      need to tell the compiler where to find the proper header files
      and libraries. This is done with the
      <application>pkg-config</application> utility.
    </para>

    <para>
      The following interactive shell session demonstrates how
      <application>pkg-config</application> is used (the actual output on
      your system may be different):
<programlisting>
$ pkg-config --cflags tracker-miner-2.0
-pthread -I/usr/include/tracker-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/tracker-2.0/libtracker-sparql

$ pkg-config --libs tracker-miner-2.0
-pthread -Wl,--export-dynamic -ltracker-miner-2.0 -ltracker-sparql-2.0 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

</programlisting>
    </para>
    <para>
      The simplest way to compile a program is to use the "backticks"
      feature of the shell. If you enclose a command in backticks
      (<emphasis>not single quotes</emphasis>), then its output will be
      substituted into the command line before execution:
<programlisting>
 $ cc `pkg-config --cflags --libs tracker-miner-2.0` hello.c -o hello
</programlisting>
    </para>
  </chapter>
</part>
