Commit Graph

1174 Commits

Author SHA1 Message Date
Colin Cross
4e293aed86 Make defaults TopDownMutator parallel am: 76f2f97c51 am: bb3d66c1fa
am: f244b4c897

Change-Id: Idaa90c79db141671fe36da18c00b4146efe9af8d
2016-08-12 02:55:04 +00:00
Colin Cross
f244b4c897 Make defaults TopDownMutator parallel am: 76f2f97c51
am: bb3d66c1fa

Change-Id: I4933e3348cbdfb7bd720139ee972d0c269d4d509
2016-08-12 02:52:04 +00:00
Colin Cross
bb3d66c1fa Make defaults TopDownMutator parallel
am: 76f2f97c51

Change-Id: I40d5eb0cf8721ef89c92ebbd2bf9f75fce30381a
2016-08-12 02:48:37 +00:00
Colin Cross
76f2f97c51 Make defaults TopDownMutator parallel
Append .Parallel() to the defaults RegisterTopDownMutator call to tell
Blueprint it can run it in parallel.  Saves ~500ms in soong_build.

Change-Id: I43ddd9d6995674ccc06fed6928514f15a15712c1
2016-08-11 17:15:07 -07:00
Colin Cross
905094093a Merge "Make BottomUpMutators parallel" am: aa99f84e57 am: e0b666c229
am: d81339cf95

Change-Id: If9f0f2b0e2739e007cdd23b5e3dd2505008713d3
2016-08-11 21:51:45 +00:00
Colin Cross
d81339cf95 Merge "Make BottomUpMutators parallel" am: aa99f84e57
am: e0b666c229

Change-Id: Ia75c3a485ba26a4dd83753e488460b754eb877f6
2016-08-11 21:48:45 +00:00
Colin Cross
e0b666c229 Merge "Make BottomUpMutators parallel"
am: aa99f84e57

Change-Id: I49cd56f16258f5405515275309bcb0329a32e639
2016-08-11 21:45:17 +00:00
Treehugger Robot
aa99f84e57 Merge "Make BottomUpMutators parallel" 2016-08-11 21:35:24 +00:00
Colin Cross
e8a67a7c58 Make BottomUpMutators parallel
Append .Parallel() to all of the RegisterBottomUpMutator calls to tell
Blueprint it can run them in parallel.

Test: identical build.ninja, passes race detector
Change-Id: I969a0689522d4cba7c8ff51e2aa00fe2fd338a89
2016-08-11 13:20:16 -07:00
Dan Willemsen
dee56b7783 Merge changes from topic 'fast_dist' am: 8bdd631a75 am: da8a307625
am: e037b7a60b

Change-Id: I2b7d367103ae49c5f33f7a89bc678df94e5d9019
2016-08-11 19:40:11 +00:00
Dan Willemsen
e037b7a60b Merge changes from topic 'fast_dist' am: 8bdd631a75
am: da8a307625

Change-Id: I1225b0d96ef241537ba3f50d441eb7f2b39459c0
2016-08-11 19:36:45 +00:00
Dan Willemsen
da8a307625 Merge changes from topic 'fast_dist'
am: 8bdd631a75

Change-Id: I4a3e8b06e155d8c7f830b4db1790461943278d8c
2016-08-11 19:33:14 +00:00
Treehugger Robot
8bdd631a75 Merge changes from topic 'fast_dist'
* changes:
  Rename soong_jar to soong_zip
  soong_jar: Parallel compression
  Add zip2zip tool to copy zip entries from one file to another
  Add archive/zip from go1.7rc5 tag
2016-08-11 19:28:14 +00:00
Dan Albert
9a6ee8d5d1 Add support for NDK r13. am: d015c4ac1b am: 585738ad21
am: 1f243d67a3

Change-Id: Ide437f1d3f4d229c5883db66400e9d6bd9dab9bf
2016-08-11 16:59:54 +00:00
Dan Albert
1f243d67a3 Add support for NDK r13. am: d015c4ac1b
am: 585738ad21

Change-Id: I7f7d2dc7a0fc1fcb4b9b804bc86126427c481886
2016-08-11 16:56:10 +00:00
Dan Albert
585738ad21 Add support for NDK r13.
am: d015c4ac1b

Change-Id: I1d1c599bbe918537fb4afd4ca568937ee7859923
2016-08-11 16:52:59 +00:00
Dan Willemsen
47ec28f3b1 Rename soong_jar to soong_zip
This is a general purpose tool that happens to contain some jar specific
features.

Change-Id: I05f4654d4517c245ad7a3c15492e0d2368bbf64f
2016-08-11 01:30:16 -07:00
Dan Willemsen
017d8937fa soong_jar: Parallel compression
This compresses multiple files in parallel, and will split up larger
files (5MB+) into smaller chunks (1MB) to compress in parallel.

There is a small size overhead to recombine the chunks, but it's only a
few bytes per chunk, so for a 1MB chunk, it's minimal.

Rough numbers, with everything in the page cache, this can compress
~4GB (1000 files) down to 1GB in 6.5 seconds, instead of 120 seconds with
the non-parallel soong_jar and 150 seconds with zip.

Go's DEFLATE algorithm is still a bit worse than zip's -- about 3.5%
larger file sizes, but for most of our "dist" targets that is fine.

Change-Id: Ie4886c7d0f954ace46e599156e35fea7e74d6dd7
2016-08-11 01:30:16 -07:00
Dan Albert
d015c4ac1b Add support for NDK r13.
Test: make checkbuild
Bug: None
Change-Id: I6e7c92d6731be4ae47c7dc5e9444af08d338334b
2016-08-10 23:14:13 -07:00
Dan Willemsen
3bf1a08505 Add zip2zip tool to copy zip entries from one file to another
This doesn't do any decompression / recompression, but just copies over
the already compressed contents. So it's similar to zip -U, but allows
rewriting of the paths.

The first expected usecase is to replace img_from_target_files during
the build, since it does the equivalent of this:

zip2zip -i <target-files.zip> -o <img.zip> OTA/android-info.txt:android-info.txt IMAGES/*:.

Except it decompresses and recompresses the images, which takes over a
minute instead of a few seconds.

Change-Id: I88d0df188635088783223873f78e193272dbdf1c
2016-08-10 16:57:03 -07:00
Dan Willemsen
25a4e07df8 Add archive/zip from go1.7rc5 tag
In preparation to patch in some custom functionality (parallel
compression and zero-decompress zip to zip copying)

Change-Id: I96a36efc09c715f6b55290af40ebfdde9ae72e33
2016-08-10 16:10:16 -07:00
Colin Cross
c773aaa446 Convert defaults to a top down mutator am: 1317701114 am: adbf48c3df
am: 85d275aea5

Change-Id: Ie1a8e881ddd5e748a38678f3fbb07f9814d01eda
2016-08-09 23:28:29 +00:00
Colin Cross
85d275aea5 Convert defaults to a top down mutator am: 1317701114
am: adbf48c3df

Change-Id: Ib99c9e34876abc8ecd8ba01ccf2fe9eaa2b5a7c8
2016-08-09 23:25:34 +00:00
Colin Cross
adbf48c3df Convert defaults to a top down mutator
am: 1317701114

Change-Id: I3736f583432d56a7dd1889ba948b9253158c9543
2016-08-09 23:23:01 +00:00
Colin Cross
5c668745d9 Update build.ninja.in for blueprint fs.go changes am: 6debdbad42 am: 476861290e
am: 3acee1544f

Change-Id: I504de530eb5ea34f6db993a49afaedfba0465d55
2016-08-09 22:12:34 +00:00
Colin Cross
3acee1544f Update build.ninja.in for blueprint fs.go changes am: 6debdbad42
am: 476861290e

Change-Id: I861f4d9ab81271fcd0802e062b0b9756b854860e
2016-08-09 22:09:32 +00:00
Colin Cross
476861290e Update build.ninja.in for blueprint fs.go changes
am: 6debdbad42

Change-Id: I2fd3171f980ff02ff2b7665f80fdbed3535f489e
2016-08-09 22:07:06 +00:00
Colin Cross
1317701114 Convert defaults to a top down mutator
BottomUpMutators are going to lose their ctx.Visit* functions in order
to allow parallelizing them, move defaults to a TopDownMutator using
WalkDeps to only visit defaults modules.

Test: no changes to out/soong/build.ninja
Change-Id: I54ba65a7e2ae9503f4d217f63aa9178a7c5341f0
2016-08-09 13:54:03 -07:00
Colin Cross
6debdbad42 Update build.ninja.in for blueprint fs.go changes
Change-Id: I05bca49a563b13731ccb89d6f073edd59fee7049
2016-08-09 13:40:08 -07:00
Colin Cross
c920664096 Merge "Use nil pointers for arch property structs" am: 142d4fd01d am: 3099506f27
am: 4fa0a9debc

Change-Id: If9f3496e3eef8c5ebdd3298b478dae3f65d4d753
2016-08-09 00:24:45 +00:00
Colin Cross
4fa0a9debc Merge "Use nil pointers for arch property structs" am: 142d4fd01d
am: 3099506f27

Change-Id: I6498fb154ead628568b7b01965de5183747c30b6
2016-08-09 00:22:15 +00:00
Colin Cross
3099506f27 Merge "Use nil pointers for arch property structs"
am: 142d4fd01d

Change-Id: I006c7325e0b16aeeb947788545184fc96e018cf5
2016-08-09 00:19:18 +00:00
Treehugger Robot
142d4fd01d Merge "Use nil pointers for arch property structs" 2016-08-09 00:08:23 +00:00
Dan Albert
ee0a0b12da More fixes for decorator refactor. am: cdd4c24ff7 am: 0f2f0fa282
am: 3342e46e9c

Change-Id: I5fd780530352f35ee868fe52a3144d50177c9ec5
2016-08-08 23:18:02 +00:00
Dan Albert
3342e46e9c More fixes for decorator refactor. am: cdd4c24ff7
am: 0f2f0fa282

Change-Id: Ia13b4d4367a7866ff688d291ea6aa07e27f6d5a2
2016-08-08 23:16:00 +00:00
Dan Albert
0f2f0fa282 More fixes for decorator refactor.
am: cdd4c24ff7

Change-Id: I169c2e8271d5e446f1a8a7fd358672c60c6b93c0
2016-08-08 23:13:01 +00:00
Colin Cross
62496a0d2e Use nil pointers for arch property structs
Blueprint can now handle creating a zero-valued struct when it
encounters a nil pointer to a struct, reducing the amount of allocations
and copying for arch structures that are not used.

Change-Id: If36da5603dbe6469fe6406c821f21a122ea6ea49
2016-08-08 15:56:19 -07:00
Dan Albert
cdd4c24ff7 More fixes for decorator refactor.
Didn't catch these the first time because I hadn't done a clean build.

Test: rm -rf out && make ndk
Change-Id: Ia66ad614d2163272889ee6937a6449c44db16ac0
2016-08-08 14:45:24 -07:00
Dan Albert
d64d26089b Fix ndk_library following decorator refactor. am: 705c84b9ee am: 80f3a040cd
am: cf9511849e

Change-Id: I7ab71f94240a1643ba7ad5770242708b2dbd1e03
2016-08-08 20:54:49 +00:00
Dan Albert
cf9511849e Fix ndk_library following decorator refactor. am: 705c84b9ee
am: 80f3a040cd

Change-Id: I1c3583a9ef2d8dd8e7ca3415e28c8c0f69f8b13a
2016-08-08 20:51:49 +00:00
Dan Albert
80f3a040cd Fix ndk_library following decorator refactor.
am: 705c84b9ee

Change-Id: I228224014450f4cb2cdbf13bdcf3d94e8f95aa23
2016-08-08 20:49:21 +00:00
Dan Albert
705c84b9ee Fix ndk_library following decorator refactor.
https://android-review.googlesource.com/#/c/253603/ accidentally
dropped the ndk_library properties and was using the base cc
properties instead.

Change-Id: Ia2dcd767f98871dbdbbd9d0ff6d2a73b9b4889ac
2016-08-08 12:44:23 -07:00
Dan Albert
fc72614ddb Don't generate intermediate NDK libraries. am: 7fa7b2efd3 am: df66aa3ecf
am: d870e713f7

Change-Id: I1a56c40c76145be9234ffe7f6fd945b967541d55
2016-08-08 18:48:41 +00:00
Dan Albert
d870e713f7 Don't generate intermediate NDK libraries. am: 7fa7b2efd3
am: df66aa3ecf

Change-Id: I2ee3c895c79fec6bb99d18e292cc2f915391c1be
2016-08-08 18:46:11 +00:00
Dan Albert
df66aa3ecf Don't generate intermediate NDK libraries.
am: 7fa7b2efd3

Change-Id: I049ab976019bf085943cc4cf0bceb68e0c6ef59b
2016-08-08 18:44:14 +00:00
Dan Albert
7fa7b2efd3 Don't generate intermediate NDK libraries.
It's better to clip to the existing versions here rather than build
the lower levels as if they existed.

cc.Module's begin() will now normalize the sdk_version to a valid
value for the given architecture so that doesn't have to be checked
later.

Test: make checkbuild with all other libc ndk_library changes
Change-Id: I2fa834f7a1ac3b03a0723291778d86207fcfda72
2016-08-05 16:48:36 -07:00
Dan Willemsen
2572144164 Merge changes I5144bc62,Id6d6561f am: 8a274392ac am: f7f5b8c1b3
am: f1ce07a39d

Change-Id: I1a7475bcbc1c6fb063968502680db9cd95ee3f20
2016-08-05 20:59:58 +00:00
Dan Willemsen
f1ce07a39d Merge changes I5144bc62,Id6d6561f am: 8a274392ac
am: f7f5b8c1b3

Change-Id: Ie6d30dab008bb484ecf57366723add11dae4659a
2016-08-05 20:56:28 +00:00
Dan Willemsen
f7f5b8c1b3 Merge changes I5144bc62,Id6d6561f
am: 8a274392ac

Change-Id: I62a802f7ad60f9bd3a50ecf7f462642b10516fbd
2016-08-05 20:54:00 +00:00
Dan Willemsen
8a274392ac Merge changes I5144bc62,Id6d6561f
* changes:
  soong_jar: Hardcode time
  soong_jar: Implement symlinks, fix directories
2016-08-05 20:44:25 +00:00