| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 186314781
|
|
|
|
|
|
|
|
|
|
|
| |
This will make protoc see as direct dependencies the .proto files that were included using the proto_source_root flag.
Until now, Bazel passed to protoc the direct dependencies of a target as the path relative to the WORKSPACE, which made it fail when a shorter path, relative to the package was used.
Progress on #4544.
RELNOTES: None.
PiperOrigin-RevId: 186294997
|
|
|
|
|
|
|
|
|
|
| |
CcToolchainProvider
As --fdo_optimize can point to a label, the path to the fdo profile can not be reliably determined in CppConfiguration.
In order to enable the fdo features (which depend on the path to the fdo profile), the logic from CppConfiguration.configurationEnabledFeatures() has been moved to CcCommon.configureFeatures(). The latter method has access to the fdo profile path through CcToolchainProvider.
RELNOTES: None.
PiperOrigin-RevId: 186278311
|
|
|
|
| |
PiperOrigin-RevId: 186007056
|
|
|
|
|
|
|
| |
Fixes #4544.
RELNOTES: Add "proto_source_root" flag to proto_library.
PiperOrigin-RevId: 185997723
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling back after having come up with a more principled solution in b/73047818 that will add a more generic attribute called additional_linker_inputs so that users can depend on any file of any type and reference it from linkopts.
*** Original change description ***
C++: Allows adding linkopts through file.
The file can be generated during execution by a different rule.
RELNOTES:none
PiperOrigin-RevId: 185977745
|
|
|
|
| |
PiperOrigin-RevId: 185906605
|
|
|
|
|
|
|
|
|
| |
lib.analysis.actions -> lib.actions.
These are fundamental types that want to sit alongside types like Spawn.
RELNOTES: None
PiperOrigin-RevId: 185887971
|
|
|
|
|
|
| |
mechanism as for normal actions, have the ActionTemplateExpansionFunction look the template up when needed.
PiperOrigin-RevId: 185861672
|
|
|
|
| |
PiperOrigin-RevId: 185850685
|
|
|
|
|
|
|
| |
The logic is split between CcCompilationHelper and CcLinkingHelper.
RELNOTES:none
PiperOrigin-RevId: 185809915
|
|
|
|
|
|
|
| |
can also be called by getInputFilesForExtraAction rather than duplicating the logic.
RELNOTES: None
PiperOrigin-RevId: 185757663
|
|
|
|
| |
PiperOrigin-RevId: 185733313
|
|
|
|
| |
PiperOrigin-RevId: 185728950
|
|
|
|
|
|
|
| |
This avoids iterator, string builder, and string garbage.
RELNOTES: None
PiperOrigin-RevId: 185703066
|
|
|
|
|
|
| |
based on feature configuration
PiperOrigin-RevId: 185600940
|
|
|
|
|
|
| |
(Des|S)erializationContext.
PiperOrigin-RevId: 185547740
|
|
|
|
|
|
|
| |
CppConfiguration
RELNOTES: None.
PiperOrigin-RevId: 185527875
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 185455486
|
|
|
|
|
|
| |
Previously, RuleContext was referenced via the objc implementation of CppSemantics. Objects of that class are no longer held by CppCompileAction post-analysis.
PiperOrigin-RevId: 185446320
|
|
|
|
|
|
|
| |
The file can be generated during execution by a different rule.
RELNOTES:none
PiperOrigin-RevId: 185361140
|
|
|
|
| |
PiperOrigin-RevId: 185354353
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaking targets in 2018.02.08 and 2018.02.09 nightly TGPs
There were some merge conflicts in this rollback CL. See unknown commit for the unresolved version. I kept the YOURS sections, and ran fiximports.py to remove unused imports.
See b/73157879
*** Original change description ***
C++: Remove last instatiation of CppModel outside CcLibraryHelper.
This is the second try for this CL. The first one caused Blaze to crash when building Exoblaze as shown in b/72936965. In this CL I fix the condition of when to generate non-PIC compilation actions for WrapCcHelper.
RELNOTES:none
PiperOrigin-RevId: 185203398
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Path and PathFragment have been replaced with String-based implementations. They are pretty similar, but each method is dissimilar enough that I did not feel sharing code was appropriate.
A summary of changes:
PATH
====
* Subsumes LocalPath (deleted, its tests repurposed)
* Use a simple string to back Path
* Path instances are no longer interned; Reference equality will no longer work
* Always normalized (same as before)
* Some operations will now be slower, like instance compares (which were previously just a reference check)
* Multiple identical paths will now consume more memory since they are not interned
PATH FRAGMENT
=============
* Use a simple string to back PathFragment
* No more segment arrays with interned strings
* Always normalized
* Remove isNormalized
* Replace some isNormalizied uses with containsUpLevelReferences() to check if path fragments try to escape their scope
* To check if user input is normalized, supply static methods on PathFragment to validate the string before constructing a PathFragment
* Because PathFragments are always normalized, we have to replace checks for literal "." from PathFragment#getPathString to PathFragment#getSafePathString. The latter returns "." for the empty string.
* The previous implementation supported efficient segment semantics (segment count, iterating over segments). This is now expensive since we do longer have a segment array.
ARTIFACT
========
* Remove Path instance. It is instead dynamically constructed on request. This is necessary to avoid this CL becoming a memory regression.
RELNOTES: None
PiperOrigin-RevId: 185062932
|
|
|
|
| |
PiperOrigin-RevId: 185029456
|
|
|
|
| |
PiperOrigin-RevId: 185018321
|
|
|
|
|
|
|
|
| |
Applies ThinLTO scalability fix https://github.com/bazelbuild/bazel/commit/8c5e290dfab3cab378a9ca107ecdd6267403cd4b to targets (e.g. cc_binary) marked
"testonly = 1".
RELNOTES: None
PiperOrigin-RevId: 184991176
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Rename IncludeScanningContext to CppIncludeExtractionContext, which more closely matches its semantics.
PiperOrigin-RevId: 184974810
|
|
|
|
|
|
|
| |
These will be separate calls in the Skylark API.
RELNOTES:none
PiperOrigin-RevId: 184961734
|
|
|
|
|
|
|
|
| |
CcToolchainFeatures.Variables.
We rephrase the nocopts filter from a Predicate<String> to a custom class, since AutoCodec cannot serialize a Predicate.
PiperOrigin-RevId: 184902162
|
|
|
|
| |
PiperOrigin-RevId: 184862552
|
|
|
|
|
|
|
|
| |
required in order to serialize CppCompileAction.
Rephrase CppCompilationContext's pregreppedHeaders field as its own value class instead of Pair<Artifact, Artifact>. We do this because NestedSet support in AutoCodec cannot serialize a NestedSet of a generic type.
PiperOrigin-RevId: 184740075
|
|
|
|
| |
PiperOrigin-RevId: 184734801
|
|
|
|
|
|
|
| |
file.
Change-Id: I5b66b91f016e12e546600f585546fc56d9511303
PiperOrigin-RevId: 184698749
|
|
|
|
|
|
|
| |
This is the second try for this CL. The first one caused Blaze to crash when building Exoblaze as shown in b/72936965. In this CL I fix the condition of when to generate non-PIC compilation actions for WrapCcHelper.
RELNOTES:none
PiperOrigin-RevId: 184671661
|
|
|
|
|
|
| |
since it's never instantiated on its own.
PiperOrigin-RevId: 184554483
|
|
|
|
|
|
| |
SpecialArtifact.
PiperOrigin-RevId: 184539696
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Causes Blaze to crash when building Exoblaze as shown in b/72936965.
Confirmed as root cause by rolling back this CL, building a Blaze
from HEAD, and successfully using it to build Exoblaze.
*** Original change description ***
C++: Remove last instatiation of CppModel outside CcLibraryHelper.
RELNOTES:none
PiperOrigin-RevId: 184528551
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 184510731
|
|
|
|
|
|
|
|
| |
either a Label or a List<Label>. We can easily enforce this through static type checking, so do it.
This will help with LateBoundDefault serialization, since we don't have to serialize an arbitrary object.
PiperOrigin-RevId: 184347100
|
|
|
|
|
|
|
| |
enabled.
RELNOTES:none
PiperOrigin-RevId: 184303490
|
|
|
|
|
|
|
|
|
| |
This makes object_file_group work correctly for archiving (So far
object_file_group was only possible for linking, but with the introduction of
tree artifact support, it can appear also for archiving).
RELNOTES: Fix how libraries_to_link are expanded in the archiver command line.
PiperOrigin-RevId: 184258745
|
|
|
|
|
|
| |
CppCompileAction serialization.
PiperOrigin-RevId: 184141676
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks //third_party/msvc crosstool
*** Original change description ***
RELNOTES: Fix how libraries to link is specified to archiver actions.
start-lib/end-lib should not be passed to ar. Fix how the libraries to link are passed to ar by not using the generic feature "libraries_to_link"
PiperOrigin-RevId: 184140734
|
|
|
|
|
|
|
| |
ConfiguredTargetAndTarget instead of a ConfiguredTarget.
This is to assist in deprecating ConfiguredTarget.getTarget().
PiperOrigin-RevId: 184043491
|
|
|
|
|
|
|
|
| |
structField methods must not throw an exception in all cases.
Null fields were technically used for incomplete toolchain objects (such as the EMPTY_TOOLCHAIN_IS_ERROR object).
RELNOTES: None.
PiperOrigin-RevId: 184031908
|
|
|
|
| |
PiperOrigin-RevId: 183990860
|
|
|
|
|
|
| |
CppCompileAction smaller improves serialization.
PiperOrigin-RevId: 183871454
|
|
|
|
|
|
| |
It always set to the same value.
PiperOrigin-RevId: 183843518
|