| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the immutability interfaces of existing implementations.
Eventually we want all implementations to comply, but right now CppConfiguration
is a glaring exception due to FDO/LIPO support.
We don't want more exceptions to arise.
This is prep work for pre-trimming ConfigurationFragment.key's BuildOptions input
to just the options needed by the fragment. That implies fragments can be shared across configurations, so that needs to be safe.
--
MOS_MIGRATED_REVID=113408041
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113407051
|
|
|
|
|
|
|
| |
instead of target depss
--
MOS_MIGRATED_REVID=113398355
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113251721
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112956748
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
its intended use.
--
MOS_MIGRATED_REVID=112598772
|
|
|
|
|
|
|
|
|
|
|
| |
Also, don't require the :stl attribute to be defined by all rules that
use CcLibraryHelper.
This makes it possible for other languages to use CcLibraryHelper to
create a CppCompilationContext.
--
MOS_MIGRATED_REVID=112494452
|
|
|
|
|
|
|
|
|
| |
host crosstool.
RELNOTES[NEW]: --grte_top no longer also sets --host_grte_top in the absence of the latter
--
MOS_MIGRATED_REVID=112258796
|
|
|
|
|
|
|
| |
targeting Apple platforms.
--
MOS_MIGRATED_REVID=112152418
|
|
|
|
|
|
|
| |
version.
--
MOS_MIGRATED_REVID=111978539
|
|
|
|
|
|
|
| |
This will allow Skylark rules to interact nicely with cc_inc_library rules.
--
MOS_MIGRATED_REVID=111969252
|
|
|
|
|
|
|
| |
environment variables to pass to actions
--
MOS_MIGRATED_REVID=111608329
|
|
|
|
|
|
|
| |
CppSemantics instead.
--
MOS_MIGRATED_REVID=111406721
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Skylark into their own package. This allows, e.g., classes in the syntax package to access classes in the cmdline package without creating circular dependencies.
While we're here:
- Removed a couple of unused BUILD deps flagged in [].
- Updated SkylarkRuleImplementationFunctionsTest to remove non-ASCII characters and
clarify the intent of the test.
--
MOS_MIGRATED_REVID=110360763
|
|
|
|
|
|
|
|
|
| |
- If we have a class object available, we can use .cast(Object)
- Only store the required options objects in CppConfigurationParameters
rather than keeping the entire BuildOptions
--
MOS_MIGRATED_REVID=109981236
|
|
|
|
|
|
|
| |
Reduces garbage.
--
MOS_MIGRATED_REVID=109914243
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108985661
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108182745
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows using compilers downloaded in *_repository rules without
ugly hacks like symlinks to bazel-out/../../external.
I manually tested all of the %prefix%s which this refactors the
implementations of.
--
Change-Id: Ie9931dfbed646b8b5c9cd7fba5e6df5cf0baa1f2
Reviewed-on: https://bazel-review.googlesource.com/#/c/2200
MOS_MIGRATED_REVID=108139097
|
|
|
|
|
|
|
|
|
|
|
|
| |
options. If a rule (such as a filegroup) doesn't
have C++ options in its transitive closure, then
buildOptions.get(CppOptions.class) returns null
and crashes.
So add a check to just fast-return for these cases.
--
MOS_MIGRATED_REVID=108079561
|
|
|
|
|
|
|
| |
is guaranteed not to be a package. Instead, start with its parent. This will be faster and take less memory.
--
MOS_MIGRATED_REVID=107725767
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=107719461
|
|
|
|
|
|
|
|
|
| |
in CcLibraryHelper.
Also add a check for null configurations.
--
MOS_MIGRATED_REVID=107709170
|
|
|
|
|
|
|
|
|
| |
Fixes #445, based on https://github.com/bazelbuild/bazel/compare/master...ulfjack:cpp-include-path.
RELNOTES: C++ libraries no longer need includes = ["."] (or similar copts) to include paths relative to a remote repository's root.
--
MOS_MIGRATED_REVID=107593486
|
|
|
|
|
|
|
| |
This makes all tool dependencies be under @bazel_tools again (and not //tools)
--
MOS_MIGRATED_REVID=107482585
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL permits a cc_binary to have a set of dependencies that are all
gathered together when the cc_binary is linked, producing a set of
LibraryToLink objects to link into the cc_binary. Each such
dependency will an instance of a class that extends BuildLibraryToLink
to a CcLinkParams. All instances of the same class will be gathered
together. At link time the BuildLibraryToLink method buildLibraries
will be called to build the LibraryToLink objects.
--
MOS_MIGRATED_REVID=107242331
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=107048547
|
|
|
|
|
|
|
| |
Fixes #538.
--
MOS_MIGRATED_REVID=106674650
|
|
|
|
|
|
|
| |
RELNOTES: Bazel does strict validation of include files now to ensure correct incremental builds. If you see compilation errors when building C++ code, please make sure that you explicitly declare all header files in the srcs or hdrs attribute of your cc_* targets and that your cc_* targets have correct "deps" on cc_library's that they use.
--
MOS_MIGRATED_REVID=106410969
|
|
|
|
|
|
|
|
|
| |
LocalGccStrategy / LocalLinkStrategy with SpawnGccStrategy / SpawnLinkStrategy.
RELNOTES: C++ compile actions run in a sandbox now on systems that support sandboxed execution.
--
MOS_MIGRATED_REVID=106299043
|
|
|
|
|
|
|
| |
validating includes and updating action inputs is clearly separated and easier to understand now.
--
MOS_MIGRATED_REVID=106298050
|
|
|
|
|
|
|
| |
This makes it possible to call these methods with lists from Skylark, which are internally Iterable<>'s but not Collection<>'s.
--
MOS_MIGRATED_REVID=106003065
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of two metasyntactic variables and one random bit of magic which
changes relative paths to be children of crosstool, we now have three
consistent pieces of metasyntax; except that since we can't actually
remove the old syntax, we have either way for the time being.
RELNOTES[NEW]: accept %crosstool_top% in cxx_builtin_include_directory
--
MOS_MIGRATED_REVID=105854779
|
|
|
|
|
|
|
|
|
|
| |
cxx_builtin_include directories which start with "%workspace%/" are taken
to be relative to the build workspace, and not relative to crosstool-top.
RELNOTES[NEW]: cpxx_builtin_include_directory specifications allow more flexibility.
--
MOS_MIGRATED_REVID=105789270
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=105624527
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
ERROR: No toolchain found for cpu 'x84'.
After:
ERROR: No toolchain found for cpu 'x84'. Valid cpus are: [
armeabi,
armeabi-v7a,
armeabi-v7a-hard,
armeabi-thumb,
armeabi-v7a-thumb,
armeabi-v7a-hard-thumb,
arm64-v8a,
mips,
mips64,
x86,
x86_64,
].
--
MOS_MIGRATED_REVID=105324190
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
legible by putting each flag combination on its own line.
E.g. from this:
ERROR: No toolchain found for --cpu='foo' --compiler='bar' --glibc='baz'. Valid toolchains are: [ --cpu='armeabi-v7a' --compiler='compiler' --glibc='armeabi-v7a', --cpu='armeabi-v7a' --compiler='compiler' --glibc='armeabi-v7a', --cpu='local' --compiler='compiler' --glibc='local', --cpu='darwin' --compiler='compiler' --glibc='macosx', --cpu='freebsd' --compiler='compiler' --glibc='local', --cpu='k8' --compiler='windows_mingw' --glibc='local', --cpu='k8' --compiler='windows_msys64_mingw64' --glibc='local', --cpu='k8' --compiler='windows_clang' --glibc='local',].
to this:
ERROR: No toolchain found for --cpu='foo' --compiler='bar' --glibc='baz'. Valid toolchains are: [
--cpu='armeabi-v7a' --compiler='compiler' --glibc='armeabi-v7a',
--cpu='armeabi-v7a' --compiler='compiler' --glibc='armeabi-v7a',
--cpu='local' --compiler='compiler' --glibc='local',
--cpu='darwin' --compiler='compiler' --glibc='macosx',
--cpu='freebsd' --compiler='compiler' --glibc='local',
--cpu='k8' --compiler='windows_mingw' --glibc='local',
--cpu='k8' --compiler='windows_msys64_mingw64' --glibc='local',
--cpu='k8' --compiler='windows_clang' --glibc='local',
].
(notice there is a duplicate toolchain)
--
MOS_MIGRATED_REVID=105313547
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=105204997
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104862806
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104845397
|
|
|
|
|
|
|
|
|
|
| |
step.
This should make ThinLTO work with .o files that are not generated by
compiling C++ in a cc_library()
--
MOS_MIGRATED_REVID=104764111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, module maps contain both "use <module>" entries that specify which
modules the current module map depends on, and "extern module" entries that
provide paths where to load the dependent module maps from.
This change adds a feature "module_map_without_extern_module", which instructs
blaze to not write the "extern module" entries into the module map. Instead,
the crosstool needs to add -fmodule-file flags for each dependent module file
where needed for the compile via the new build variable
"dependent_module_map_files".
Note that the feature is phrased negatively ("_without_") in order to simplify
the roll-out of this feature: as long as crosstools do not specify any
features, they still want the old behavior.
We cannot make the feature positive and add it to the legacy configuration, as
we currently cannot remove features that have already been set in the crosstool
file.
--
MOS_MIGRATED_REVID=104757413
|
|
|
|
|
|
|
|
|
|
|
| |
tools repository.
This is a no-op refactoring CL. The actual switch will be made once everything passes with the new setup.
As a side cleanup, change the awkward realAndroidSdk() / realAndroidCrosstoolTop() mechanism to a converter.
--
MOS_MIGRATED_REVID=104649067
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=104529103
|
|
|
|
|
|
|
| |
RELNOTES[NEW]: labels in "linkopts" may match any label in either "deps" or "srcs" to be considered valid.
--
MOS_MIGRATED_REVID=103945104
|