New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 612623 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

//chrome:chrome_framework does not re-link if the framework.order file changes

Project Member Reported by rsesek@chromium.org, May 17 2016

Issue description

When implementing the //chrome:verify_chrome_framework_order step in https://codereview.chromium.org/1980173002/, we started passing the framework.order file to the linker.

However if the framework.order file changes, a re-link does not occur because this file is not listed as a sources[] or an inputs[]. Adding the file to either of those lists didn't have any effect.

We need to figure out a way to get the framework.order file to cause a re-link if it changes.
 
Cc: brettw@chromium.org
Labels: -Pri-3 Build-Tools-GN Pri-1
From `gn help inputs`:

"Inputs for binary targets will be treated as order-only dependencies, meaning 
that they will be forced up-to-date before compiling or any files in the target, 
but changes in the inputs will not necessarily force the target to compile. 
This is because it is expected that the compiler will report the precise list 
of input dependencies required to recompile each file once the initial build is done."

I'm not sure why brettw@ thought this was the right thing to do. 
AFAIK `ar`, `ld` and friends don't have a concept of -MMD or any 
other way to generate a deps file, and it doesn't really make sense to 
specify `inputs` to individual object files either.

Comment 2 by rsesek@chromium.org, May 18 2016

Blocking: 431177
This also affects the .saves file inputs to the linker for striping: https://codereview.chromium.org/1999513002/
Owner: brettw@chromium.org
Re-assigning this to brettw@ now that he's back in the office. 

Brett, we discussed this briefly last week or the week before; I think the thing to do here is to make inputs a proper dependency on links, not just an order-only dependency, since link commands have no concept of deps files that they could dump precise lists into.
Blocking: -431177
Labels: -Build-Tools-GN
Owner: rsesek@chromium.org
bouncing this back to rsesek@; I think just listing this in `inputs` should work now.
Labels: -Pri-1 Pri-2
This seems to work for executable but not shared_library targets.
Labels: -Proj-GN-Migration
Is this still an issue?
Yeah, when I tested this in #8/#9 this wasn't fully done.

Sign in to add a comment