Closed Bug 92127 Opened 24 years ago Closed 24 years ago

change win32 automation to do static builds

Categories

(SeaMonkey :: Build Config, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.4

People

(Reporter: granrosebugs, Assigned: leaf)

Details

Attachments

(2 files)

From email, cathleen wrote: So, all the static build support is landed on the trunk for win32. It's ready to be turned when granrose is free from RTM builds. Even installer should work too. Build flags we need to turn on win32 static build are: SET MOZ_STATIC_COMPONENT_LIBS=1 SET MOZ_NO_ACTIVEX_SUPPORT=1 SET DISABLE_TESTS=1 To generate installer, run build_static.pl in xpinstall/wizard/windows/builder it will pick up the right packager file (packages-static-win) to use. I think the plan is to make both static and dynamic (current world) builds for a while, to do some comparison testings, until we are satisfied with static build results (functionalities, stability and performance) then we can decide which binary to ship. Will it be in time for 0.9.3?? We really do hope so, but won't know for sure till we start getting official builds. BTW, There is no plan to kill dynamic build system, even if we do decide shipping static builds, because lots of people are still hoping that's supported for the ease of development.
We should also have a tinderbox set up that is doing a clobber static build, which brings us to resources. We don't have resources right now to do both static and dynamic win32 release builds. We would need at least 2 additional PCs (ns & mozilla clobber, 2 more for ns & mozilla depend would be better) to cover both static and dynamic. For right now we'd need to pick a build type for the official builds and have the release builds and tinderbox do those builds. Then if additional tinderbox systems become available we could set them up doing dynamic builds, but the priority from the build team is always going to be whatever Netscape is releasing.
adding mcafee. mcafee is suppose to have tinder box setup for static build already, I think. Is that ture mcafee? Can we leverage that?
I need more hardware to have a dedicated static build tinderbox. It's a two-line mozconfig setting, easy. Probably something similar for windows.
did we ever get static test builds? we should be doing those before we make everyone use them.
Status: NEW → ASSIGNED
I agree with leaf, we should spin both versions for at least a few days before making the switch.
I've made several builds tested on my machine, and everything looks good. It's good to go. I have not done extensive funcationality tests though, and that's why we need to start getting official builds when possible. :-)
i have a better idea... we do test builds that are tested on a machine *not* used to produce the build. *then* we force everyone to use the static build. I'll even build from the same tree, so we'll know if problems stem from static-buildness or not.
sure, building from the same tree will be excellent, in fact would be ideal. :-) forcing..., means there is still a way for people to get dynamic build for performance comparison testing right?
leaf - I don't understand what you mean by using a system not used to do the builds, but at the same time using the same tree. I thought this would just be an option to the automation that we would start out disabled, and then enable it by default after a few days of testing. cathleen - we'll probably deliver static builds and dynamic builds for a few days, but once we're confident the static builds work and that's what we want, we won't produce release dynamic builds any longer. We want everyone using whatever type build we're going to be shipping. So if anyone wants to do comparison testing after that they'll have to produce their own dynamic builds. I fully expect the dynamic builds to be completely broken due to packaging issues within 3 months of switching over to static builds.
> cathleen - we'll probably deliver static builds and dynamic builds for a few > days, but once we're confident the static builds work and that's what we want, > we won't produce release dynamic builds any longer. We want everyone using > whatever type build we're going to be shipping. So if anyone wants to do > comparison testing after that they'll have to produce their own dynamic > builds. that's cool with me! :-) > I fully expect the dynamic builds to be completely broken due to packaging > issues within 3 months of switching over to static builds. :-p yup...
my comment was targetted at the extensive testing done by cathleen on the machine she used to build. It's better to build on a machine, and see if the build (packaged) works on another system (the smoketester's, for instance). you're right that packaging for the dynamic build is just going to die pretty quickly after we switch to doing static builds. I wonder how smart-update is going to work if we only have big globs to update, instead of smaller, more easily downloaded components?
> I wonder how smart-update is going to work if we only have big globs to update, > instead of smaller, more easily downloaded components? componet install still works. we pulled mail out of the main .exe, and put all dlls into one mail.dll. also, on win32, js, xpcom, nspr, xpinstall and libjar are built as dlls not linked into main mozilla.exe binary. additional stuff in commercial tree are left alone, except main browser stuff is linked into the main .exe performance gain we saw back in June was based on a build that has *everything* linked together into 1 executable... dut to the fact we still need to support component intalls, things are broken out a bit. mozilla.exe is about 6MB now, mail is around 1MB. It would be interesting to see what number we get again.
i knew about the component breakouts... but wasn't there the idea that we could replace individual dlls? a pipe-dream, maybe :)
automation patch on the way. we might be able to do test builds this afternoon ;)
can i get a witness to this? r=?
leaf - what about SET MOZ_NO_ACTIVEX_SUPPORT=1 SET DISABLE_TESTS=1 I don't see them being set in the automation anywhere. And I'm assuming that we don't need build_static.pl and that just running pkgcp.pl on the new packages-static-win file will set up what it needs to makeall to generate the xpi files?
damnit; there's already: $ENV{MOZ_ACTIVEX_SUPPORT} = ""; Which i may be incorrectly presuming does the same things as MOZ_NO_ACTIVEX_SUPPORT=1 And i thought we already set disable tests for the regular build; but it looks as if we do not. new patch on the way.
and to answer your other question, yes, the only difference (other than whitespace) between build_static.pl and build.pl is the packages file it uses, so the change i made to the automation is equivalent and sufficient.
looks good to me. thanks for the quick turnaround, leaf. r=granrose.
checked in. i'll do a test build when the tree opens.
Jud Valeski asked me to add this for embeddors. Currently, the static build process requires mailnews. Can we make the process compatible with the DISABLE_MAILNEWS setting?
Filed bug 93100 on that issue.
so are we holding off on resolving this until we resolve the win32 static build performance issue?
Priority: -- → P3
Target Milestone: --- → mozilla0.9.4
I'm resolving this, because this bug (make the automation be able to do static builds) is fixed. Whether we move to it as the default is a separate issue.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
verified.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: