aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLine.java
Commit message (Collapse)AuthorAge
* Refactor CppLinkAction to construct its command line using the crosstool ↵Gravatar Cal Peyser2016-08-03
| | | | | | | instead of a hardcoded switch. Add action configs to CppConfiguration for each link type. -- MOS_MIGRATED_REVID=129221108
* Rollback of commit f61d12e9e4f940810efbaf244911a94830ba6c05.Gravatar Lukacs Berki2016-08-02
| | | | | | | *** Reason for rollback *** -- MOS_MIGRATED_REVID=129078102
* Refactor CppLinkAction to construct its command line using the crosstool ↵Gravatar Cal Peyser2016-07-27
| | | | | | | instead of a hardcoded switch. Add action configs to CppConfiguration for each link type. -- MOS_MIGRATED_REVID=128470872
* Rollback of commit b669406789dd452161875d407d0ce6a3502de5f6.Gravatar Damien Martin-Guillerez2016-07-25
| | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks TensorFlow and rules_go on ci.bazel.io Fixes #1562. Fixes #1558. *** Original change description *** Refactor CppLinkAction to construct its command line using the crosstool instead of a hardcoded switch. Add action configs to CppConfiguration for each link type. -- MOS_MIGRATED_REVID=128352435
* Refactor CppLinkAction to construct its command line using the crosstool ↵Gravatar Cal Peyser2016-07-25
| | | | | | | instead of a hardcoded switch. Add action configs to CppConfiguration for each link type. -- MOS_MIGRATED_REVID=128298069
* If an action_config is given for a particular type of link action, use that ↵Gravatar Cal Peyser2016-06-01
| | | | | | | | | action_config to configure the build. Otherwise, revert to hard-coded behavior. This change is designed to provide backwards-compatible support for crosstools that describe platform-specific linking semantics. -- MOS_MIGRATED_REVID=123748494
* The link command line API can consume a feature configuration to configure ↵Gravatar Cal Peyser2016-05-19
| | | | | | | flags and environment variables. -- MOS_MIGRATED_REVID=122735641
* Action configs are activated like features (instead of being activated by ↵Gravatar Cal Peyser2016-05-11
| | | | | | | default). Action configs can imply features. -- MOS_MIGRATED_REVID=122032003
* Move FDO support to the analysis phase by wrapping FdoSupport in its own ↵Gravatar Lukacs Berki2016-04-07
| | | | | | | | | | | SkyFunction. This removes one of the two reasons for the existence of BuildConfiguration#prepareToBuild() which makes implementing dynamic configurations impossible and also makes FDO support halfway sane; now FDO is exactly as ugly as remote repositories, that is to say, reasonably okay. Ideally, we'd implement the zip extraction as an Action and make it a TreeArtifact, but support for TreeArtifacts is not mature yet enough, so it's not possible at the moment. -- MOS_MIGRATED_REVID=119150223
* Do not use all_load for individual always_link deps.Gravatar Googler2016-03-08
| | | | | | | -all_load does not work like whole-archive in the Apple linker. It affects *all* arguments, before and after it. Therefore, a single always_link dependency in a cc_binary on Apple platforms turns *everything* into always_link. -- MOS_MIGRATED_REVID=116674199
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Retrieve Android native link flag features from the right toolchain.Gravatar Brian Silverman2015-11-19
| | | | | | | | | | | | | Previously, the feature-based flags for links of native code for Android were coming from the standard TARGET toolchain, which is wrong. This went unnoticed because Bazel's CROSSTOOL (and mine until recently) don't add any flags that way in either, which means getting the flags either way results in none. -- Change-Id: I74cd18ff56e3aea7ca61fabe62cb2246100ee59a Reviewed-on: https://bazel-review.googlesource.com/#/c/2322 MOS_MIGRATED_REVID=108234274
* Collect .o files compiled from C(++), and skip the rest for the LTO backend ↵Gravatar Han-Wen Nienhuys2015-10-07
| | | | | | | | | | step. This should make ThinLTO work with .o files that are not generated by compiling C++ in a cc_library() -- MOS_MIGRATED_REVID=104764111
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - Label parsing can be simplified - lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change. -- MOS_MIGRATED_REVID=103527877
* Code cleanupGravatar Laurent Le Brun2015-09-03
| | | | | -- MOS_MIGRATED_REVID=102239051
* Allow .dylib libraries in srcsGravatar Kristina Chodorow2015-09-02
| | | | | | | Fixes some of #407. -- MOS_MIGRATED_REVID=102148776
* Clean up the link command action code a bit.Gravatar Ulf Adams2015-08-27
| | | | | -- MOS_MIGRATED_REVID=101568873
* Prefer RuleContext.getFragment over BuildConfiguration.getFragment.Gravatar Ulf Adams2015-08-24
| | | | | | | This improves the coverage of the legality check in RuleContext.getFragment. -- MOS_MIGRATED_REVID=101208822
* Rollback of commit 50adddf01b8d7f46fba6bee12ebbb41c31c87165.Gravatar Ulf Adams2015-08-20
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Makes some tests fail, oddly enough. *** Original change description *** Fixes to use dylib on MacOS X. The change in LinkCommandLine.java fixes the error "ld: library not found for -ltbb.dylib". The change in osx_gcc_wrapper.sh fixes the error "dyld: Library not loaded: @rpath/libtbb.dylib". See https://groups.google.com/forum/#!topic/bazel-discuss/bs8BnXYRjzY -- MOS_MIGRATED_REVID=101012689
* Fixes to use dylib on MacOS X.Gravatar Topher2015-08-20
| | | | | | | | | | | The change in LinkCommandLine.java fixes the error "ld: library not found for -ltbb.dylib". The change in osx_gcc_wrapper.sh fixes the error "dyld: Library not loaded: @rpath/libtbb.dylib". See https://groups.google.com/forum/#!topic/bazel-discuss/bs8BnXYRjzY -- Change-Id: I7feb02eee7d059d86a6d29af391dc2fc71e1d0cc Reviewed-on: https://bazel-review.googlesource.com/#/c/1831/ MOS_MIGRATED_REVID=101007071
* Convert the coverage flags to use the feature configuration.Gravatar Manuel Klimek2015-08-11
| | | | | -- MOS_MIGRATED_REVID=100281959
* Experimental support LLVM ThinLTO.Gravatar Han-Wen Nienhuys2015-08-11
| | | | | | | | | | | | | | | | | | | | | | ThinLTO is a Link Time Opimization strategy, where the inlining step operates on LLVM intermediate code, and is sharded across multiple compiler invocations, so they can be parallelized. For more information, see http://llvm.org/devmtg/2015-04/slides/ThinLTO_EuroLLVM2015.pdf Using this features requires an experimental LLVM toolchain, with the following stanza in CROSSTOOL feature { name: "thin_lto" flag_set { action: "c-compile" action: "c++-compile" flag_group { flag: "-Xclang-only=-Wno-inconsistent-missing-override" flag: "-flto" flag: "-O2" } } } -- MOS_MIGRATED_REVID=100269776
* Setup FDO command-line options via feature configurations.Gravatar Googler2015-06-25
| | | | | -- MOS_MIGRATED_REVID=96835732
* Allow LinkCommandLine to have a null output.Gravatar Han-Wen Nienhuys2015-06-23
| | | | | | | This has the effect of suppressing the -o option. -- MOS_MIGRATED_REVID=96418661
* Move split/no-split command-line decision to CppLinkAction.Gravatar Han-Wen Nienhuys2015-06-18
| | | | | -- MOS_MIGRATED_REVID=96301836
* Migrate C++ link action .params files to the Blaze-standard ↵Gravatar Eric Fellheimer2015-06-15
| | | | | | | | | | | ParameterFileWriteAction. Performance changes: - output files of actions require an extra system call + incremental builds no longer require re-writing the .param file (typically) -- MOS_MIGRATED_REVID=95842983
* Add C++ flags to C++ linkstamp compiles.Gravatar Manuel Klimek2015-03-23
| | | | | | | | In the future, we will have linkstamp flags be generated by the crosstool feature configuration, just like normal compile actions. -- MOS_MIGRATED_REVID=89131127
* Update from Google.Gravatar Han-Wen Nienhuys2015-02-25
-- MOE_MIGRATED_REVID=85702957