Commit graph

952 commits

Author SHA1 Message Date
Dan Willemsen
e6c7f18364 Fix LOCAL_EXPORT_C_INCLUDE_DIRS processing
In order to strip the -I from the beginning of each flag, the androidmk
functionality expected every flag to be distinct. The existing
functionality was combining them with spaces if a module exported more
than one include directory at a time.

Change-Id: Ief5e22061c58f3d987557e938bae880509ffb121
2016-07-13 10:45:01 -07:00
Dan Willemsen
b3aaf7b399 Make static_executable an arch_variant
am: 75ab80882e

Change-Id: Ia0cb34247c71ff4f1dc3c95f99591d442afbf315
2016-07-13 00:44:47 +00:00
Dan Willemsen
ec7af7e71e Add product variables: cpusets schedboost
am: a6f7d15609

Change-Id: Ia37f1b0748085195d7e9b8b63449b37445b51c38
2016-07-13 00:41:22 +00:00
Dan Willemsen
75ab80882e Make static_executable an arch_variant
So that target executables can be static executables, and the same
module can make a host executable that isn't static.

Change-Id: Ibe0de001a8d1e7d59e617c244978098355718527
2016-07-12 15:41:09 -07:00
Dan Willemsen
a6f7d15609 Add product variables: cpusets schedboost
These are used by libcutils, and are equivalent to the ENABLE_CPUSETS
and ENABLE_SCHEDBOOST make variables.

Change-Id: I65d0eed49b5bcb4d6415e9e64a0159209a43b922
2016-07-12 15:41:09 -07:00
Colin Cross
3b8b7d3e03 Add system/extras/* to the root Android.bp file
am: f791826f8b

Change-Id: I8cca90f5d8678b666ea927d4b530c47f5a70c9a2
2016-07-12 21:42:54 +00:00
Colin Cross
e561bdbf76 Add support for test libraries
am: c7a38dc00c

Change-Id: I6f83f7fddbecaa3f67831cc4cde994908d9097fb
2016-07-12 21:42:53 +00:00
Colin Cross
4f8c7fffbc Make Stl *bool
am: 7924885eb3

Change-Id: Icf730927c66d287ee69c1bdaae9244e5203a2033
2016-07-12 21:42:53 +00:00
Colin Cross
1c9e11fa15 Make Host/Device_supported *bool
am: a4190c10eb

Change-Id: Ide2b2c200102ae2395516c4d764a8d4ee0bef9f0
2016-07-12 21:42:52 +00:00
Colin Cross
f791826f8b Add system/extras/* to the root Android.bp file
Change-Id: I15c729914392dd97e114852d43156bff1c03ed56
2016-07-12 13:14:05 -07:00
Colin Cross
c7a38dc00c Add support for test libraries
Add cc_test_library, which is a combination of a cc_test and a static
library.  Requires adding a libraryInterface to identify libraries that
are embedded in other types.

Change-Id: I2f0dcccb2f7243409210547562d2b41c3fbce44e
2016-07-12 13:13:09 -07:00
Colin Cross
7924885eb3 Make Stl *bool
When collapsing properties for applying defaults, string is
appended, *string is replaced, which is the behavior we want here.

Change-Id: I22a8c23e1cb8ec1960cd5d92d80f6c1ddfab1913
2016-07-12 13:12:33 -07:00
Colin Cross
a4190c10eb Make Host/Device_supported *bool
When collapsing properties for applying defaults, bool is ORed, *bool is
replaced, which is the behavior we want here.

Change-Id: I40ac5035bedcd4b1bbf50e054f8527523f9f6f79
2016-07-12 13:11:26 -07:00
Colin Cross
83d93f3da8 Fix install path of benchmarks
am: 624b8ed0b3

Change-Id: I50844c0c90d3a7da14adea60561b7d248ac43fc0
2016-07-12 06:06:14 +00:00
Colin Cross
474699be6e Add system shared library dependencies to Android.mk
am: b5bc4b412a

Change-Id: I8006b0b3b61f30192fff3ef269049d2216df7452
2016-07-12 00:41:46 +00:00
Colin Cross
624b8ed0b3 Fix install path of benchmarks
Benchmarks should go in /data/nativetest/<module> like tests.

Change-Id: Ib72ee699334da6a6d27813822e1f86f2863227b3
2016-07-11 17:20:09 -07:00
Colin Cross
c1d0f687e7 Update cc_benchmark to use libgoogle-benchmark
am: 2683274349

Change-Id: I6d9f7907f3976d53b0fc7d0feccc905ce2390939
2016-07-12 00:12:42 +00:00
Colin Cross
b5bc4b412a Add system shared library dependencies to Android.mk
We were missing dependencies from the prebuilts to the system shared
libraries, which could cause libc to not be installed if only soong
modules were built.

Change-Id: Ie5c237d7be23c6170e8b586b013f6456a8462230
2016-07-11 16:14:13 -07:00
Dan Willemsen
f104025805 Support no configured device architectures
am: 3f32f03067

Change-Id: I2bce3feca58df2e9682bef04ee39232f58185d52
2016-07-11 22:43:46 +00:00
Colin Cross
2683274349 Update cc_benchmark to use libgoogle-benchmark
Updates soong to match I1565cf680298a1765e88162d8b0e59dedba29bd7

Change-Id: I787675562e3f1dceb9a56f2bcb533a551cae550a
2016-07-11 22:39:35 +00:00
Dan Willemsen
3f32f03067 Support no configured device architectures
There are some builds where we only want to build host tools, and we may
not have a valid device configuration. Support 0 device architectures
and modules that don't have any configured way to build.

Change-Id: I732251e1cd3cdbfafbc6ef6a550e33e653876f7c
2016-07-11 14:36:48 -07:00
Dan Willemsen
6f4ce93924 Apply export_include_dirs to assembly files
am: 76f0827ce3

Change-Id: Ibe3c32493f6142e241bc5e78c3c31711cec07163
2016-07-11 20:18:05 +00:00
Dan Willemsen
89ae37fb8d Stop exporting NDK prebuilt modules to Make
am: 72d3993c9b

Change-Id: I458ef00fe702a385089d0b9ca784c49899a9931b
2016-07-11 20:18:04 +00:00
Dan Willemsen
76f0827ce3 Apply export_include_dirs to assembly files
Instead of putting these in CFlags, use GlobalFlags instead. This
matches the Make behavior.

The exportFlagProducer could be generic, but for now only has include
directories, so it should be safe for all file types.

Change-Id: I2862f08e7ad473ebacaa88ad2c4510248cad316f
2016-07-09 07:20:59 +00:00
Dan Willemsen
72d3993c9b Stop exporting NDK prebuilt modules to Make
Make isn't going to use any of these anytime soon. So hide them from
make for now, and be sure to save the AndroidMk shared library
dependencies before we convert them to NDK dependencies.

And $(ACP) is no longer used by $(copy-file-to-target)

Change-Id: I8f8f7d0177d31ba4206c0bc1f2ff952dce53b6b4
2016-07-08 23:41:36 -07:00
Dan Willemsen
aefd95fdf2 Support linking against NDK prebuilt libraries
am: 97704edd5d

Change-Id: Ib4810b00cad650514bd5662e042aa11bfb526f5d
2016-07-08 21:09:37 +00:00
Dan Willemsen
97704edd5d Support linking against NDK prebuilt libraries
When sdk_version is specified, we need to use the prebuilt ndk versions
of these libraries instead of the platform versions.

Change-Id: I4ff33a234a985041ebe11ab148d64d0f8df66fc4
2016-07-08 20:44:54 +00:00
Colin Cross
39040c43ed Remove cc.ModuleContext.module()
am: 6886183d8f

Change-Id: I2ee1baba749ad788f35ed89ad76017af6ec6a5ce
2016-07-08 20:20:58 +00:00
Colin Cross
6886183d8f Remove cc.ModuleContext.module()
cc.ModuleContext.module() returns a *cc.Module, and is left over from
when the cc package tried to use inheritance.  Remove it and the last
few users.

Change-Id: I9b42ca59689c1b0ada7980fbec923747ed3a53d3
2016-07-08 11:18:46 -07:00
Dan Willemsen
5ff2a27e89 Fix SDK link type check
am: 3c316bc03b

Change-Id: Icbcccc3ccb28443a6310ec65e95d0ac2d7d69589
2016-07-08 16:49:59 +00:00
Dan Willemsen
3c316bc03b Fix SDK link type check
This was always returning true, which defeats the point. Fix the check,
then add another exception for NDK libraries.

Change-Id: I139d95ef62d1063c083d6381293072ad3277ae74
2016-07-07 21:38:29 -07:00
Dan Willemsen
a1a35b6dfd Merge \"Allow static/shared modules to be disabled per-arch\"
am: 6871062821

Change-Id: I99d17489f282d36c49d528ad40f1b00cb9ba35a9
2016-07-08 03:48:35 +00:00
Dan Willemsen
6871062821 Merge "Allow static/shared modules to be disabled per-arch" 2016-07-08 03:38:53 +00:00
Colin Cross
67e77bb931 Merge \"Return copies of global sanitizer slices\"
am: da84958b15

Change-Id: Ic442ac5727c1e1f9eec790635ebffcc360a53bf1
2016-07-07 21:39:36 +00:00
Colin Cross
da84958b15 Merge "Return copies of global sanitizer slices" 2016-07-07 21:32:30 +00:00
Evgenii Stepanov
1c08ee1466 Merge \"Target sanitize properties can disable the global sanitizer.\"
am: db6509c2f8

Change-Id: Ib26d52cafce5bd8dce449317407c807439b01319
2016-07-07 20:13:56 +00:00
Evgenii Stepanov
db6509c2f8 Merge "Target sanitize properties can disable the global sanitizer." 2016-07-07 20:08:11 +00:00
Colin Cross
41f0d7df8b Merge \"Don\'t specify LOCAL_STRIP_MODULE for static libraries\"
am: bec7c12043

Change-Id: I1b9f5c3972cf882cf91d774af5a0559c406d53a9
2016-07-07 19:21:20 +00:00
Treehugger Robot
bec7c12043 Merge "Don't specify LOCAL_STRIP_MODULE for static libraries" 2016-07-07 19:14:54 +00:00
Colin Cross
7b5c22b1f0 Don't specify LOCAL_STRIP_MODULE for static libraries
After I92a838b07fe4116d5a4b8521fe1ce8d44e6e84e2 in build/,
LOCAL_STRIP_MODULE := keep_symbols will be honored for prebuilts, which
will trigger an error if it is set on a static library.  Only set
LOCAL_STRIP_MODULE for binaries and shared libraries.

Change-Id: I4e17a78afa7c5810dbf9003166c14a1ff3a59c9e
2016-07-07 11:21:53 -07:00
Evgenii Stepanov
fcfe56d194 Target sanitize properties can disable the global sanitizer.
With this change, sanitize: { address: false } disables
SANITIZE_TARGET=address for one target.

Also rename SafeStack to Safestack, because the former can not be
used as a target property.

Bug: 27729263
2016-07-07 10:54:42 -07:00
Evgenii Stepanov
d6fe0581a5 Revert \"Target sanitize properties can disable the global sanitizer.\"
am: 05bafd3784

Change-Id: I165897165c46d550cea097b2dfd0b8efa14bce13
2016-07-07 17:51:51 +00:00
Evgenii Stepanov
05bafd3784 Revert "Target sanitize properties can disable the global sanitizer."
This reverts commit bb02886451.

Breaks SANITIZE_HOST=address

Change-Id: I9791a034e32a83d567b8739a7ec7b61890cb1b97
2016-07-07 17:38:41 +00:00
Evgenii Stepanov
7465e3a3b1 Target sanitize properties can disable the global sanitizer.
am: bb02886451

Change-Id: Id6429eeefae06f891f81441d9755031457fc71ee
2016-07-07 17:11:08 +00:00
Dan Willemsen
fed4d19cbb Allow static/shared modules to be disabled per-arch
libz has a case where the static and shared versions of the device
library are supported, but the host shared library must not be defined,
since it would conflict with the system provided version. There's a
separate module 'libz-host' that provides the host shared library
implementation.

So extend the 'static'/'shared' properties to include 'enabled', which
uses arch_variant so that it can be mutated per-arch. It cannot override
a top level 'enabled: false'.

Change-Id: Ia0f1ff31ad77dc4cb148c531b70158e3245031d5
2016-07-06 21:54:12 -07:00
Evgenii Stepanov
bb02886451 Target sanitize properties can disable the global sanitizer.
With this change, sanitize: { address: false } disables
SANITIZE_TARGET=address for one target.

Also rename SafeStack to Safestack, because the former can not be
used as a target property.

Bug: 27729263
Change-Id: I20f55c0e62b2fdd191ba66c0f661a039109bd78f
2016-07-06 16:38:58 -07:00
Colin Cross
cc85e683a4 Return copies of global sanitizer slices
sanitize.begin() modifies the slice returned by Config.SanitizeHost()
and Config.SanitizeDevice(), return a copy so the global slice doesn't
get corrupted.

Bug: 29188876
Change-Id: I4c7a59b7e96529166519b23a1ebda39b8e060c58
2016-07-06 14:30:32 -07:00
Pirama Arumuga Nainar
fcd6ca6f91 Disable integrated-as for Mips
am: 58e2dcdeda

Change-Id: Ie38430f215e100699ceabb02e6fb273ddbd22bf8
2016-06-30 20:49:37 +00:00
Pirama Arumuga Nainar
58e2dcdeda Disable integrated-as for Mips
Bug: http://b/29771478

Hand-coded assembly in various projects will fail to compile after Clang
switches to integrated assembler for Mips.  Disable integrated-as for
Mips.

Test: Verified Mips builds on AOSP both with the old Clang prebuilts and
the new prebuilts (https://android-review.googlesource.com/#/c/243871/)

Change-Id: Idf441cb9c6c2afc8997d5ee56420885930087918
2016-06-30 04:50:50 +00:00
Dan Willemsen
4382e7f519 Remove build/libs am: 5d2038fe06
am: 8734eaa89e

Change-Id: I68e89663f6f5843e31fc5db6edc8d125cff16ce4
2016-06-17 23:33:09 +00:00