aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp
Commit message (Collapse)AuthorAge
* @AutoCodec ConfiguredTargetValue.Gravatar cpeyser2018-03-02
| | | | PiperOrigin-RevId: 187635570
* Allow cc_toolchain to have inline proto toolchain data, instead of using ↵Gravatar John Cater2018-03-02
| | | | | | | crosstool top. Change-Id: I531034b0c991d18b05818db4b40cbd739535b565 PiperOrigin-RevId: 187617580
* C++: Exposes to Skylark basic API functionalityGravatar plf2018-03-02
| | | | | RELNOTES:none PiperOrigin-RevId: 187591225
* Make JavaCompileAction and friends emit new-style arguments.Gravatar tomlu2018-03-01
| | | | | | | | | Instead of --direct_dependency, --indirect_dependency args we now emit --direct_dependencies. We no longer need to emit any jar owner information since that is baked into the jar by JavaBuilder. This CL also contains the deletion of CustomMultiArgv and the injecting_rule_kind aspect parameter, as the deleted code was the last remaining usage. RELNOTES: None PiperOrigin-RevId: 187558628
* Introduce a specific action_config for linking nodeps dynamic librariesGravatar hlopko2018-03-01
| | | | | | | | | | | | | With this cl toolchain author can specify different flags for linking shared library produced by cc_library and a shared library produced by cc_binary. This is what is needed to remove linking_mode_flags - MOSTLY_STATIC_LIBRARIES from the crosstool. What this linking mode was used for was to separate when we link transitive shared library from cc_binary and when we link this little-and-not-really-useful-outside-of-bazel nodeps shared library in cc_library. RELNOTES: CcToolchain: Introduced action_config for "c++-link-transitive-dynamic-library" PiperOrigin-RevId: 187523334
* Deletes CODEC fields now that they are no longer needed.Gravatar shahan2018-02-28
| | | | PiperOrigin-RevId: 187397314
* Refactor the AbstractAction computeKey method to be easier to add invariantsGravatar jcater2018-02-28
| | | | | | for every type of action. PiperOrigin-RevId: 187368369
* Deprecate and remove several uses of the 'values' map in NativeInfo subclasses.Gravatar cparsons2018-02-28
| | | | | | | | | | These subclasses should be using @SkylarkCallable(structField = true) instead This is a bit of a memory win, as there is now no need to store field information twice. There are still a couple of stragglers that are more difficult, namely ToolchainInfo and DefaultInfo. Their APIs will likely need some more extensive revamping before proceeding. RELNOTES: None. PiperOrigin-RevId: 187364392
* Remove unused fields from a few Cc* rule implementations.Gravatar cparsons2018-02-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 187356329
* Deletes AutoCodec.Strategy.SINGLETON now that we have @AutoCodec field tags.Gravatar shahan2018-02-28
| | | | | | This also gets rid of some static initialization cycles which we should try very hard to avoid in the future. PiperOrigin-RevId: 187334087
* Add @AutoCodec to some PatchTransitions.Gravatar mjhalupka2018-02-27
| | | | PiperOrigin-RevId: 187230702
* @AutoCodec WriteBuildInfoHeaderAction.Gravatar janakr2018-02-27
| | | | PiperOrigin-RevId: 187218309
* @AutoCodec CppLinkAction.Gravatar cpeyser2018-02-27
| | | | PiperOrigin-RevId: 187212799
* Hide fix for linkstmap inputs computation behind an optionGravatar hlopko2018-02-26
| | | | | | | | | | | This cl introduces a bazel option (--experimental_fix_linkstamp_inputs_bug_73447914) to control which inputs get added into C++ linkstamp compile action. When set to true (defaults to false), all inputs of relevant C++ linking action get added as inputs to the linkstamp compile action too. RELNOTES: None. PiperOrigin-RevId: 187030217
* @AutoCodec CcSpecificLinkParamsProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187029559
* @AutoCodec ProtoCcHeaderProvider and GenRuleSourcesProvider.Gravatar janakr2018-02-26
| | | | PiperOrigin-RevId: 187029004
* Add @AutoCodec to CcToolchainProvider, now that AutoCodec Runtime is available.Gravatar cpeyser2018-02-23
| | | | PiperOrigin-RevId: 186789093
* Put @loader_path, not $ORIGIN into rpath flags on macGravatar hlopko2018-02-23
| | | | | | Fixes 4480. RELNOTES: None. PiperOrigin-RevId: 186774229
* @AutoCodec for CreateIncSymlinkAction, ExtractInclusionAction, andGravatar cpeyser2018-02-23
| | | | | | SolibSymlinkAction. PiperOrigin-RevId: 186765454
* Add @AutoCodec to CppModuleMapAction.Gravatar cpeyser2018-02-23
| | | | PiperOrigin-RevId: 186765388
* Move enabling of coverage related features to CcCommonGravatar Googler2018-02-23
| | | | | | | | Move dealing with coverage related features from CppConfiguration.configurationEnabledFeatures to CcCommon.configureFeatures. Remove configurationEnabledFeatures. RELNOTES: None. PiperOrigin-RevId: 186744803
* Document ambigious literal arguments when calling CcToolchainProvider ↵Gravatar Googler2018-02-23
| | | | | | | constructor RELNOTES: None. PiperOrigin-RevId: 186744674
* Add more codecs to execution phase.Gravatar janakr2018-02-22
| | | | PiperOrigin-RevId: 186691973
* CcToolchain: add optional ar and as attributesGravatar Googler2018-02-22
| | | | | | | | These may be used to retrieve the ar and as programs associated with the compiler toolchain. RELNOTES: None. PiperOrigin-RevId: 186626548
* Remove the CppConfiguration member from CppLinkAction. This will makeGravatar cpeyser2018-02-22
| | | | | | CppLinkAction more suitable for serialization. PiperOrigin-RevId: 186598828
* Recompile linkstamps whenever any input of the owning action changes.Gravatar hlopko2018-02-22
| | | | | | | | | | | Linkstamps were not re-built when only volatile data changed, i.e. when we modified cc_binary source, linkstamp was not recompiled so we got old timestamps. The proper behavior is to recompile linkstamp whenever any input to cc_binary linking action changes. And the implementation in this cl solves this by adding all linking inputs as inputs to linkstamp compile action. RELNOTES: None. PiperOrigin-RevId: 186595143
* Do not unconditionally add gcc3 as a system include directory for stlGravatar hlopko2018-02-22
| | | | | | | Fixes #3507. RELNOTES: None. PiperOrigin-RevId: 186595099
* Update javadoc for some headers and include dirs methods.Gravatar Benjamin Peterson2018-02-22
| | | | | | | Methods that return NestedSet shouldn't claim they may return duplicates or their return value will have any sort of meaningful order. Change-Id: I98f92ec6ddbf4d35fea47b12bcd072bb1b0f1e43 PiperOrigin-RevId: 186585490
* PiperOrigin-RevId: 186532302Gravatar ahumesky2018-02-21
|
* Don't register linkstamp compile actions when we're doing thinlto indexing stepGravatar hlopko2018-02-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 186456188
* C++: Migrate CcCompilationInfo to NativeInfoGravatar plf2018-02-21
| | | | | | | | The old TransitiveInfoProvider is deprecated. Providers used from Skylark should use NativeInfo as specified in[] RELNOTES:none PiperOrigin-RevId: 186447814
* C++: Renames CppCompilationContext to CcCompilationInfoGravatar plf2018-02-21
| | | | | | | This is in preparation for migrating to the new way of specifying providers as described in[] RELNOTES:none PiperOrigin-RevId: 186436462
* Deletes POLYMORPHIC strategy. ObjectCodec now uses runtime type information ↵Gravatar shahan2018-02-20
| | | | | | to select a codec. PiperOrigin-RevId: 186378153
* @AutoCodec some c++ linking data structures.Gravatar cpeyser2018-02-20
| | | | PiperOrigin-RevId: 186314781
* Accept proto paths relative to proto_source_root as direct dependencies.Gravatar elenairina2018-02-20
| | | | | | | | | | | 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
* Route fdo logic that deals with the path to the fdo profile through ↵Gravatar Googler2018-02-20
| | | | | | | | | | 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
* Add @AutoCodec for FdoSupport(Provider) and TemplateVariableInfo.Gravatar mjhalupka2018-02-16
| | | | PiperOrigin-RevId: 186007056
* Add "proto_source_root" flag to proto_library.Gravatar elenairina2018-02-16
| | | | | | | Fixes #4544. RELNOTES: Add "proto_source_root" flag to proto_library. PiperOrigin-RevId: 185997723
* Automated rollback of commit c7e343ad314aeab6283b5939bc8126a112140a11.Gravatar plf2018-02-16
| | | | | | | | | | | | | | | *** 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
* Tag for classes with @AutoCodec.Gravatar mjhalupka2018-02-15
| | | | PiperOrigin-RevId: 185906605
* Move CommandLine, CommandLineItem, and ParamFileInfo from ↵Gravatar tomlu2018-02-15
| | | | | | | | | lib.analysis.actions -> lib.actions. These are fundamental types that want to sit alongside types like Spawn. RELNOTES: None PiperOrigin-RevId: 185887971
* Stop storing ActionTemplate in a SkyKey: it's too heavyweight. Use the same ↵Gravatar janakr2018-02-15
| | | | | | mechanism as for normal actions, have the ActionTemplateExpansionFunction look the template up when needed. PiperOrigin-RevId: 185861672
* Add AutoCodec for a bunch of cc library providers.Gravatar mjhalupka2018-02-15
| | | | PiperOrigin-RevId: 185850685
* C++: Removes CppModel classGravatar plf2018-02-15
| | | | | | | The logic is split between CcCompilationHelper and CcLinkingHelper. RELNOTES:none PiperOrigin-RevId: 185809915
* Pull out useful parts of discoverInputs into findAdditionalInputs so that it ↵Gravatar Googler2018-02-14
| | | | | | | can also be called by getInputFilesForExtraAction rather than duplicating the logic. RELNOTES: None PiperOrigin-RevId: 185757663
* Add a CODEC for CppCompileAction.Gravatar cpeyser2018-02-14
| | | | PiperOrigin-RevId: 185733313
* @AutoCodec for CcLinkParamsInfo.Gravatar cpeyser2018-02-14
| | | | PiperOrigin-RevId: 185728950
* Specialize CCToolchainFeatures flags for single-variable flags.Gravatar tomlu2018-02-14
| | | | | | | This avoids iterator, string builder, and string garbage. RELNOTES: None PiperOrigin-RevId: 185703066
* Set extra action tool path to the value that crosstool will actually use ↵Gravatar Googler2018-02-13
| | | | | | based on feature configuration PiperOrigin-RevId: 185600940
* Replaces InjectingObjectCodec with dependencies threaded through ↵Gravatar shahan2018-02-13
| | | | | | (Des|S)erializationContext. PiperOrigin-RevId: 185547740