| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Paths to tools in CROSSTOOL are either absolute or relative to the CROSSTOOL location (which is the same as cc_toolchain location). As in the future CROSSTOOL will be gone, and the new skylark rule that will replace CROSSTOOL will not have to be in the same location as cc_toolchain, we need to pass information to FeatureConfiguration about the location of the cc_toolchain in use, so we can calculate the workspace relative paths to the tools.
RELNOTES: None.
PiperOrigin-RevId: 207695703
|
|
|
|
|
|
|
| |
separate class
RELNOTES: None.
PiperOrigin-RevId: 196517537
|
|
|
|
|
|
|
|
|
|
|
| |
We always prepend crosstool top path anyway, so let's create Tool instances with
the already prepared path.
I don't expect this affects memory usage since we don't have many cc_toolchain
targets in the graph.
RELNOTES: None
PiperOrigin-RevId: 193660445
|
|
|
|
|
|
|
|
| |
Working on link build variables I see they cannot stay in a single file, they're
too big and complicated. This will make the followup cl smaller.
RELNOTES: None.
PiperOrigin-RevId: 190771072
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a preparation work to expose Variables instance for all compile actions
to Skylark.
I didn't do linking variables in this cl, because this cl is already too big.
But they're coming shortly in a separate cl.
This is also in line with our goal to make build variables more discoverable and
better document.
RELNOTES: None.
PiperOrigin-RevId: 190591080
|
|
|
|
| |
PiperOrigin-RevId: 187397314
|
|
|
|
|
|
|
| |
The logic is split between CcCompilationHelper and CcLinkingHelper.
RELNOTES:none
PiperOrigin-RevId: 185809915
|
|
|
|
|
|
| |
based on feature configuration
PiperOrigin-RevId: 185600940
|
|
|
|
|
|
| |
(Des|S)erializationContext.
PiperOrigin-RevId: 185547740
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and
-o flags. This cl removes this logic and relies on crosstool to emit these
flags. This is another small step towards platform independent C++ rules.
Memory use is not affected, since the build variables used by this cl are already
exposed, this cl just forces crosstools to use it.
Encore of https://github.com/bazelbuild/bazel/commit/f26e8694ae78599b3e2004e3360eaf3443fa53a6.
RELNOTES: None.
PiperOrigin-RevId: 184981106
|
|
|
|
|
|
|
|
| |
CcToolchainFeatures.Variables.
We rephrase the nocopts filter from a Predicate<String> to a custom class, since AutoCodec cannot serialize a Predicate.
PiperOrigin-RevId: 184902162
|
|
|
|
|
|
| |
CppCompileAction smaller improves serialization.
PiperOrigin-RevId: 183871454
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rollforward of https://github.com/bazelbuild/bazel/commit/c861c0afd9a4df283936218b9e5b33c452b07c95 after fixing fake link actions.
*** Original change description ***
Rollback of 178106899.
RELNOTES: Linkstamping is now a separate and full-blown CppCompileAction, it's
no longer a part of linking command.
PiperOrigin-RevId: 178760072
|
|
|
|
| |
PiperOrigin-RevId: 178384991
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cl replaces entire hardcoded linkstamping command line generation with a
separate action. Instead of generating bash command
to compile linkstamp and prepending it to the standard link command line, this
cl creates a special action that link action depends on.
I kept linkstamp action registration in the CppLinkActionBuilder (and
GoCompilationHelper internally) to keep the cl shorter and change more
localized. I also didn't remove linkstamps and buildInfoHeaderArtifacts from
CppLinkAction to stay compatible with extra actions api. Both issues and
corresponding cleanups will be addressed in separate cls.
RELNOTES: Linkstamping is now a separate and full-blown CppCompileAction, it's
no longer a part of linking command.
PiperOrigin-RevId: 178106899
|
|
|
|
|
|
|
|
| |
Blaze had its own class to avoid GC from varargs array creation for the precondition happy path. Guava now (mostly) implements these, making it unnecessary to maintain our own.
This change was almost entirely automated by search-and-replace. A few BUILD files needed fixing up since I removed an export of preconditions from lib:util, which was all done by add_deps. There was one incorrect usage of Preconditions that was caught by error prone (which checks Guava's version of Preconditions) that I had to change manually.
PiperOrigin-RevId: 175033526
|
|
|
|
|
|
|
|
|
| |
Before, linkstamping compile actions were hardcoded in bazel and assumed
gcc/clang and bash. This cl removes gcc/clang assumptions by using feature
configuration.
RELNOTES: None.
PiperOrigin-RevId: 169685949
|
|
|
|
|
|
|
|
|
|
|
| |
Before this cl each linking and compilation action would contain a full copy of
all build variables. However, some build variables can be reused, for the
memory consumption benefit. With this cl, we contruct a Variables instance in
the CcToolchain, and make it a parent of all per-linking and per-compilation
variables.
RELNOTES: None.
PiperOrigin-RevId: 169233756
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks clang_tidy.
*** Original change description ***
Introduce -c source_file -o output_file build variables
Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and
-o flags. This cl removes this logic and relies on crosstool to emit these
flags. This is another small step towards platform independent C++ rules.
Memory use is not affected, since the build variables used by this cl are already
exposed, this cl just forces crosstools to use it.
RELNOTES: None.
PiperOrigin-RevId: 168834576
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and
-o flags. This cl removes this logic and relies on crosstool to emit these
flags. This is another small step towards platform independent C++ rules.
Memory use is not affected, since the build variables used by this cl are already
exposed, this cl just forces crosstools to use it.
RELNOTES: None.
PiperOrigin-RevId: 168671507
|
|
|
|
|
|
|
|
|
| |
This cl removes hardcoded --sysroot flag generation from bazel when constructing
command line for C++ actions. The hardcoded flag is still exposed to Skylark (to
stay backwards compatible).
RELNOTES: None.
PiperOrigin-RevId: 168346711
|
|
|
|
|
|
|
|
|
| |
This cl adds flags from --per_file_copts option to 'user_compile_flags' build
variable. This changes the flag order, before they appeared after unfiltered
flags, now they appear before.
RELNOTES: None.
PiperOrigin-RevId: 168221663
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
user_compile_flags
Also add magic to a feature named 'unfiltered_compile_flags' so the flags
expanded from it are not subject to nocopt filtering.
This is encore of https://github.com/bazelbuild/bazel/commit/268c0bcbf79f9f3f72d95fa51af0f1b18c5ce29e that was rolled back because it regressed
memory.
RELNOTES: None.
PiperOrigin-RevId: 167989075
|
|
|
|
| |
PiperOrigin-RevId: 167751263
|
|
|
|
|
|
|
|
|
|
| |
user_compile_flags
Also add magic to a feature named 'unfiltered_compile_flags' so the flags
expanded from it are not subject to nocopt filtering.
RELNOTES: None.
PiperOrigin-RevId: 167587189
|
|
|
|
|
|
|
|
|
|
|
| |
This cl changes copts to be immutable (and changes addCopts methods into
setCopts, so it's simpler to reason about copts) and exposes copts as a build
variable. It also introduces CompileBuildVariablesTest, similar to
LinkBuildVariablesTest, to test that right build variables are exposed for right
actions.
RELNOTES: None.
PiperOrigin-RevId: 163876774
|
|
|
|
|
| |
RELNOTES: nocopts now also filter copts
PiperOrigin-RevId: 162944771
|
|
|
|
|
|
|
| |
With a few manual fixes for readability.
RELNOTES: None.
PiperOrigin-RevId: 160582556
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 159740106
|
|
|
|
|
|
|
|
|
|
| |
So far only link actions were initialized in CppLinkActionConfigs. This cl
changes this class to also initialize CppCompile actions. This is needed for
our ongoing work removing hard-coded flags from Bazel and moving them into
Crosstool.
RELNOTES: None.
PiperOrigin-RevId: 158715986
|
|
|
|
|
| |
RELNOTES: NONE.
PiperOrigin-RevId: 158703123
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Fixes memory issue that caused this CL to be rolled back.
*** Original change description ***
Automated g4 rollback of commit cbbb423663b154d82e3dfa5e9a56839583987999.
*** Reason for rollback ***
Need to roll this back as part of http://b/38171368
*** Original change description ***
RELNOTES: Effectively remove sysroot from CppConfiguration and allow it to use select statements.
PiperOrigin-RevId: 155651879
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Need to roll this back as part of http://b/38171368
*** Original change description ***
RELNOTES: Effectively remove sysroot from CppConfiguration and allow it to use select statements.
PiperOrigin-RevId: 155547813
|
|
|
|
|
|
| |
use select statements.
PiperOrigin-RevId: 155480011
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Relies on a CL that is being rolled back due to breaking some LIPO builds.
RELNOTES: None
PiperOrigin-RevId: 154776370
|
|
CppCompileAction
Mostly to maintain symmetry between CppCompileAction and CppLinkAction.
RELNOTES: None.
PiperOrigin-RevId: 154531984
|