How to build firefox with indic support
விக்கிபீடியாவிடமிருந்து விடுதலை மனப்பாங்கொடு உருவான கலைக்களஞ்சியம்.
Firefox Build with indic support
Required Packages
1. glibc-devel 2. pango 3. pango-devel 4. gcc 5. libXft 6. libXft-devel
Tips: you can use yum search|install above packages if you have internet connection
Mozconfig - Mozilla configuration File
Mozilla firefox should be built using the .mozconfig file. a sample of the file can be taken a look at here
Once you created .mozconfig file, download the firefox source from here untar it in a specified location. copy the .mozconfig to the untarred location. run gmake -f client.mk build inside the mozilla folder. mozilla now compiles the program and it will take hours depending on the type of system and memory you have.
Automated script to download and build indic enabled firefox 1.5.0.4
A script is available to automated the above tasks. Its available here How to use this script:
1. Install all the required packages needed for building firefox 1.5 as mentioned above.
2. Ensure that you have internet connection.
3. Create an empty folder in your linux box.
4. Copy this script in the empty folder and run it.
5. After the script completes, the firefox indic package will be available in the folder.
useful commands
tar -jxf bonecho-alpha2-source.tar.bz2 untar the files to the mozilla directory gmake -f client.mk build builds the mozilla firefox using the .mozconfig file gmake -f client.mk automatically checksout the files from mozilla
Explanation of .mozconfig file
mk_add_options MOZ_CO_PROJECT=browser
you are building the mozilla firefox browser
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
you are separating the source code and object files by creating a directory obj-i686-gnu-xxx
mk_add_options MOZ_MAKE_FLAGS=-j4
its a compile flags
- Options for 'configure' (same as command-line options).
ac_add_options --enable-application=browser
you are building the mozilla firefox application. you can build thunderbird, and many other applications using the source
ac_add_options --enable-default-toolkit=gtk ac_add_options --enable-default-toolkit=gtk2
enabling the GNU toolkit to be used by firefox
ac_add_options --enable-pango
enabling the indic support
ac_add_options --enable-update-channel=beta ac_add_options --enable-update-packaging
for updates
ac_add_options --disable-debug ac_add_options --disable-tests
for community release, debugging,tests is disabled,
ac_add_options '--enable-optimize=-Os -freorder-blocks -fno-reorder-functions -gstabs+'
compiler optimization flags
ac_add_options --enable-xft
enabling Xft - X FreeType interface library
ac_add_options --disable-freetype2
disabling FreeType 2 library
ac_add_options --enable-svg
enabling the support for scalable vector graphics
ac_add_options --enable-canvas
ac_add_options --enable-static
ac_add_options --disable-shared
building the static firefox all linked statically so that u can port anywhere

