mazilla mozilla
Introduction
What's mozilla
Purpose of this page
Characteristics of mozilla
Survey of mozilla
Module
Web tool
Technology of mozilla
Other resource
Building mozilla
Construction of environment
for building
Checkout of source
Procedure for building
Image of after-building
Execute mozilla
Embedding
What's embedding
Concept of embedding
Structure of PPBrowser
Analysis of PPBrowser
Structure of embedding
Structure of marbrow
Analysis of marbrow
Fizzilla
What's fizzilla
Build fizzilla
Embedding of fizzilla
FAQ
Talk with Mr. Yatsugi

Fizzilla

What is fizzilla ?


What's fizzilla

Fizzilla is mozilla operated on Mac OS X. Because it is carbonized mozilla, it seems to be called fizzilla.

Mr. Yatsugi : Why is it called fizzilla ?
Mar-San : So, I'm not sure why "fizz" ?
Ume-Chan : Because carbon means fizzy drink. That's why, of course !
Chimo-Ani : I see ! I'm beaten !
All : I see !!

Binary forms that can be executed on Mac OS X belong to one of the two kinds.

  • PEF of CFM (Code Fragment Manager)
  • mach-o of dyld (dynamic loader)

In mozilla, both forms of fizilla are attempted.

  • FizzillaCFM -- fully Carbon, mac back-end, CFM based
  • FizzillaMach -- mac Carbon front-end, unix backend, Mach-o based

Between the two, FizzillaMach is still on the testing stage.

FizzillaCFM is already running on Mac OS X Public Beta.

At present, the main developer of FizzillaCFM Mr. Patric Beard suggested making the whole building of mozilla for Macintosh carbonized. If it is put into practice, the whole building of mozilla for Macintosh including building of fizzilla will be modified widely.


Build fizzilla

Source

It is needless to check out the source code from the beginning. The same source code of mozilla itself is adapted to Carbon. It is almost complete.

Environment for building

In building of fizzilla, it is necessary to construct a new environment on CodeWarrior and modify the source code of mozilla.

  1. Get CodeWarrior Pro6 Beta (CodeWarrior Beta Tools for Mac OS X).
  2. Rename MSL folder of Pro5 to (MSL), copy MSL folder of Pro 6 to Pro5 and copy (MSL):MSL_C:MSL_MacOS:Project:PPC:MSL.C.PPC MPW.mcp into the locacion corresponding to the new MSL folder of Pro 5.
  3. Add #define TARGET_CARBON 1 to mozilla/config/mac/DefinesMac.h and mozilla/nsprpub/macbuild/NSPRConfig.h.
  4. Download modified NSStdLib (not exist on 26 Mar 2002). Replace mozilla/lib/mac/NSStdLib.exp with NSStdLib.exp.carbon and rename it NSStdLib.exp. Replace mozilla/lib/mac/nsStdLib.mcp with NSStdLib.mcp.carbon and rename it NSStdLib.mcp.
  5. In mozilla/security/nss/lib/util/mac_rand.c, enclose event queue block (line 217) and heap block (line 183) with #if !TARGET_CARBON...#endif.
  6. Open mozilla/gfx/macbuild/GFX.mcp, delete all links to AppleLib and change them to links to mozilla/dist/mac/InterfaceStubs (After InterfaceStubs is built)
  7. If you can't link MSL.C.PPC MPW.mcp, take off what cannot be linked from the project.

Way of building

The way of building fizzilla is, in the case of script of new version, in

  • System folder/Preference/Mozilla opt build prefs
  • System folder/Preference/Mozilla debug build prefs

to add

CARBON 1

and build it.

Of course, if you have built normal mozilla once, then build fizilla, all the result of normal mozilla will disappear. So, it is better to build in a new mozilla source tree.


Embedding of fizzilla

Embedding of fizzilla is to go through two stages ( as you expect ), that is

  1. to build fizzilla
  2. to carbonize embedding application itself

Carbonization of embedding application [PPBrowser]

Because PPBrowser is made of the PowerPlant framework, it will be carbonized automatically by compile-linking again with CodeWarrior Pro6. (a little adjustment may be necessary...)

You may be anxious becuse fizzilla itself is built by Pro5+Pro6's MSL and PPBrowser is built by Pro6, but I think this will work correctly.

Carbonization of embedding application [marbrow]

Because marbrow is made of an original framework, this must be carbonized all the way by hand. The project of marbrow is for CodeWarrior Pro5, but the project of marbrowCargon is for CodeWarrior Pro6. I did this because the carbonization with Pro 6 is easier than with Pro 5.

The actual way and information of the carbonization can be gotten from the site of Apple.

Mr. Koike : I will create Generator for Macintosh adapting to Carbon !
Mr. Yatsugi : Great !!
Mar-San : Oh, soon ? Quick.

[screen shot of marbrowCarbon]


c_o_n_t_a_c_t
Copyright (C) 2000-2002 Symphony, Inc. All Rights Reserved.
Japanese