#!/bin/sh
+set -o errexit
+
# First argument of this script is the package name
# Reading system configuration informations, functions and package versions.
source ../functions
source ../packages-list
-# Applying patches (if any)
-apply_patches ${1} &&
+PACKAGE=${1}
-# Get the name of the decompressed directory
-SOURCE_DIR=$(static_decompressed_dirname ${1})
+# Applying patches (if any)
+apply_patches ${PACKAGE}
FIREFOX_BUILD_DIR="${1}-build"
+FIREFOX_PKG_VERSION="firefox-$(get_pkg_ver ${PACKAGE})"
-cd ${LFS_TMP}/${SOURCE_DIR} &&
+cd ${LFS_TMP}/${PACKAGE}
cat > .mozconfig << "EOF"
# This file contains the options used in the Firefox build.
# Use the default settings specified in the source tree
. $topsrcdir/browser/config/mozconfig
+# build the browser
+ac_add_options --enable-application=browser
+
# Create an object directory and specify to build the package in that
# directory. If desired, modify the location of the object directory
# to a directory inside the source tree by removing '../' from the
# the BLFS book to point to your desired prefix.
ac_add_options --prefix=/usr
+# Compile with a minimal level of optimization
+ac_add_options --enable-optimize
+
# These options are used so that the Firefox binaries are linked to
# the system-installed copies of the specified libraries instead of
# the source tree code which may not be the most recent versions.
ac_add_options --with-system-zlib
ac_add_options --with-system-jpeg
ac_add_options --enable-system-cairo
-# --with-system-png: Problem with missing apng support
-
-# This option causes the installed binaries to have the official
-# Firefox name embedded in them. Due to license restrictions, you
-# may not distribute binaries created using this option.
-ac_add_options --enable-official-branding
+ac_add_options --enable-system-lcms
+ac_add_options --enable-system-sqlite
+# comment this if you have not installed png with the apng patch
+ac_add_options --with-system-png
# This option is used to enable support for rendering SVG files in the
# Firefox browser. Comment out the line to disable the option.
ac_add_options --enable-svg
-# This option is used so that the debugging symbols are removed from
-# the installed binaries during the installation process. Comment out
-# this option if you may have a need to retain the debugging symbols
-# in the installed binaries. Note that this can substantially
-# increase the size of the installed binaries.
-ac_add_options --enable-strip
+# These two options enable support for building Firefox with
+# system-installed versions of the Network Security Services (NSS)
+# and Netscape Portable Runtime (NSPR) libraries. We build these
+# as part of xulrunner, so we can use them here. For a standalone
+# firefox you might want to comment these.
+#ac_add_options --with-system-nspr
+#ac_add_options --with-system-nss
-# This option is added so that test libraries and programs are not
-# built. These would only be required for debugging purposes.
-ac_add_options --disable-tests
+# uncomment this if you did not build curl
+ac_add_options --disable-crashreporter
# This option is added so that the Mozilla Installer program is not
# built or installed. The program is not required for a BLFS
# installation of Firefox.
ac_add_options --disable-installer
+# The updater is not useful if you build from source.
+ac_add_options --disable-updater
+
# This option is used to disable the a11y support in the Firefox
# binaries. Comment out this option if you require a11y support.
ac_add_options --disable-accessibility
+# This option is added so that test libraries and programs are not
+# built. These would only be required for debugging purposes.
+ac_add_options --disable-tests
+
+# The mochitest is a separate test feature and has caused problems
+# in the past.
+ac_add_options --disable-mochitest
+
# This option is used to enable source tree included LDAP support in
# the Firefox binaries.
###################################################################
# make[3]: *** No targets specified and no makefile found. Stop.
######ac_add_options --enable-ldap
-# These two options enable support for building Firefox with
-# system-installed versions of the Network Security Services (NSS)
-# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
-# lines to enable support for system-installed NSS/NSPR.
-#ac_add_options --with-system-nss
-# --with-system-nss: Problem with missing nss-config in nss-3.12!!!
-#ac_add_options --with-system-nspr
+# This option causes the installed binaries to have the official
+# Firefox name embedded in them. Due to license restrictions, you
+# may not distribute binaries created using this option.
+ac_add_options --enable-official-branding
+
+# use the anti-phishing blacklist
+ac_add_options --enable-safe-browsing
+
+# This option is used so that the debugging symbols are removed from
+# the installed binaries during the installation process. Comment out
+# this option if you may have a need to retain the debugging symbols
+# in the installed binaries. Note that this can substantially
+# increase the size of the installed binaries.
+ac_add_options --enable-strip
+
+# Point to the xulrunner libraries - comment this for a standalone browser
+#ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-1.9.0.7
+
EOF
-sed -i -e "s!_FIREFOX_BUILD_DIR_!${FIREFOX_BUILD_DIR}!g" .mozconfig &&
+sed -i -e "s!_FIREFOX_BUILD_DIR_!${FIREFOX_BUILD_DIR}!g" .mozconfig
-make -f client.mk build &&
-make -f client.mk install &&
+make -f client.mk build
+make -f client.mk install
# Many applications look for netscape when they need to open a browser...
-ln -v -sf firefox /usr/bin/netscape &&
+ln -v -sf firefox /usr/bin/netscape
# Remove old links
-rm -f /usr/lib/mozilla &&
-rm -f /usr/lib/firefox &&
-rm -f /usr/lib/${1}/plugins/libjavaplugin_oji.so &&
+rm -f /usr/lib/mozilla
+rm -f /usr/lib/firefox
+rm -f /usr/lib/${FIREFOX_PKG_VERSION}/plugins/libjavaplugin_oji.so
-ln -v -sf ${1} /usr/lib/mozilla &&
-ln -v -sf ${1} /usr/lib/firefox &&
+ln -v -sf ${FIREFOX_PKG_VERSION} /usr/lib/mozilla
+ln -v -sf ${FIREFOX_PKG_VERSION} /usr/lib/firefox
# To use the installed Java plugin.
-ln -v -s ${JAVA_HOME}/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/${1}/plugins &&
+ln -v -s ${JAVA_HOME}/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/${FIREFOX_PKG_VERSION}/plugins
# Addition to /etc/ld.so.conf
# This is necessary for shared library libmozjs.so (needed by gxine)
-string_add "/usr/lib/${1}" /etc/ld.so.conf &&
+string_add "/usr/lib/${FIREFOX_PKG_VERSION}" /etc/ld.so.conf
ldconfig
- # Return last error
exit $?