source: xsoft/graphweb/mozilla.xml@ 4694b14

10.0 10.1 11.0 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 ken/refactor-virt krejzi/svn lazarus nosym perl-modules qt5new systemd-11177 systemd-13485 trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 4694b14 was 4694b14, checked in by Randy McMurchy <randy@…>, 16 years ago

Replaced the commands to modify the *ns*.pc pkgconfig files with commands to create symlinks to the actual NSS/NSPR .pc files in the Firefox, Mozilla and Thunderbird instructions as suggested by Dan Nicholson

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5673 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 32.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY mozilla-download-http "http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
8 <!ENTITY mozilla-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
9 <!ENTITY mozilla-md5sum "f1ad6adbbc0510eb76d352c94c801fac">
10 <!ENTITY mozilla-size "30.4 MB">
11 <!ENTITY mozilla-buildsize "575 MB">
12 <!ENTITY mozilla-time "9.4 SBU">
13
14 <!--
15
16 BLFS Devs:
17
18 The information below is for the Enigmail and IPC downloads. Additionally,
19 a makemake file is download because we cannot build Enigmail using an
20 object directory without it. Informaiton about the Enigmail source to
21 check for updates is located at http://enigmail.mozdev.org/source.html.
22
23 The link to the makemake file is near the end of the page in the section
24 titled "Using OBJDIR when building Enigmail". Ensure you check the rev
25 level of the link and update the "enigmail-makemake-version" entitity
26 if necessary. In case you are wondering why the version has the question
27 mark and "rev=" in it, it is because the complete URL is used in a command
28 and it would extend past the 71 characters that PDF render is limited to.
29 It should make sense after you see it rendered in the wget command.
30
31 -->
32
33 <!ENTITY mozilla-enigmail-version "0.93.0">
34 <!ENTITY mozilla-ipc-version "1.1.3">
35 <!ENTITY enigmail-makemake-version "?rev=1.3">
36 <!ENTITY mozilla-enigmail-download "http://www.mozilla-enigmail.org/downloads/src/enigmail-&mozilla-enigmail-version;.tar.gz">
37 <!ENTITY mozilla-ipc-download "http://www.mozilla-enigmail.org/downloads/src/ipc-&mozilla-ipc-version;.tar.gz">
38 <!ENTITY enigmail-makemake-download "http://www.mozdev.org/source/browse/~checkout~/enigmail/src/makemake">
39 <!ENTITY mozilla-enigmail-md5sum "cb7126705924cb7f0de205b4ff4e28b4">
40 <!ENTITY mozilla-ipc-md5sum "64ba4c6e3b52568468c4f6680ec7e679">
41]>
42
43<sect1 id="mozilla" xreflabel="Mozilla-&mozilla-version;">
44 <?dbhtml filename="mozilla.html" ?>
45
46 <sect1info>
47 <othername>$LastChangedBy$</othername>
48 <date>$Date$</date>
49 <keywordset>
50 <keyword role="package">mozilla-&mozilla-version;-source.tar</keyword>
51 <keyword role="ftpdir">mozilla</keyword>
52 </keywordset>
53 </sect1info>
54
55 <title>Mozilla-&mozilla-version;</title>
56
57 <indexterm zone="mozilla">
58 <primary sortas="a-Mozilla">Mozilla</primary>
59 </indexterm>
60
61 <sect2 role="package">
62 <title>Introduction to Mozilla</title>
63
64 <para><application>Mozilla</application> is a browser suite, the Open
65 Source sibling of <application>Netscape</application>. It includes the
66 browser, composer, mail and news clients, a calendar client and an
67 IRC client.</para>
68
69 <para>The <application>Mozilla</application> project also hosts two
70 subprojects that aim to satisfy the needs of users who don't need the
71 complete browser suite or prefer to have separate applications for
72 browsing and e-mail. These subprojects are <ulink
73 url="http://www.mozilla.com/firefox/">Mozilla Firefox</ulink>,
74 (a stand-alone browser based on the <application>Mozilla</application>
75 source code) and <ulink
76 url="http://www.mozilla.com/thunderbird/">Mozilla Thunderbird</ulink>,
77 (a stand-alone mail/newsgroup client based on the
78 <application>Mozilla</application> source code). The build instructions
79 for these two applications are discussed in separate sections:</para>
80
81 <itemizedlist>
82 <listitem>
83 <para><xref linkend="firefox"/></para>
84 </listitem>
85 <listitem>
86 <para><xref linkend="thunderbird"/></para>
87 </listitem>
88 </itemizedlist>
89
90 <bridgehead renderas="sect3">Package Information</bridgehead>
91 <itemizedlist spacing="compact">
92 <listitem>
93 <para>Download (HTTP): <ulink url="&mozilla-download-http;"/></para>
94 </listitem>
95 <listitem>
96 <para>Download (FTP): <ulink url="&mozilla-download-ftp;"/></para>
97 </listitem>
98 <listitem>
99 <para>Download MD5 sum: &mozilla-md5sum;</para>
100 </listitem>
101 <listitem>
102 <para>Download size: &mozilla-size;</para>
103 </listitem>
104 <listitem>
105 <para>Estimated disk space required: &mozilla-buildsize;</para>
106 </listitem>
107 <listitem>
108 <para>Estimated build time: &mozilla-time;</para>
109 </listitem>
110 </itemizedlist>
111
112 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
113 <itemizedlist spacing="compact">
114 <listitem>
115 <para>Required patch: <ulink
116 url="&patch-root;/mozilla-&mozilla-version;-gcc4-1.patch"/></para>
117 </listitem>
118 <listitem>
119 <para>Required patch: <ulink
120 url="&patch-root;/mozilla-&mozilla-version;-gfx_fixes-1.patch"/></para>
121 </listitem>
122 <listitem>
123 <para>Required patch (if using system-installed versions of
124 <application>NSS</application> and <application>NSPR</application>):
125 <ulink
126 url="&patch-root;/mozilla-&mozilla-version;-system_nss-1.patch"/>
127 </para>
128 </listitem>
129 </itemizedlist>
130
131 <para>To enable the <application>Enigmail</application> extension to
132 the <application>Mozilla</application> mail client, you'll need to
133 download the two tarballs and <command>makemake</command> file listed
134 below. The <application>Enigmail</application> extension allows users to
135 access the authentication and encryption features provided by the
136 <application>GnuPG</application> package. The
137 <application>Enigmail</application> extension will not operate correctly
138 unless you have <xref linkend="gnupg"/> installed.</para>
139
140 <itemizedlist spacing='compact'>
141 <listitem>
142 <para><ulink url="&mozilla-enigmail-download;"/></para>
143 </listitem>
144 <listitem>
145 <para>Download MD5 sum (Enigmail): &mozilla-enigmail-md5sum;</para>
146 </listitem>
147 <listitem>
148 <para><ulink url="&mozilla-ipc-download;"/></para>
149 </listitem>
150 <listitem>
151 <para>Download MD5 sum (IPC): &mozilla-ipc-md5sum;</para>
152 </listitem>
153 <listitem>
154 <para><ulink
155 url="&enigmail-makemake-download;&enigmail-makemake-version;"/></para>
156 </listitem>
157 </itemizedlist>
158
159 <para>The <command>makemake</command> file is an enhanced version that will
160 be copied into the source tree to replace an existing file during the
161 installation instructions. The instructions expect the file to be named
162 <filename>mozilla-&mozilla-version;-enigmail_makemake</filename>. If you
163 have <xref linkend="wget"/> installed, you can download and rename the file
164 in one step using the following command:</para>
165
166<screen><userinput>wget -O mozilla-&mozilla-version;-enigmail_makemake \
167&enigmail-makemake-download;\
168&enigmail-makemake-version;</userinput></screen>
169
170 <bridgehead renderas="sect3">Mozilla Dependencies</bridgehead>
171
172 <bridgehead renderas="sect4">Required</bridgehead>
173 <para role="required"><xref linkend="gtk2"/>,
174 <xref linkend="libidl"/>, and
175 <xref linkend="zip"/></para>
176
177 <para>Note: <application>libjpeg</application> should have been installed
178 before <application>GTK+</application> and should exist on your system. If
179 for some reason you haven't installed <application>libjpeg</application>,
180 you should remove the <option>--with-system-jpeg</option> option from the
181 <filename>.mozconfig</filename> file created below.</para>
182
183 <bridgehead renderas="sect4">Recommended (if you will be installing any
184 other package that utilizes NSS/NSPR, such as
185 <application>Firefox</application>,
186 <application>Thunderbird</application> or
187 <application>Evolution</application>)</bridgehead>
188 <para role="recommended"><xref linkend="nss"/></para>
189
190 <bridgehead renderas="sect4">Optional</bridgehead>
191 <para role="optional"><xref linkend="unzip"/>,
192 <xref linkend="gnome-vfs"/> (to build the gnomevfs extension),
193 <xref linkend="libart_lgpl"/>, and
194 <xref linkend="heimdal"/> or <xref linkend="mitkrb"/>
195 (for the GSSAPI libraries to build the negotiateauth extension)</para>
196
197 </sect2>
198
199 <sect2 role="installation">
200 <title>Installation of Mozilla</title>
201
202 <para>The configuration of <application>Mozilla</application> is
203 accomplished by creating a <filename>.mozconfig</filename> file containing
204 the desired configuration options. A default <filename>.mozconfig</filename>
205 file is created below. To see the entire list of available configuration
206 options (and an abbreviated description of each one), issue
207 <command>./configure --help</command>. Additional information can also be
208 found below in the section titled <xref linkend="add-mozconfig"/>. If you
209 are going to use system-installed versions of the
210 <application>NSS</application> and <application>NSPR</application>
211 libraries, ensure you uncomment the two lines at the bottom of the file. If
212 you would prefer to download the file instead of creating it by typing or
213 cut-and-pasting, you can find it at <ulink
214 url="&files-anduin;/mozilla-&mozilla-version;-mozconfig"/>
215 (the file must be installed in the root of the source tree
216 <filename class='directory'>mozilla</filename> directory, and named
217 <filename>.mozconfig</filename>). Create the file by issuing the following
218 command:</para>
219
220<screen><userinput>cat &gt; .mozconfig &lt;&lt; "EOF"
221<literal># Options for client.mk
222
223mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-build
224
225# Options for 'configure' (same as command-line options)
226
227# Mandatory options
228ac_add_options --enable-application=suite
229ac_add_options --prefix=/usr
230
231# Options for system-installed software
232ac_add_options --with-system-zlib
233ac_add_options --with-system-png
234ac_add_options --with-system-jpeg
235
236# Options in all Mozilla-family builds
237ac_add_options --enable-official-branding
238ac_add_options --enable-strip
239ac_add_options --disable-tests
240ac_add_options --disable-installer
241ac_add_options --disable-accessibility
242
243# Options used for graphics settings in Mozilla Suite (Not Seamonkey)
244ac_add_options --enable-default-toolkit=gtk2
245ac_add_options --enable-xft
246ac_add_options --disable-freetype2
247
248# Options used just for Mozilla Suite (Not Seamonkey)
249ac_add_options --enable-optimize
250ac_add_options --disable-debug
251ac_add_options --disable-logging
252ac_add_options --enable-crypto
253ac_add_options --enable-extensions=all
254
255# Options used just for Mozilla Suite
256ac_add_options --enable-ldap
257ac_add_options --enable-calendar
258
259# Options used for system-installed NSS/NSPR
260#ac_add_options --with-system-nspr
261#ac_add_options --with-system-nss</literal>
262
263EOF</userinput></screen>
264
265 <para>If you have system-installed Network Security Services (NSS) and
266 Netscape Portable Runtime (NSPR) libraries and you uncommented the
267 appropriate lines in the <filename>.mozconfig</filename> file to utilize
268 them, apply the following patch:</para>
269
270<screen><userinput>patch -Np1 -i ../mozilla-&mozilla-version;-system_nss-1.patch</userinput></screen>
271
272 <para>Compile <application>Mozilla</application> by running the
273 following commands:</para>
274
275<screen><userinput>export MOZILLA_OFFICIAL="1" &amp;&amp;
276export BUILD_OFFICIAL="1" &amp;&amp;
277
278patch -Np1 -i ../mozilla-&mozilla-version;-gfx_fixes-1.patch &amp;&amp;
279patch -Np1 -i ../mozilla-&mozilla-version;-gcc4-1.patch &amp;&amp;
280
281make -f client.mk build</userinput></screen>
282
283 <para>If you're building the <application>Mozilla</application>
284 mail/newsgroup client and plan to install the
285 <application>Enigmail</application> extension, issue the following
286 commands:</para>
287
288<screen><userinput>tar -xf ../enigmail-&mozilla-enigmail-version;.tar.gz -C extensions &amp;&amp;
289tar -xf ../ipc-&mozilla-ipc-version;.tar.gz -C extensions &amp;&amp;
290
291install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \
292 extensions/ipc/makemake &amp;&amp;
293install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \
294 extensions/enigmail/makemake &amp;&amp;
295
296cd extensions/ipc &amp;&amp;
297./makemake -r &amp;&amp;
298
299cd ../enigmail &amp;&amp;
300./makemake -r &amp;&amp;
301
302cd ../.. &amp;&amp;
303make -C ../mozilla-build/extensions/ipc &amp;&amp;
304make -C ../mozilla-build/extensions/enigmail &amp;&amp;
305make -C ../mozilla-build/extensions/enigmail xpi</userinput></screen>
306
307 <para>Install <application>Mozilla</application> by issuing the following
308 commands as the <systemitem class="username">root</systemitem> user:</para>
309
310<screen role="root"><userinput>make -f client.mk install &amp;&amp;
311
312install -v -m644 ../mozilla-build/dist/public/ldap-private/* \
313 /usr/include/mozilla-&mozilla-version;/ldap &amp;&amp;
314
315install -v -m755 -d /usr/lib/mozilla-&mozilla-version;/defaults/isp/US &amp;&amp;
316install -v -m644 mailnews/base/ispdata/movemail.rdf \
317 /usr/lib/mozilla-&mozilla-version;/defaults/isp &amp;&amp;
318ln -v -s ../movemail.rdf /usr/lib/mozilla-&mozilla-version;/defaults/isp/US</userinput></screen>
319
320<!-- Commenting this out per the discussion on BLFS-Dev about this.
321 The stuff commented out below is replaced with text in the
322 Configuration section to create links to any system-wide
323 plugins the user may have installed
324
325if [ -L /usr/lib/mozilla/plugins ]; then
326 rm /usr/lib/mozilla/plugins
327fi &amp;&amp;
328if [ -L /usr/lib/mozilla ]; then
329 rm /usr/lib/mozilla
330fi &amp;&amp;
331
332install -v -m755 -d /usr/lib/mozilla/plugins &amp;&amp;
333cp -v /usr/lib/mozilla-1.7.12/plugins/* /usr/lib/mozilla/plugins &amp;&amp;
334rm -f /usr/lib/mozilla-1.7.12/plugins &amp;&amp;
335ln -v -s ../mozilla/plugins /usr/lib/mozilla-1.7.12 &amp;&amp;
336-->
337
338<!-- The following commented out per the discussion on BLFS-Dev. It
339 has been determined that we will no longer continue to support
340 broken programs that don't look at pkgconfig files to find out
341 where Mozilla is installed
342
343ln -v -nsf mozilla-&mozilla-version; /usr/include/mozilla &amp;&amp;
344ln -v -nsf mozilla-&mozilla-version; /usr/lib/mozilla &amp;&amp;
345-->
346
347 <para>If you built <application>Mozilla</application> utilizing
348 system-installed NSS and NSPR libraries, the
349 <filename>mozilla-ns*.pc</filename> <application>pkgconfig</application>
350 files are broken as they point to the wrong directories where the actual
351 libraries and interface headers are located. Issue the following commands
352 as the <systemitem class="username">root</systemitem> user to replace the
353 broken files with symbolic links to known good files:</para>
354
355<screen role="root"><userinput>ln -v -sf nss.pc /usr/lib/pkgconfig/mozilla-nss.pc &amp;&amp;
356ln -v -sf nspr.pc /usr/lib/pkgconfig/mozilla-nspr.pc</userinput></screen>
357
358 <para>If you did <emphasis role="strong">NOT</emphasis> build
359 <application>Mozilla</application> utilizing system-installed NSS and
360 NSPR libraries, issue the following commands as the
361 <systemitem class="username">root</systemitem> user to install the NSS
362 interface headers:</para>
363
364<screen role="root"><userinput>install -v -m755 -d /usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
365cp -v -Lf ../mozilla-build/dist/{private,public}/nss/*.h \
366 /usr/include/mozilla-&mozilla-version;/nss</userinput></screen>
367
368 <para>If you built the <application>Enigmail</application> extension,
369 issue the following commands as the <systemitem
370 class="username">root</systemitem> user to install the
371 <filename>.xpi</filename> file into the
372 <filename class='directory'>/usr/lib/mozilla-&mozilla-version;</filename>
373 directory:</para>
374
375<screen role="root"><userinput>install -v -m755 -d /usr/lib/mozilla-&mozilla-version;/xpi_store &amp;&amp;
376install -v -m644 ../mozilla-build/dist/bin/enigmail-&mozilla-enigmail-version;-*.xpi \
377 /usr/lib/mozilla-&mozilla-version;/xpi_store</userinput></screen>
378
379 <para>There are two methods you can use to install the
380 <application>Enigmail</application> extension. Both are shown here and
381 provide the same functionality. The first method must be accomplished
382 now (before the object directory is removed) and uses the conventional
383 <command>make install</command> command to install the
384 <application>Enigmail</application> files straight from the distribution
385 directory of the object directory. An alternate method is shown as it
386 installs using the <filename class='extension'>.xpi</filename> file
387 created earlier and can be done later (at any time you desire) as the
388 file used to install <application>Enigmail</application> was copied into
389 <filename
390 class='directory'>/usr/lib/mozilla-&mozilla-version;/xpi_store</filename>
391 in the previous step. This method can be used to install any
392 downloaded <application>Mozilla</application> extension distributed in a
393 <filename class='extension'>.xpi</filename> file. There are many
394 extensions available for <application>Mozilla</application>. A list
395 containing many of them can be found at
396 <ulink url="http://extensionroom.mozdev.org/"/>.</para>
397
398 <para>If you want to install the <application>Enigmail</application>
399 extension now, issue the following commands as the
400 <systemitem class="username">root</systemitem> user:</para>
401
402<screen role="root"><userinput>make -C ../mozilla-build/extensions/ipc install &amp;&amp;
403make -C ../mozilla-build/extensions/enigmail install</userinput></screen>
404
405 <para>To install an extension from a created or download
406 <filename class='extension'>.xpi</filename> file, you simply need to
407 <quote>open</quote> the <filename class='extension'>.xpi</filename> file
408 using the <quote>Open File</quote> option of the <quote>File</quote>
409 menu of the Navigator window. You can browse to find the file (for example,
410 the <application>Enigmail</application>
411 <filename class='extension'>.xpi</filename> file is located in
412 <filename
413 class='directory'>/usr/lib/mozilla-&mozilla-version;/xpi_store</filename>),
414 select it, then follow the prompts to install the extension.</para>
415
416 <!-- Commenting this out as there really is no need to put the Mozilla
417 Suite versions of NSS/NSPR in a system-wide location when there
418 is now a BLFS package that does this.
419
420 <para>Some libraries, including the Netscape Portable Runtime (NSPR) and
421 Network Security Services (NSS) libraries, installed by
422 <application>Mozilla</application> are also needed by other packages.
423 These libraries should be in <filename class="directory">/usr/lib</filename>
424 so that other packages can link against them. As the <systemitem
425 class="username">root</systemitem> user, move them as follows:</para>
426
427<screen role="root"><userinput>for i in \
428 lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk
429do
430 mv -v /usr/lib/mozilla-&mozilla-version;/$i /usr/lib/
431 ln -v -sf ../$i /usr/lib/mozilla-&mozilla-version;/
432done</userinput></screen>
433
434 -->
435
436 <!-- Commenting this out for now, as I believe this is only necessary
437 for the binary versions of Mozilla. I've built this and had many
438 system users access Mozilla simultaneously without having to do
439 the steps shown here.
440
441 <para>Create the required component registries to enable multi-user
442 installs. These steps should be preformed by the <systemitem
443 class="username">root</systemitem> user each time a
444 <application>Mozilla</application> add-on is installed. This will allow
445 unprivileged users to run <command>mozilla</command>. Enable multi-user
446 operation by executing the following:</para>
447
448<screen role="root"><userinput>cd /usr/lib/mozilla-&mozilla-version; &amp;&amp;
449export LD_LIBRARY_PATH="$PWD" &amp;&amp;
450export MOZILLA_FIVE_HOME="$PWD" &amp;&amp;
451./regxpcom &amp;&amp;
452./regchrome &amp;&amp;
453touch `find . -name *.rdf`</userinput></screen>
454
455 -->
456
457 <para>Unset the build variables from the unprivileged user's
458 environment:</para>
459
460<screen><userinput>unset MOZILLA_OFFICIAL &amp;&amp;
461unset BUILD_OFFICIAL</userinput></screen>
462
463 <note>
464 <para>You should run <command>/usr/bin/mozilla</command> once as the
465 <systemitem class="username">root</systemitem> user (or any user with
466 write privileges) to create some necessary additional files in the
467 <filename class='directory'>/usr</filename> hierarchy. Also do this
468 each time you install additional extensions.</para>
469 </note>
470
471 </sect2>
472
473 <sect2 role="commands" id="add-mozconfig"
474 xreflabel="Additional .mozconfig Options">
475
476 <title>Additional .mozconfig Options</title>
477
478 <para>Information about some of the additional options which can be added
479 to the <filename>.mozconfig</filename> configuration file is shown below.
480 Note that this is just a few of the options. You may wish to run
481 <command>./configure --help</command> and review each of the listed options
482 to discover what affect they have on the build. Feel free to add or remove
483 options to tailor the build to your desires. Listed below are some common
484 options not in the default <filename>.mozconfig</filename> file but can be
485 added in order to have the described effect on the Mozilla compile.</para>
486
487 <para><option>ac_add_options --enable-elf-dynstr-gc</option>: Removes
488 un-referenced strings from ELF shared objects generated during the build.
489 Note that this option breaks the build on alpha.</para>
490
491 <para><option>ac_add_options --disable-mailnews</option>: Disables the mail
492 and news clients.</para>
493
494 <para><option>ac_add_options --disable-ldap</option>: Disables LDAP support,
495 recommended if mail is disabled.</para>
496
497 <para><option>ac_add_options --enable-xterm-updates</option>: Displays the
498 current command in the <command>xterm</command> window title during the
499 compilation.</para>
500
501 <para><option>ac_add_options --enable-plaintext-editor-only</option>:
502 Disables support for HTML editing. Do not use this switch if you are
503 building the mail-news component.</para>
504
505 </sect2>
506
507 <sect2 role="commands">
508 <title>.mozconfig Option Explanations</title>
509
510 <para>To simplify reading the options below, they are labeled without
511 <parameter>ac_add_options</parameter> inserted at the beginning of the
512 option.</para>
513
514 <para><parameter>mk_add_options
515 MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-build</parameter>: Creates an object
516 directory and specifies to build the package in that directory. If desired,
517 modify the location of the object directory to a directory inside the
518 source tree by removing <quote>../</quote> from the line.</para>
519
520 <para><parameter>--enable-application=suite</parameter>: Identifies the
521 build as a <application>Mozilla</application> suite build.</para>
522
523 <para><parameter>--with-system-zlib --with-system-png
524 --with-system-jpeg</parameter>: Uses the system-installed versions of these
525 packages.</para>
526
527 <para><parameter>--enable-official-branding</parameter>: Uses the official
528 Mozilla logos and icons in the built binaries. Due to license restrictions,
529 you may not distribute binaries created using this option.</para>
530
531 <para><parameter>--enable-default-toolkit=gtk2 --enable-xft
532 --disable-freetype2</parameter>: Use the GTK2 toolkit for graphics
533 rendering and XFT (automatically pulls in the
534 <application>FreeType</application> libraries) for font rendering.</para>
535
536 <para><parameter>--enable-extensions=all</parameter>: Enables all available
537 extensions. If you want, you can disable any or all extensions other than
538 the browser by changing this switch to
539 <option>--enable-extensions="default,-venkman,-inspector,..."</option>.
540 For a short description of the various extensions available with the
541 <application>Mozilla</application> source, see <ulink
542 url="http://linuxfromscratch.org/~tushar/downloads/mozilla-extensions.txt"/>.
543 </para>
544
545 <para><parameter>--enable-crypto</parameter>: Enable the Personal
546 Security Manager to enable SSL connections.</para>
547
548 <para><parameter>--enable-calendar</parameter>: Builds the calendar
549 application. Remove this parameter if you don't wish to build it.</para>
550
551 <para><parameter>--enable-xinerama; --enable-optimize; --enable-reorder;
552 --enable-strip; --enable-cpp-rtti --disable-accessibility; --disable-debug;
553 --disable-tests; --disable-logging; --disable-pedantic;
554 --disable-installer</parameter>: Various options that affect what components
555 are built and some optimization options. You can pick and choose from these
556 options. More information on them, and many other available options, can be
557 found by running <command>./configure --help</command>.</para>
558
559 </sect2>
560
561 <sect2 role="commands">
562 <title>Command Explanations</title>
563
564 <para><command>export MOZILLA_OFFICIAL="1"
565 export BUILD_OFFICIAL="1"</command>: Sets some variables that affect what
566 and how the package is built. These two exports specify a distribution is
567 being built.</para>
568
569 <para><command>make -f client.mk ...</command>: Mozilla products are
570 packaged to allow the use of a configuration file which can be used to
571 pass the configuration settings to the <command>configure</command>
572 command. <command>make</command> uses the <filename>client.mk</filename>
573 file to get initial configuration and setup parameters, then depending on
574 the target parameter (<parameter>build</parameter> or
575 <parameter>install</parameter>), either runs the
576 <command>configure</command> script and compiles the package or installs
577 the package.</para>
578
579 <para><command>./makemake -r</command>: This command is used to recursively
580 create <filename>Makefile</filename>s in the current directory.</para>
581
582 <para><command>make -C ... xpi</command>: This command builds the
583 <application>Enigmail</application>
584 <filename class='extension'>.xpi</filename> file which can be used to
585 install <application>Enigmail</application>.</para>
586
587 <para><command>install .../movemail.rdf ...</command>: This
588 command is used to install a file inadvertently left out of the
589 installation script.</para>
590
591 <!-- Commenting this out as the commands needing these explanations
592 are also commented out
593
594 <para><command>if [ -d /usr/lib/mozilla/plugins ] ... fi</command>: Some
595 applications may have already installed <application>Mozilla</application>
596 plugins. This set of commands moves any existing plugins to the newly
597 created plugin directory, then removes the existing
598 <filename class='directory'>/usr/lib/mozilla</filename> directory.</para>
599
600 <para><command>ln -nsf mozilla-&mozilla-version; ...</command>:
601 <application>Mozilla</application> installs headers and libraries in
602 version specific directories. These commands makes symbolic links so that
603 applications depending on <application>Mozilla</application> (such as
604 <application>OpenOffice</application>, <application>Galeon</application>,
605 etc.) don't need to know which version of <application>Mozilla</application>
606 is installed.</para>
607 -->
608
609 </sect2>
610
611 <sect2 role="configuration">
612 <title>Configuring Mozilla</title>
613
614 <para>No specific configuration is required as long as the
615 <command>mozilla</command> script is in the user's path. If
616 <application>Mozilla</application> is installed in a non-standard location,
617 then make a symlink to the <command>mozilla</command> script in the
618 <filename class="directory">/usr/bin</filename> directory.</para>
619
620 <para>Many applications look for <command>netscape</command> when they need
621 to open a browser. You may make the following symlink for convenience (as
622 the <systemitem class="username">root</systemitem> user).</para>
623
624<screen role="root"><userinput>ln -v -sf mozilla /usr/bin/netscape</userinput></screen>
625
626 <para>For installing various <application>Mozilla</application> plugins,
627 refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
628 PluginDoc Project</ulink>. If you have <xref linkend="jdk"/> already
629 installed, create the following link as the
630 <systemitem class="username">root</systemitem> user to utilize the
631 <application>JAVA</application> plugin: </para>
632
633<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
634 /usr/lib/mozilla-&mozilla-version;/plugins</userinput></screen>
635
636 <para>Some packages install Mozilla plugins into the default system-wide
637 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
638 If desired, create symbolic links in the <application>Mozilla</application>
639 plugin directory
640 <filename class='directory'>/usr/lib/mozilla-&mozilla-version;/plugins</filename>
641 to the files in the default plugin directory (you should link to the actual
642 files and not other links). Alternatively, you can move or copy the files
643 in the default plugin directory to the
644 <application>Mozilla</application> plugin directory. An example of creating
645 a symbolic link is shown below. Create the links as the
646 <systemitem class="username">root</systemitem> user:</para>
647
648<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>[plugin.so]</replaceable> \
649 /usr/lib/mozilla-&mozilla-version;/plugins</userinput></screen>
650
651 <para>Along with using the <quote>Preferences</quote> menu to configure
652 <application>Mozilla</application>'s options and preferences to suit
653 individual tastes, finer grain control of many options is only available
654 using a tool not available from the general menu system. To access this
655 tool, you'll need to open a Navigator window and enter
656 <systemitem role='url'>about:config</systemitem> in the
657 address bar. This will display a list of the configuration preferences and
658 information related to each one. You can use the <quote>Filter:</quote> bar
659 to enter search criteria and narrow down the listed items. Changing a
660 preference can be done using two methods. One, if the preference has a
661 boolean value (True/False), simply double-click on the preference to toggle
662 the value and two, for other preferences simply right-click on the desired
663 line, choose <quote>Modify</quote> from the menu and change the value.
664 Creating new preference items is accomplished in the same way, except
665 choose <quote>New</quote> from the menu and provide the desired data into
666 the fields when prompted.</para>
667
668 <tip>
669 <para>There is a multitude of configuration parameters you can tweak to
670 customize <application>Mozilla</application>. A very extensive and
671 up-to-date list of these parameters can be found at <ulink
672 url="http://preferential.mozdev.org/preferences.html"/>.</para>
673 </tip>
674
675 </sect2>
676
677 <sect2 role="content">
678 <title>Contents</title>
679
680 <segmentedlist>
681 <segtitle>Installed Programs</segtitle>
682 <segtitle>Installed Libraries</segtitle>
683 <segtitle>Installed Directories</segtitle>
684
685 <seglistitem>
686 <seg>mozilla and mozilla-config</seg>
687 <seg>Numerous libraries, browser, and email/newsgroup components,
688 plugins, extensions, and helper modules installed in <filename
689 class='directory'>/usr/lib/mozilla-&mozilla-version;</filename></seg>
690 <seg>/usr/include/mozilla-&mozilla-version;,
691 /usr/lib/mozilla-&mozilla-version;, and
692 /usr/share/idl/mozilla-&mozilla-version;</seg>
693 </seglistitem>
694 </segmentedlist>
695
696 <variablelist>
697 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
698 <?dbfo list-presentation="list"?>
699 <?dbhtml list-presentation="table"?>
700
701 <varlistentry id="mozilla-prog">
702 <term><command>mozilla</command></term>
703 <listitem>
704 <para>is a browser/email/newsgroup/calendar/chat client suite. The
705 various components such as the Composer, mail-news client, calendar,
706 IRC chat client and address book can be accessed from the menu after
707 <command>mozilla</command> starts or via command-line switches to
708 the <command>mozilla</command> script. Issue
709 <command>man mozilla</command> for additional information.</para>
710 <indexterm zone="mozilla mozilla-prog">
711 <primary sortas="b-mozilla">mozilla</primary>
712 </indexterm>
713 </listitem>
714 </varlistentry>
715
716 </variablelist>
717
718 </sect2>
719
720</sect1>
Note: See TracBrowser for help on using the repository browser.