Commit Graph

7284 Commits

Author SHA1 Message Date
Colin Cross
88f453d49d Replace extract-srcjars.sh with zipsync tool
am: 0a7d85a896  -s ours

Change-Id: I2cb61d04ded1445446e44d3476f34a6c8bf962bb
2018-03-21 16:10:52 +00:00
Colin Cross
503818aebc Use turbine's native source jar support
am: f2986f067b  -s ours

Change-Id: I82ecb07760ce0d3a75accafe4860ab0d31df1fb1
2018-03-21 16:10:46 +00:00
Przemyslaw Szczepaniak
7fa4e00a65 Merge "Add support for renamed kotlin stdlib." am: 170ab730ec
am: b4c92f71ac

Change-Id: Ic4e36748bc28fee5196c097db9abc7ae20a8cdd2
2018-03-21 10:36:09 +00:00
Przemyslaw Szczepaniak
b4c92f71ac Merge "Add support for renamed kotlin stdlib."
am: 170ab730ec

Change-Id: Ibf9f123def0978cdc3c00276bcce372b5e6fac2a
2018-03-21 10:28:07 +00:00
Przemyslaw Szczepaniak
170ab730ec Merge "Add support for renamed kotlin stdlib." 2018-03-21 10:16:19 +00:00
Logan Chien
a8f5158594 Use PlatformVndkVersion to find ABI dump by default
This commit changes "current" to ctx.DeviceConfig.PlatformVndkVersion().
This change make it possible to place ABI dumps in
prebuilts/abi-dumps/vndk/${version} instead of
prebuilts/abi-dumps/vndk/current.

If BOARD_VNDK_VERSION is not specified or is equal to "current",
PLATFORM_VNDK_VERSION (either PLATFORM_SDK_VERSION or
PLATFORM_VERSION_CODENAME) will be chosen.  Currently,
BOARD_VNDK_VERSION is always equal to "current" because both system and
vendor images are built in a single source tree.

In the future, if the system image and vendor images are separately
built in different source trees, BOARD_VNDK_VERSION will be set to other
values and we should respect that value.

Test: Create an ABI dump under
prebuilts/abi-dumps/vndk/${PLATFORM_VNDK_VERSION}, make some ABI
breakages, and see whether the checks are working.

Bug: 76036094
Change-Id: I6242e0c71ebd9acd5c4a3497c67539cb3e6663f3
2018-03-21 14:54:31 +08:00
Nan Zhang
a6901522a1 Changes *api_filename properties droiddoc.go am: 28c68b9a76
am: e2dbc2c6d7  -s ours

Change-Id: I2dbc36cd6273110f7d5037fb9f2f4139788b62a8
2018-03-21 04:29:11 +00:00
Nan Zhang
6273e8a2b3 Changes *api_filename properties droiddoc.go
Test: check build.ninja, and compare file content.
Bug: b/70351683
Change-Id: I385100f5c5c5354bec04a6435b735e92834a3512
Merged-In: I385100f5c5c5354bec04a6435b735e92834a3512
2018-03-20 16:23:54 -07:00
Nan Zhang
e2dbc2c6d7 Changes *api_filename properties droiddoc.go
am: 28c68b9a76

Change-Id: Ib67c784feca19a7cfb67939559cfdcd825c6abec
2018-03-20 22:03:55 +00:00
Nan Zhang
28c68b9a76 Changes *api_filename properties droiddoc.go
Test: check build.ninja, and compare file content.
Bug: b/70351683
Change-Id: I385100f5c5c5354bec04a6435b735e92834a3512
Merged-In: I385100f5c5c5354bec04a6435b735e92834a3512
2018-03-20 11:40:50 -07:00
Colin Cross
0a7d85a896 Replace extract-srcjars.sh with zipsync tool
extract_srcjars.sh uses zipinfo and unzip, which fail with an
error on an empty zip file.  Instead of trying to hack around
this (which is hard to make guarantees for since they are
non-hermetic host tools), replace them with a go tool to unzip
a set of zip files into a directory.

Bug: 73885582
Test: m checkbuild
Change-Id: I151fed347ed5196726e36866ffc27bc831799afb
Merged-In: I151fed347ed5196726e36866ffc27bc831799afb
(cherry picked from commit 436b76564d)
2018-03-20 11:21:42 -07:00
Colin Cross
f2986f067b Use turbine's native source jar support
Turbine doesn't need extract_srcjars.sh, just pass the source jars
with --source_jars.

Bug: 74339924
Test: m checkbuild
Change-Id: Ie7fe06f5a9f5e29287cf79c2d46b23a676a03d41
Merged-In: Ie7fe06f5a9f5e29287cf79c2d46b23a676a03d41
(cherry picked from commit 6981f658ef)
2018-03-20 11:21:42 -07:00
Przemyslaw Szczepaniak
66c0c4067f Add support for renamed kotlin stdlib.
Added new CompilerProperty flag, rename_kotlin_stdlib, which
allow to build kotlin libraries/binaries that use platform internal
version of kotlin stdlib (com.android.kotlin.*). This way, app-provided
kotlin standard library won't collide with version used internaly.

+ remove kotlinc-build.xml after compilation so it won't end up in the
result jar file

+ remove *.kotlin_module and *.kotlin_bultin filesfrom result jar file.
These files are needed only by kotlin-reflect library and
need more work to support kotlin-stdlib renaming.

Bug: 73281388
Test: java_test.go
Change-Id: Iae7ccb919e2ae9853b3f30f3dd447ebd01a1bed0
2018-03-20 12:55:19 +00:00
Colin Cross
61ea4cf419 Merge "Mark generated renderscript header files as implicit outputs" am: bfe65a32bb
am: 3e7c9ec5b3

Change-Id: I0dc4a12032a175eea3afbeef8ae04c526f479f2c
2018-03-20 08:22:50 +00:00
Colin Cross
3e7c9ec5b3 Merge "Mark generated renderscript header files as implicit outputs"
am: bfe65a32bb

Change-Id: I4b47112d20ff54ec92cd76a14ea6dd05076fb401
2018-03-20 08:13:47 +00:00
Treehugger Robot
bfe65a32bb Merge "Mark generated renderscript header files as implicit outputs" 2018-03-20 08:04:32 +00:00
Colin Cross
80e6054eab Mark generated renderscript header files as implicit outputs
If a generated renderscript header is referenced by a cpp file
clang will insert a depsfile dependency on the header.  If the
generator rule does not include the header as an output, ninja
will not consider the cpp file dirty after the generator runs,
and not rebuild it.  On the next build, it will see that the
timestamp of the generated header is new and consider the cpp
file dirty.

Mark the header files as implicit outputs of the generator.

Bug: 75982985
Test: m libstagefright_mediafilter
      touch frameworks/av/media/libstagefright/filters/saturationARGB.rs
      m libstagefright_mediafilter
      m libstagefright_mediafilter

Change-Id: I3ac899322fe9cae2a6e4171092740339ef844494
2018-03-19 22:44:29 -07:00
Yi Kong
155ee3fcf9 Merge "Add opt-in option to turn on ThinLTO caching" am: 04a0fe3245
am: 341f92df33

Change-Id: Ic69ee703e467ea3570fb22102261105599e716ac
2018-03-19 22:26:54 +00:00
Yi Kong
341f92df33 Merge "Add opt-in option to turn on ThinLTO caching"
am: 04a0fe3245

Change-Id: I5155c5cca0b31e1361df95c3fe1f595fde656731
2018-03-19 22:20:18 +00:00
Yi Kong
04a0fe3245 Merge "Add opt-in option to turn on ThinLTO caching" 2018-03-19 22:03:15 +00:00
Chih-Hung Hsieh
63eb06037a Merge "Use armv7a-linux-androideabi for arm device triple." am: 4d693a7a27
am: ada684f304

Change-Id: I6055f1e39c3bb843b30199c8a0a58bf048203b46
2018-03-19 21:08:49 +00:00
Colin Cross
01801b3f50 Merge "Replace extract-srcjars.sh with zipsync tool" am: 21f8080d86
am: c48f545d17

Change-Id: Ia3f9cfd8f5d2e9ec11e64c8ef3cd63d1d5742ff2
2018-03-19 21:01:57 +00:00
Chih-Hung Hsieh
ada684f304 Merge "Use armv7a-linux-androideabi for arm device triple."
am: 4d693a7a27

Change-Id: Id7e9ac585fc2cc78edbdfb80946231c45caddd8e
2018-03-19 21:01:43 +00:00
Colin Cross
c48f545d17 Merge "Replace extract-srcjars.sh with zipsync tool"
am: 21f8080d86

Change-Id: I0c83f9ae4c22915a74ce81c6e5606841240c8242
2018-03-19 20:54:56 +00:00
Treehugger Robot
4d693a7a27 Merge "Use armv7a-linux-androideabi for arm device triple." 2018-03-19 20:36:46 +00:00
Colin Cross
21f8080d86 Merge "Replace extract-srcjars.sh with zipsync tool" 2018-03-19 20:33:08 +00:00
Chih-Hung Hsieh
1e7d1bf1c7 Use armv7a-linux-androideabi for arm device triple.
* This is a workaround of llvm LTO bug.
* Keep using current NDK include directory path.
  NDKTriple is default ClangTriple but kept as GccTriple for arm device.

Bug: 72619014
Test: make checkbuild
Change-Id: I5dc63c99760325c60bc2da98fd6a3125cef7267d
2018-03-19 11:19:06 -07:00
Logan Chien
24e716e603 Allow VNDK extensions under vendor or device
This commit allows VNDK extensions (vndk.enabled:true and vendor:true)
to reside under vendor/* or device/*.  VNDK extensions will be installed
into /vendor/lib[64]/vndk[-sp].  It is reasonable for their source being
under vendor/* or device/*.

Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests

Merged-In: I406c5bef10f5c549371dd978b8ecc16c65a7af4b
Change-Id: I406c5bef10f5c549371dd978b8ecc16c65a7af4b
2018-03-16 17:45:42 +08:00
Logan Chien
b1ed497ca8 Add unit tests for android/neverallow.go
Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests

Merged-In: Ibde685d7213713be219681cb039ad58a43d9c377
Change-Id: Ibde685d7213713be219681cb039ad58a43d9c377
2018-03-16 17:45:42 +08:00
Logan Chien
d44aa3b5c8 Extract failIfErrored() to android/testing.go
Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests

Merged-In: I1c09412d5988dca2cc1c5f041893b313ab1c163a
Change-Id: I1c09412d5988dca2cc1c5f041893b313ab1c163a
2018-03-16 17:45:42 +08:00
Logan Chien
3985402d74 RemoveFromList() should remove all matches
RemoveFromList() should remove all matches.  Before this commit,
RemoveFromList() only removes the first match.  This commit rewrites
RemoveFromList() so that it will remove all matches.  Besides, a unit
test is written.

Note: aosp/461936 wants to make sure libc.so precedes libdl.so in
DT_NEEDED entries.  However, if there are two "libdl" in shared_libs,
aosp/461936 won't achieve its goal because RemoveFromList() (prior to
this commit) only removes the first "libdl".

Bug: 62815515
Test: Build sailfish and check libstagefright.so

Merged-In: I9bec563cbf800bff4bd508fb21e28869a92cfe56
Change-Id: I9bec563cbf800bff4bd508fb21e28869a92cfe56
2018-03-16 17:45:34 +08:00
Logan Chien
3b33eaa1c9 Add unit tests for android/util.go
Bug: 62815515
Test: lunch aosp_sailfish-userdebug && make   # runs soong unit tests

Merged-In: I34f06abdc78bfb28af3b5250491bbcddb7595c9b
Change-Id: I34f06abdc78bfb28af3b5250491bbcddb7595c9b
2018-03-16 17:45:25 +08:00
Logan Chien
2ced34b14e Merge changes I406c5bef,Ibde685d7,I1c09412d am: 45d4f09f2f
am: 6eaae1a84a

Change-Id: I1cf47a14f8245d01a783d98cff0c2fec46e1193b
2018-03-16 02:19:45 +00:00
Logan Chien
6eaae1a84a Merge changes I406c5bef,Ibde685d7,I1c09412d
am: 45d4f09f2f

Change-Id: Ibea5c7e83e1672f96ebae78d5ac5c6b4c65cfb2b
2018-03-16 02:11:44 +00:00
Logan Chien
45d4f09f2f Merge changes I406c5bef,Ibde685d7,I1c09412d
* changes:
  Allow VNDK extensions under vendor or device
  Add unit tests for android/neverallow.go
  Extract failIfErrored() to android/testing.go
2018-03-16 01:57:31 +00:00
Colin Cross
436b76564d Replace extract-srcjars.sh with zipsync tool
extract_srcjars.sh uses zipinfo and unzip, which fail with an
error on an empty zip file.  Instead of trying to hack around
this (which is hard to make guarantees for since they are
non-hermetic host tools), replace them with a go tool to unzip
a set of zip files into a directory.

Bug: 73885582
Test: m checkbuild
Change-Id: I151fed347ed5196726e36866ffc27bc831799afb
2018-03-15 16:42:43 -07:00
Colin Cross
b9950182ff Merge "Update turbine command line flags" am: 1eb9f090e0
am: a717c1e346

Change-Id: I3add7c66a694c7e5407c6360e4ff89227c1932bc
2018-03-15 23:09:16 +00:00
Colin Cross
a717c1e346 Merge "Update turbine command line flags"
am: 1eb9f090e0

Change-Id: Ia750d0f460c4246cb3203b04dd713e7a3580f859
2018-03-15 22:53:58 +00:00
Colin Cross
1eb9f090e0 Merge "Update turbine command line flags" 2018-03-15 22:39:28 +00:00
Logan Chien
af29bada75 Allow VNDK extensions under vendor or device
This commit allows VNDK extensions (vndk.enabled:true and vendor:true)
to reside under vendor/* or device/*.  VNDK extensions will be installed
into /vendor/lib[64]/vndk[-sp].  It is reasonable for their source being
under vendor/* or device/*.

Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests
Change-Id: I406c5bef10f5c549371dd978b8ecc16c65a7af4b
2018-03-15 11:02:38 +08:00
Logan Chien
ee97c3ed75 Add unit tests for android/neverallow.go
Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests
Change-Id: Ibde685d7213713be219681cb039ad58a43d9c377
2018-03-15 11:02:38 +08:00
Logan Chien
4203971351 Extract failIfErrored() to android/testing.go
Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests
Change-Id: I1c09412d5988dca2cc1c5f041893b313ab1c163a
2018-03-15 11:02:38 +08:00
Jayant Chowdhary
8c34564d41 Consider binder bitness while looking for abi references.
am: 070f605485  -s ours

Change-Id: I4c2bcc9fdf24b278faa0e4f13eb58fffac780980
2018-03-14 20:58:11 +00:00
Colin Cross
924a0aa7d5 Update turbine command line flags
The latest version of turbine requires a -- after the javac
options, and uses multiple --bootclasspath arguments instead
of a javac-style colon separated list.

Test: m javac-check
Bug: 74339924
Change-Id: Ib7096294a43e9bd30abc36751299bfac7879f765
2018-03-13 22:22:49 -07:00
Dan Willemsen
15b159179d Add DistPath to reference the dist folder am: bc0c509267
am: bb8f0eed0f

Change-Id: Ic15f59a508065bbc2ef139413cdc76f49886fd3a
2018-03-14 00:33:38 +00:00
Dan Willemsen
74edf2fdbe Switch PackageContext functions to take a ctx am: 54daaf0371
am: f34acc112e

Change-Id: I11d13250bbe1b40179b764799ca607b2bacc607b
2018-03-14 00:33:31 +00:00
Dan Willemsen
bb8f0eed0f Add DistPath to reference the dist folder
am: bc0c509267

Change-Id: I687725e1bcc6d859a1232680224f8d4ff1e19a1d
2018-03-14 00:26:28 +00:00
Dan Willemsen
f34acc112e Switch PackageContext functions to take a ctx
am: 54daaf0371

Change-Id: I10fc75e9be9aaa930f05bb0a559aceb87a056120
2018-03-14 00:26:23 +00:00
Jayant Chowdhary
070f605485 Consider binder bitness while looking for abi references.
Binder bitness does not always correlate directly with primary arch, as
assumed earlier. For example: it is possible to have devices with
primary arch 'arm' and use 64 bit binder.

Bug: 74362434

Test: utils/create_reference_dumps.py;
      m -j vndk_package for aosp_arm64_ab, aosp_arm_ab invokes
      header-abi-diff on both arm and arm64 arches.

Test: mm -j64 in system/libhwbinder on troublesome internal target.

Merged-In: Iea0a24b57cdb3033e25b6fe126c5d5d717f45b4e
Change-Id: Iea0a24b57cdb3033e25b6fe126c5d5d717f45b4e
(cherry picked from commit 34ce67d454)
2018-03-12 16:56:03 -07:00
Yi Kong
8aeaa7158a Add opt-in option to turn on ThinLTO caching
Allow developers to enable ThinLTO caching on their local build by
setting USE_THINLTO_CACHE environment variable.

This significantly speeds up incremental ThinLTO builds by caching
intermediate results. An incremental ART build (by `touch
compiler/compiler.cc`) reduced from 01:32 to 00:45.

We put the cache under out/soong/thinlto-cache as the cache can be
valid across different targets, and allows us to set a global cache
pruning policy.

The current cache policy is sufficient for current list of
ThinLTO-enabled projects, we can tune it up/down in the future.

Test: USE_THINLTO_CACHE=true m
Bug: 62839002
Change-Id: I4838fe833a1d8fbc73d743da6d19e3698dc89600
2018-03-12 16:54:58 -07:00