| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following link features are *not* implemented yet:
1) Objc++ linking semantics
2) Dead stripping
3) --should_prioritize_static_libs
4) DSYM generation
5) Coverage support
6) Swift interop
7) Linkmap
--
MOS_MIGRATED_REVID=139232434
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cl adds a 3rd type of build variable - structs. Structs have fields, which
can hold any build variable type (including structs). In the CROSSTOOl, the
fields are accessed by the dot-notation, e.g.:
flag_group {
iterate_over: "libraries_to_link
flag_group {
iterate_over: "libraries_to_link.libraries"
flag: "-L%{libraries_to_link.libraries.directory}"
}
}
As a memory optimization, we also add StructureSequences. These save us from
the overhead of individual StructureValue objects.
--
MOS_MIGRATED_REVID=138851774
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now flag_group can be marked with iterate_over field, that denotes for which
sequence variable the flag_group will be expanded repeatedly. This cl does that
in backwards compatible way as before, the iteration happened implicitly when the
used variable was found to be sequence at runtime. Because of that it adds some
extra code that will be removed once all the crosstools are migrated to the
explicit iteration.
--
MOS_MIGRATED_REVID=138501033
|
|
|
|
|
|
|
|
|
| |
This cl moves the conditional building of interface libraries from LinkCommandLine to action configs and features. It provides link_dynamic_library.sh to keep blaze backwards compatible. The script and related code can be deleted once all crosstools are updated.
RELNOTES: No.
--
MOS_MIGRATED_REVID=135799041
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=132261111
|
|
|
|
|
|
|
| |
Basically, take the set of headers found by #include scanning and check what modules they are coming from. If a module provides at least one of the required headers, it is required as are all of its dependent modules (because of the way modules are implemented). Only use the actually required modules as compilation inputs and as flags handed in on the command line. Also move the logic to calculate top-level modules from the analysis phase into the execution phase. In the long run, we might be able to completely remove this logic now, but for now, we want to be able to quickly switch between the old and the new behavior. Thus, pruning of modules is now guarded on a feature prune_module_headers.
--
MOS_MIGRATED_REVID=131058820
|
|
|
|
|
|
|
|
|
| |
It's currently only used for sanity checks, but the idea is that we'll use this field to decide what to do with a given linker input instead of inferring things from its file name.
Also make artifact name creation a bit simpler by using the same set of variables for compiler and linker outputs.
--
MOS_MIGRATED_REVID=129990944
|
|
|
|
|
|
|
|
|
| |
The multi-layered transformation (base -> base.pic -> base.pic.pcm -> base.pic.pcm.d) is kinda ugly, but is preferable to having 22 separate, mostly orthogonal artifact categories.
It's actually untested what happens if we put these new name patterns into the CROSSTOOL file.
--
MOS_MIGRATED_REVID=129423055
|
|
|
|
|
|
|
| |
instead of a hardcoded switch. Add action configs to CppConfiguration for each link type.
--
MOS_MIGRATED_REVID=129221108
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
--
MOS_MIGRATED_REVID=129078102
|
|
|
|
|
|
|
| |
infrastructure to allow other artifact categories (such as debug symbols or compiler outputs) to be defined in other changes.
--
MOS_MIGRATED_REVID=128495797
|
|
|
|
|
|
|
| |
instead of a hardcoded switch. Add action configs to CppConfiguration for each link type.
--
MOS_MIGRATED_REVID=128470872
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
|
|
| |
instead of a hardcoded switch. Add action configs to CppConfiguration for each link type.
--
MOS_MIGRATED_REVID=128298069
|
|
|
|
|
|
|
|
| |
an action_config specifies no action, and is automatically applied to the
action being configured.
--
MOS_MIGRATED_REVID=124240929
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=122988772
|
|
|
|
|
|
|
| |
default). Action configs can imply features.
--
MOS_MIGRATED_REVID=122032003
|
|
|
|
|
|
|
| |
mechanism to add build variables through the CcLibraryHelper API.
--
MOS_MIGRATED_REVID=120710713
|
|
|
|
|
|
|
| |
requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool.
--
MOS_MIGRATED_REVID=120701108
|
|
|
|
| |
MOS_MIGRATED_REVID=120353718
|
|
|
|
|
|
|
| |
requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool.
--
MOS_MIGRATED_REVID=120218079
|
|
|
|
|
|
|
|
| |
builds with C++ modules as modules can be built without waiting on dependencies
that are only required for the module's implementation.
--
MOS_MIGRATED_REVID=120119435
|
|
|
|
|
|
|
|
|
| |
1) Introducing the action_config message in the crosstool protobuf definition. The only part of that definition that are implemented in this CL is the "tool" section, other parts will be implemented in future CLs. The proto fields are here now to avoid being delayed by release cycles at each step of the implementation.
2) Refactoring the implementation of the "feature algebra" that computes the enabled features for a given toolchain. An interface called "CrosstoolActivatable" is used to represent any participant int the feature algebra, and can be either a feature or an action_config.
--
MOS_MIGRATED_REVID=118943663
|
|
|
|
|
|
|
| |
that keeps the Strings and creates the corresponding Value objects only at expansion time.
--
MOS_MIGRATED_REVID=117947058
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=117361388
|
|
|
|
|
|
|
| |
environment variables to pass to actions
--
MOS_MIGRATED_REVID=111608329
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to prevent expansion of flag sets based on whether build variables
are available. If required_variables is not set, and a variable that is
referenced in the flag_set's flags is not available, the build will fail.
We need the new behavior when some input files (for example profile data in
FDO enabled builds) are only available for a subset of the translation units of
a given target.
--
MOS_MIGRATED_REVID=100028996
|
|
|
|
|
|
|
| |
list type.
--
MOS_MIGRATED_REVID=100024899
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows supporting compilers which don't understand -iquote. It
looks like support for -iquote was released in GCC 4.0
(https://gcc.gnu.org/gcc-4.0/changes.html). GCC 3.3.2 definitely does
not have support.
Here's what the error looks like when you try to use an older GCC
without this change:
cc1plus: error: unrecognized option `-iquote.'
cc1plus: error: unrecognized option `
-iquotebazel-out/powerpc-603e-fastbuild/genfiles'
--
Change-Id: Ibf3b74d058a741e23da51963b39ad7505c507d57
Reviewed-on: https://bazel-review.googlesource.com/#/c/1263/
MOS_MIGRATED_REVID=93888319
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=87821306
|
|
|
|
|
|
|
| |
configuration.
--
MOS_MIGRATED_REVID=85710366
|
|
--
MOE_MIGRATED_REVID=85702957
|