blob: 3b4b08cf7f0028b06184064fb5a0b8e71ce0878c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<refentry id="building">
<refmeta>
<refentrytitle>Building</refentrytitle>
</refmeta>
<refnamediv>
<refname>Building</refname>
<refpurpose>How to build the Node Startup Controller</refpurpose>
</refnamediv>
<refsect1>
<title>Build dependencies</title>
<para>
The following additional libraries are required to build the
Node Startup Controller:
</para>
<variablelist>
<varlistentry>
<term>automotive-dlt >= 2.2.0</term>
</varlistentry>
<varlistentry>
<term>glib-2.0 >= 2.2.0</term>
</varlistentry>
<varlistentry>
<term>gio-2.0 >= 2.30.0</term>
</varlistentry>
<varlistentry>
<term>gobject-2.0 >= 2.30.0</term>
</varlistentry>
<varlistentry>
<term>libsystemd-daemon >= 183</term>
</varlistentry>
</variablelist>
<para>
In addition to this, and apart from standard tools like autoconf, automake
and libtool, the following command-line utilities need to be available for
building:
</para>
<itemizedlist>
<listitem>gdbus-codegen</listitem>
<listitem>
gtkdocize and related GTK-Doc tools (only needed for building the
reference manual)
</listitem>
</itemizedlist>
</refsect1>
<refsect1>
<title>Build Instructions</title>
<para>
Building and installing the Node Startup Controller is done in the following
3-4 steps:
</para>
<orderedlist>
<listitem>
<formalpara>
<title>Preparing the source tree</title>
<para>
This step is only required when building from the git repository. It will
prepare the tree for building the reference manual and will generate the
final build scripts (<literal>configure</literal> and
<literal>Makefile</literal> files) from the templates shipped along with the
source code:
<programlisting>./autogen.sh</programlisting>
</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Checking dependencies and configuring the build</title>
<para>
Checking for build-time dependencies and tweaking various build options, such as the
installation path etc. is done using the <literal>configure</literal> script, which
is called as follows in the toplevel directory of the source tree:
<programlisting>./configure [options]</programlisting>
The following custom configuration options are available:
<variablelist>
<varlistentry>
<term><literal>--enable-debug=<yes|no></literal></term>
<listitem>
<para>
Enables or disables debug builds. Enabling debugging will cause more
compiler warnings to be generated that are then treated as errors
and make the build fail. This is useful for catching problems during
development.
</para>
<para>
The default value is <literal>no</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>--{enable,disable}-gtk-doc</literal></term>
<listitem>
<para>
Specifies whether or not to build the HTML reference manual in
<literal>docs/reference/node-startup-controller/html/</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>--with-prioritised-luc-types=<comma separated integers></literal></term>
<listitem>
<para>
Allows to define an ordered list of LUC types to be prioritised
during start-up. The start groups corresponding to these LUC types
will be started before any other groups.
</para>
<para>
The default is an empty list.
</para>
</listitem>
</varlistentry>
</variablelist>
For more information about all available configuration options (such as
installation paths), run:
<programlisting>./configure --help</programlisting>
</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Building</title>
<para>
To actually build the Node Startup Controller and its reference manual,
simply run the following:
</para>
<programlisting>make</programlisting>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Installing</title>
<para>
To install the Node Startup Controller into the system using the paths
specified as part of the build configuration, simply run:
</para>
<programlisting>make install</programlisting>
</formalpara>
</listitem>
</orderedlist>
</refsect1>
</refentry>
|