make in toolkit/library will make in dependent dirs, but not quite correctly (no LOCAL_INCLUDES?)

RESOLVED FIXED in mozilla15

Status

()

Core
Build Config
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: bz, Assigned: glandium)

Tracking

unspecified
mozilla15
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

STEPS TO REPRODUCE:

1)  Change content/canvas/src/WebGLContextGL.cpp
2)  Run make -C $objdir/toolkit/library

ACTUAL RESULTS:

  WebGLContextGL.cpp
  In file included from content/canvas/src/WebGLContextGL.cpp:41:
  In file included from content/canvas/src/WebGLContext.h:55:
  ../../dist/include/nsHTMLCanvasElement.h:42:10: fatal error:
    'nsGenericHTMLElement.h' file not found
  #include "nsGenericHTMLElement.h"

EXPECTED RESULTS: in an ideal world, total victory, just making in toolkit/library builds everything correctly.  ;)
Probably fallout from bug 644608.
Blocks: 644608
(Assignee)

Comment 2

5 years ago
(In reply to Ted Mielczarek [:ted] from comment #1)
> Probably fallout from bug 644608.

Not probably.

(In reply to Boris Zbarsky (:bz) from comment #0)
> STEPS TO REPRODUCE:
> 
> 1)  Change content/canvas/src/WebGLContextGL.cpp
> 2)  Run make -C $objdir/toolkit/library

You're shooting yourself in the foot here ;)
Assignee: nobody → mh+mozilla
(Assignee)

Comment 3

5 years ago
Created attachment 620283 [details] [diff] [review]
Use explicit targets for object files

In practice, this means removing what makes e.g. setting SIMPLE_PROGRAMS
work without any CPPSRCS set.

Fortunately, only a few Makefiles rely on such constructs.
Attachment #620283 - Flags: review?(ted.mielczarek)
(Assignee)

Comment 4

5 years ago
Forgot to mention, this got an all-green: https://tbpl.mozilla.org/?tree=Try&rev=4623a6b1e9b9
Comment on attachment 620283 [details] [diff] [review]
Use explicit targets for object files

Review of attachment 620283 [details] [diff] [review]:
-----------------------------------------------------------------

::: config/rules.mk
@@ -1137,5 @@
>  
> -%:: %.c $(GLOBAL_DEPS)
> -	$(REPORT_BUILD)
> -	@$(MAKE_DEPS_AUTO_CC)
> -	$(ELOG) $(CC) $(CFLAGS) $(LDFLAGS) $(OUTOPTION)$@ $(_VPATH_SRCS)

We don't actually rely on this rule anywhere silly, right?

::: tools/trace-malloc/Makefile.in
@@ +59,5 @@
>  
>  SIMPLE_PROGRAMS	= \
>  		$(SIMPLECSRCS:.c=$(BIN_SUFFIX)) \
>  		$(SIMPLECPPSRCS:.cpp=$(BIN_SUFFIX)) \
>  		$(NULL)

I wonder if we even use any of these programs anymore? Maybe we could just remove all this?
Attachment #620283 - Flags: review?(ted.mielczarek) → review+
(Assignee)

Comment 6

5 years ago
(In reply to Ted Mielczarek [:ted] from comment #5)
> Comment on attachment 620283 [details] [diff] [review]
> Use explicit targets for object files
> 
> Review of attachment 620283 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: config/rules.mk
> @@ -1137,5 @@
> >  
> > -%:: %.c $(GLOBAL_DEPS)
> > -	$(REPORT_BUILD)
> > -	@$(MAKE_DEPS_AUTO_CC)
> > -	$(ELOG) $(CC) $(CFLAGS) $(LDFLAGS) $(OUTOPTION)$@ $(_VPATH_SRCS)
> 
> We don't actually rely on this rule anywhere silly, right?

AFAIK, we don't. At least not when building Firefox.
 
> ::: tools/trace-malloc/Makefile.in
> @@ +59,5 @@
> >  
> >  SIMPLE_PROGRAMS	= \
> >  		$(SIMPLECSRCS:.c=$(BIN_SUFFIX)) \
> >  		$(SIMPLECPPSRCS:.cpp=$(BIN_SUFFIX)) \
> >  		$(NULL)
> 
> I wonder if we even use any of these programs anymore? Maybe we could just
> remove all this?

Let's possibly do that in a separate bug.
(Assignee)

Comment 7

5 years ago
FWIW, leaksoup, leakstats and bloatblame are mentioned on the wiki.
(Assignee)

Comment 8

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/43cc6c43f79c
Target Milestone: --- → mozilla15
(Assignee)

Updated

5 years ago
OS: Mac OS X → All
Hardware: x86 → All

Comment 9

5 years ago
https://hg.mozilla.org/mozilla-central/rev/43cc6c43f79c
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(Assignee)

Updated

5 years ago
Depends on: 755277
Depends on: 757594
You need to log in before you can comment on or make changes to this bug.