%general-entities; ]> $LastChangedBy$ $Date$ Xulrunner-&xulrunner-version; Xulrunner Introduction to Xulrunner Xulrunner is a runtime environment for XUL applications, and forms the major part of the Mozilla codebase. In particular, it provides the Gecko engine together with pkgconfig files so that other applications can find and use it. &lfs75_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &xulrunner-md5sum; Download size: &xulrunner-size; Estimated disk space required: &xulrunner-buildsize; Estimated build time: &xulrunner-time; Xulrunner Dependencies Required , , and Recommended , , , , and If you don't install recommended dependencies, then internal copies of those packages will be used. They might be tested to work, but they can be out of date or contain security holes. Optional , , , and , Hunspell, , , , , and User Notes: Installation of Xulrunner The configuration of Xulrunner is accomplished by creating a mozconfig file containing the desired configuration options. A default mozconfig is created below. To see the entire list of available configuration options (and an abbreviated description of each one), issue ./configure --help. You should review the entire file and comment or uncomment options as necessary. cat > mozconfig << "EOF" # If you have a multicore machine, firefox will now use all the cores by # default. Exceptionally, you can reduce the number of cores, e.g. to 1, # by uncommenting the next line and setting a valid number of CPU cores. #mk_add_options MOZ_MAKE_FLAGS="-j1" # If you have installed DBus-Glib comment out this line: ac_add_options --disable-dbus # If you have installed wireless-tools comment out this line: ac_add_options --disable-necko-wifi # If you have installed libnotify comment out this line: ac_add_options --disable-libnotify # GStreamer is necessary for H.264 video playback in HTML5 Video Player; # to be enabled, also remember to set "media.gstreamer.enabled" to "true" # in about:config. If you have installed GStreamer comment out this line: ac_add_options --disable-gstreamer # Uncomment these lines if you have installed optional dependencies: #ac_add_options --enable-system-hunspell #ac_add_options --enable-startup-notification # Uncomment this line if you compiled Cairo with --enable-tee switch and want # to use it instead of the bundled one: #ac_add_options --enable-system-cairo # If you have not installed Yasm then uncomment this line: #ac_add_options --disable-webm # Comment out following options if you have not installed # recommended dependencies: ac_add_options --enable-system-sqlite ac_add_options --with-system-libevent ac_add_options --with-system-libvpx ac_add_options --with-system-nspr ac_add_options --with-system-nss # It is recommended not to touch anything below this line ac_add_options --prefix=/usr ac_add_options --enable-application=xulrunner ac_add_options --disable-crashreporter ac_add_options --disable-installer ac_add_options --disable-updater ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --disable-mochitest # Comment out following option if you have PulseAudio installed ac_add_options --disable-pulseaudio ac_add_options --enable-optimize ac_add_options --enable-strip ac_add_options --enable-install-strip ac_add_options --enable-system-ffi ac_add_options --enable-system-pixman ac_add_options --enable-shared-js ac_add_options --with-pthreads ac_add_options --with-system-bz2 ac_add_options --with-system-jpeg ac_add_options --with-system-png ac_add_options --with-system-zlib mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/xulrunner-build-dir EOF Xulrunner's build uses large amount of memory. On some systems, the RAM/Swap combination needs 6 GB available. Build Xulrunner by issuing the following commands: If you are compiling Xulrunner in chroot, prepend SHELL=/bin/bash to the first make command below. make -f client.mk This package does not come with a test suite. Install, as the root user: make -C xulrunner-build-dir install && mkdir -pv /usr/lib/mozilla/plugins && rm -rf /usr/lib/xulrunner-&xulrunner-version;/plugins && ln -sv ../mozilla/plugins /usr/lib/xulrunner-&xulrunner-version; && chmod -v 755 /usr/lib/xulrunner-devel-&xulrunner-version;/sdk/bin/xpcshell && for library in libmozalloc.so libmozjs.so libxul.so; do ln -sfv ../../../xulrunner-&xulrunner-version;/$library \ /usr/lib/xulrunner-devel-&xulrunner-version;/sdk/lib/$library ln -sfv xulrunner-&xulrunner-version;/$library /usr/lib/$library done ln -sfv ../xulrunner-devel-&xulrunner-version;/sdk/bin/run-mozilla.sh \ /usr/lib/xulrunner-&xulrunner-version; ln -sfv ../xulrunner-devel-&xulrunner-version;/sdk/bin/xpcshell \ /usr/lib/xulrunner-&xulrunner-version; Command Explanations make -f client.mk ...: Mozilla products are packaged to allow the use of a configuration file which can be used to pass the configuration settings to the configure command. make uses the client.mk file to get initial configuration and setup parameters. ln -sfv ../mozilla/plugins ...: Some packages will install browser plugins into /usr/lib/mozilla/plugins. Creating this symlink Xulrunner keeps additional plugins in a common directory. for library in libmozalloc.so libmozjs.so libxul.so ... : The libraries shipped with this package are installed into /usr/lib/xulrunner-&xulrunner-version; which means they will not be found at runtime. These commands make relative symbolic links to the shared libraries from /usr/lib. They will also replace duplicate libraries that are installed in /usr/lib/xulrunner-devel-&xulrunner-version;/sdk/lib with symlinks in order to save some space. ln -sfv ../xulrunner-devel-&xulrunner-version;/sdk/bin/ ... The run-mozilla.sh and xpcshell files have been moved in this version, but the code which installs Firefox (when linked to xulrunner) was not updated. These symlinks allowFirefox to install when built against Xulrunner. Contents Installed Programs Installed Libraries Installed Directories xulrunner Numerous libraries, browser components, plugins, extensions, and helper modules installed in /usr/lib/xulrunner-&xulrunner-version; /usr/include/xulrunner-&xulrunner-version;, /usr/lib/xulrunner-&xulrunner-version;, /usr/lib/xulrunner-devel-&xulrunner-version; and /usr/share/idl/xulrunner-&xulrunner-version; Short Descriptions xulrunner is a shell script used for identifying the installed version and running Xulrunner applications. xulrunner