1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Building and installing the gsignond daemon</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="gsignond API Reference Manual">
8 <link rel="up" href="ch01.html" title="GSignond building and installation">
9 <link rel="prev" href="ch01.html" title="GSignond building and installation">
10 <link rel="next" href="ch02.html" title="GSignond configuration">
11 <meta name="generator" content="GTK-Doc V1.19.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
16 <td width="100%" align="left"></td>
17 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
19 <td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
20 <td><a accesskey="n" href="ch02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
22 <div class="refentry">
23 <a name="gsignond-building"></a><div class="titlepage"></div>
24 <div class="refsect1">
25 <a name="building"></a><h2>Building gsignond</h2>
27 GSignond uses the standard GNU build system,
28 using <span class="application">autoconf</span> for package
29 configuration and resolving portability issues,
30 <span class="application">automake</span> for building makefiles
31 that comply with the GNU Coding Standards, and
32 <span class="application">libtool</span> for building shared
33 libraries on multiple platforms. The normal sequence for
34 compiling and installing gsignond from distribution tarballs is thus:
37 <div class="literallayout"><p><br>
38 <strong class="userinput"><code>./configure</code></strong><br>
39 <strong class="userinput"><code>make</code></strong><br>
40 <strong class="userinput"><code>make install</code></strong><br>
44 If you have obtained the source code directly from git repository,
45 execute the <span class="command"><strong>./autogen.sh</strong></span> script
46 before the steps above.
49 The standard options provided by <span class="application">GNU
50 autoconf</span> may be passed to the
51 <span class="command"><strong>configure</strong></span> script. Please see the
52 <span class="application">autoconf</span> documentation or run
53 <span class="command"><strong>./configure --help</strong></span> for information about
57 <div class="refsect1">
58 <a name="dependencies"></a><h2>Dependencies</h2>
60 Before you can compile GSignond, you need to have
61 various other tools and libraries installed on your
62 system. The two tools needed during the build process
63 are <span class="command"><strong>pkg-config</strong></span> and
64 <a class="ulink" href="http://www.gnu.org/software/make" target="_top">GNU make</a>.
66 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
67 <a class="ulink" href="http://www.freedesktop.org/software/pkgconfig/" target="_top">pkg-config</a>
68 is a tool for tracking the compilation flags needed for
69 libraries that are used by the GSignond. (For each
70 library, a small <code class="literal">.pc</code> text file is
71 installed in a standard location that contains the compilation
72 flags needed for that library along with version number
76 GSignond depends on a number of other libraries.
78 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
79 <li class="listitem"><p>
80 The <a class="ulink" href="https://developer.gnome.org/glib/" target="_top">GLib
81 library</a> is the development framework that GSignond is built on.
83 <li class="listitem"><p>
84 The <a class="ulink" href="http://www.sqlite.org/" target="_top">SQLite library</a>
85 provides a database implementation that GSignond is using for
88 <li class="listitem"><p>
89 The <a class="ulink" href="http://check.sourceforge.net/" target="_top">check library</a>
90 provides a unit testing framework. It is needed only if you would
91 like to run unit tests with <span class="command"><strong>make check</strong></span>.
93 <li class="listitem"><p>
94 For building Tizen extension module that integrates gsignond into
95 the Tizen platform, the
96 <a class="ulink" href="http://schaufler-ca.com/" target="_top">libsmack</a> and
97 <a class="ulink" href="http://ecryptfs.org/" target="_top">ecryptfs</a> are required.
98 They are not needed otherwise.
102 <div class="refsect1">
103 <a name="extra-configuration-options"></a><h2>Extra Configuration Options</h2>
105 In addition to the normal options, the
106 <span class="command"><strong>configure</strong></span> script supports these additional arguments:
108 <p><b><code class="systemitem">--enable-debug</code>. </b>
109 Turns on debugging support. This enables unit tests and allows setting
110 environment variables to influence the runtime behaviour of GSignond
111 (see <a class="link" href="GSignondConfig.html" title="GSignondConfig">GSignondConfig</a> and
112 <a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager">GSignondAccessControlManager</a>).
113 Also, the daemon will exit in case of critical errors.
115 <p><b><code class="systemitem">--enable-sql-log</code>. </b>
116 Turns on SQL statement logging. For this, also
117 <code class="systemitem">--enable-debug</code> must be used.
119 <p><b><code class="systemitem">--enable-dbus-type=dbus-type</code>. </b>
120 Sets the way in which GSignond is using DBus to communicate with
121 the client library. <code class="systemitem">dbus-type</code> can be one of
123 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
124 <li class="listitem"><p>
125 <code class="systemitem">'p2p'</code> which is the default and recommended
126 value. GSignond will use direct connection over a UNIX domain socket
127 with the client library without involving the DBus daemon.
129 <li class="listitem"><p>
130 <code class="systemitem">'session'</code> which will use the session bus.
131 This is not recommended to use because session bus isn't secure
132 against eavesdropping, but it can be used for debugging purposes,
133 as it allows the use of standard tools such as
134 <span class="command"><strong>dbus-monitor</strong></span>, <span class="command"><strong>d-feet</strong></span> and
137 <li class="listitem"><p>
138 <code class="systemitem">'system'</code> which will use the system bus.
139 Can be used on a single-user systems, but 'p2p' is preferred.
145 <div class="refsect1">
146 <a name="building-packages"></a><h2>Building distribution packages</h2>
148 Instead of running <span class="command"><strong>make install</strong></span> to install gsignond
149 into a system location it is possible to build distribution-specific
150 packages. <code class="filename">dists/</code> directory in the source tree
151 contains a number of package confuguration files, and to use them also
152 a distribution tarball is needed. If you are building from a git tree,
153 use <span class="command"><strong>make dist</strong></span> to create such a tarball.
159 Generated by GTK-Doc V1.19.1</div>