Commit Graph

10064 Commits

Author SHA1 Message Date
Colin Cross
19807e619e Merge changes from topic "hiddenapi"
am: 4c3a4aded3

Change-Id: Ia9e465b4df464cc79d3c3e4c6e99a5b862fcb09a
2019-02-06 23:41:22 -08:00
Colin Cross
2950d40b76 Add MissingDeps to RuleBuilder
am: 0d2f40ae6c

Change-Id: I533be8464482ad327a4c446242ebebc2dfe039c1
2019-02-06 23:40:53 -08:00
Treehugger Robot
4c3a4aded3 Merge changes from topic "hiddenapi"
* changes:
  Move hiddenapi singleton rules to Soong
  Add MissingDeps to RuleBuilder
2019-02-07 07:27:33 +00:00
Dan Willemsen
63833a3882 Return early after NDK->non-NDK library link error
am: 155d17c1da

Change-Id: I8d11bf8c71a3df036e5545f6d796ce970813e123
2019-02-06 22:58:33 -08:00
Dan Willemsen
155d17c1da Return early after NDK->non-NDK library link error
Otherwise the code after this assumes that the "to" library is an NDK
library and panics when it isn't.

Bug: 124019854
Test: trigger error, no longer see panic
Change-Id: I88d10e8d882285e24b4f42d0cf85c2d658348617
2019-02-06 18:30:02 -08:00
Dan Willemsen
39a139493e Merge "Add BUILD_BROKEN_ENG_DEBUG_TAGS to soong.log"
am: 3a984f55f6

Change-Id: I890ac923402ecec1af2df3bbac864459946c62a9
2019-02-06 13:09:27 -08:00
Dan Willemsen
3a984f55f6 Merge "Add BUILD_BROKEN_ENG_DEBUG_TAGS to soong.log" 2019-02-06 20:59:09 +00:00
Jaewoong Jung
b4a9a3a23c Merge "Add prebuilt_etc_host module type."
am: e3c98e7ba4

Change-Id: I118f96617265a39bb49988e386066a511d6ed411
2019-02-06 11:28:10 -08:00
Colin Cross
f24a22a98a Move hiddenapi singleton rules to Soong
Move the rules that build hiddenapi-stubs-flags.txt,
hiddenapi-flags.csv and hiddenapi-greylist.csv into Soong.

Bug: 123645297
Test: m checkbuild
Test: m UNSAFE_DISABLE_HIDDEN_API_FLAGS=true
Change-Id: I90bf58710f6153ee8565994f799d3ec5699bc7fa
2019-02-06 11:23:40 -08:00
Jaewoong Jung
e3c98e7ba4 Merge "Add prebuilt_etc_host module type." 2019-02-06 19:22:09 +00:00
Colin Cross
0d2f40ae6c Add MissingDeps to RuleBuilder
Add a method to be used when Config.AllowMissingDependencies() is true
to produce an error rule when the rule is missing dependencies.

Test: m checkbuild
Change-Id: If370fbb2734237a84a100b99b5238c7a2256c405
2019-02-06 10:59:42 -08:00
Steven Moreland
9a410a2ccd Merge "Remove '-b' from AIDL"
am: 4331334bdc

Change-Id: Ia3f9b1dd6764988df3c98df7d2a575f6515e394c
2019-02-06 10:28:14 -08:00
Steven Moreland
4331334bdc Merge "Remove '-b' from AIDL" 2019-02-06 18:09:31 +00:00
Jiyong Park
45bbf9f481 Merge "sh_binary can be included in APEX"
am: fa8f1370fc

Change-Id: Ic6d4fd12df3fe471d4a389d1890b32f3a55f4cd8
2019-02-06 07:43:40 -08:00
Treehugger Robot
fa8f1370fc Merge "sh_binary can be included in APEX" 2019-02-06 15:34:29 +00:00
Anton Hansson
4dc75982ac Merge changes I28c45e13,I9754ebf0,I0dda0184
am: 1ac44afaa5

Change-Id: I66cd11be63daec06a37c0d9d893a81fb8e9f96db
2019-02-06 06:10:29 -08:00
Jiyong Park
04480cf35b sh_binary can be included in APEX
Bug: 123891899
Test: m (apex_test amended)

Change-Id: Idebe577b20019fe9cd0fb6617f3b8c52a5b87714
2019-02-06 23:09:30 +09:00
Anton Hansson
1ac44afaa5 Merge changes I28c45e13,I9754ebf0,I0dda0184
* changes:
  Export RRO resource dirs from static android_library dependencies
  Add a static lib to TestEnforceRRO
  Move TestEnforceRRO test cases into test function
2019-02-06 14:01:54 +00:00
Jiyong Park
03fe198a83 Don't emit make rules for APEX files for non-installable APEX
am: 94427265d1

Change-Id: I657a3825d349f5f86255390a0158cda3c248accb
2019-02-06 05:51:26 -08:00
Jiyong Park
8893e6af05 Don't emit symbol for stubs libraries
am: 47e4fcb6d3

Change-Id: I1a3eb5401c79881469d290c5bc959ef96be725a3
2019-02-06 05:51:18 -08:00
Jiyong Park
94427265d1 Don't emit make rules for APEX files for non-installable APEX
When an APEX is non-installable, the make rules for the APEX files in
the APEX are not emitted as they will never get installed.

androidMkForType() is refactored so that make rules for the APEX files
are created in a separate function androidMkForFiles().

Test: m checkbuild tests
Bug: 123290268
Change-Id: Ibe8817d1e9c6312fb5c6f986dced8aa3e823664a
2019-02-06 22:40:29 +09:00
Jiyong Park
47e4fcb6d3 Don't emit symbol for stubs libraries
The stubs libraries are buildtime-only artifacts. Since they are not
used at runtime, no need to emit symbol files for them

Test: m
Change-Id: I54410e9289b4bf61e23581386b56ade8fba18dfa
2019-02-06 22:40:29 +09:00
Colin Cross
c1c3755b39 Export RRO resource dirs from static android_library dependencies
RRO dirs from static android_library dependencies should be
included in the final module.

Bug: 123510624
Test: TestEnforceRRO
Change-Id: I28c45e139b187894a4ebc43d573eab5ea1be9861
2019-02-06 10:18:38 +00:00
Colin Cross
6ed7deaf33 Add a static lib to TestEnforceRRO
Add a static lib dependency to TestEnforceRRO in preparation
for capturing static dependencies in rroDirs.

Bug: 123510624
Test: TestEnforceRRO
Change-Id: I9754ebf02866e8b3e4ad0c55ff099e546f8e2bc2
2019-02-06 10:18:30 +00:00
Colin Cross
5c4791c71e Move TestEnforceRRO test cases into test function
The test cases will need to reference buildDir, which is not
yet set at global variable initialization time.

Bug: 123510624
Test: TestEnforceRRO
Change-Id: I0dda0184dfab496c820e11ed76b7594a60d5d587
2019-02-06 10:18:09 +00:00
Colin Cross
9053375b93 Merge changes Ifcb338e6,Ie509ed80,I270fed60,Id825cb75,I92a963bd
am: cc2d11961c

Change-Id: Iede0d74591eb60148ddd7c187b403ece2fc8dde5
2019-02-05 21:19:03 -08:00
Treehugger Robot
cc2d11961c Merge changes Ifcb338e6,Ie509ed80,I270fed60,Id825cb75,I92a963bd
* changes:
  Prepare for a type-safe OnceKey
  Add Temporary and DeleteTemporaryFiles to RuleBuilder
  Improve RuleBuilder documentation and methods
  Allow RuleBuilder to be used with SingletonContext
  Move dexpreopt.Script to android.RuleBuilder
2019-02-06 05:09:37 +00:00
Colin Cross
571cccfcbc Prepare for a type-safe OnceKey
Add an opaque OnceKey type and use it for all calls to Once in
build/soong.  A future patch will convert the arguments to
Once* to OnceKey once users outside build/soong have been updated.

Test: onceper_test.go
Change-Id: Ifcb338e6e603e804e507203c9508d30ffb2df966
2019-02-06 01:52:41 +00:00
Steven Moreland
36b130fcfb Remove '-b' from AIDL
An empty file will be emitted for parcel declarations. Now sources may
inclue parcel definitions.

Bug: 70046217
Test: manual

Change-Id: I8087416ae7806399c3514d18faeadb858f07bf88
2019-02-06 01:04:29 +00:00
Jiyong Park
73e4b31a1b :module syntax is supported for APEX even when TARGET_FLATTEN_APEX
am: 23c52b0eb8

Change-Id: Ic0e05dd22550383ffd60b3b4156347eb792e7fa6
2019-02-05 16:35:54 -08:00
Jiyong Park
23c52b0eb8 :module syntax is supported for APEX even when TARGET_FLATTEN_APEX
Build rules for both flattened and non-flattend APEXes are created
regardless of TARGET_FLATTEN_APEX. The selection is made in AndroidMk.
This allows other module to reference an APEX via :module syntax
irrespective of TARGET_FLATTEN_APEX.

Bug: 123780484
Test: TARGET_FLATTEN_APEX=true m out/soong/.intermediates/art/build/apex/art-check-debug-apex-gen/gen/art-check-debug-apex-gen.dummy
with aosp/891696 applied
Change-Id: Ia49415ec3d18cfc5081461be76900c73ea803dca
2019-02-06 09:24:39 +09:00
Dan Willemsen
01f0a05361 Add BUILD_BROKEN_ENG_DEBUG_TAGS to soong.log
And add a helper script that can help parse the output from
build_test.bash

Test: check for BUILD_BROKEN_ENG_DEBUG_TAGS in soong.log
Test: go run ../build/soong/scripts/build_broken_logs.go *
Change-Id: Idd0fc8b59770dcdbe44eeba262558708a9497f96
2019-02-05 15:15:16 -08:00
Colin Cross
5cb5b093d1 Add Temporary and DeleteTemporaryFiles to RuleBuilder
Temporary marks an output path as a temporary file that is not
necessary after the rule completes, removing it from the result of
Outputs.  DeleteTemporaryFiles adds a command to the command line
that deletes all files that have been marked with Temporary.

Test: rule_builder_test.go
Change-Id: Ie509ed800992962747fb287858e148e975eee54a
2019-02-05 13:28:43 -08:00
Colin Cross
758290d7ff Improve RuleBuilder documentation and methods
Add a few convenience methods, document all the methods and add
examples that would show up in the godoc if we were to actually
generate it.

Test: rule_builder_test.go
Change-Id: I270fed605ffec34e6f5b36fde0dc9ca52694b741
2019-02-05 13:28:43 -08:00
Colin Cross
786cd6dc13 Allow RuleBuilder to be used with SingletonContext
Make RuleBuilder.Build take a subset of ModuleContext and
SingletonContext, and dynamically call PathForModuleOut only
if it is available.

Test: rule_builder_test.go
Change-Id: Id825cb75236acf187e9d4a36353a47abcac71927
2019-02-05 13:28:43 -08:00
Colin Cross
feec25b084 Move dexpreopt.Script to android.RuleBuilder
Move dexpreopt.Script to android.RuleBuilder so that the builder
style can be used in more places.  Also add tests for it.

Test: rule_builder_test.go
Change-Id: I92a963bd112bf033b08899e930094b908acfcdfd
2019-02-05 13:28:43 -08:00
Dan Willemsen
959223fdb1 Merge "Stop exporting the windows toolchain to Make"
am: a55b12bec2

Change-Id: I1ffb84b75a0916124ae161a0863994c90d97d522
2019-02-05 13:11:11 -08:00
Dan Willemsen
a55b12bec2 Merge "Stop exporting the windows toolchain to Make" 2019-02-05 20:45:27 +00:00
Kostya Kortchinsky
ff2fe20afc Merge "Add option to disable Scudo globally [Soong]"
am: 66b1193d55

Change-Id: I38866e353d0a66eea0b73f13b43d593946775d39
2019-02-05 06:55:29 -08:00
Kostya Kortchinsky
66b1193d55 Merge "Add option to disable Scudo globally [Soong]" 2019-02-05 14:45:39 +00:00
Jiyong Park
2121073534 APEX respects relative_install_path
am: b7c24df220

Change-Id: I78a018e6116ddb88025b98d66f442ce36776a4c0
2019-02-05 04:14:58 -08:00
Jiyong Park
b7c24df220 APEX respects relative_install_path
relative_install_path for cc_library is respected by APEX.

relative_install_path for cc_binary is not yet respected because doing
it will break the path to the dynamic linker in the runtime APEX.
That change should be done along with changes in init, bionic, etc.

Bug: 123721777
Test: m (apex_test.go amended)
Change-Id: I855f8eda0d4255d563861ac96d0d3e2c669e9a2a
2019-02-05 21:00:41 +09:00
Dan Willemsen
279144ac11 Turn on more warnings during CleanSpec processing
am: dcac078c91

Change-Id: Icbc81c0467fa56ef4b01373d60c0b82a468da24e
2019-02-05 00:33:24 -08:00
Dan Willemsen
dcac078c91 Turn on more warnings during CleanSpec processing
We don't want these to be warnings, may as well be errors instead of
turning off the warnings.

Bug: 123583617
Test: treehugger
Change-Id: I6ca518c9647e712426952cb88bdb044d933b23f2
2019-02-04 20:58:25 -08:00
Stephen Hines
1d24874e86 Merge "Use llvm-{strip,objcopy} by default"
am: 363cab0bea

Change-Id: I313eb1919e524d31cd470791fee0ef2ea29ad86f
2019-02-04 19:19:38 -08:00
Stephen Hines
363cab0bea Merge "Use llvm-{strip,objcopy} by default" 2019-02-05 03:13:14 +00:00
Jaewoong Jung
24788182a9 Add prebuilt_etc_host module type.
Change-Id: I667ac7325331fa2c1ecaa0f68c24bfb6d47aa8ad
Fixes: 123380976
Test: prebuilt_etc_test.go + external/parameter-framework/Schemas.mk
2019-02-04 14:48:51 -08:00
Kostya Kortchinsky
d5275c8657 Add option to disable Scudo globally [Soong]
This adds an option in Soong to turn off Scudo globally.

Bug: 123228023
Test: enable Scudo for tombstoned, lunch marlin_svelte-eng && m -j, and
make sure that Scudo is not linked in
out/target/product/marlin/system/bin/tombstoned
Test: enable Scudo for tombstoned, lunch marlin-userdebug && m -j, and
make sure that Scudo is linked in
out/target/product/marlin/system/bin/tombstoned

Change-Id: I0b0992446953fc4074bde94507b66f92764c8143
Merged-In: I0b0992446953fc4074bde94507b66f92764c8143
2019-02-04 12:29:17 -08:00
Colin Cross
2f27762373 Merge changes I545a832a,I85a51b04
am: 54956abf1f

Change-Id: Ieb7d59d1593807cb1b02b820dfed08a25bf441b6
2019-02-04 09:51:57 -08:00
Anton Hansson
b765cf67fb Merge "Write out module owner for prebuilt_etc"
am: 0c1fabbb32

Change-Id: I6fdac63fa5fdb818a48dc59d60db2e16e02b59ed
2019-02-04 09:51:26 -08:00