Re Kramiq: i didn't to be honest

i'll have to find main {} somewhere and plaster this subroutine call at the beginning. Let's see what this does.
Re Bplaa.yai: a separate libxul.so would be nice for space concerns, however, expect that libxul.so will be relatively closely tied to the firefox version, so i don't think it would be wise to introduce a separate libxul.so and yet another dependency version headache. Let's get it running first and packaged.
Okay, here are my changes:
First, get firefox 3.0.10 from
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.0.10/source/firefox-3.0.10-source.tar.bz2Then, make sure you have the basic gtk2 environment and build environment installed: neko_glib, neko_gtk, neko_glitz, neko_zlib, neko_idl, neko_idn, neko_freetype2, neko_zip, neko_python, neko_perl, neko_pango, neko_libxrender, neko_libxml2, neko_libtool, neko_make, neko_tar, neko_iconv, neko_expat, neko_cairo, neko_png, neko_atk
That should cover most of it.
Unpack the tarball and you get a directory called mozilla/
Now get the patches:
irix.patch which is a complete rollup of mine and Jimis' patches, excluding some gcc-ism's
idl.patch which is a pregenerated header file fix during a make crash mid-compile. UglyMutha, but does the trick.
.mozconfig which has all the environment plus basic mozilla configure flags.
Before patching the source with irix.patch, look at three absolute path header file includes, they start with "/work/everdij/firefox/mozilla", please change those where your mozilla build environment lives. This i need to fix in some makefiles.
Okay, put .mozconfig in mozilla/ directory, patch the source with
patch -p0 < irix.patch and in that directory start the build with
gmake -f client.mk build >& log & It will autostart ./configure before the actual source compile.
On my dual R12K@270MHz 1024MB O200 rig the build takes about 3 hours and 50 minutes, after it will bomb out at 3 errors in "nsAnnotationService.cpp". Apply the idl.patch with
patch -p0 < idl.patch and continue the make with
gmake -f client.mk build >& log2 &After another 50 minutes the firefox binary is built and installed in "mozilla/dist/bin/firefox-bin". If you want to run the binary directly, go to "mozilla/dist/bin" and type
./run-mozilla.sh ./firefox and be greeted with the bus error. Lazy people can just set the shared directory linker env variable with
setenv LD_LIBRARY_PATH mozilla/dist/bin and type
firefox directly (also very handy for the numerous test binaries beginning with "Test*"
A ldd of the binary file is:
Code:
mech003 /work/everdij/firefox/mozilla/dist/bin> setenv LD_LIBRARY_PATH .
mech003 /work/everdij/firefox/mozilla/dist/bin> ldd firefox-bin
libpthread.so => /usr/lib32/libpthread.so
libxul.so => ./libxul.so
libmozjs.so => ./libmozjs.so
libxpcom.so => ./libxpcom.so
libplds4.so => ./libplds4.so
libplc4.so => ./libplc4.so
libnspr4.so => ./libnspr4.so
libdl.so => /usr/lib32/libdl.so
libgtk-x11-2.0.so.1 => /usr/nekoware/lib/libgtk-x11-2.0.so.1
libatk-1.0.so.1 => /usr/nekoware/lib/libatk-1.0.so.1
libgdk-x11-2.0.so.1 => /usr/nekoware/lib/libgdk-x11-2.0.so.1
libgdk_pixbuf-2.0.so.1 => /usr/nekoware/lib/libgdk_pixbuf-2.0.so.1
libpangocairo-1.0.so.1 => /usr/nekoware/lib/libpangocairo-1.0.so.1
libpango-1.0.so.1 => /usr/nekoware/lib/libpango-1.0.so.1
libcairo.so.3 => /usr/nekoware/lib/libcairo.so.3
libgmodule-2.0.so.1 => /usr/nekoware/lib/libgmodule-2.0.so.1
libfreetype.so.7 => /usr/nekoware/lib/libfreetype.so.7
libfontconfig.so.2 => /usr/nekoware/lib/libfontconfig.so.2
libglitz.so.2 => /usr/nekoware/lib/libglitz.so.2
libpng12.so.0 => /usr/nekoware/lib/libpng12.so.0
libz.so => /usr/nekoware/lib/libz.so
libm.so => /usr/lib32/libm.so
libXrender.so.1 => /usr/nekoware/lib/libXrender.so.1
libX11.so.1 => /usr/lib32/libX11.so.1
libgobject-2.0.so.1 => /usr/nekoware/lib/libgobject-2.0.so.1
libglib-2.0.so.1 => /usr/nekoware/lib/libglib-2.0.so.1
libintl.so.4 => /usr/nekoware/lib/libintl.so.4
libsocket.so => /usr/lib32/libsocket.so
libCsup.so => /usr/lib32/libCsup.so
libC.so.2 => /usr/lib32/libC.so.2
libCio.so.1 => /usr/lib32/libCio.so.1
libc.so.1 => /usr/lib32/libc.so.1
libsqlite3.so => ./libsqlite3.so
libsmime3.so => ./libsmime3.so
libssl3.so => ./libssl3.so
libnss3.so => ./libnss3.so
libnssutil3.so => ./libnssutil3.so
libsoftokn3.so => ./libsoftokn3.so
libpangoft2-1.0.so.1 => /usr/nekoware/lib/libpangoft2-1.0.so.1
libXft.so.2 => /usr/nekoware/lib/libXft.so.2
libXt.so => /usr/lib32/libXt.so
libgthread-2.0.so.1 => /usr/nekoware/lib/libgthread-2.0.so.1
libXext.so => /usr/lib32/libXext.so
libfastm.so => /usr/lib32/libfastm.so
libpixman.so.1 => /usr/nekoware/lib/libpixman.so.1
libexpat.so.1 => /usr/nekoware/lib/libexpat.so.1
libiconv.so.3 => /usr/nekoware/lib/libiconv.so.3
libgen.so => /usr/lib32/libgen.so delay-load
mech003 /work/everdij/firefox/mozilla/dist/bin>
So now you know. Good luck to the people that want to help me with this. If you want to debug the binary just --enable-debug and --disable optimization in .mozconfig. Sometimes it helps to debug with a static binary (200mb!!!) , so here's my
static .mozconfigI will just continue undeterred with this port, stubborn bastard as i am. Cheerio!
Dex