Closed Bug 941097 Opened 11 years ago Closed 11 years ago

Provide a build time option to disable UNIFIED_SOURCES across the tree

Categories

(Firefox Build System :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla28

People

(Reporter: ehsan.akhgari, Assigned: gps)

References

Details

Attachments

(1 file)

glandium, any preferences on how we do this?
Flags: needinfo?(mh+mozilla)
Chris suggested on dev-platform the following: It might be useful to add a files_per_unified_file parameter to mozconfig or mach build. People could benchmark different values of files_per_unified_file (trading off clobber vs incremental build times). The same parameter could also be used to disable unified builds with files_per_unified_file = 1. I think it's a great idea!
Also I'd like to suggest a global --disable-unified, but also --disable-unified=gfx,content,dom/canvas to state "disable unified only in these directory prefixes", to let devs tweak based on their workflow.
Start simple. Iterate as needed.
Attachment #8335511 - Flags: review?(mh+mozilla)
Attachment #8335511 - Flags: feedback?(ehsan)
Assignee: nobody → gps
Status: NEW → ASSIGNED
Comment on attachment 8335511 [details] [diff] [review] Add --disable-unified-compilation configure flag Review of attachment 8335511 [details] [diff] [review]: ----------------------------------------------------------------- Hmm, thinking more about comment 1, we actually do need a separate way of disabling unified builds altogether for lldb at least, and using the unification threshold of 1 as a special case won't work. Given that, f=me. (Note that I think what Vlad is proposing also makes sense. I don't know autoconf enough, but can we do something like have --disable-unified-compilation disable this globally, and --disable-unified-compilation=gfx for the gfx/ top level dir?)
Attachment #8335511 - Flags: feedback?(ehsan) → feedback+
Comment on attachment 8335511 [details] [diff] [review] Add --disable-unified-compilation configure flag Review of attachment 8335511 [details] [diff] [review]: ----------------------------------------------------------------- ::: configure.in @@ +376,5 @@ > +[ --disable-unified-compilation > + Disable unified compilation of some C/C++ sources], > + DISABLE_UNIFIED_COMPILATION=1, > + DISABLE_UNIFIED_COMPILATION=) > +AC_SUBST(DISABLE_UNIFIED_COMPILATION) MOZ_? ::: python/mozbuild/mozbuild/backend/recursivemake.py @@ +369,5 @@ > + include_curdir_build_rules=False) > + backend_file.write('%s += $(%s)\n' % (k[len('UNIFIED_'):], k)) > + else: > + backend_file.write('%s += %s\n' % ( > + k[len('UNIFIED_'):], ' '.join(sorted(v)))) Note that everywhere else we output one file per line. Not that it matters much.
Attachment #8335511 - Flags: review?(mh+mozilla) → review+
Blocks: 941365
Note bug 941365 will cover per-directory disabling.
Flags: needinfo?(mh+mozilla)
Flags: in-testsuite-
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: