You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



The Fizzilla Happy Gecko Logo Camino®

by Mike Pinkerton

The 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:

  1. 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.
  2. $ mkdir -p /Developer/SDKs/MacOSX10.2.8.sdk/Library/Frameworks
  3. $ cd /Developer/SDKs/MacOSX10.2.8.sdk/Library/Frameworks
    $ ln -s /Library/Frameworks/SharedMenusCocoa.framework SharedMenusCocoa.framework
    

Building Mozilla and Camino

  1. Set up your CVS environment, as described in steps 1-2 on the Mac build page.

  2. Pull client.mk and the core mozconfig:

    $ cvs co mozilla/client.mk mozilla/camino/config

    Now cd into the mozilla directory:

    $ cd mozilla
  3. 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
  4. 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