Absolute paths become broken paths if prefixed with ./ so
only do the ./ addition for non-absolute paths.
The result would be that the command failed with:
"WindowsError: [Error 2] The system cannot find the file specified"
on the command execution. This could easily be misunderstood as
some argument to the command being wrong.
You get absolute paths in gn when using rebase_path(path) with no
extra arguments. This is the recommended and supported way to interact
with external programs since gn internal paths can contain and be
based on "//" which is not understood by anyone but gn internally.
Change-Id: I2ab49f529c7d030f73f693e5ea6cacc5ebbf3c99
Reviewed-on: https://chromium-review.googlesource.com/c/1367670
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#615087}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7187f86e3cfd06220ef7f36ee0efc809988cd45c
Failure codes such as STATUS_ACCESS_VIOLATION are easily recognizable
and easily differentiated when printed in hex (0xC0000005) but are
cryptic and conflated when printed as decimal (-1073741819). This change
teaches two of our wrapper scripts to print large negative numbers as
hex so that those skilled in the Windows arts can automatically say
"access violation" or "not access violation."
I also removed an inelegant trailing period, for consistency.
In testing with artificially inserted error codes the output is:
Protoc has returned non-zero status: -99
Protoc has returned non-zero status: 0xC0000005
genperf.exe failed with exit code -99
re2c.exe failed with exit code 0xC0000005
Bug: 803617,644525
Change-Id: I627754976ff04e334010d36e5734d73421523e47
Reviewed-on: https://chromium-review.googlesource.com/917101
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#536899}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8c50b3ed049c736406943ac24dc40fc8ac1e782c
This is forked off of https://codereview.chromium.org/266613002 The code to compile yasm itself is mostly from that patch, with a few updates for the other changes.
Adds a template for running compiled binaries. Compared to Albert's patch above, this assumes the binary is generated by the source tree so can have a cleaner interface (just specify the label of the tool you use).
The yasm rule is new compared to Albert's patch. It uses a special wrapper script instead of the new compiled_action templates so it can properly support depfiles. This also adds convenient support for defines and include dirs.
This adds some trivial ios changes to the content/public/browser. This should be a NOP now.
Fixes a bug in GN depfile creation. Previously, the .d file was emitted as an output of the script, but this confuses ninja. This change just removes that.
BUG=
R=ajwong@chromium.org
Review URL: https://codereview.chromium.org/321323004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@276772 4ff67af0-8c30-449e-8e8b-ad334ec8d88c