Maintain xulrunner sources extracted from mozilla's repository
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
msvc Update to Firefox 52 and VC++ 2015 Jan 31, 2018
src/stub Make DPI aware Feb 13, 2018
LICENSE Add README and LICENSE. Mar 12, 2016
Readme.md Update Readme.md to FF 52 and VS 2015 Jan 31, 2018

Readme.md

Standalone xulrunner-stub project

This project continues to maintain xulrunner-stub sources extracted from mozilla's repository and makes it built against Firefox SDK. Background: mozilla had removed xulrunner sources from their repository (issue).

Pre build binaries

You can download them from the project page.

Build for Win32

  1. Install MS Visual Studio (Express for Desktop or Community Editions are OK). Version of your VS should match the one with which Firefox SDK was built. E.g. VS 2013 for FF 42-47, and VS 2015 for FF 52.

  2. Clone this project, and checkout a tag/branch. Current trees build with VS 2015 and FF 52.

  3. Download Firefox SDK. e.g. http://ftp.mozilla.org/pub/firefox/nightly/latest-mozilla-aurora/firefox-47.0a2.en-US.win32.sdk.zip or https://ftp.mozilla.org/pub/firefox/releases/52.6.0esr/firefox-52.6.0esr.win32.sdk.zip . Unzip it in the project directory, and make sure the directory name is firefox-sdk.

  4. Open msvc/xulrunner-stub.sln with Visual Studio, and build in release mode (debug mode doesn't work currently). If all is OK, you'll get msvc/Release/xulrunner-stub.exe.

Run your xulrunner app & runtime dependencies

You may layout your xulrunner app like this:

<your_app_dir>
  xulrunner/
  mozglue.dll
  msvcrXXX.dll
  msvcpXXX.dll
  xulrunner-stub.exe
  application.ini
  ...

Notes

  • You may copy firefox's files (xul.dll, omni.ja etc.) to xulrunner/ to act as xulrunner.
  • I'm not able to remove the stub's hard dependency on mozglue.dll, msvcrXXX.dll and msvcpXXX.dll, so you have to copy them from firefox to the same directory of the stub.

Alternatively, you may "flatten" xulrunner/ into <your_app_dir>:

<your_app_dir>
  xul.dll
  omni.ja
  ...
  mozglue.dll
  msvcrXXX.dll
  msvcpXXX.dll
  xulrunner-stub.exe
  application.ini
  ...

In this way, you don't have to duplicate mozglue.dll, msvcrXXX.dll and msvcpXXX.dll. "Flatten xulrunner" is a new feature introduced by commit 5bb9c7f4addab9b745b9186da4dcade8720378c8 .

Build for other platforms

Patches are welcome!

Source files' origin

  • xulrunner/stub/nsXULStub.cpp: The main source file, was removed from mozilla's repository.
  • xpcom/build/nsXPCOMPrivate.h: Missing from firefox sdk, so copied to this project.
  • toolkit/xre/nsWindowsWMain.cpp: Ditto.

Portable profile

This a new feature which makes it possible to store user's profile inside <your_app_dir>: If a directory named PortableProfile exits in <your_app_dir>, it will be used as the profile directory (implementation details). Note that command line option -profile can still override this behaviour. This feature currently lives in branch PortableProfile, and there are binaries with this feature in the project page.