root/trunk/llmozlib2/README-linux-linden.txt

Revision 14, 2.9 kB (checked in by tofu.linden, 1 year ago)

Simplify/improve the mozilla+llmozlib linux build for a gcc-4.1 world.

  • Property svn:eol-style set to native
Line 
1 This document describes how to get a build of the llmozlib version of
2 Mozilla which is:
3 * Compatible with Second Life
4 * Compatible out-of-the-box with the widest variety of x86 Linux systems
5 as is practical - cross-distribution linux binary compatibility is quite
6 delicate so we conservatively fine-tune Mozilla's wild build dependencies.
7
8 If you are building apps which entirely rely upon system library versions
9 and thus aren't meant to be portable between Linux distributions, you can
10 skip this document.
11
12 These steps otherwise need to be completed before moving on to README-linux.txt
13
14 1. LIBJPEG
15 ==========
16
17 <special instructions no longer applicable>
18
19 2. GTK AND FRIENDS
20 ==================
21
22 Optional, recommended.
23
24 A GTK-using app's binary interfaces aren't really backward-compatible in the
25 slightest, which is inconvenient since building on your distro is likely
26 introducing binary dependancies on the latest gee-whiz version of GTK.
27 Thus, we build against an older hand-rolled version of GTK which just about
28 everyone will be run-time compatible with.
29
30 0a. Get a build of GTK 2.4 and its many dependencies.  For Linden, you can
31     check out a recommended tree of prebuilt x86 linux goodness from
32     lindenlib/trunk/GTK-2.4-i686-linux
33 0b. In that GTK tree, edit lib/pkgconfig/*.pc so that every 'prefix=' line
34     points to the absolute location of your GTK-2.4-i686-linux directory -
35     yes this is a pain.
36 1. Edit build_mozilla/linux-checkout_patch_build.sh
37    * Uncomment the export PKG_CONFIG_PATH line
38    * Edit the PKG_CONFIG_PATH to point to the /lib/pkgconfig directory
39      inside your GTK-2.4-i686-linux tree.
40
41 3. BUILDING
42 ===========
43
44 Proceed to README-linux.txt to build llmozlib and Mozilla, then come
45 back here to verify that the build is appropriately 'compatible'.
46
47 4. BASIC TESTS FOR COMPATIBILITY
48 ================================
49
50 1. strings libraries/i686-linux/runtime_release/libxul.so |grep lib|grep cairo
51    ... should return nothing; this demonstrates that you have not accidentally
52    introduced a hard dependancy against cairo (indicating erroneous linking
53    against a fairly recent GTK version).
54
55 5. USING WITH SECOND LIFE
56 =========================
57
58 Probably only of interest if you're a Second Life developer!
59
60 1. copy llmozlib2.h to ${SLSRC}/libraries/include/
61 2. copy libllmozlib2.a to ${SLSRC}/libraries/i686-linux/lib_release_client/
62 3. copy libraries/i686-linux/lib_release/libprofdirserviceprovider_s.a to ${SLSRC}/libraries/i686-linux/lib_release_client/
63 4. copy libraries/i686-linux/runtime_release to ${SLSRC}/indra/newview/app_settings/mozilla-runtime-linux-i686
64
65 5. Rebuild Second Life
66
67 6. TESTING WITH SECOND LIFE
68 ===========================
69
70 Things to test:
71 1. The HTML Login screen - should work!
72 2. F1 Help
73 3. Sending a postcard should work - if it crashes, it's probably a libjpeg
74    problem (see Section 1.)
75 4. Performing an upload should bring up a working file selector, otherwise it
76    may be a GTK problem (see Second 2.)
Note: See TracBrowser for help on using the browser.