Camino®
by Mike PinkertonThe purpose of this page is to guide you through building and running Camino®. Camino is a stand-alone web browser powered by the Gecko rendering engine. It shouldn't be confused with Cocoazilla, which is just one piece of Camino.
Goals:
- Native UI, written using Cocoa and InterfaceBuilder
- Leverage the embeddable Gecko Cocoa view provided by CHBrowserView
- Buildable and debuggable from Xcode
- No email, no address book, no being able to search the web from your javascript console. Just a browser, plain and simple.
Building
Because Camino is now built from the Mozilla trunk, doing a Camino build is
very similar to doing a regular Mozilla build,
with a special configuration: The .mozconfig
file
must contain:
. $topsrcdir/camino/config/mozconfig
Keep reading for detailed instructions.
Preparing to to build
First, make sure you have Panther and Xcode 1.1 or later. Panther and Xcode are now required for building Camino. (Note that this is not a requirement to build Mozilla.) When installing Xcode, you have to perform a custom installation. During install, click the "Customize" button and turn on the "Cross Development" section. If you have previously installed Xcode without this option, go back and install it now.
Follow the instructions on the Mac build page for installing Fink, using it to install Orbit, and on downloading and installing the Shared Menus framework. As stated in those instructions, if you are upgrading from Jaguar to Panther, we recommend that you remove /sw entirely and start fresh with the 0.7.0 fink install.
In addition to installing the Shared Menus framework, Camino needs a reference to the framework in the SDK folder for 10.2.8:
Check to see if you have the folder
/Developer/SDKs/MacOSX10.2.8.sdk
. If so, skip to the next step.Otherwise, check for the folder
/Developer/SDKs/MacOSX10.2.7.sdk
. If you have it, create a symlink:
$ ln -s /Developer/SDKs/MacOSX10.2.7.sdk /Developer/SDKs/MacOSX10.2.8.sdk
If not, install the Cross Development tools as described above.-
$ mkdir -p /Developer/SDKs/MacOSX10.2.8.sdk/Library/Frameworks
-
$ cd /Developer/SDKs/MacOSX10.2.8.sdk/Library/Frameworks $ ln -s /Library/Frameworks/SharedMenusCocoa.framework SharedMenusCocoa.framework
Building Mozilla and Camino
-
Set up your CVS environment, as described in steps 1-2 on the Mac build page.
Pull client.mk and the core mozconfig:
$ cvs co mozilla/client.mk mozilla/camino/config
Now cd into the mozilla directory:
$ cd mozilla
-
As described in step 4, you now need to set some build options in the
.mozconfig
file for Camino. In your mozilla directory, create a file called.mozconfig
(note the leading period). In that file, put the following:. $topsrcdir/camino/config/mozconfig
This results in an optimized build. If you want to build mozilla debug, replace the last two lines with the following:
ac_add_options --disable-optimize ac_add_options --enable-debug
It's important that you know if you're building mozilla debug or optimized, because you must match that setting when building Camino from Xcode, otherwise key build variables won't get correctly set and vtables will be out of alignment. The net result is that either you won't link, or you'll crash at startup.
If you want to do a static build of Camino (this means that most of the components are compiled directly into the Camino binary), you can add the following lines to your
.mozconfig
:ac_add_options --disable-shared ac_add_options --enable-static
Static builds are not recommended for development.
If your machine has two CPUs, you can take advantage of that while building Camino. Add the following to your
.mozconfig
:mk_add_options MOZ_MAKE_FLAGS=-j3
Fire off the build:
$ make -f client.mk
This will automatically pull and build Mozilla and Camino. The Camino package ends up in
mozilla/camino/build
.
Development
To work on Camino front-end code, open up the Camino.xcode project in Xcode. You can
edit code, and build and run inside of Xcode. If you find that you need to edit Cocoa
widget code, you can make
in mozilla/widget/src/cocoa
. The easiest
way to get the new version of the library into Camino to test it is to use cp
to copy it inside the package (into mozilla/camino/build/Camino.app/Contents/MacOS/components
).
Or you can make
in embedding/config
and mozilla/camino
again.
FAQ
What if mozilla doesn't build?
Despite our best efforts, sometimes the mozilla tree is red. You can check the status before you pull on tinderbox. If the mac builds or the unix builds are red, you probably should avoid checking out. If your build fails, just wait until things go green again and repull mozilla.
I get a link error when building Cocoazilla
This is most certainly because you built mozilla as optimized and are trying to build Camino as debug, or the other way around. You should follow the instructions above to use "make" to build Camino as it will greatly simplify this process.
Camino crashes at startup, what's wrong?
Again, you probably built one as opt and the other as debug. Make sure they match and try again.
I get errors that the Camino build failed at some <CopyFilesX> where X is some number.
Usually this is because you:
- forgot to make in embedding/config
- forgot to enable crypto or one of the extensions in your
.mozconfig
Make sure you follow the directions to the letter, and try again.
What happened to the Chimera project?
For copyright reasons, we were unable to continue using the Chimera name. Unfortunate but true, and very much out of our control.
The new name sucks. Will you change it?
Bite me.
What If It Still Doesn't Work?
There are two places to go for help building Fizzilla:
- the #camino channel at irc.mozilla.org is a good place to find some mac weenies in real time who, if you ask nicely and don't be a pest, will happily get you on your way
- join and post to the Camino mailing list on mozdev.org