Commit graph

1734 commits

Author SHA1 Message Date
Colin Cross
068e0feace Support filegroups
filegroup is a module that contains a list of files, and can be used
to export files across package boundaries.  filegroups (and genrules)
can be referenced from srcs properties of other modules using the
syntax ":module".

Test: m -j
Change-Id: I3d6fc4819c0b4225b474e0ad42f0d947f55a5961
2016-12-17 16:34:03 +00:00
Colin Cross
35e3972068 Remove frameworks/base/include from the global include path
It is empty now.

Bug: 33630870
Test: m -j native
Change-Id: I8f41b56594241aced0f874af2fa73207b51ff8d6
2016-12-16 08:42:35 -08:00
Colin Cross
32ec36c631 Only export exported header libs
Test: m -j native
Change-Id: Ia0e5b28495e049ba8037884d2c498a1b59012bbe
2016-12-15 07:40:13 -08:00
Treehugger Robot
1bd40ba84b Merge "Export LLVM_RELEASE_VERSION" 2016-12-15 07:19:03 +00:00
Treehugger Robot
41e6002483 Merge "Move frameworks/native/opengl/include from -isystem to -I" 2016-12-15 07:12:24 +00:00
Dan Willemsen
100911909c Export LLVM_RELEASE_VERSION
Test: m -j libc; check out/soong/make_vars-*.mk
Change-Id: Ic29407d8b2ecc69f8d95102bca81bec3f0c5012b
2016-12-14 16:26:48 -08:00
Colin Cross
14e8dd73d0 Move frameworks/native/opengl/include from -isystem to -I
-isystem hides all warnings.  The warnings in
frameworks/native/opengl/include have been fixed, move it from
-isystem to -I.

Test: m -j native
Bug: 31751828

Change-Id: If182ab5664e22f0cfd5be8cb1d0309d07dc85ceb
2016-12-14 11:13:16 -08:00
Colin Cross
37047f1c7e Pass DepsContext to dependency methods
Pass a DepsContext that embeds android.BottomUpMutatorContext
instead of android.BaseContext so that dependency methods can
directly add dependencies.

Test: m -j
Change-Id: Id4c157975d3d6f03efd99785d217bef486a76139
2016-12-13 17:32:29 -08:00
Colin Cross
5950f3827c Support explicit header-only libraries
To date we have been using static libraries with no source files as
header-only libraries.  Switch to using header_libs to make the user's
expectations clear, in case we need to differentiate the semantics of
static libraries and header-only libraries when we enable transitive
static library dependencies.

Test: mma -j external/llvm
Change-Id: I3ce16df11076b637bd192880e86ec9027738b9e7
2016-12-13 15:03:42 -08:00
Colin Cross
ab3b7323c4 Remove boolean arguments from NewLibrary()
NewLibrary is going to be used for header only libraries.  Instead
of adding more boolean arguments, replace the existing ones with
BuildOnlyStatic and BuildOnlyShared calls on the libraryDecorator
returned by NewLibrary.

Test: m -j, compare build.ninja
Change-Id: Id390b66cbf2a5f0932b32f40a5e18eb9e3852ee7
2016-12-13 14:50:51 -08:00
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