File: na-compiling.xml

package info (click to toggle)
nautilus-actions 3.2.2-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 28,456 kB
  • sloc: ansic: 52,125; xml: 14,749; sh: 11,612; makefile: 1,243
file content (275 lines) | stat: -rw-r--r-- 9,758 bytes parent folder | download | duplicates (2)
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY prodname "<productname>Nautilus-Actions</productname>">
  <!ENTITY nautilus "<productname>Nautilus</productname>">
]>

<refentry id="na-compiling" revision="4 Dec 2010">

  <refmeta>
    <refentrytitle>Compiling the Nautilus-Actions package</refentrytitle>
    <manvolnum>3</manvolnum>
    <refmiscinfo>Nautilus-Actions</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>Compiling the Nautilus-Actions Package</refname>
    <refpurpose>
      How to compile Nautilus-Actions
    </refpurpose>
  </refnamediv>

  <refsect1 id="building">
    <title>Building &prodname; on UNIX</title>

    <para>
      On UNIX, &prodname; uses the standard GNU build system,
      using <ulink url="http://www.gnu.org/software/autoconf/">
      <application>autoconf</application></ulink> for package
      configuration and resolving portability issues,
      <ulink url="http://www.gnu.org/software/automake/">
      <application>automake</application></ulink> for building makefiles
      that comply with the GNU Coding Standards, and
      <ulink url="http://www.gnu.org/software/libtool/">
      <application>libtool</application></ulink> for building shared
      libraries on multiple platforms. The normal sequence for
      compiling and installing the &prodname; package is thus:

      <literallayout>
        <userinput>./configure</userinput>
        <userinput>make</userinput>
        <userinput>make install</userinput>
      </literallayout>
    </para>

    <para>
      The standard options provided by <application>GNU
      autoconf</application> may be passed to the
      <command>configure</command> script.  Please see the
      <ulink url="http://www.gnu.org/software/autoconf/manual/index.html">
      <application>autoconf</application> documentation</ulink> or run
      <command>./configure --help</command> for information about
      the standard options.
    </para>
  </refsect1>

  <refsect1 id="dependencies">
    <title>Dependencies</title>

    <para>
      Before you can compile the &prodname; package, you need to have
      various other tools and libraries installed on your
      system. The two main tools needed during the build process (as
      differentiated from the tools used in when creating &prodname;
      mentioned above such as <application>autoconf</application>)
      are <command>pkg-config</command> and GNU make.
    </para>

    <itemizedlist>
      <listitem>
        <para>
          <ulink url="http://www.freedesktop.org/software/pkgconfig/">pkg-config</ulink>
          is a tool for tracking the compilation flags needed for
          libraries that are used by the &prodname; package.
          (For each library, a small <literal>.pc</literal> text file is
          installed in a standard location that contains the compilation
          flags needed for that library along with version number
          information.)
        </para>
      </listitem>
      <listitem>
        <para>
          The &prodname; makefiles will mostly work with different versions
          of <command>make</command>. However, there tends to be
          a few incompatibilities, so the &prodname; team recommends
          installing <ulink url="http://www.gnu.org/software/make">GNU
          make</ulink> if you don't already have it on your system
          and using it. (It may be called <command>gmake</command>
          rather than <command>make</command>.)
        </para>
      </listitem>
    </itemizedlist>

    <para>
      &prodname; depends on a number of other libraries.
    </para>

    <itemizedlist>
      <listitem>
        <para>
          <ulink url="http://library.gnome.org/devel/glib/stable/">GLib</ulink>
          and <ulink url="http://www.gtk.org/">Gtk+</ulink> are fondamental
          libraries, both for user interface and for portability and
          internationalization management.
        </para>
      </listitem>
      <listitem>
        <para>
          <ulink url="http://xmlsoft.org/">libxml2</ulink> is used to
          manage XML imports and exports.
        </para>
      </listitem>
      <listitem>
        <para>
          <ulink url="http://library.gnome.org/devel/libgtop/stable/">libgtop2</ulink>
          is used to detect and identify running processes as part of the validation
          process of a candidate context.
        </para>
      </listitem>
      <listitem>
        <para>
          <ulink url="http://www.x.org/">libSM</ulink> and
          <ulink url="http://www.x.org/">libICE</ulink>
          are used as a session management libraries, in order to be sure the session
          will not terminate without at least proposing the user to save his
          modifications.
        </para>
      </listitem>
      <listitem>
        <para>
          <ulink url="ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng">libUUID</ulink>
          is the universally unique ID library used to automatically generate a
          unique identifiant at item creation.
        </para>
      </listitem>
      <listitem>
        <para>
          <ulink url="http://www.gnome.org/~ebassi/source/">libunique</ulink>
          is required so that the Nautilus-Actions Configuration Tool only
          executes one instance.
        </para>
      </listitem>
      <listitem>
        <para>
          And, of course,
          <ulink url="http://projects.gnome.org/nautilus/">&nautilus; extension</ulink>
          is required because &prodname; is first a &nautilus; extension.
        </para>
      </listitem>
    </itemizedlist>
  </refsect1>

  <refsect1 id="extra-configuration-options">
    <title>Extra Configuration Options</title>

    <para>
      In addition to the normal options, the
      <command>configure</command> script in the &prodname; package
      supports these additional arguments:

      <cmdsynopsis>
        <command>configure</command>
        <group>
          <arg>--with-nautilus-extdir=DIR</arg>
        </group>
        <group>
          <arg>--with-default-io-provider=na-gconf|na-desktop</arg>
        </group>
        <group>
          <arg>--enable-html-manuals[=gdt|db2html]</arg>
        </group>
        <group>
          <arg>--enable-pdf-manuals[=dblatex]</arg>
        </group>
      </cmdsynopsis>
    </para>

    <formalpara>
      <title><systemitem>--with-nautilus-extdir=DIR</systemitem></title>
      <para>
        With this option, one may define an alternate directory where
        our &nautilus; extensions will be stored.
      </para>
      <para>
        This is most commonly useful:
      </para>
      <itemizedlist>
        <listitem>
          <para>
            In development mode, we only have to install symlinks
            from &nautilus; standard location to our development
            tree once. Then, each new version of our libraries
            will be automatically considered by &nautilus;.
          </para>
        </listitem>
        <listitem>
          <para>
            When running <command>make distcheck</command>, so that
            compiled libraries do not interfere with installed ones.
          </para>
        </listitem>
        <listitem>
          <para>
            When &nautilus; is not installed itself in a standard
            location.
          </para>
        </listitem>
      </itemizedlist>
    </formalpara>

    <formalpara>
      <title><systemitem>--with-default-io-provider=na-gconf|na-desktop</systemitem></title>
      <para>
        As of version 3.0, &prodname; may store menus and actions
        both in GConf, which is the historical behavior, or as
        <filename>.desktop</filename> files.
      </para>
      <para>
        This option lets the packager define which will be the
        default destination when a new menu or action will be
        created.
      </para>
      <para>
        This defaults to &quot;na-desktop&quot; which is the internal
        identifiant of the I/O provider which manages
        <filename>.desktop</filename> files.
      </para>
    </formalpara>

    <formalpara>
      <title><systemitem>--enable-html-manuals[=gdt|db2html]</systemitem></title>
      <para>
        This option lets the packager regenerate user's manuals
        from the DocBook sources as HTML documents.
      </para>
      <para>
        All available translations are generated.
      </para>
      <para>
        Building HTML documents from DocBook source can be
        realized through <application>gnome-doc-tool</application>
        or <application>db2html</application>.
        &prodname; defaults to use <application>gnome-doc-tool</application>
        as the output format better sticks with those of
        <application>Yelp</application>.
      </para>
      <para>
        As this option is always set when running
        <command>make distcheck</command>, the packager can be
        mostly sure that the distributed manuals are up to date,
        and may safely ignore this option.
      </para>
    </formalpara>

    <formalpara>
      <title><systemitem>--enable-pdf-manuals[=dblatex]</systemitem></title>
      <para>
        This option lets the packager regenerate user's manuals
        from the DocBook sources as PDF documents.
      </para>
      <para>
        All available translations are generated.
      </para>
      <para>
        As this option is always set when running
        <command>make distcheck</command>, the packager can be
        mostly sure that the distributed manuals are up to date,
        and may safely ignore this option.
      </para>
    </formalpara>

  </refsect1>

</refentry>