Commit Graph

2452 Commits

Author SHA1 Message Date
Colin Cross
d75b9109cc Support %s in product variable properties
am: 7e0eaf15b9

Change-Id: I34e9c4c83c69f30f78efbbf1112094c3f3f34c42
2017-05-06 01:41:34 +00:00
Colin Cross
7e0eaf15b9 Support %s in product variable properties
Support using strings as product variable substitutions, and
add tests for printfIntoProperty.

Test: varaible_test.go
Change-Id: I06cfadfb1d3fc81da72fb71323706df20426c8b7
2017-05-05 18:22:30 -07:00
Colin Cross
9b9be28895 Merge "Support override_rs_driver product variable"
am: 2030a8cbcb

Change-Id: Ia22b4cb26c635090af9b755c59f509c129a795e5
2017-05-06 00:25:54 +00:00
Colin Cross
2030a8cbcb Merge "Support override_rs_driver product variable" 2017-05-06 00:15:02 +00:00
Nan Zhang
2ca25e6d12 Merge "Supported python build in host side."
am: a731969dc1

Change-Id: I55d8335a078608bf81dc839fc11d703d78812a09
2017-05-05 22:17:46 +00:00
Treehugger Robot
a731969dc1 Merge "Supported python build in host side." 2017-05-05 22:14:19 +00:00
Nan Zhang
db0b9a3cf3 Supported python build in host side.
The base module handles all the common functionalites, such as version
compatibilty check, version variations split, source file format check,
source/data file duplicate check.

The library/binary module focuses on how to generate binary build actions,
such as setting up stub script, zipping, filling in __init__.py in
runfiles dir tree.

Bug: b/31676493
Test: go test under python package

Change-Id: I06608369f350f7195873d459e1c8d1bdb811e77e
2017-05-05 13:27:56 -07:00
Josh Gao
678e7f045d Merge "Globally enable libcxx's thread safety annotations."
am: 06ec87082f

Change-Id: I0a08b4f28b3eaf8dc1f8ea08f3dbbc780029f881
2017-05-04 23:52:53 +00:00
Josh Gao
06ec87082f Merge "Globally enable libcxx's thread safety annotations." 2017-05-04 23:47:32 +00:00
Colin Cross
954364256f Support override_rs_driver product variable
Test: builds
Change-Id: Ifd9bf09bb54418d62f6886b0d8ed84dd493a3162
2017-05-04 15:44:11 -07:00
Colin Cross
3dc633028f Merge "Remove -isystem frameworks/av/include"
am: 37a2aeb95a

Change-Id: I7534454698a799f3d82ff5b046a65ec35a04acb3
2017-05-04 04:13:54 +00:00
Colin Cross
37a2aeb95a Merge "Remove -isystem frameworks/av/include" 2017-05-04 04:09:43 +00:00
Colin Cross
b776f2afe0 Export proto deps from reused libraries too
am: bbc9f4d586

Change-Id: Ic6032d4739b1917fa916a045f428cfde6ba0ac47
2017-05-04 01:21:13 +00:00
Colin Cross
307d145ed5 Remove -isystem frameworks/av/include
Remove the last -isystem for global include directory (besides
bionic).

Bug: 31751828
Test: builds
Change-Id: I8f38332de8f0cffd5c56b9b5ebeacbaaf3a4faea
Merged-In: I8f38332de8f0cffd5c56b9b5ebeacbaaf3a4faea
(cherry picked from commit d13a457a45)
2017-05-03 23:56:47 +00:00
Colin Cross
bbc9f4d586 Export proto deps from reused libraries too
The deps have to be exported alongside the headers to make sure
the headers are in place when a module that depends on the shared
library builds.

Bug: 37555583
Test: use protos in a cc_library
Change-Id: I8f5b8d7937868458c1cf02b990a348aa395634da
2017-05-03 16:39:31 -07:00
Colin Cross
a36ef748d9 Merge "Check reused source files in hasSrcExt"
am: 7c34c4c8eb

Change-Id: Icd516bc8cfb177cca10caa914659d71a9173c2f1
2017-05-03 21:29:27 +00:00
Colin Cross
7c34c4c8eb Merge "Check reused source files in hasSrcExt" 2017-05-03 21:24:09 +00:00
Colin Cross
10d2231d44 Check reused source files in hasSrcExt
hasSrcExt is used to determine extra flags and dependencies when
generated files are used.  If the generated files are being handled
in a static library whose objects are reused in a shared library,
the flags and dependencies still need to apply.  Instead of clearing
the source files in the shared library, move them to an OriginalSrcs
property, and check that in hasSrcExt along with the Srcs property.

Also pass extra exported include directories from the static
library to the shared library.

Bug: 37555583
Test: use protos in a cc_library
Change-Id: I709779ec03b66b220b7bd58a1f6f0b9b5067d955
2017-05-03 12:28:27 -07:00
Nan Zhang
d3b452a18c Merge "Supported minor features in soong_zip"
am: 12d713e434

Change-Id: I2b3169518071c8999e86cc62c88bb81fc4ccbf33
2017-05-03 08:30:06 +00:00
Treehugger Robot
12d713e434 Merge "Supported minor features in soong_zip" 2017-05-03 08:23:56 +00:00
Nan Zhang
f281bd8c7b Supported minor features in soong_zip
1. Added ability to keep the mixed "-f"/"-l" order as same as
command-line flags order.

2. Added "-s" flag to specify which target file within zip is stored uncompressed.

Test: manual
Change-Id: I338b25a7bd6bf1b7e9cc29ad3324575167630fb7
2017-05-02 17:28:35 -07:00
Colin Cross
cf0dfe3b52 Update protoc support for libplatformprotos
am: 5ff51b5caa

Change-Id: I0785ee284d40f132d6179ca58df7bd41d95abcf9
2017-05-02 23:43:05 +00:00
Colin Cross
5ff51b5caa Update protoc support for libplatformprotos
Allow properties to be overriden by arch variants.
Add include_dirs and local_include_dirs properties.
Pass -I . to fix:
   frameworks/base/proto/src/metrics_constants.proto: File does not
   reside within any path specified using --proto_path (or -I).  You
   must specify a --proto_path which encompasses this file.  Note that
   the proto_path must be an exact prefix of the .proto file names --
   protoc is too dumb to figure out when two paths (e.g. absolute and
   relative) are equivalent (it's harder than you think).

Test: m -j libplatformprotos
Change-Id: I3e02621ca25bfa7ca0a0e3b83377d70dd352668f
2017-05-02 14:08:29 -07:00
Colin Cross
2bc8871dac Add device_uses_hwc2 product variable
am: 0e409a2810

Change-Id: I04e73b2c13ad18e0cd9e538a738873d387666f7a
2017-05-02 20:07:22 +00:00
Colin Cross
0e409a2810 Add device_uses_hwc2 product variable
TARGET_USES_HWC2 is going away, but propagate it to soong for now
to unblock converting dependency chains that end in libhwui.

Test: soong tests
Change-Id: I20f1269caea1b5f5fc39239daa6b2e610bd36eb9
2017-05-02 11:17:45 -07:00
Colin Cross
a11708d242 Merge "Add msa mips features"
am: f34d9d11d4

Change-Id: I975282316b9dac7f167e49204d55d6f56bf58a3b
2017-05-02 18:05:37 +00:00
Colin Cross
f34d9d11d4 Merge "Add msa mips features" 2017-05-02 17:49:21 +00:00
Colin Cross
432c2860a0 Add msa mips features
References to an MSA architecture feature were added in
I3cadc29434dbd5fdb3aa780198414e90f9572ec5, but never added
to the build system.

Test: builds
Change-Id: I178813824a21475e013f7e8209d9473466ab821c
2017-05-01 16:43:41 -07:00
Dan Albert
d7dc93079c Merge changes Ic32cfb3e,I282be134
am: f5464ba31a

Change-Id: I358ea393d18d8c6acd279030a28adc73e2a582d4
2017-04-30 21:35:41 +00:00
Treehugger Robot
f5464ba31a Merge changes Ic32cfb3e,I282be134
* changes:
  Add support for named versions in NDK map files.
  Generate stub libraries for unreleased API levels.
2017-04-30 21:31:24 +00:00
Dan Albert
3f6fb2db5f Add support for named versions in NDK map files.
Test: nose2
Test: make checkbuild
Bug: None
Change-Id: Ic32cfb3e0db767f695b617c787733a6ef75030aa
2017-04-28 16:11:13 -07:00
Dan Albert
49927d29d5 Generate stub libraries for unreleased API levels.
Generating released API levels and android-current is not sufficient
in a trunk-stable world. One branch will have the stable APIs and
possibly multiple unreleased API levels. We need to generate stubs
for each unreleased API level up to our current target.

I still need to add support for things like `# introduced=O` before
this is really done.

Whether or not we still need something like "current" that would map
to the absolute latest even it hasn't been assigned a code name yet
is uncertain.

Test: make ndk
Bug: None
Change-Id: I282be1347ab39c56fa887d4d71c03bb12c300dc5
2017-04-28 16:11:13 -07:00
Josh Gao
e0b933b74d Globally enable libcxx's thread safety annotations.
Add -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS to clang extra cppflags
to make libcxx always emit thread safety annotations. Note that this
won't generate additional warnings on projects that don't already use
-Wthread-safety.

Test: treehugger
Change-Id: I517a96571d77be119510c981bc2cbaddb41dee95
2017-04-27 18:13:21 -07:00
Colin Cross
fca27e357b Merge changes from topic 'reverse-arch-includes'
am: 22eab50d45

Change-Id: I0793b207925c3ee497ca89dc8998adb26df05431
2017-04-27 23:33:09 +00:00
Colin Cross
22eab50d45 Merge changes from topic 'reverse-arch-includes'
* changes:
  Enable mips32r2dsp[r2]-fp in mega device build
  Turn installation on in mega device build
  Prepend arch variant include directories
  Make generated_sources act like generated_headers
  Pass -I to yasm
  Add arm neon and mips dspr2 arch features
2017-04-27 23:30:43 +00:00
Dan Willemsen
18a03c9657 Support ASAN for ckati and ninja
am: f173d595c2

Change-Id: I5d0b878fe9272667102e90e52abbd71372c56984
2017-04-27 23:27:35 +00:00
Dan Willemsen
f173d595c2 Support ASAN for ckati and ninja
I missed this when converting to soong_ui.

Test: m -j blueprint_tools (check soong.log)
Test: SANITIZE_HOST=address m -j blueprint_tools
Change-Id: I01eb567db6848dc36dd679557291a4e600a63bba
2017-04-27 14:33:24 -07:00
Colin Cross
1837b802e1 Enable mips32r2dsp[r2]-fp in mega device build
These seem to build now.

Test: mega device build
Change-Id: If2514258b0c57d6db484aed4c17a3e1f62109429
2017-04-27 12:21:24 -07:00
Colin Cross
893d816a6d Turn installation on in mega device build
Turn on installation in the mega device build, it is necessary for the ndk
sysroot installation.  Partially fixes mega device builds, they also need
to run without -w dupbuild=err on the ninja command line because multiple
variants of the same architecture try to install to the same ndk sysroot.

Test: mega device build
Change-Id: I982d77f9ff19f5bc29fc9fe54a0df8db3579c3e3
2017-04-27 12:21:24 -07:00
Colin Cross
ccf01e755e Prepend arch variant include directories
Arch variant include directories should override existing include
directories, add prepend_variant to the struct tags.

Test: m -j checkbuild
Change-Id: I4a758b42c19481f9496880d29dffea7836f613c5
2017-04-27 12:21:24 -07:00
Colin Cross
e90bfd157b Make generated_sources act like generated_headers
Make generated_sources dependencies honor the exported include
directories.

Test: m -j checkbuild
Change-Id: I6955cf5d985053071c2118f43fa1accdb4cc27ab
2017-04-27 12:21:24 -07:00
Colin Cross
dad8c954b2 Pass -I to yasm
external/libvpx needs -I flags to be propagated to yasm, but can't
handle all the other global flags (like -no-exceptions).  Add -I
arguments to YasmFlags as well as GlobalFlags.

Test: mega-device build of external/libvpx
Change-Id: I1607211c34b031fae8ffc1bd558b26019965a696
2017-04-27 12:21:24 -07:00
Colin Cross
0906f17f7e Add arm neon and mips dspr2 arch features
Current modules must use armv7_a_neon to specify source files that
compile only with neon.  If a future arch variant also supports neon,
all these modules will fall back to non-neon.  Support a neon arch
feature that modules can use instead.  Similarly, support dspr2 for
mips.

arm_device.go was also mixing armv7-a-neon with armv7_a_neon.  Use
armv7-a-neon consistently, and fix the - to _ when creating the
property structs.

Test: m -j checkbuild
Change-Id: I24d3764280ab3bcbb9a73c0934edc9b99fc7f6a0
2017-04-27 12:21:24 -07:00
Yi Kong
cdb2de8893 Merge "Fixups after llvm rebase"
am: 96247cef21

Change-Id: Icd460b9f05400798795e4a6a73a09925cf875528
2017-04-27 17:13:12 +00:00
Yi Kong
96247cef21 Merge "Fixups after llvm rebase" 2017-04-27 17:06:14 +00:00
Yi Kong
5cf3948310 Fixups after llvm rebase
Clang now generates a SHF_MERGE section that is rejected by GNU as on
Mips64. Change to use integrated assembler for Mips and Mips64.

Bug: 37423073
Test: external/clang/build.py
Change-Id: I8eae5cf370b930119eb6892db960f5f70777312f
2017-04-26 20:23:55 +00:00
Colin Cross
e94d74c642 Merge "Make soong mm/ targets recursive"
am: 6d7afb8637

Change-Id: I3cf34b10451f426a969d9526e2c34c01f3e5a386
2017-04-26 17:28:35 +00:00
Colin Cross
6d7afb8637 Merge "Make soong mm/ targets recursive" 2017-04-26 17:18:10 +00:00
Logan Chien
e23ef76e0e Merge "Add frameworks/opt/net/wifi to root.bp"
am: d68b8939cd

Change-Id: Ia5b926cd21976de3c2d24905562b548cd0da8a1e
2017-04-26 05:06:15 +00:00
Treehugger Robot
d68b8939cd Merge "Add frameworks/opt/net/wifi to root.bp" 2017-04-26 04:58:20 +00:00