Commit graph

1724 commits

Author SHA1 Message Date
Treehugger Robot
3b72295e02 Merge "Allow disabled dependencies when SOONG_ALLOW_MISSING_DEPENDENCIES is set" 2016-12-13 22:30:22 +00:00
Colin Cross
a8f5e9a8b2 Allow disabled dependencies when SOONG_ALLOW_MISSING_DEPENDENCIES is set
Push the "depens on a disabled module" dependency to runtime when
SOONG_ALLOW_MISSING_DEPENDENCIES is set so that subsets of the tree
can build when some modules are disabled.

Test: external/clang/build.py on llvm branch
Change-Id: I47e4f41d04aa3df173757f03a0c581b0bafb93f0
2016-12-13 12:53:47 -08:00
Zhuoyao Zhang
14ed26d6cd Add test/vts into soong build target.
Bug: 31930023
Test: make vts
Change-Id: Ibd3ed5e56a2ce925d509dfd95a00e3961a433850
(cherry picked from commit b003d0537f)
2016-12-12 14:28:34 -08:00
Colin Cross
bb2e2b7d7f Support arm_on_x86 properties
Allow Android.bp files to set properties when an x86 device supports
arm abis.

Test: lunch aosp_fugu-userdebug && mmma -j frameworks/compile/libbcc
Change-Id: Ic142a3f93175924a826dea9908b2e5183a486184
2016-12-08 17:27:25 -08:00
Colin Cross
1d03711827 Add frameworks/compile/* to root Android.bp
Test: mmma -j frameworks/compile/libbcc
Change-Id: I114a1b97e8b3cff98073abf621750a1300110f54
2016-12-08 09:47:27 -08:00
Colin Cross
6bc59ef731 Support eng product variable
The eng product variable will be true for builds where
TARGET_BUILD_VARIANT==eng.

Test: mmma -j frameworks/compile/libbcc
Change-Id: I808129740643495370bea64df3fe5bcf01eb9915
2016-12-08 09:46:35 -08:00
Colin Cross
be360ae4c1 Permit allow_undefined_symbols inside arch blocks
Renderscript builds need to allow undefined symbols only for linux
host builds.

Test: mmma -j frameworks/compile/libbcc
Change-Id: Ieb83fc13fed16ae386261e0a1855fdd9c4fdf9bd
2016-12-08 09:45:21 -08:00
Colin Cross
989c66e370 Use toolchain to get binary extension for symlinks
Get the binary extension directly from the toolchain instead of
computing it from the target.

Test: mmma -j external/clang
Change-Id: Ib181bc60d0617ad50529791e7b9fc61268376819
2016-12-08 09:44:58 -08:00
Colin Cross
9b09f248d8 Install symlinks with same suffix and extension as installed file
Move symlink installation into the binaryDecorator so that it can
access the suffix and extension when installing symlinks.  Also
consolidates the symlink and symlink_preferred_arch handling.

Test: m -j clang, ls -l out/host/windows-x86/bin/clang++.exe
Change-Id: I1204afb71fac87b276bd6b625b52ee21274855a0
2016-12-07 17:35:37 -08:00
Colin Cross
8cc1cb68cd Merge "Always check tidy properties"
am: 394cf47ac4

Change-Id: Ibdcf53abc01ec0533932059b2e5070fd5d9f1139
2016-12-06 19:37:54 +00:00
Treehugger Robot
394cf47ac4 Merge "Always check tidy properties" 2016-12-06 19:32:29 +00:00
Colin Cross
5eb6315022 Merge "Fix mac build"
am: b278a58325

Change-Id: I075c6fb3e670e7de56d47a7ecc708a12229c9219
2016-12-06 04:45:05 +00:00
Treehugger Robot
b278a58325 Merge "Fix mac build" 2016-12-06 04:39:01 +00:00
Dan Willemsen
8c6502017d Merge changes from topic 'proprietary-soong'
am: 503f8b0262

Change-Id: I5a822ee170e675e8ac03fa8627056ea55d9b2a18
2016-12-06 03:32:58 +00:00
Dan Willemsen
96a3ccc765 Support system/vendor for devices without a vendor partition
am: 4353bc4422

Change-Id: I102818637debd903ff6b6b6c2045cf5714c27f24
2016-12-06 03:32:09 +00:00
Dan Willemsen
dbd80c2181 Import/Export LOCAL_PROPRIETARY_MODULE
am: 7ed1ae3fa4

Change-Id: Ibf11c1b01680fad8c4c334d52cfb938217c9dbdc
2016-12-06 03:32:07 +00:00
Treehugger Robot
503f8b0262 Merge changes from topic 'proprietary-soong'
* changes:
  Support system/vendor for devices without a vendor partition
  Import/Export LOCAL_PROPRIETARY_MODULE
2016-12-06 03:27:01 +00:00
Colin Cross
7a7cf97597 Fix mac build
Darwin doesn't support --start-group/--end-group, and groups
libraries anyways.

Test: m -j
Change-Id: I0fdbe24973cad3cd84164cdfeced2507a4c6ee91
2016-12-06 02:52:43 +00:00
Dan Willemsen
615cc4db09 Support aidl cpp generation
am: e1240db6ab

Change-Id: I584fbbaa8a3596ddab05bedb916b3e7aff3f20b0
2016-12-06 02:25:38 +00:00
Dan Willemsen
4353bc4422 Support system/vendor for devices without a vendor partition
Test: lunch aosp_arm-eng; m -j vulkan.default
Change-Id: I91eabf98f53c455ec4ade95215f11a6f89631747
2016-12-05 17:21:13 -08:00
Dan Willemsen
7ed1ae3fa4 Import/Export LOCAL_PROPRIETARY_MODULE
Test: androidmk hardware/broadcom/libbt/Android.mk
Test: m -j vulkan.default, inspect out/soong/Android-aosp_flounder.mk
Change-Id: I8a9553f772a1d434eb0069c1575e1b0d6db36bc9
2016-12-05 17:20:57 -08:00
Colin Cross
379d2cb511 Always check tidy properties
To avoid build breakages when WITH_TIDY=1 is set, check for bad tidy
properties before checking if tidy is enabled.

Test: mmma -j external/llvm with a tidy error
Test: m -j
Change-Id: Ia338c417091ff6b03909bbac8b26febed5b6d6ea
2016-12-05 17:12:10 -08:00
Dan Willemsen
e1240db6ab Support aidl cpp generation
Ideally we'd calculate the headers that are written here too, but I'll
add that in a later change that actually enforces the generated header
list.

Test: mmma -j system/tools/aidl
Change-Id: Ifd2e8e8ff444b0f67270fb5156e7bf7bceddb6be
2016-12-05 15:49:40 -08:00
Colin Cross
909d6c424c Support .asm files for assembly
am: 91e9004086

Change-Id: I01a4e6c1af780192923a9692a9a76375bdd43012
2016-12-03 07:16:00 +00:00
Colin Cross
91e9004086 Support .asm files for assembly
Test: mmma -j external/libjpeg-turbo
Change-Id: Id192dae5d74ecbf500fc668931c37f9b91d25ca4
2016-12-02 21:12:30 -08:00
Colin Cross
db09631b86 Support grouping static libraries
am: 18c0c5afbd

Change-Id: I3c95ce979976f988a24d7a4eb1efcee7f406aa99
2016-12-02 21:51:24 +00:00
Colin Cross
18c0c5afbd Support grouping static libraries
LLVM has complicated static library layering that sometimes changes.
The make solution was to list all the static libraries twice, but
Soong dedups the list.  Add a group_static_libs flag to allow
surrounding the static libs with -Wl,--start-group and
-Wl,--end-group.

Test: mmma -j external/llvm
Change-Id: Ic08a183d7def9c9249d4a3014760759f16b68d04
2016-12-02 21:34:42 +00:00
Colin Cross
11e687ac0b Merge "Support .mm files"
am: 2d8e3b9bfe

Change-Id: I55acebca8e5678d33bb8d394a2df0a0ba1dfa5d5
2016-12-02 02:43:42 +00:00
Treehugger Robot
2d8e3b9bfe Merge "Support .mm files" 2016-12-02 02:32:28 +00:00
Colin Cross
9978ffe347 Support .mm files
libchrome uses Objective C++ (.mm) files, treat them like .cc files
and pass them to g++/clang++.

Test: mmma -j external/libchrome
Change-Id: Ib9e5e82d8a9eff5f80a9fe06498a988d70ca4553
2016-12-01 15:33:16 -08:00
Paul Duffin
399c4fa858 Merge "Replace core-junit with legacy-test"
am: 241b1c8b06

Change-Id: Icb451e322f3673f588daf9de3f39cbdac8da8558
2016-12-01 09:46:40 +00:00
Paul Duffin
241b1c8b06 Merge "Replace core-junit with legacy-test" 2016-12-01 09:35:47 +00:00
Colin Cross
f2b43b833c Fall back to prebuilts if source modules are disabled
am: a2f296f054

Change-Id: I60b2fc08eef3fad32921c84bcc234167e791cac5
2016-12-01 02:30:43 +00:00
Colin Cross
a2f296f054 Fall back to prebuilts if source modules are disabled
In lieu of having an environment variable to override prebuilts
preferences (for now), fall back to prebuilts whenever the source
module is disabled.  Complicated source modules (like LLVM) that
already have Go logic can then use an environment variariable to
disable their source module whenever they want to use prebuilts.

Computes UsePrebuilt once using information from both the source
and prebuilt modules, and stores the result in the prebuilt module.

Test: m -j libLLVM
Test: m -j libLLVM FORCE_BUILD_LLVM_COMPONENTS=true
Change-Id: Ib0819a03e9492e55f55de3402e05b3a043644a39
2016-11-30 13:09:45 -08:00
Paul Duffin
2b67e3b9c1 Replace core-junit with legacy-test
Bug: 30188076
Test: unused code
Change-Id: If6c27dc61078afbb04218afac678165f63f41166
2016-11-30 16:13:09 +00:00
Colin Cross
8c093e5034 Provide config helpers for environment variables
am: 99d7c23006

Change-Id: I982ed5896d997913b8b3f0d947e92dd3eb9814be
2016-11-30 05:14:29 +00:00
Colin Cross
2e675962be Split cc_prebuilt_shared_library into static variants
am: bba99041db

Change-Id: Icee925b63f21f4b3f6533a9507564db998573ea1
2016-11-30 05:14:28 +00:00
Colin Cross
830e915df0 Disable installing unused prebuilts
am: 0f3c72fa17

Change-Id: I352c7409cc5e4bb9c60820e7e7aa0d4d9549d1fd
2016-11-30 05:14:26 +00:00
Colin Cross
9b834e541e Don't generate Android.mk data if the module is disabled
am: cc4f3e3f94

Change-Id: Ib357a63acc1c92b6c227b946be73f139c195531d
2016-11-30 05:14:24 +00:00
Colin Cross
99d7c23006 Provide config helpers for environment variables
Add GetenvWithDefault, IsEnvTrue, and IsEnvFalse helpers to Config.

Test: m -j checkbuild
Change-Id: Id855e5349115eb2a18b2e73cfd1bd84b5874ff93
2016-11-29 15:29:34 -08:00
Colin Cross
bba99041db Split cc_prebuilt_shared_library into static variants
Prebuilts must have every variant that their source module has, so
split all cc_prebuilt_shared_library modules into both static and
shared variants.

Test: m -j checkbuild
Change-Id: I3c32315227f779e832e041cfab604ff7402c7e13
2016-11-29 15:29:34 -08:00
Colin Cross
0f3c72fa17 Disable installing unused prebuilts
If the source module is being used instead of the prebuilt module,
disable installing the prebuilt module.

Test: m -j checkbuild
Change-Id: I55e77021b0f9572b0737d960cba89274f696775d
2016-11-29 15:29:34 -08:00
Colin Cross
cc4f3e3f94 Don't generate Android.mk data if the module is disabled
Move the calls to the AndroidMkProvider to after checking if the
module is disabled.  Disabled modules may not have all the state
necessary to generate the data.

Test: m -j libLLVM
Change-Id: Iab27a26e604f3810bcc2d9f61b1839aa7bc428b4
2016-11-29 15:29:34 -08:00
Dan Willemsen
c415039ced Add basic VNDK support in Soong
am: d2ede879b5

Change-Id: I2441b81dfd6637d4af6b5d748601494498774050
2016-11-29 20:42:39 +00:00
Dan Willemsen
d2ede879b5 Add basic VNDK support in Soong
Export a list of libraries in the VNDK, which is currently empty.

Take in Make's global BOARD_VNDK_VERSION, and use that as the SDK
version for modules that specify use_vndk: true.

Modules that use the vndk have some configuration as if they were
building against the NDK (the absence of globally defined headers), but
in other cases look like platform modules (using the platform libc++,
for now).

This change does not attempt to enforce any linking constraints, that
will come in a later patch.

Test: out/soong/build.ninja doesn't change
Change-Id: I3be206b67015ac5177b7eef4a451c579e3dc903f
2016-11-28 13:45:24 -08:00
Colin Cross
116403006a Merge changes I3454370a,I18dd900d
am: 112fd2b9b1

Change-Id: I7daf539df4d483c983f4904cbea3cc367f8527e7
2016-11-25 18:25:38 +00:00
Colin Cross
88d3652f37 Move global cppflags to the beginning of cppflags
am: b668826a85

Change-Id: Ia93b79e1c73dafdc9c2887af97d62e45681193d6
2016-11-25 18:25:37 +00:00
Colin Cross
c847ac3e62 genrule: let Android.bp file specify exported header dirs
am: 5ed99c6472

Change-Id: I222030cb0d7cc73d3332f7789507c40b961e4186
2016-11-25 18:25:35 +00:00
Treehugger Robot
112fd2b9b1 Merge changes I3454370a,I18dd900d
* changes:
  Move global cppflags to the beginning of cppflags
  genrule: let Android.bp file specify exported header dirs
2016-11-25 05:49:38 +00:00
Colin Cross
541a8a65ec Merge "genrule: support deps files"
am: 10f96b1d77

Change-Id: I15148c3bd969f0ba78ee6c729916db460e55fa2d
2016-11-23 23:44:13 +00:00