These instructions assume familiarity with compiling Firefox or a similar Mozilla application already. If you don’t know how to do that then a good first step would be to learn how.
Building PreFox is currently only possible on OSX. There are some attempts in the patches to make building on Windows possible but that isn’t yet complete.
Install the Palm SDK
You need to download and install the Palm SDK. These instructions assume it is installed in the default location of /opt/PalmSDK and /opt/PalmPDK.
Get the source code and patches
The following code pulls mozilla-central and mobile-browser and the PreFox patches for them. It uses specific revisions of the source code where the patches are known to apply and build. Newer revisions can be experimented with however changes are likely to be needed for the patches.
You could just run all these commands from the terminal or adapt them to your needs.
hg clone https://hg.mozilla.org/mozilla-central/ prefox cd prefox hg update -C 4405a670d699 hg clone https://www.fractalbrew.com/hg/projects/prefox-trunk/ .hg/patches hg qpush widget hg clone https://hg.mozilla.org/mobile-browser mobile cd mobile hg update -C e5ba36c0a65c hg clone https://www.fractalbrew.com/hg/projects/prefox-mobile/ .hg/patches hg qpush jit cd ..
Configure the build
The following is a basic mozconfig that should get you building:
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-prefox ac_add_options --enable-application=mobile ac_add_options --enable-optimize ac_add_options --disable-installer ac_add_options --disable-crashreporter ac_add_options --target=arm-palm-eabi ac_add_options --disable-tests
Building just involves the usual command:
make -f client.mk build
Once complete you can just copy the files from prefox/dist/bin to the device and execute it directly for debugging.
Create the package
Once the build completes you can create the ipk file for distribution:
make -C objdir-prefox/embedding/webos installer
And if you have a Palm device plugged into the USB port you can install the ipk file directly with:
make -C objdir-prefox/embedding/webos deploy