aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
Commit message (Collapse)AuthorAge
* Rollback of commit bdfd58a8ca2ed5735d6aaa5b238fb0f689515724.Gravatar Laurent Le Brun2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125160288
* Make the execution root match the runfiles tree structure for external ↵Gravatar Kristina Chodorow2016-06-17
| | | | | | | | | | | | | | | | | | | | | repositories One interesting side effect of how this is implemented is that for external repositories, bin/ and genfiles/ are combined. External repo output is under bazel-out/local-fastbuild/repo_name for each repo. Fixes #1262. RELNOTES[INC]: Previously, an external repository would be symlinked into the execution root at execroot/local_repo/external/remote_repo. This changes it to be at execroot/remote_repo. This may break genrules/Skylark actions that hardcode execution root paths. If this causes breakages for you, ensure that genrules are using $(location :target) to access files and Skylark rules are using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc. functions. -- MOS_MIGRATED_REVID=125095799
* CppCompileAction learns its tool from an action_config, if present. OSX ↵Gravatar Cal Peyser2016-06-15
| | | | | | | crosstool now points at appropriate clang in its action_configs. -- MOS_MIGRATED_REVID=124830389
* Rollback of commit 0150e7fa5963fa569d9795c02fd3afe3c52ff30c.Gravatar Yun Peng2016-06-10
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=124553522
* Rollback of commit 828a9e2f167db8c4debca6e00ee37dd030849c2f.Gravatar Yun Peng2016-06-10
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=124549894
* Move -MD and -MF(for dotd file generation) into featureGravatar Yun Peng2016-06-08
| | | | | -- MOS_MIGRATED_REVID=124355936
* Move -c and -o options into action_configGravatar Yun Peng2016-06-08
| | | | | | | | | Also moved -S and -E options into the same action_config. Since whoever consume CppCompileInfo add -c and -o options by themselves, to keep compatible with this, the original code is still kept and used, until the corresponding flag sets are added into CROSSTOOL. -- MOS_MIGRATED_REVID=124350905
* Create a feature for per-object-file debug info files and move -gsplit-dwarf ↵Gravatar Lukacs Berki2016-05-25
| | | | | | | | | to it. A side effect is that this made --save_temps (probably) work with --use_fission . Previously, the DWO file was also an output of the temps actions. -- MOS_MIGRATED_REVID=123117200
* Remove the --cwarn command line option.Gravatar Lukacs Berki2016-05-25
| | | | | | | RELNOTES[INC]: The --cwarn command line option is not supported anymore. Use --copt instead. -- MOS_MIGRATED_REVID=123101536
* Move -frandom-seed= into a feature.Gravatar Lukacs Berki2016-05-25
| | | | | | | | | One more thing that doesn't work on Windows is gone. As a drive-by fix, also remove usePic from CppCompileAction since it's not needed anymore. -- MOS_MIGRATED_REVID=123099120
* Move the command line arguments for C++ preprocessor defines to a feature.Gravatar Lukacs Berki2016-05-20
| | | | | | | | | | | | This required a few assorted changes: - The FDO build stamp is not special-cased anymore, it is treated as a preprocessor define like any other. - When compiling a .pcm file, use interfaceContext instead of the regular context when setting up the build variables. This is a bit more consistent and would be a good cause for a future bug. This is a retry of commit 7841a6ab100fc35a67600f1ce1a70d293c51350e, which made some bold changes to LIPO that didn't work out well. -- MOS_MIGRATED_REVID=122829825
* Rollback of commit 7841a6ab100fc35a67600f1ce1a70d293c51350e.Gravatar Lukacs Berki2016-05-20
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** breaks [] *** Original change description *** Move the command line arguments for C++ preprocessor defines to a feature. This required a few assorted changes: - The LIPO compilation context is not merged anymore. Include paths for auxiliary files are apparently taken from the profile files, so it is not necessary. - The FDO build stamp is not special-cased anymore, it is treated as a preprocessor define like any other. - When compiling a .pcm file, use interfaceContext instead of the regular context when setting up the build variables. Th... *** -- MOS_MIGRATED_REVID=122823591
* Move the command line arguments for C++ preprocessor defines to a feature.Gravatar Lukacs Berki2016-05-19
| | | | | | | | | | | This required a few assorted changes: - The LIPO compilation context is not merged anymore. Include paths for auxiliary files are apparently taken from the profile files, so it is not necessary. - The FDO build stamp is not special-cased anymore, it is treated as a preprocessor define like any other. - When compiling a .pcm file, use interfaceContext instead of the regular context when setting up the build variables. This is a bit more consistent and would be a good cause for a future bug. -- MOS_MIGRATED_REVID=122725179
* Turn the addition of -fPIC to the command line of PIC actions into a feature.Gravatar Lukacs Berki2016-05-19
| | | | | | | This is a resubmission of commit 45d48bf1fe7503acbbb0c095822b7f8f558881e8. It turns out that we also need -fPIC for *assembler* command line options, because some assembler sources are preprocessed and they can say "#ifdef __PIC__". -- MOS_MIGRATED_REVID=122626234
* Rollback of commit 45d48bf1fe7503acbbb0c095822b7f8f558881e8.Gravatar Lukacs Berki2016-05-17
| | | | | | | | | | | | | *** Reason for rollback *** Breaks //[]/go:all . *** Original change description *** Turn the addition of -fPIC to the command line of PIC actions into a feature. -- MOS_MIGRATED_REVID=122526799
* Turn the addition of -fPIC to the command line of PIC actions into a feature.Gravatar Lukacs Berki2016-05-17
| | | | | -- MOS_MIGRATED_REVID=122498464
* Remove unnecessary sorting from CppCompileAction.computeKey().Gravatar Googler2016-05-10
| | | | | | | This showed up as a hotspot (3% of CPU time) in profiles of large C++ builds. -- MOS_MIGRATED_REVID=121943041
* Support case-insensitive comparision in Path.java with WindowsFileSystemGravatar Yun Peng2016-05-09
| | | | | | | | Since file path is case-insensitive on Windows, we need to support this. Also fixed .d file inclusions check in CppCompileAction.java on Windows -- MOS_MIGRATED_REVID=121823250
* Remove the fields of CppCompileAction relating to "extra system include ↵Gravatar Lukacs Berki2016-05-04
| | | | | | | | | prefixes" and compiler plugins. They were dead code. -- MOS_MIGRATED_REVID=121473393
* Add mechanism to crosstool language to specify action-specific execution ↵Gravatar Cal Peyser2016-04-25
| | | | | | | requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool. -- MOS_MIGRATED_REVID=120701108
* Refactor the Event class; always construct through static methods.Gravatar Ulf Adams2016-04-21
| | | | | -- MOS_MIGRATED_REVID=120418505
* --Gravatar Michael Staib2016-04-21
| | | | MOS_MIGRATED_REVID=120353718
* Rename CppCompilationContext.getCompilationPrerequisites toGravatar Manuel Klimek2016-04-20
| | | | | | | | | | | | | | getTransitiveCompilationPrerequisites. The missing 'transitive' in the name is misleading. This change is a preparation for further refactorings that will in the end introduce a getCompilationPrerequisites method that actually returns the compilation prerequisites for a rule - as that will be require some more things to be shuffled around in CppCompilationContext, this change gets the purely syntactical change in first. -- MOS_MIGRATED_REVID=120247461
* Add mechanism to crosstool language to specify action-specific execution ↵Gravatar Cal Peyser2016-04-19
| | | | | | | requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool. -- MOS_MIGRATED_REVID=120218079
* Tests for apple_cc_toolchain.Gravatar Cal Peyser2016-04-18
| | | | | -- MOS_MIGRATED_REVID=119960754
* Introduces experimental_objc_library. This rule builds objc code with the ↵Gravatar Cal Peyser2016-04-18
| | | | | | | c++ rule implementation backend and an OSX crosstool. -- MOS_MIGRATED_REVID=119954578
* Rollback of commit bbf59ed1be85354457ad1d8123cc1973aa3ba298.Gravatar Florian Weikert2016-04-14
| | | | | -- MOS_MIGRATED_REVID=119843072
* Introduce TreeFileArtifact, which represents files under TreeArtifacts.Gravatar Rumou Duan2016-04-14
| | | | | | | Remove ArtifactFile, which is rendered obsolete by TreeFileArtifact. -- MOS_MIGRATED_REVID=119789154
* Introduces experimental_objc_library. This rule builds objc code with the ↵Gravatar Cal Peyser2016-04-13
| | | | | | | c++ rule implementation backend and an OSX crosstool. -- MOS_MIGRATED_REVID=119660101
* Allow actions to specify if extra actions can attach to them.Gravatar Janak Ramakrishnan2016-04-07
| | | | | -- MOS_MIGRATED_REVID=119203499
* Add the preinclude files to the mandatory input list of C++ compile actions.Gravatar Lukacs Berki2016-04-05
| | | | | | | Then less special-casing is needed and these files are always read by the compiler anyway, so we don't lose any incrementality. -- MOS_MIGRATED_REVID=119023956
* Dig out the builtin include file from the filegroup of libc_top instead of ↵Gravatar Lukacs Berki2016-04-04
| | | | | | | | | | | special-casing it in CppConfiguration. This seems to be the most reasonable solution. I was toying with the idea of adding a field to CROSSTOOL but that would fail if you set libc_top to something other than what was specified in that file. If I had a infinite amount of time, I'd create a custom rule called cc_libc where libc_top would point so that this file can be referenced by an attribute, but since I don't, this seems to be workable compromise. Also note that contrary to what you'd glean from the code, we don't actually have "compile" and "link" filegroups for libc. -- MOS_MIGRATED_REVID=118921101
* Do not pass -gsplit-dwarf to the compiler except when building a .dwo file.Gravatar Googler2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118525960
* Don't start include scanning from used module maps. The modules generated forGravatar Googler2016-03-30
| | | | | | | those modules already contain all the headers that are needed. -- MOS_MIGRATED_REVID=118457691
* Add the names of the mandatory inputs to the action key for actions that ↵Gravatar Lukacs Berki2016-02-22
| | | | | | | | | discover their inputs. This makes the case work where an extra input is added to an action, but it's still an action cache hit because the discovered inputs did not change, and thus the set of inputs action cache becomes stale. -- MOS_MIGRATED_REVID=115060976
* Store IncludeResolver results, and legalize the files in .d file checking.Gravatar Ulf Adams2016-02-16
| | | | | | | | This fixes a corner case that can only happen internally - in Bazel, this is always a no-op. -- MOS_MIGRATED_REVID=114730311
* Move -gsplit-dwarf before the target specific copts in the command line.Gravatar Manuel Klimek2016-02-11
| | | | | | | RELNOTES: Allow overriding -gsplit-dwarf from copts. -- MOS_MIGRATED_REVID=114432930
* Rename MiddlemanExpander to ArtifactExpander, and refactor it to yield ↵Gravatar Michael Thvedt2016-02-09
| | | | | | | ArtifactFiles. -- MOS_MIGRATED_REVID=114166208
* Rollback of commit 6c6629ec707d23fbdb582bcede1dd9c967a9357e.Gravatar Michajlo Matijkiw2016-02-04
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=113802087
* Make The Build Faster: Drop the describeStrategy() and strategyLocality() ↵Gravatar Philipp Wollermann2016-02-03
| | | | | | | | | methods, as we can simply pass an ActionStatusMessage to the EventBus instead. All SpawnActionContexts now send an appropriate message when they execute a Spawn. This also gets rid of the idiom that an Action knows which strategy will be used to execute it - this decision and knowledge belongs to the executor, not the action. -- MOS_MIGRATED_REVID=113731846
* Add CppCompileAction's environment variables to its computeKey methodGravatar Chris Parsons2016-02-01
| | | | | -- MOS_MIGRATED_REVID=113407051
* Redesign xcode_config rule to be evaluated at the level of configuration ↵Gravatar Chris Parsons2016-02-01
| | | | | | | instead of target depss -- MOS_MIGRATED_REVID=113398355
* Don't display irrelevant line in --verbose_explanations of cc compile.Gravatar Googler2016-01-28
| | | | | -- MOS_MIGRATED_REVID=113251721
* Stop inserting local shell environment into CppCompileAction.Gravatar Han-Wen Nienhuys2016-01-26
| | | | | -- MOS_MIGRATED_REVID=112956748
* Rename defaultShellEnvironment to localShellEnvironment and clarifyGravatar Han-Wen Nienhuys2016-01-21
| | | | | | | its intended use. -- MOS_MIGRATED_REVID=112598772
* Use xcode_config build target for actions which need to resolve an xcode ↵Gravatar Chris Parsons2016-01-13
| | | | | | | version. -- MOS_MIGRATED_REVID=111978539
* Extend crosstool configuration to allow features to specify (expandable) ↵Gravatar Chris Parsons2016-01-07
| | | | | | | environment variables to pass to actions -- MOS_MIGRATED_REVID=111608329
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Propagate apple platform environment variables for CppCompileActionGravatar Chris Parsons2015-11-19
| | | | | -- MOS_MIGRATED_REVID=108182745
* Refactor include scanning / .d file parsing in the C++ rules so that ↵Gravatar Philipp Wollermann2015-10-27
| | | | | | | validating includes and updating action inputs is clearly separated and easier to understand now. -- MOS_MIGRATED_REVID=106298050