| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
embedded binaries.
--
MOS_MIGRATED_REVID=100476182
|
|
|
|
|
|
|
| |
Otherwise a @x//a/b will be seen as crossing @y//a's package boundary.
--
MOS_MIGRATED_REVID=100465538
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100427061
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100410176
|
|
|
|
|
|
|
| |
of flag sets.
--
MOS_MIGRATED_REVID=100400672
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100400400
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100399962
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Allows for building and linking to a framework in ios_application
* Currently only works for single arch builds
* Xcode generation produces correct target type, but is mostly untested
The implementation is very similar to that of objc_framework:
1) Build the ios_framework_binary as a dynamic library (-dynamiclib)
2) Symlink the library and public headers to a staging location, inside of "X.framework" bundle. Where X is the name under ios_framework_binary#framework_name
3) Pass the bundle content to ObjcCommon.addFrameworkImports, reusing the core of objc_framework rule implementation. This results in correctly set -F/-framework flags and allows clients to use the framework in a way they would use any SDK/3rd-party framework. It's allowed to import headers via #import <X/X.h> call.
4) Copy the binary and all resources into final application bundle under Frameworks/X.framework
5) Sign the app and nested frameworks
--
MOS_MIGRATED_REVID=100397239
|
|
|
|
|
|
|
| |
invalid arguments.
--
MOS_MIGRATED_REVID=100386706
|
|
|
|
|
|
|
| |
xcode 6.4 upgrades clang from 6.0 to 6.1, which no longer needs this flag.
--
MOS_MIGRATED_REVID=100383635
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100373346
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100368051
|
|
|
|
|
|
|
|
|
| |
runfiles of inputs that are a) executable and b) in host configuration.
This is necessary because "command" could lead to the execution of a binary that might rely on one or more runfiles. However, SpawnAction didn't know about these runfiles, which meant that they were not copied to the runfiles area, thus leading to an error.
--
MOS_MIGRATED_REVID=100361726
|
|
|
|
|
|
|
| |
Ref equality for same-name SkyFunctionNames is not guaranteed.
--
MOS_MIGRATED_REVID=100322275
|
|
|
|
|
|
|
| |
consistency, accuracy, and clarity.
--
MOS_MIGRATED_REVID=100320358
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100317285
|
|
|
|
|
|
|
| |
removing the key.
--
MOS_MIGRATED_REVID=100314916
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The primary user of invalidation tracking is the SkyframeBuildView,
which monitored which ConfiguredTargetValues were invalidated. It
did that so the SkyframeExecutor could limit its search for artifact
conflicts to when the set of configured targets in the build changed.
For the newly introduced set of dirtied keys,
"dirtiedConfiguredTargetKeys" in SkyframeBuildView, to be as useful as
the "dirtyConfiguredTargets" set it replaced, the
ConfiguredTargetValueInvalidationReceiver must only remove a key from
the set if it was found to be clean when it was re-evaluated. If it
was rebuilt, then the key must stay in the set, to represent that the
set of configured target values has truly changed.
This CL introduces a semantic change that hopefully has a small effect,
if any. Previously, the informInvalidationReceiver method in
InvalidatingNodeVisitor only informed the invalidationReceiver when a
non-null value was invalidated. (This is usually, but not always,
equivalent to a non-error value. The uncommon exception is that in
keep-going builds, some nodes with errors may also have values, and
the invalidator would inform the receiver when such a node was
invalidated.) Now, the receiver is informed that a node is invalidated
regardless of whether its value is null. Because the receiver uses this
information to determine whether artifact conflict search has to be
rerun, and that search is expensive, it's possible this change will
negatively impact performance. However, the only way an extra search
could be invoked is if the invalidated configured target nodes are
all in error. That seems like it would happen rarely, if at all.
Further cleanup of unused SkyValues returned by markDirty to come in
a subsequent CL.
--
MOS_MIGRATED_REVID=100304744
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100285918
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100281959
|
|
|
|
|
|
|
| |
Fixes #367.
--
MOS_MIGRATED_REVID=100281134
|
|
|
|
|
|
|
|
|
| |
This brings consistency between BUILD and Skylark interpreters. It also brings
consistency with dicts (e.g. **kwargs can contain anything and kwargs.values
is allowed).
--
MOS_MIGRATED_REVID=100278980
|
|
|
|
|
|
|
| |
modules enabled build.
--
MOS_MIGRATED_REVID=100272810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100268427
|
|
|
|
|
|
|
|
|
| |
original artifact.
This adds artifact resolution costs to relative inclusions, but hopefully not too much.
--
MOS_MIGRATED_REVID=100164755
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100163482
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100138246
|
|
|
|
|
|
|
|
|
|
|
| |
generating runfiles.
This code has been wrong for a long time, as the runfiles tree should
belong to an executable generated by the rule. We have started
enforcing this recently, and this fixes the resulting analysis crash.
--
MOS_MIGRATED_REVID=100129121
|
|
|
|
|
|
|
| |
RELNOTES: allow load() in subincluded files.
--
MOS_MIGRATED_REVID=100125415
|
|
|
|
|
|
|
| |
It's not locked down yet as Skylark rules can't declare required fragments.
--
MOS_MIGRATED_REVID=100113647
|
|
|
|
|
|
|
| |
Instead we can just recreate artifact in ArtifactFactory if source root has changed. Additional optimization is to save with Artifact's some unique id of build when they have been created. If the build is the same we should not check source root changes.
--
MOS_MIGRATED_REVID=100104312
|
|
|
|
|
|
|
| |
efficient if we need to do many ActionGraph looups.
--
MOS_MIGRATED_REVID=100060090
|
|
|
|
|
|
|
| |
getEffectiveOptions wasn't returning any of the options.
--
MOS_MIGRATED_REVID=100041131
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100038493
|
|
|
|
|
|
|
|
|
|
|
| |
I finally worked out how to get a simple test maven repository working, so
added back integration testing.
This removes the dependency on Aether and just uses the maven model lib to
resolve dependencies, which seems to work better in the face of custom repositories.
--
MOS_MIGRATED_REVID=100031414
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100027280
|
|
|
|
|
|
|
| |
list type.
--
MOS_MIGRATED_REVID=100024899
|
|
|
|
|
|
|
| |
recognized by hasattr() and dir()
--
MOS_MIGRATED_REVID=100022797
|
|
|
|
|
|
|
|
| |
Flip the handling such that analysis failure is the default, rather than
execution failure (fail action creation).
--
MOS_MIGRATED_REVID=100020812
|
|
|
|
|
|
|
| |
configuration can now be accessed via ctx.fragments.CONF where CONF is in {cpp, jvm, java}.
--
MOS_MIGRATED_REVID=100016978
|
|
|
|
|
|
|
| |
that package groups' deps use the null configuration.
--
MOS_MIGRATED_REVID=99965080
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=99961435
|
|
|
|
|
|
|
|
|
|
|
| |
use of that accessor. Data configuration access here complicates
the first phase of dynamic configuration support. And the current
use doesn't specifically need this configuration.
We can always add support back in if there's demand.
--
MOS_MIGRATED_REVID=99938987
|
|
|
|
|
|
|
| |
Instead, the SkylarkModule annotation is being used to identify fragments that are visible in Skylark.
--
MOS_MIGRATED_REVID=99930512
|
|
|
|
|
|
|
| |
but due to the flag default value being true, some code behaved as if it was).
--
MOS_MIGRATED_REVID=99913146
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=99904596
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
flag'-DDEBUG=1' to 'fastbuild' for objc.
RELNOTES: Make '-DDEBUG=1' available for objc fastbuild via --experimental_allow_fastbuild_debug
--
MOS_MIGRATED_REVID=99896083
|