| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
To allow other singletons to use new environment variables, move env.go
to the end of the source list, so that its singleton is run last.
Change-Id: Ic92308f72fc0c92a0fedbc5546e337940e32eaab
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For configuration like TARGET_GLOBAL_CFLAGS, it would be good to have
Make and Soong use the same values. This change adds an interface for
packages like cc to verify the current value of make variables match the
Soong equivalents, and once they're satisfied with the results, remove
the make definition and use the value from Soong.
The cc implementation exports a few variables currently that I expect to
match between both implementations in all cases. It also checks
{CLANG,}{HOST,TARGET}_GLOBAL_{C,LD}FLAGS, which should be mostly similar
between make and soong now.
Bug: 23566674
Change-Id: Idc8582ef31ace11a8baefcf525c3683f08a573aa
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: I570a7033ece82c5e76815dc1b81622b481930de4
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| |
| |
| | |
This matches the make behavior.
Change-Id: I8265fb481424734062b0fca944cdbbe283b7236d
|
|/
|
|
|
|
|
| |
This way Make can use different output files for different targets, and
switch between them without having to reparse all the makefiles.
Change-Id: I00001a09d79025772d966f443ab9f130e35f4720
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
This way a local module can override a global flag (like libm
overriding -Wl,--hash-style=)
Change-Id: If32774381fc46b5767f2c13bf45c3a84acb2697e
|
|/
|
|
|
|
|
|
|
|
|
| |
In make, the current 32-bit configuration for generic x86_64 targets
inherits some variables (SSE4 support) from the 64-bit configuration,
and overrides the make variables used for other configurations (SSSE3).
We don't have that problem in Soong, but this is the configuration
matching what Make is using.
Change-Id: Ia934ff40f9388f9c202a0fe0608e7b45b77a2714
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Add extra clang cflags, and correct the clang triple for X86 device
builds.
Change-Id: I95abbd0f0f943ebdede905733785ee3659610058
|
|\ \ |
|
| |/
| |
| |
| | |
Change-Id: Ica7851e19d9a709d03a752dbd4f88f07fc8ce1ee
|
|/
|
|
|
|
|
|
|
| |
For krait, we were using the cortex-a15 cflags for GCC, but a completely
separate set for Clang. To make it more readable, and prevent the LPAE
flag from being missed for Clang, explicitly define krait cflags for GCC
as well.
Change-Id: I6dc00a22e2b298ee3755190bf09f28e427c8c70d
|
|
|
|
|
|
|
| |
We were using the original ArchVariant passed in, not the blank string
that we reset it to if it's considered the default variant.
Change-Id: Ice644cc1d4897af99fe79b55d441f406a7a270de
|
|
|
|
|
|
| |
This exists for all of the 64-bit architectures in the make build system
Change-Id: I023ef1afdaaa790aac4243a5c040f533b8814684
|
|
|
|
| |
Change-Id: I09668a220f207d3d7510f058610846e4427d815e
|
|
|
|
|
|
|
|
| |
In cc/cc.go, we already add -B{GccRoot}/{GccTriple}/bin to all clang
cflags, asflags, and ldflags. So we don't need to add a linux specific
version here.
Change-Id: I42d71662c78a8170463dfec932a633e4d4ff52c8
|
|
|
|
|
|
|
|
| |
Arch-specific static libraries should be prepended so that the common
static libraries can depend on them.
Bug: 26968262
Change-Id: I40a21d18ece8f6d20824437e7180628b29ffdd04
|
|
|
|
|
|
|
|
|
| |
We were keeping the original array, and adding duplicates with -I
removed. Instead, only add entries that start with -I, but continue
stripping that off. This removes the -isystem arguments from the NDK
libraries.
Change-Id: I8fd71bbd6b7a051aad7e80a92a05dbdc05a6b87a
|
|
|
|
|
|
|
| |
It was present in the r10 NDK checked into the platform, but is not
available in the r11 NDK nor the official r10 NDK.
Change-Id: I45a2dcf8acc810174c77a0a19870fb849f674b72
|
|
|
|
|
|
|
| |
ninja has been moved from prebuilts/ninja to prebuilts/build-tools so it
can share the hermetic libc++.so there.
Change-Id: I0b6e76baaa6916a8c7fd19c684b792ccef2f9cb1
|
|
|
|
|
|
| |
support LOCAL_SRC_FILES_EXCLUDE, and fix a typo arm->arch.
Change-Id: I9f789e943d9aca4c5aff2b6b56b1e4a0626ecd86
|
|
|
|
|
|
|
| |
Make expects libraries built with address sanitizer to be installed into
/data, and can't handle multiple variants of modules.
Change-Id: Ice575ff6f0788a88f296e7b3ee521a2b9771f55f
|
|
|
|
|
|
|
| |
The strip tool is different on Darwin, use a separate darwinStrip rule
instead of calling strip.sh for host builds on Darwin.
Change-Id: I6d421cba0dcea04367d5bc638a03f64c81e2ead0
|
|
|
|
|
|
|
| |
Prevents make installing files with a double /:
Install: out/target/product/generic_arm64/system/lib//libc.so
Change-Id: Iee237f344e8140c4938aa9d1e6940e4fdbfa7cd8
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Strip all shared libraries and binaries by default. Use a shell script
to wrap the long sequences of commands needed by some strip variants.
Change-Id: I465bf7cc48330913e60e24762fd55fa2a7731c26
|
|\| |
|
| |
| |
| |
| | |
Change-Id: Icdff44a54d14ddfc2266d99cf0578a8105716918
|
|\ \
| |/
|/|
| |
| |
| | |
* changes:
Prevent replacing missing dependency glob rules with errors
Support nested glob patterns
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AndroidModuleContext.Build() replaces all build statements with errors
when the module has missing dependencies, but modules may try to create
glob rules to detect when missing dependencies have been satisified, and
those rules should not be replaced with errors. Whitelist globRule
build statements.
Change-Id: I2a3cd53c05cea44cec9b5a99090d8778ca954d69
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Globbing separately for path/to/lib and path/to/lib/test would result in
trying to use intermediates/path/to/lib as both a file list file for the
first glob and as a directory to store the file list file for the second
glob, causing ninja to exit with an mkdir "Not a directory" error.
Add ".glob" to the file list file name to avoid collisions.
Change-Id: I8b9de9133d7ef667088a2f13eb28652508f3a290
|
|/
|
|
| |
Change-Id: Ie44a0536a50aa6b443be0c015fca1ea9fa02590c
|
|
|
|
|
|
|
|
| |
Manually inserting gtest include directories causes build failures in
manifests that don't have external/gtest. external/gtest already
exports its include directories so remove the manual include directory.
Change-Id: I6baac4bd3bea7dba3aa134d18b66f02a6dc9a54a
|
|
|
|
|
|
|
|
| |
Add a new feature to cc modules that adds the cflags and libraries
necessary to implement AddressSanitizer, ThreadSanitizer, and
UndefinedBehaviorSanitizer.
Change-Id: Ibe5ffadc7ece56080a2521f2c7c00da9ef712584
|
|
|
|
| |
Change-Id: I13ecf0a6be591814546a9a1c8b8356988348feb0
|
|
|
|
|
|
|
| |
cc needs to know what stl was selected, promote stl from a generic
feature implementation to a fixed type pointer.
Change-Id: I950ef947f7cd254fe3074f4ff240bb2b90b9116c
|
|
|
|
|
|
|
| |
Exported cflags are needed by a variety of cc module types. Refactor
them into an object that can be composed into any cc module type.
Change-Id: I7427ba71085917ca3ec522abadfa2bf33ab43440
|
|
|
|
|
|
|
|
| |
This will allow modules to specify a local script file that will be
expanded to the proper path in $tool, and will automatically be added to
the dependencies.
Change-Id: Icea4046b1fe2fd7c543aa33913d1a53201b15353
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two cc properties: `generated_sources` and `generated_headers`,
instead of just adding genrule modules to `deps`. Label these with the
dep tagging mechanism, add the generated_headers paths to the include
paths, and add dependencies to generated headers for each compile.
Add dependencies so that regular sources can include generated yacc
headers, not just other generated lex/yacc files. Static/shared specific
sources still don't have dependencies to or from regular sources though.
Switch from an implicit dependency on generated files to an orderonly
dependency, since the depfile will take care of the necessary implicit
dependencies for incremental builds.
Change-Id: I436675acb1f57329d98b81c56dcb4384201a68ea
|
|
|
|
| |
Change-Id: Ibca493a70a19cd3dfb58b5404b1c9ed42e068748
|
|
|
|
|
|
|
|
| |
Blueprint now requres DependencyTags to be passed to AddDependency
calls. Use the tags to avoid setting member variables on modules, which
will be lost after the mutators have been called.
Change-Id: I8c1d9ed1db85a300e14394b911a516d361ba9f75
|
|
|
|
|
|
|
| |
The deps property is handled by blueprint, which doesn't give the
flexibilty of handling it within soong. Switch to using objs instead.
Change-Id: Ib8273546578b31b186a3cf1566e80a5eb11943b7
|
|
|
|
|
|
| |
(To reduce the need for this kind of thing in the various build systems.)
Change-Id: I75d11497bbf42695f804bcc9ea9ba3b3a12ac764
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The make macros add these to the linker lines even if the default
compiler flags are being skipped.
This also allows us to add another runpath for test binaries, which are
currently being installed in:
<out>/host/linux-x86/nativetest[64]/<test>/<binary>
So they need to use ../../lib[64] as a rpath.
Change-Id: Ia7e954cdf63bc627a8f71d01c953530355c248ab
|
|
|
|
|
|
|
|
|
| |
Instead of having the baseCompiler adjust the Ldflags, teach
objectLinker about ToolchainLdflags. And don't assume that
ToolchainLdflags will work for Clang too, add a ToolchainClangLdflags
call.
Change-Id: I5f546e46f32edf3fcf75a44bee2c5ee103bc5de3
|
|
|
|
|
|
|
| |
Some of these are updates from the old build system, others are just
differences/bugs being corrected.
Change-Id: Ied7f47ade495dcb26ba3611e636869cba283860f
|