Closed
Bug 1200072
Opened 11 years ago
Closed 10 years ago
Replace SM(e) builds with SM(p) builds
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox43 affected)
RESOLVED
DUPLICATE
of bug 1248502
| Tracking | Status | |
|---|---|---|
| firefox43 | --- | affected |
People
(Reporter: n.nethercote, Unassigned)
Details
TL;DR: I don't think we need SM(e) builds (SpiderMonkey fail-on-warnings builds) any more because vanilla SM builds have the same amount of checking.
Details...
SpiderMonkey is now built with warnings-as-errors on for GCC in vanilla builds, courtesy of these lines in js/src/moz.build:
> if not CONFIG['GNU_CXX']:
> ALLOW_COMPILER_WARNINGS = True
(This means we *don't* allow compiler warnings when building with GCC, i.e. we enable warnings-as-errors with GCC.)
js/src/shell/moz.build and js/src/jsapi-tests/moz.build have the same lines, and the other moz.build files under js/src/ never set ALLOW_COMPILER_WARNINGS.
And the SM(e) builds are only done on Linux, which uses GCC anyway.
So I think the SM(e) builds can be removed. This will get rid of a build configuration, which reduces complexity and machine load.
It will also avoid tripping up people who unluckily stumble across the odd corners of SM(e) builds and the fact that SM(e) builds don't run on try pushes. E.g. in bug 1198334 I just hit this, where some warnings occurred not in js/src/ files but in .c files in config/. I guess those files aren't built in normal builds but are built in SM(e) builds? Not sure, but it'll all be moot if we can remove SM(e) builds.
Comment 2•11 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #1)
> You OK with this, Steve?
Not exactly. The SM(e) builds are used as "normal" shell builds, without any special gczeal flags or environment settings or anything. They don't have tests suppressed like eg SM(cgc) builds do. If we were to autopackage an SM source release, it would probably come from these builds.
That said, I am definitely in favor of renaming these away from SM(e) if the warnings-as-errors is now redundant. Specifically, these should be switched to SM(p) (for "plain"). There are already SM(p) builds for Windows since we didn't want the warnings-as-errors stuff there.
One wrinkle is that we now have taskcluster-based shell builds. I'm not clear on whether those are ready to replace the buildbot-based ones and if not, what's left to be done. But we can do an SM(e) -> SM(p) switcheroo here regardless.
Flags: needinfo?(sphink)
Summary: Remove SM(e) builds → Replace SM(e) builds with SM(p) builds
| Reporter | ||
Comment 3•10 years ago
|
||
> It will also avoid tripping up people who unluckily stumble across the odd
> corners of SM(e) builds and the fact that SM(e) builds don't run on try
> pushes. E.g. in bug 1198334 I just hit this, where some warnings occurred
> not in js/src/ files but in .c files in config/.
I just hit this again in bug 1232219.
| Reporter | ||
Comment 4•10 years ago
|
||
Will remove the --enable-warnings-as-errors lines in js/src/devtools/automation/variants/warnaserr{,debug} be enough to disable warnings-as-errors for these builds?
And then I guess the strings used by Treeherder will need to be updated, wherever they are stored.
| Reporter | ||
Comment 5•10 years ago
|
||
> SpiderMonkey is now built with warnings-as-errors on for GCC in vanilla
> builds, courtesy of these lines in js/src/moz.build:
>
> > if not CONFIG['GNU_CXX']:
> > ALLOW_COMPILER_WARNINGS = True
BTW, these lines have been removed and fatal warnings are enabled for normal Treeherder builds on all platforms now. Which may not be relevant, other than one previous distinction between platforms has now gone.
Comment 6•10 years ago
|
||
Just stumbled across this bug. I did this in bug 1248502.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
| Reporter | ||
Comment 7•10 years ago
|
||
Yay! Thank you.
Updated•8 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•