Thanks Callum!
I had problems linking with VC8, found out I needed to compile ubrowser again. That led to having to compile mozilla ... and basically losing 2 days. Thought I would post my experience for the next poor soul. So in case any one is interested in getting this to work with VC8, re-live 2 days of pain in 12 easy steps.
Some of these are from memory, and my memory, unfortunately, is like a retarded goldfish on crack, so beware.
Code: Select all
Build Mozilla with VC8
1) Download Mozilla build tools and extract to 'c:/mozilla-build'
- http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.1.exe
- http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites
2) Delete the 'moztools' folder under 'c:/mozilla-build' and replace with
the VC8 version from mozilla.
- http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/
3) Copy msvcr80.dll and msvcr80d.dll to 'c:/mozilla-build/moztools/bin'
- Look in 'C:/Program Files/Microsoft Visual Studio 8/VC/redist/'
or find them online.
4) Checkout mozilla to 'c:/mozilla'
- CVS :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
MODULE mozilla
TAG MOZILLA_1_8_1_RELEASE
- http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS
5) Download llmozlib from ubrowser and install
- http://ubrowser.com/downloads.php
6) Copy the config file
/*** DEBUG VERSION ***/
- Copy './llmozlib/build_tools/.mozconfig.debug' to 'c:/mozilla/.mozconfig'
/*** RELEASE VERSION ***/
- Copy './llmozlib/build_tools/.mozconfig.optimized' to 'c:/mozilla/.mozconfig'
7) Launch 'c:/mozilla-build/start-msvc8.bat'
8) Navigate MINGW to 'c:/mozilla/'
- cd /c/mozilla
8.1) Apply patch(s) in './llmozlib/build_mozilla';
- patch -p0 < /path/to/file.patch
9) Build mozilla
- make -f client.mk build_all
10) Eventually, certain files like 'xpt_link.exe' will cause errors related to
missing manifest(s). You will need to copy the .manifest file into the
folder with the exe that failed.
- Example during debug build, for 'xpt_link.exe', I had to copy
'C:/mozilla/objdir-debug-xulrunner-small/xpcom/typelib/xpt/tools/xpt_link.exe.manifest'
to
'C:/mozilla/objdir-debug-xulrunner-small/dist/bin/xpt_link.exe.manifest'
- Easiest way is just to do a search for '*.manifest' in 'c:/mozilla/%OBJ_FOLDER%/' and be
ready to drag them into the appropriate folder. '%OBJ_FOLDER%' varies for debug /
release build.
11) If build failed because of manifest, goto step (9), else ???.
12) Run './llmozlib/build_tools/copy_mozilla_files.bat' which will copy 'important' files
into './llmozlib/libraries/i686-win32'
Things should now be to the flavor of 'the usual problems'.
Best of luck!
Notes:
* Someone said if you're using VC8 Express, you need to add
"ac_add_options --disable-crypto" to disable crypto.
I wouldn't know, I have the full version.
References:
* http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites
* http://developer.mozilla.org/en/docs/Mozilla_Build_FAQ#Win32-specific_questions
* http://developer.mozilla.org/en/docs/Debugging_Mozilla_on_Windows_FAQ
* http://developer.mozilla.org/en/docs/Configuring_Build_Options
* http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS
* http://groups.google.com/group/ubrowser/browse_thread/thread/377cb116d830d504
* http://blog.vlad1.com/archives/2006/02/13/93/feed/
* http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=20960
* http://www.ogre3d.org/phpBB2/viewtopic.php?t=32384
* http://ubuntuforums.org/archive/index.php/t-123985.html
* http://www.sephiroth-j.de/mozilla/moztools.vc8/
* http://forums.mozillazine.org/viewtopic.php?t=338845
* http://groups.google.com/group/mozilla.dev.builds/browse_thread/thread/c44057291e55a933/1fc812c0ef0be9e7
* http://wiki.secondlife.com/wiki/Compiling_the_viewer_libraries_%28MSVS_2003%29#LLMozLib
* https://lists.secondlife.com/pipermail/sldev/2007-July/002873.html
* http://wiki.secondlife.com/wiki/Compiling_the_viewer_libraries_%28MSVS_2003%29#LLMozLib
* http://wiki.secondlife.com/wiki/Source_downloads
* https://wiki.secondlife.com/wiki/Compiling_the_viewer_%28MS_Windows%29#LLMozLib
*edit* Added step 8.1, this patch must be enabled to get nsIToolkitObserver. I also added a few more references.
*side note* I couldn't get Mozilla to run in an Active-X in Internet Explorer. The control worked fine any where else, but in IE, it complained of a currupt heap. So I had to run Mozilla in a separate process and use shared memory. But now I have Mozilla in Irrlicht in IE, and all is right with the world.