Don't compile interfaces with midl during artifact builds

RESOLVED FIXED in Firefox 50

Status

()

Core
Build Config
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: chmanchester, Assigned: chmanchester)

Tracking

(Blocks: 1 bug)

unspecified
mozilla50
Points:
---

Firefox Tracking Flags

(firefox50 fixed)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
A simple patch to skip these saves about 15% of the time it takes to do a clobber artifact build on my machine.
(Assignee)

Comment 1

2 years ago
Created attachment 8762222 [details]
Bug 1279643 - Don't compile interfaces with midl during artifact builds.

Review commit: https://reviewboard.mozilla.org/r/59044/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59044/
Attachment #8762222 - Flags: review?(mshal)
Comment on attachment 8762222 [details]
Bug 1279643 - Don't compile interfaces with midl during artifact builds.

https://reviewboard.mozilla.org/r/59044/#review56216

::: accessible/interfaces/ia2/Makefile.in:81
(Diff revision 1)
>  
>  ifneq ("$(missing)","")
>  midl_done : FORCE
>  endif
>  
>  midl_done : $(addprefix $(IA2DIR)/,$(MIDL_INTERFACES) $(MIDL_ENUMS))

Is there a reason you don't want this in an 'ifdef COMPILE_ENVIRONMENT' as well?  I'd think because of the way 'missing' and the FORCE rule are defined, this rule would execute even though $(MIDL_GENERATED_FILES) no longer depend on midl_done.

::: accessible/interfaces/msaa/Makefile.in:19
(Diff revision 1)
>  	ISimpleDOMText.h \
>  	ISimpleDOMText_p.c \
>  	ISimpleDOMText_i.c \
>  	$(NULL)
>  
> +ifdef $(COMPILE_ENVIRONMENT)

This (and others) should be: ifdef COMPILE_ENVIRONMENT

The $(COMPILE_ENVIRONMENT) is expanded before the ifdef, so if COMPILE_ENVIRONMENT is set, this is the same as 'ifdef 1', which would be false (unless you set the variable '1' to something). See 'ifdef variable-name' here: https://www.gnu.org/software/make/manual/html_node/Conditional-Syntax.html
Attachment #8762222 - Flags: review?(mshal)
(Assignee)

Comment 3

2 years ago
Comment on attachment 8762222 [details]
Bug 1279643 - Don't compile interfaces with midl during artifact builds.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59044/diff/1-2/
Attachment #8762222 - Flags: review?(mshal)

Updated

2 years ago
Attachment #8762222 - Flags: review?(mshal) → review+
Comment on attachment 8762222 [details]
Bug 1279643 - Don't compile interfaces with midl during artifact builds.

https://reviewboard.mozilla.org/r/59044/#review56400

This looks good to me! Though I realized it may be possible to just not recurse into the msaa & ia2 directories if we don't have the compile environment. IOW, what if we added "and CONFIG['COMPILE_ENVIRONMENT']" here? https://dxr.mozilla.org/mozilla-central/rev/14c5bf11d37b9e92d27f7089d9392de2ac339bb3/accessible/interfaces/moz.build#7

That may be simpler, but if there's some reason that won't work I think this is fine to land.
(Assignee)

Comment 5

2 years ago
https://reviewboard.mozilla.org/r/59044/#review56400

Good call, I'll see if that works...

Comment 6

2 years ago
Pushed by cmanchester@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ce550c4e37b7
Don't compile interfaces with midl during artifact builds. r=mshal

Comment 7

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/ce550c4e37b7
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox50: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in before you can comment on or make changes to this bug.