| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
--
MOS_MIGRATED_REVID=127221256
|
|
|
|
|
|
|
|
|
|
|
| |
blaze handling.
- Converted to correct upstreamed options
- Handling of bitcode when creating dynamic libraries
- New LTOBackendAction derived from SpawnAction that discovers and adds the imported bitcode files identified by the LTO indexing step.
--
MOS_MIGRATED_REVID=126344132
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add .dll as a shared library type like .so
If we have target:
cc_binary(
name = "bar.dll",
srcs = ["bar.cc"],
linkshared = 1,
)
Now we can build a dll using bazel build //foo:bar.dll
If the target name is still bar.so, the wrapper script also
build the dll by copying the output file to bar.dll.
--
Change-Id: Ie3d1fb83965ddf691d0cc4734a61a0b0ce89d948
Reviewed-on: https://bazel-review.googlesource.com/#/c/3931
MOS_MIGRATED_REVID=126301390
|
|
|
|
|
|
|
|
|
| |
be passed to CcLibraryHelper for an individual source rather
than the entire build.
--
MOS_MIGRATED_REVID=125738742
|
|
|
|
|
|
|
| |
Also add platform sdk versions to the build variables defined by AppleCcToolchain, so that these values may be referenced in crosstool config.
--
MOS_MIGRATED_REVID=124976362
|
|
|
|
|
|
|
|
|
| |
error when the LIPO context is not a cc_binary.
RELNOTES[NEW]: LIPO context (--lipo_context) can now also be a cc_test (in addition to cc_binary)
--
MOS_MIGRATED_REVID=124555465
|
|
|
|
|
|
|
|
|
|
| |
instead of passing and checking null in all helpers.
Demonstrates this pattern usage in a few select rules (e.g. AndroidBinary) where this was particularly egregious.
There are many places which can benefit from this pattern -- this change doesn't try to fix them all at once.
--
MOS_MIGRATED_REVID=123012378
|
|
|
|
|
|
|
| |
requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool.
--
MOS_MIGRATED_REVID=120701108
|
|
|
|
|
|
|
|
| |
This isn't hooked up to anything yet, but is another piece of getting #848
rolled forward.
--
MOS_MIGRATED_REVID=120582973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 790d2f6009d47fe92cf0cd92a1473bbf0141f32e.
*** Reason for rollback ***
Broke non-Bazel projects on ci.bazel.io
Fixes #1168
*** Original change description ***
Move the runfiles for external repositories to under the x.runfiles/ directory
This also sets the Bazel workspace name to io_bazel_source.
Fixes #848.
Relevant to #1116, #1124,
RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles....
***
--
MOS_MIGRATED_REVID=120535721
|
|
|
|
| |
MOS_MIGRATED_REVID=120353718
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also sets the Bazel workspace name to io_bazel_source.
Fixes #848.
Relevant to #1116, #1124,
RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles.
---
Furthermore, if a Bazel project does not provide a workspace name in the WORKSPACE file, Bazel will now default to using __main__ as the workspace name (instead of "", as previously). The repository's runfiles will appear under x.runfiles/__main__/.
--
MOS_MIGRATED_REVID=120224534
|
|
|
|
|
|
|
| |
requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool.
--
MOS_MIGRATED_REVID=120218079
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=118019851
|
|
|
|
|
|
|
| |
action.
--
MOS_MIGRATED_REVID=117915931
|
|
|
|
|
|
|
|
|
| |
instead of special-casing it.
This removes the need to deserialize artifacts in FdoSupport, which in turn removes the need to support artifact deserialization at all, which makes our lives simpler and Thoreauvian programming is good.
--
MOS_MIGRATED_REVID=115660698
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=115550466
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114469301
|
|
|
|
|
|
|
|
|
|
|
| |
for targets in the transitive closure of a target that is built.
Rollback of commit e01291a1a3d65cd706190c9bf0c8cfc585f38eb7.
Added an additional test to check that the configuration value is actually
effectively used.
--
MOS_MIGRATED_REVID=113836105
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently for a library:
cc_library(name='a', hdrs=['a.cc'])
we compile a.cc into a.pic.o and link that into its reverse dependencies.
With this change, a .cc file in hdrs will be treated like a .inc file or
a file in textual_hd...
--
MOS_MIGRATED_REVID=113773418
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113660258
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks targets. See []
Manually verified this unbreaks the target mentioned in the bug.
*** Original change description ***
Do not compile source files mentioned in 'hdrs'.
Currently for a library:
cc_library(name='a', hdrs=['a.cc'])
we compile a.cc into a.pic.o and link that into its reverse dependencies.
With this change, a .cc file in hdrs will be treated like a .inc file or
a file in textual_hdrs.
--
MOS_MIGRATED_REVID=113568452
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
The change this relies on is to be rolled back.
--
MOS_MIGRATED_REVID=113564031
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
The new test apparently breaks some targets. Rolling back to fix the build.
*** Original change description ***
Include .dwp file in the runfiles for cc_test when building with Fission.
--
MOS_MIGRATED_REVID=113310353
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113295790
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for targets in the transitive closure of a target that is built.
Previously, this would only happen if a link action for the library containing
the headers was also built; this specifically means it did not trigger if
a library didn't contain source files, as there is no link action for such
libraries. That led to no header-only libraries would get their headers parsed,
which includes all cc_public_library rules.
Adding a flag to introduce this under so we can switch it on independently from
the blaze release. Once it is switched on, we can remove the edges in the
action graph from the link actions to the header processing actions.
--
MOS_MIGRATED_REVID=112782219
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently for a library:
cc_library(name='a', hdrs=['a.cc'])
we compile a.cc into a.pic.o and link that into its reverse dependencies.
With this change, a .cc file in hdrs will be treated like a .inc file or
a file in textual_hdrs.
--
MOS_MIGRATED_REVID=112770625
|
|
|
|
|
|
|
| |
Reduces garbage.
--
MOS_MIGRATED_REVID=109914243
|
|
|
|
|
|
|
|
|
|
| |
step.
This should make ThinLTO work with .o files that are not generated by
compiling C++ in a cc_library()
--
MOS_MIGRATED_REVID=104764111
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=103374106
|
|
|
|
|
|
|
| |
BaseFunction.
--
MOS_MIGRATED_REVID=102988766
|
|
|
|
|
|
|
|
|
|
| |
The baseline artifacts are part of the instrumented files provider now, and
are strongly tied to the collect_code_coverage flag. It seems to be simpler
to collect them explicitly in the BuildView (which already collects them for
post-processing), than to rely on the output group selection.
--
MOS_MIGRATED_REVID=101926341
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're currently doing too much work for baseline coverage - every rule creates
an action for its entire transitive closure; these actions are added to the
output group for baseline coverage, but not transitively accumulated.
It would be better for every rule to create an action for local baseline
coverage, and to aggregate the baseline coverage artifacts down the dependency
tree.
By merging the code paths, the InstrumentedFilesCollector can perform the
aggregation, because it can distinguish local and transitive files; I'm
planning to implement that in a subsequent change.
--
MOS_MIGRATED_REVID=101914334
|
|
|
|
|
|
|
| |
Use stripped launcher when Fission is enabled.
--
MOS_MIGRATED_REVID=101244628
|
|
|
|
|
|
|
| |
This CL covers the "easy" cases. Followup CLs will take care of couple dozen remaining gnarly ones.
--
MOS_MIGRATED_REVID=100479410
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To allow the commands in the cc_fake_binary to work with modules (which is
a precondition to writing nocompile tests for modules), we need to create
header modules in the same pic/nopic mode as the rest of the commandline
indicates.
There are two ways to resolve this problem:
a) Make cc_fake_binary use the same pic mode as other binaries.
b) Make sure fake compile actions get all their inputs in non-pic mode.
This patch proposes solution a), as that makes sure cc_fake_binary is as close
to the actual compilation going on as possible; for example, if we decide to
always use pic in the future, this will simply work; additionally, we will
currently get more test coverage through different compilation modes.
RELNOTES: 'cc_fake_binary' uses the same pic/nopic mode as other binaries.
--
MOS_MIGRATED_REVID=99902738
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=99718820
|
|
|
|
|
|
|
|
|
|
| |
Don't compute the linkopts in CcCommon unconditionally, only on demand. In
order to only do this once, I had to pull out all calls to getLinkopts and
move them up in the call hierarchy. This in turn resulted in some
simplification and dead code removal in CcBinary.
--
MOS_MIGRATED_REVID=99716999
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=99715964
|
|
|
|
|
|
|
|
|
|
|
|
| |
rules that can be removed.
What is left:
- The outputs of ExtractInclusionsAction. I think this action is shared between multiple rules that have the same generated file in srcs, so this call site is legitimate.
- Creating the solib symlinks. This is not a shared action, but these need to be in the same directory so that the RPATH is not too long, so we must live with this for the time being.
- FDO, which is beyond salvation. The artifacts under the FDO root don't really conform to the usual "only under the package directory" convention.
--
MOS_MIGRATED_REVID=99551394
|
|
|
|
|
|
|
|
|
| |
- Move getTemps to CcBinary (only caller).
- Change getFilesToCompile to return a nested set.
- Inline CcCommon.getHeader(), which was a one-liner.
--
MOS_MIGRATED_REVID=99384327
|
|
|
|
|
|
|
|
|
| |
The object files from sources are already merged into the cc compilation
outputs by the CcLibraryHelper, and returned from getObjectFiles. There's no
need to add them again later.
--
MOS_MIGRATED_REVID=99379096
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=99372555
|
|
|
|
|
|
|
| |
CcLibraryHelper#setCommon.
--
MOS_MIGRATED_REVID=99370685
|
|
|
|
|
|
|
|
|
| |
repository and package of the rule being analyzed. Currently this directory is PACKAGE for rules in the main repository and external/REPOSITORY_NAME/PACKAGE for rules in other repositories.
This is a plan to fix #293. Ideally, we would simply make it impossible to create artifacts not under that location, but in practice, we cannot do that because some rules do want to do this, mostly those that are already problematic due to shared actions. So the battle plan is to eliminate as many calls to AnalysisEnvironment.getDerivedArtifact() as I possibly can and audit the rest.
--
MOS_MIGRATED_REVID=99351151
|
|
|
|
|
|
|
|
|
| |
Remove an unnecessary intermediate method in CcBinary and provide a helper
method in CcLinkAction.Builder that simplifies several call sites that just
want to add CcLinkParams to the link action.
--
MOS_MIGRATED_REVID=99172303
|