Closed Bug 880564 Opened 12 years ago Closed 12 years ago

Some files are rebuilt every time

Categories

(Firefox Build System :: General, defect)

x86_64
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 740359

People

(Reporter: ehsan.akhgari, Unassigned)

References

Details

(Whiteboard: [buildfaster:?])

If you do a clean build, and then do another one right away, the following files seem to be rebuilt unnecessarily: 0:46.43 nsChromeRegistry.cpp 0:51.13 XPCComponents.cpp 0:51.15 nsXPConnect.cpp 2:02.54 webapprt.mm 2:14.72 nsBrowserApp.cpp The first three cause libxul to be relinked again.
Blocks: 755684
Depends on: 742169
Hardware: x86 → x86_64
Whiteboard: [buildfaster:?]
Depends on: 876566
$ mach build -v chrome/src 0:00.65 /usr/bin/make -C chrome/src -j8 0:00.99 /usr/bin/make export 0:00.99 if test -d ../../dist/bin/browser ; then touch ../../dist/bin/browser/.purgecaches ; fi 0:01.00 if test -d ../../dist/bin/webapprt ; then touch ../../dist/bin/webapprt/.purgecaches ; fi 0:01.01 make[1]: Nothing to be done for `export'. 0:01.01 /usr/bin/make libs 0:01.14 make[1]: Nothing to be done for `libs'. 0:01.15 /usr/bin/make tools 0:01.17 make[1]: Nothing to be done for `tools'. I guess I'll need to build on Windows to find out why the dependencies there are causing it to get rebuilt.
(In reply to comment #1) > $ mach build -v chrome/src > 0:00.65 /usr/bin/make -C chrome/src -j8 > 0:00.99 /usr/bin/make export > 0:00.99 if test -d ../../dist/bin/browser ; then touch > ../../dist/bin/browser/.purgecaches ; fi > 0:01.00 if test -d ../../dist/bin/webapprt ; then touch > ../../dist/bin/webapprt/.purgecaches ; fi > 0:01.01 make[1]: Nothing to be done for `export'. > 0:01.01 /usr/bin/make libs > 0:01.14 make[1]: Nothing to be done for `libs'. > 0:01.15 /usr/bin/make tools > 0:01.17 make[1]: Nothing to be done for `tools'. > > I guess I'll need to build on Windows to find out why the dependencies there > are causing it to get rebuilt. FWIW I see this on Mac.
(In reply to Gregory Szorc [:gps] from comment #1) > $ mach build -v chrome/src It probably requires a top-level build.
(In reply to comment #3) > (In reply to Gregory Szorc [:gps] from comment #1) > > $ mach build -v chrome/src > > It probably requires a top-level build. Oh, yes. It does.
It's probably the result of us blowing away parts of dist/ at the beginning of a build and invalidating mtimes when a file is copied (not symlinked) into dist/. That is in turn probably due to some one-off install/copy rule that isn't INSTALL_TARGETS. But this is only speculation.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.