How to build Firefox with Visual Studio 2005 Express Edition

Discussion of third-party/unofficial Firefox/Thunderbird/SeaMonkey builds.
Post Reply
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

I managed to get glib 1.2.2 built using pigfoot's source from pryan.org. I'll give libidl 0.6.8 a shot next.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

Built libidl and the build has gotten by the problem that I had before with the missing symbol. Now I have:

/cygdrive/f/Mozilla/mozilla/build/cygwin-wrapper ../../dist/bin/xpidl.exe -m header -w -I/cygdrive/f
/Mozilla/mozilla/xpcom/base -I../../dist/idl -o _xpidlgen/nsIConsoleListener /cygdrive/f/Mozilla/moz
illa/xpcom/base/nsIConsoleListener.idl
make[4]: *** [_xpidlgen/nsIConsoleListener.h] Error 128
make[4]: Leaving directory `/cygdrive/f/Mozilla/mozilla/xpcom/base'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/f/Mozilla/mozilla/xpcom'
make[2]: *** [tier_2] Error 2
make[2]: Leaving directory `/cygdrive/f/Mozilla/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/f/Mozilla/mozilla'
make: *** [build] Error 2

F:\Mozilla\mozilla>cd \mozilla

I need to go back through the thread to see if the manifest fix takes care of this problem. If anyone has seen this, drop me a line.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
User avatar
firemonkey
Posts: 950
Joined: March 14th, 2004, 10:57 pm
Location: Down in the basement

Post by firemonkey »

Sephirot wrote:
firemonkey wrote:...

my changes where similar to yours

which version of libIDL and glib do you use? I thought MS VC 2005 needs VC8 builds of them. Did you rebuild firefox with a new object dir?


It was just a test to see if it would build by dropping only the new compiler in place. I left the same VC71 libIDL and glib as well as .NET 1.1 (even though .NET 2.0 Framework and SDK were installed with EE) and dumped my objdir (ff-obj-static) to start fresh.

buildsetupvs8.bat:

---
@ECHO OFF

SET HOME=C:\mozilla
SET MOZ_TOOLS=C:\mozilla\moztools
SET GLIB_PREFIX=C:\vc71
SET LIBIDL_PREFIX=C:\vc71


SET PATH=C:\vc71;C:\vc71\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft SDK\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin;%MOZ_TOOLS%\bin;C:\mozilla\cygwin\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\wbem;C:\Program Files\Microsoft SDK\Bin\Win64;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;C:\masm32\BIN

SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft SDK\Lib;C:\Program Files\Microsoft.NET\SDK\v1.1\Lib;C:\masm32\LIB;C:\Program Files\Microsoft SDK\Lib\IA64

SET INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft SDK\include;C:\Program Files\Microsoft.NET\SDK\v1.1\include;C:\Program Files\Microsoft SDK\include\Win64\crt;C:\masm32\INCLUDE;C:\Program Files\Microsoft SDK\include\Win64\atl

SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
SET CVS_RSH=ssh

---

I made no changes to my .mozconfig.
User avatar
auenf
Posts: 709
Joined: August 28th, 2004, 2:25 am
Contact:

Post by auenf »

taiyo2 wrote:
auenf wrote:of course i dont have .net framework 2.0 installed here, but my beta 2 builds work on this machine with just the dll copied to it :/

Enf...

Your 11-09 VC8 test build:
http://nitro.ausgamers.com/builds/
is working fine so far. Thanks. : )


you obviously have the .net framework 2.0 installed?

Enf...
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

It doesn't work yet but someone asked earlier

mozconfig:

. $topsrcdir/browser/config/mozconfig
GLIB_PREFIX=d:/3_mozilla/w32build/vc8/moztools.vc8beta2
LIBIDL_PREFIX=d:/3_mozilla/w32build/vc8/moztools.vc8beta2
export MOZ_PHOENIX=1
mk_add_options MOZ_PHOENIX=1
ac_add_options --disable-toolkit-gtk
ac_add_options --disable-toolkit-xlib
ac_add_options --disable-toolkit-qt
ac_add_options --enable-crypto
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-mailnews
ac_add_options --disable-composer
ac_add_options --enable-optimize="-O2 -GL -GS- -fp:fast -arch:SSE2 -DQUEK3 -DQUEK10 -DQUEK14 -DQUEK15"
ac_add_options --disable-ldap
ac_add_options --disable-debug
ac_add_options --disable-shared
ac_add_options --enable-static
ac_add_options --disable-profilesharing
ac_add_options --disable-accessibility
ac_add_options --disable-activex
ac_add_options --disable-activex-scripting
ac_add_options --disable-installer
ac_add_options --enable-extensions=cookie,xml-rpc,xmlextras,pref,transformiix,universalchardet,webservices,inspector

LDFLAGS="-ltcg"
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
User avatar
auenf
Posts: 709
Joined: August 28th, 2004, 2:25 am
Contact:

Post by auenf »

mmoy wrote:Built libidl and the build has gotten by the problem that I had before with the missing symbol. Now I have:

/cygdrive/f/Mozilla/mozilla/build/cygwin-wrapper ../../dist/bin/xpidl.exe -m header -w -I/cygdrive/f
/Mozilla/mozilla/xpcom/base -I../../dist/idl -o _xpidlgen/nsIConsoleListener /cygdrive/f/Mozilla/moz
illa/xpcom/base/nsIConsoleListener.idl
make[4]: *** [_xpidlgen/nsIConsoleListener.h] Error 128
make[4]: Leaving directory `/cygdrive/f/Mozilla/mozilla/xpcom/base'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/f/Mozilla/mozilla/xpcom'
make[2]: *** [tier_2] Error 2
make[2]: Leaving directory `/cygdrive/f/Mozilla/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/f/Mozilla/mozilla'
make: *** [build] Error 2

F:\Mozilla\mozilla>cd \mozilla

I need to go back through the thread to see if the manifest fix takes care of this problem. If anyone has seen this, drop me a line.


that looks like its just the manifest problem, just copying the appropriate manifest file into dist\bin should get past that, may also want to drop the manifest files for xpt_dump and xpt_link in while your at it

Enf...
Dougieha
Posts: 203
Joined: April 25th, 2003, 4:20 pm

Post by Dougieha »

mmoy wrote:Built libidl and the build has gotten by the problem that I had before with the missing symbol. Now I have:

/cygdrive/f/Mozilla/mozilla/build/cygwin-wrapper ../../dist/bin/xpidl.exe -m header -w -I/cygdrive/f
/Mozilla/mozilla/xpcom/base -I../../dist/idl -o _xpidlgen/nsIConsoleListener /cygdrive/f/Mozilla/moz
illa/xpcom/base/nsIConsoleListener.idl
make[4]: *** [_xpidlgen/nsIConsoleListener.h] Error 128
make[4]: Leaving directory `/cygdrive/f/Mozilla/mozilla/xpcom/base'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/f/Mozilla/mozilla/xpcom'
make[2]: *** [tier_2] Error 2
make[2]: Leaving directory `/cygdrive/f/Mozilla/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/f/Mozilla/mozilla'
make: *** [build] Error 2

F:\Mozilla\mozilla>cd \mozilla

I need to go back through the thread to see if the manifest fix takes care of this problem. If anyone has seen this, drop me a line.


Yeah...I saw this one earlier this afternoon. If I recall correctly, I did one of two things to fix it...either used the vc8b2 versions of glib and libidl that I grabbed (BTW, could you upload your compiled vc8 versions??), and/or copied all the appropriate manifest files over to dist/bin from mozilla/xpcom/typelib/xpidl and mozilla/xpcom/typelib/xpt/tools for the necessary executables...there's a patch in 249782 to embed the manifests (but I haven't tried it).
Dougieha
Posts: 203
Joined: April 25th, 2003, 4:20 pm

Post by Dougieha »

Also...mmoy, have you decided on the best optimization flags for vc8? I was thinking of trying -Ox -GL -arch:SSE2 (for a P4 SSE2 win32 build), but I'm not sure. Any thoughts?
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

Dougieha wrote:Also...mmoy, have you decided on the best optimization flags for vc8? I was thinking of trying -Ox -GL -arch:SSE2 (for a P4 SSE2 win32 build), but I'm not sure. Any thoughts?


It's above your post. Just ignore the QUEK stuff. I'm not even bothering with patches at the moment. BTW, the -GS- switch is interesting. -GS is the default and it adds a few assembler instructions and one call at the beginning and end of every routine. This is for buffer overflow protection. -GS- removes the buffer overflow protection.

So you can pay the overhead for -GS protection or skip it for better performance. I choose better performance for my builds given that Mozilla's current builds have never had this protection anyways.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
Dougieha
Posts: 203
Joined: April 25th, 2003, 4:20 pm

Post by Dougieha »

Ah...ok...I'll give that a try. I'm thinking of keeping the vc7 setup on my desktop and just using vc8 on my laptop until I'm sure that vc8 is ok. As for the compiled glib and libidl vc8 versions? Please? :)

Thanks,
Dougieha
oldaccountbegone
Posts: 228
Joined: March 3rd, 2004, 7:18 am

Post by oldaccountbegone »

one question:
Why are we using the old versions of these libraries...afaik glib is @ 2.8.3 and libidl @ 0.8.7?

New to the building scene, so instead of experimenting I thought I'd ask
Dougieha
Posts: 203
Joined: April 25th, 2003, 4:20 pm

Post by Dougieha »

I believe there is a good reason why we are using the older versions. I think I remember someone saying that the builds wouldn't work with the most up-to-date versions. Anyone else care to elaborate?
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

I'll use anything that works and someone got it to work with the old versions. As for uploading the files, my uploader is on my Windows 32 partition and I've been downloading Kanotix Linux for the past couple of hours and it still has a ways to go. I'm also pulling the tree to try the manifest thing. I bought my FTP program in the mid-1990s and it usually takes a while for me to find it. I also don't have my Thunderbird email running on this OS yet so I don't have pointers to my old stuff.

I could use one of these http://www.shopping.hp.com/webapp/shopp ... uter_store
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
Dougieha
Posts: 203
Joined: April 25th, 2003, 4:20 pm

Post by Dougieha »

Dual 120GB hard drives on a laptop...perfect!

Ok...well...I don't need them until tomorrow anyway...but, if that doesn't work...can you at least tell me how you went about building them?
mmoy
Posts: 5030
Joined: February 17th, 2004, 9:05 pm
Location: New Hampshire
Contact:

Post by mmoy »

There are directions in the glib and libidl directories.

I had a closer look and the drives are only 4200 RPM. My current laptop has 210 GB of storage on it. 180 GB at 5400 RPM with an 8 MB cache and the other 30 at 4200 RPM with a 2 MB cache.
Dell E521 X2 5600+ MacBookPro 17'' 2.5 Ghz Penryn Dell M1330 2.0 Ghz Merom 4 GB Vista x64 Compaq r3000z AMD 64 3200+ (Win 32/64) PowerMac G5 1.8 Ghz MMOY-1.5 (OSX 10) Inspiron 8500, 4100, 4000, Dimension 2300 MacBook Pro 2.2 Ghz HP E6600 HP X2 4400+
Post Reply