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
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
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
am: 4a97cb4
* commit '4a97cb432823899dfc70cd5a874409b353e08115':
Support "none" for stl when using ndk
Change-Id: I99a2a94b8af85a632674db44b04c5ada272c934f
Add a new feature to cc modules that adds the cflags and libraries
necessary to implement AddressSanitizer, ThreadSanitizer, and
UndefinedBehaviorSanitizer.
Change-Id: Ibe5ffadc7ece56080a2521f2c7c00da9ef712584
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
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
am: 8524429
* commit '852442957bf35e9dced80ec01d8a72da28743ea5':
libm's headers have moved to live with their libc cousins.
Change-Id: I9e10b1e6d08ecd25b6cfda4cbc2b973a20d1aaa9
am: d30e610
* commit 'd30e610ef24425596d1787755b6f952bb04b6c1d':
Move runpaths out of global ldflags
Change-Id: I6a486e2c3582b295dabb3585733dc013186a07d3
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
am: 01fdd3d
* commit '01fdd3d8c1867d71d718ed900ecf41f7f7245d18':
Various host flag updates to match Make
Change-Id: I24a28b07428d57218d409f63488fe9e8b7e04554
Some of these are updates from the old build system, others are just
differences/bugs being corrected.
Change-Id: Ied7f47ade495dcb26ba3611e636869cba283860f
am: 99b5a09
* commit '99b5a09022a06a09d20a6fe0c25bdf9f369aaa5c':
Only add -fdebug-prefix-map on Linux hosts
Change-Id: Ie94615c29eda13bdbac8a646ece9302b35a27610