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.



Roll your own browser

What you need

By Doug Turner
Last Modified: June 21, 2000

Here is a listing of the require libraries that you will need. Basically, the idea is to build Seamonkey, then copy out these files into a new directory along with your application. Shortly, there will be a build target, so that you can build just what you need for your embeded software.


  Win32 Unix
NSPR
nspr4.dll libnspr4.so
plc4.dll libplc4.so
plds4.dll libplds4.so
Javascript
js3250.dll libmozjs.so
NGLayout Web Widget Control
gkweb.dll libwebshell.so
gkgfxwin.dll libgkgfx.so
gkwidget.dll
libgtksuperwin.so
libgtkembedmoz.so
DOM
jsdom.dll libjsdom.so
XPCOM
xpcom.dll libxpcom.so
mozreg.dll
Imaging
img3250.dll
jpeg3250.dll
zlib.dll

You need a folder called components next to your application. In it, you will need to follow:


  Win32 Unix
xpfe/appshell/
appshell.dll
appshell.xpt
libnsappshell.so
appshell.xpt
caps/
caps.dll
caps.xpt
libcaps.so
caps.xpt
rdf/chrome/
chrome.dll
chrome.xpt
libchrome.so
chrome.xpt
docshell/
docshell.dll
docshell_base.xpt
libdocshell.so
docshell.xpt
dom/
dom.xpt dom.xpt
editor/
editor.dll
editor.xpt ?
libeditor.so
editor.xpt ?
gfx/
gfx.xpt libgfx_gtk.so
gfx.xpt
layout/
gkhtml.dll
layout_base.xpt
layout_xul.xpt
libgklayout.so
layout_base.xpt
layout_xul.xpt
htmlparser/
gkparser.dll libhtmlpars.so
view/
gkview.dll libgkview.so
xpfe/browser/
mozbrwsr.dll
mozbrwsr.xpt
libmozbrwsr.so
mozbrwsr.xpt
netwerk/
necko.dll
necko.xpt
necko2.dll
necko_about.xpt
necko_cache.xpt
necko_data.xpt
necko_dns.xpt
necko_ftp.xpt
necko_http.xpt
necko_jar.xpt
necko_res.xpt
necko_strconv.xpt
libnecko.so
necko.xpt
libnecko2.so
necko_about.xpt
necko_cache.xpt
necko_data.xpt
necko_dns.xpt
necko_ftp.xpt
necko_http.xpt
necko_jar.xpt
necko_res.xpt
necko_strconv.xpt
libimg/
nsgif.dll
nsjpg.dll
libnsgif.so
libnsjpg.so
modules/libpref
xppref32.dll
pref.xpt
libpref.so
pref.xpt
profile/
profile.dll
profile.xpt
libprofile.so
profile.xpt
rdf/
rdf.dll
rdf.xpt
rdfdomds.dll
rdfdomds.xpt
librdf.so
rdf.xpt
librdfdomds.so ( built in rdf tests? )
rdfdomds.xpt
xpfe/components/shistory
shistory.dll
shistory.xpt
libshistory.so
shistory.xpt
intl/lwbrk
lwbrk.dll liblwbrk.so
intl/strres
??? intl.xpt
libstrres.so
intl/unicharutil
ucharuti.dll
unicharutil.xpt
libunicharutil.so
unicharutil.xpt
intl/uconv/
uconv.dll
ucvcn.dll
ucvibm.dll
ucvja.dll
ucvko.dll
ucvlatin.dll
ucvtw.dll
ucvtw2.dll
uconv.xpt
libuconv.so
libucvcn.so
libucvibm.so
libucvja.so
libucvko.so
libucvlatin.so
libucvtw.so
libucvtw2.so
uconv.xpt
uriloader/
urildr.dll
uriloader.xpt
liburiloader.so
uriloader.xpt
embedding/browser/
webbrwsr.dll
webBrowser_core.xpt
webBrowser_setup.xpt
libwebbrwsr.so
webBrowser_core.xpt
webBrowser_setup.xpt
widget/
widget.xpt libwidget_gtk.so
widget.xpt
libtimer_gtk.so
js/src/xpconnect/
xpc3250.dll libxpconnect.so
xpcom/base/
xpcom_base.xpt
xpcom_components.xpt
xpcom_ds.xpt
xpcom_eventloop_windows.xpt
xpcom_eventloop_xp.xpt
xpcom_io.xpt
xpcom_nativeapp.xpt
xpcom_thread.xpt
xpcom_xpti.xpt
xpconnect.xpt
xpconnect_tests.xpt
xpcom_base.xpt
xpcom_components.xpt
xpcom_ds.xpt
xpcom_io.xpt
xpcom_threads.xpt
xpcom_xpti.xpt
xpconnect.xpt
xpconnect_tests.xpt

You will need a nested folder "defaults/pref". In it copy these two files. You can live without these if you have to. They do two important things (1) step the platform and set fonts, and (2) stop annoying (unneeded) asserts.


defaults/pref:
initpref.js  winpref.js

The next directory that you will need is "res". Copy these three files.


res:
html.css   quirk.css  ua.css

The last directory that you need is the chrome directory. The only package that you will need is the "widget-toolkit". Here is the layout of this directory:



installed-chrome.txt  
all-locales.rdf       
all-packages.rdf      
all-skins.rdf         

packages
    widget-toolkit

skins
    modern
        global
        manifest.rdf

locales               
    en-US
        global       
        manifest.rdf

The first four files you need to edit. Basically you cut out anything referencing other packages.

The above is basically what you need. If you call on features from your application, you may need to add more components/stuff to your components directory.