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

Issue 791295 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit 16 days ago
Closed: Aug 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue angleproject:1569



Sign in to add a comment

GN Clean issue with Visual Studio Project generation (path difference with ".")

Project Member Reported by jmad...@chromium.org, Dec 2 2017

Issue description

I noticed that gn -tclean treats paths differently than the usual build command. I noticed this with ANGLE, where static libraries are built in obj/ and dynamic libraries and binaries in ./ .

The VS projects call ninja.exe -C $(OutDir) -tclean " + ninja_target, see:

https://cs.chromium.org/chromium/src/tools/gn/visual_studio_writer.cc?sq=package:chromium&l=651

This translates a static lib to ninja -C out/Debug_x64/ -tclean obj/libANGLE.lib which works fine. However, a dynamic lib is translated to ninja -C out/Debug_x64/ -tclean ./libEGL.dll.lib, which produces the error:

ninja: error: unknown target './libEGL.dll.lib'

However modifying this to remove the "./" works as expected:

ninja -C out/Debug_x64/ -tclean libEGL.dll.lib
Cleaning... 16 files.

So I'm not sure if the problem is actually in the project generation, or is something to do with the clean tool not handling paths properly. Can someone cc'ed to the watchlists for this bug help?
 
Blocking: angleproject:1569
Cc: fjhenigman@chromium.org
No one seems to have responded, cc'ing Frank from ANGLE. Currently blocking ANGLE switching to GN.
A small change to ninja lets it work with a leading "./"
https://github.com/ninja-build/ninja/pull/1366
Cc: -fjhenigman@chromium.org
Owner: fjhenigman@chromium.org
Status: Fixed (was: Available)
The ninja change landed ~4 months ago but still hasn't shown up in depot_tools.

Landed https://gn.googlesource.com/gn/+/f4facf42082cee8eb6130af60fe9de280bc5e1bf which stops gn from putting in the "./"

Using either a recent enough ninja or a recent enough gn solves this issue.

Sign in to add a comment