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 "na-desktop" 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>
|