Commit Graph

17709 Commits

Author SHA1 Message Date
Anton Hansson 8ee39f031c Merge changes Idc621b16,I00fcdce3
* changes:
  Fix dependencies of notice files
  Refactor logic for notice files
2018-11-14 12:48:55 +00:00
Treehugger Robot 2d544529fd Merge "Add TARGET_FLATTEN_APEX" 2018-11-14 11:47:51 +00:00
Anton Hansson 2f8e2b8e1f Merge "Disable artifact path requirements for asan builds" 2018-11-14 10:40:28 +00:00
Treehugger Robot 30bac4a994 Merge "Enable armv8-2a supporting on 2nd arch. variant" 2018-11-14 06:47:33 +00:00
Treehugger Robot 645547b522 Merge "Add missing zipalign dependency" 2018-11-14 05:15:17 +00:00
Jiyong Park 5217eed7a3 Add TARGET_FLATTEN_APEX
TARGET_FLATTEN_APEX, when set to true, flattens APEXes that are on
/system. Flattening an APEX means files in it are not packaged as a mini
file system image, but exist in the /system partition as individual
files. This option is for devices where kernel does not support loopback
devices or the maximum number of loopback devices is too small (though
the threshold is TBD as of now).

Bug: 118485880
Test: TARGET_FLATTEN_APEX=true m apex.test; tree
out/target/product/.../system/apex/apex.test shows list of files in it.

Test; m apex.test, then a file out/target/product/.../system/apex/apex
.test.apex exists.

Change-Id: Ie13cb062c1387d55689692ba2b123e606ada8aa4
2018-11-14 07:53:23 +09:00
Anton Hansson 2b4469a8a0 Disable artifact path requirements for asan builds
asan builds create many artifacts that normal builds do not, and
are only used for testing. Disable artifact requirements for them.

Bug: 119270428
Test: build internal asan product
Change-Id: I8692ee7e8916d40a8a787c3a07dcf7d677b19cab
2018-11-13 22:39:00 +00:00
Yi Kong f41d24acb3 Merge changes I52805f5d,Ifb16ed87
* changes:
  Allow projects to exclude from libcrt_builtins
  Move libgcc to libcrt.builtins
2018-11-13 21:56:47 +00:00
Colin Cross f9532bb509 Add missing zipalign dependency
$(align-package) uses $(ZIPALIGN), add it as a dependency to the
rule.

Bug: 119403628
Test: rm out/host/linux-x86/bin/zipalign && m out/target/product/sailfish/obj/APPS/SystemUI_intermediates/oat/arm64/package.odex
Change-Id: Iffc9506fd3168481ad998c5d8423ed4e13e6d11b
2018-11-13 13:30:53 -08:00
Yifan Hong b7ea9d3870 Merge changes from topic "dp_retrofit"
* changes:
  Add build flags for spanning the super partition across multiple block devices.
  logical partitions -> dynamic partitions
2018-11-13 20:29:18 +00:00
Anton Hansson 6ad6f6c8ab Fix dependencies of notice files
Filter out the relevant deps for /vendor, /product and
/product_services, and make the /system version depend
on the rest.

Also filter out phony packages, which do not produce
license files on their own (though their deps might).

Bug: 118089975
Test: diff blueline notice files before and after
Change-Id: Idc621b16237dfecafd0befa742c8d3b93be1f611
2018-11-13 16:53:46 +00:00
Anton Hansson bfbaa98bb7 Refactor logic for notice files
Move things around so that we don't need to check whether
we're in the "split license file mode" over and over, and
some other moves to improve readability.

Also rename the html_or_xml variables to the correct name
given the branch of the conditional we're in, to make it
easier to grok.

Bug: 118089975
Test: diff notice files for blueline before and after
Change-Id: I00fcdce31503c543c6c0ab6901531c54c9705617
2018-11-13 16:53:18 +00:00
Treehugger Robot 623c33915b Merge "Factor out json from soong_config.mk" 2018-11-13 16:35:11 +00:00
Isaac Lee ead02eb87d Enable armv8-2a supporting on 2nd arch. variant
Newer cores are implementing armv8-2a ISAs.
Enabling 2nd arch. variant to support for new type of cores.

Test: set TARGET_2ND_ARCH_VARIANT := armv8-2a, build without warnings and not ignore armv8-2a
BUG: 118414869
Change-Id: I1cd64ab0ad9b253ec3d109ebd1dbc7882011ce77
2018-11-13 17:31:28 +08:00
Anton Hansson 1de3ef4a73 Merge "Fix cmdline args to generate-notice-files.py" 2018-11-13 08:35:01 +00:00
Anton Hansson d05c1fc6a2 Merge "Provide a syncsys target to build /system files" 2018-11-13 08:34:55 +00:00
David Anderson 619fe2da5a Add build flags for spanning the super partition across multiple block devices.
This adds BOARD_SUPER_PARTITION_BLOCK_DEVICES, which must contain a list
of the (non-A/B suffixed) partitions that will comprise the super
partition. It is only intended for devices which cannot have a partition
named "super". For each entry, there must be a
BOARD_SUPER_PARTITION_x_DEVICE_SIZE variable defined with the exact size
of that partition (not its image size). The sum of these sizes must be
equal to BOARD_SUPER_PARTITION_SIZE.

Bug: 116802789
Test: device with BOARD_SUPER_PARTITION_BLOCK_DEVICES builds
Change-Id: I1a79c2e08ca99ce7e42207893ef3285caffecf44
2018-11-12 16:12:51 -08:00
Anton Hansson d0ca2e6221 Fix cmdline args to generate-notice-files.py
-e should be provided multiple times to pass a list. This fixes
stripping of the NOTICE file on /system to not have /product,
/vendor and /product_services entries in it.

Previously it was trying to stirp entries from the
vendor,product,product_services subdir.

Bug: 118089975
Test: m sync, inspect NOTICES file
Change-Id: I7c336b1c593565a98aa4976305f8b69bbd0c09b5
2018-11-12 23:24:22 +00:00
Colin Cross ee8b10230c Factor out json from soong_config.mk
Factor out the json functions from soong_config.mk, and extend them
to support maps.

Bug: 119412419
Test: no change to soong.variables
Change-Id: Ieea08fdd2aa202f60945103e3ca82538f098a942
2018-11-12 11:15:12 -08:00
Yi Kong 65e4560308 Always get target llvm rtlib from Linux toolchain directory
To avoid duplication, we would only ship one copy of the target llvm
runtime library. Change the source path to Linux on Darwin host.

Test: m checkbuild
Bug: 119288831
Bug: 119270185
Change-Id: Ie32d65d6647765a5060078cc61a089e5a47c3a36
2018-11-12 17:38:00 +00:00
Anton Hansson 30e061b6a5 Provide a syncsys target to build /system files
Builds just the files on /system, but not system.img. Like sync,
but just for /system.

Test: m syncsys
Change-Id: Ic5fc60d79d20315a5aca031dff5e2394e58d6b1c
2018-11-12 13:46:05 +00:00
Yifan Hong c5c0124e7d logical partitions -> dynamic partitions
Reflect a name change.

* PRODUCT_USE_LOGICAL_PARTITIONS is deprecated and
will be removed in the future.

* ro.boot.dynamic_partitions is created. ro.boot.logical_partitions
will be removed once all the usage is removed.

Bug: 119286600
Test: builds

Change-Id: I5cb8bb1f5ebcee893fbef3a0f047c32de8773830
2018-11-09 16:02:59 -08:00
Anton Hansson 1cdbf8f2bd Merge "Quote message in echo-error/echo-warning macros" 2018-11-09 17:59:59 +00:00
Anton Hansson 436d7b7336 Merge "Support disabling artifact path requirements" 2018-11-09 17:21:21 +00:00
Jaewoong Jung 0459f334e3 Merge "Add -CROSS suffix to cross host OS notice targets." 2018-11-09 15:21:30 +00:00
Anton Hansson dc6c216476 Support disabling artifact path requirements
Path requirements can get in the way when developing, so
provide a way to disable them on the command line.

Bug: 80410283
Bug: 119025354
Test: lunch mainline_arm64; DISABLE_ARTIFACT_PATH_REQUIREMENTS=true m nothing
Change-Id: Ia44b73f3013a0ea218bd9a361037269c7557da9e
2018-11-09 13:45:18 +00:00
Anton Hansson 700db42d54 Quote message in echo-error/echo-warning macros
Makes pretty-error and pretty-warning behave more like $(error) and
$(warning), where you don't need to do things like quote parentheses.

Bug: 118833208
Test: trigger the private_apis && sdk set error in sdk_check.mk,
      which no longer produces bash syntax errors

Change-Id: I766ff98ad4e652f59dbef9dd5654f1cd10a2d038
2018-11-09 08:59:25 +00:00
Jaewoong Jung e8cb1954bb Add -CROSS suffix to cross host OS notice targets.
This fixes a bug where cross host OS notice dependecies were incorrectly
added and caused missing file errors.

Bug: 36073965
Test: Manual build + inspection
Change-Id: I3983ad6158acf939842f836fe3f44cecf9187087
2018-11-08 16:53:02 -08:00
Yi Kong 8d3c6cda21 LLVM_RTLIB_PATH should not hard code linux
The path is incorrect on Darwin. Changed to use $(HOST_OS) instead.

Fixes Darwin build.

Bug: 29275768
Test: Forrest
Change-Id: I164306ad2237bce86baf37d3291622a709bfe8f3
2018-11-08 23:26:20 +00:00
Yi Kong 2b7e980cbd Allow projects to exclude from libcrt_builtins
Some projects can't be built with libcrt_builtins yet.

Bug: 29275768
Test: m checkbuild
Change-Id: I52805f5dece6395024683d07809c4b8905dab631
Merged-In: I52805f5dece6395024683d07809c4b8905dab631
(cherry picked from commit 2a401bea9e)
2018-11-08 13:41:05 -08:00
Yi Kong 95fd9d171d Move libgcc to libcrt.builtins
libgcc is kept behind libcrt.builtins to provide unwinder symbols and
any other missing symbols.

Bug: 29275768
Bug: 119007754
Test: m checkbuild
Change-Id: Ifb16ed87afc3391f8830d771971315515f929235
Merged-In: Ifb16ed87afc3391f8830d771971315515f929235
(cherry picked from commit b9d8932279)
2018-11-08 13:40:34 -08:00
Treehugger Robot 1c7db31772 Merge "Build docs as part of checkbuild" 2018-11-07 18:21:32 +00:00
Anton Hansson 20e7b65663 Merge "Set LOCAL_SDK_VERSION := current for RROs" 2018-11-07 11:57:40 +00:00
Colin Cross fd5ab7c9b2 Merge "Revert "Use protoc-gen-javalite for java lite protos"" 2018-11-06 18:42:03 +00:00
Treehugger Robot 6a806e76d4 Merge "Only zip2zip bundle resources if they exist" 2018-11-06 16:43:00 +00:00
Anton Hansson 0625f9a524 Merge "Move ro.build.characteristics to /product props" 2018-11-06 08:52:02 +00:00
Treehugger Robot 344f2524fc Merge "Fix pre-extracted PDKs" 2018-11-06 00:28:16 +00:00
Dan Willemsen 9b7c1e4393 Fix pre-extracted PDKs
The PDK unzip logic does not place all the files in the same directory
it would place a zipfile, but instead inside a directory of the same
name:

  a/b/platform.zip!pdk.mk

turns into:

  a/b/platform/pdk.mk

So fix the PDK_FUISON_PLATFORM_DIR autodetection to take this into
account. Also don't create touch rules for the pre-extracted java files.

Bug: 118776469
Test: try building the PDK with PDK_FUSION_PLATFORM_ZIP set, and files extracted
Change-Id: Ib27d12aba773a5e6bd41fcbe8945a0bc31b8c281
2018-11-05 10:57:24 -08:00
Colin Cross 7f1ca81e86 Build docs as part of checkbuild
Catch docs breakages in TreeHugger by building docs as part of
checkbuild targets.

Bug: 118815658
Test: m checkbuild
Change-Id: I7e71b176c680f269730d4bf98369a96138c0ee8a
2018-11-05 18:15:24 +00:00
Colin Cross 85fa3def65 Only zip2zip bundle resources if they exist
Only attempt to zip2zip the bundle parts/res.zip if it was created
because of full_classes_jar or PRIVATE_EXTRA_JAR_ARGS.

Bug: 117295826
Test: m dist on unbundled target with no resources or classes
Change-Id: I6072b29c7331201f33d196c24154f9947b4b0053
2018-11-05 10:13:10 -08:00
Anton Hansson 5ac408badd Move ro.build.characteristics to /product props
This property is not device-generic, as it's used for things like
whether the product is phone/tablet/other and whether it has an
sdcard or not.

Bug: 118618261
Test: adb shell getprop ro.build.characteristics for aosp_blueline
Change-Id: I6bbf1d4c36d7f37f92c67bebde58d72aba9d0852
2018-11-05 17:29:28 +00:00
Dan Shi 6fe5bf0adb Copy shared libraries used by tests to testcases directory
This change collects the shared libraries files used by tests in
suite, and deploy the files to testcases/lib*. The shared libraries then
can be zipped in general-tests.zip and device-tests.zip. And the host
test can be run in TradeFed host based on build artifacts.

Bug: 111486845
Test: m -j general-tests; m -j device-tests
Confirm the test can run in testcases directory:
out/host/linux-x86/testcases$ ./net_test_avrcp/x86_64/net_test_avrcp
unzip general-tests.zip, confirm net_test_avrcp can run.

Change-Id: I4f9322118aa4891226ea318cbd1bcee6ca48b050
2018-11-04 19:51:59 -08:00
Colin Cross e4f4c73c6a Revert "Use protoc-gen-javalite for java lite protos"
This reverts commit 84f0a11205.

Change-Id: I0d0d750deefb308eb63c99e517ae1a8622376fac
2018-11-04 17:23:32 -08:00
Colin Cross 4c9399d988 Merge "Use protoc-gen-javalite for java lite protos" 2018-11-05 01:13:15 +00:00
Jaewoong Jung 761b58065b Merge "Produce NOTICE files for static libraries." 2018-11-02 21:59:21 +00:00
Treehugger Robot b966219142 Merge "Revert "Revert "Create bundle modules suitable for bundletool""" 2018-11-02 20:55:30 +00:00
David Brazdil 67828c207c Merge "Remove 'ro.art.hiddenapi.warning' system property" 2018-11-02 10:17:28 +00:00
Dan Willemsen 2066a5cc27 Exempt Soong from LOCAL_TEST_DATA checks
Soong is already checking for reasonable paths, and it supports
generated test data as well, which this does not.

Test: OUT_DIR=$PWD/out m nothing
Change-Id: I62dd09b74f0f3347930fd51c213e2f66c7dfeb2d
2018-11-01 19:37:03 -07:00
Jaewoong Jung 3d90562b7c Produce NOTICE files for static libraries.
Bug: 36073965
Test: mma + visual check.
Change-Id: I3ff341a0668cc6d6de8a54418a7e0db8af28c85c
2018-11-01 16:40:15 -07:00
Evgenii Stepanov ed90746cbd Link hwasan static library to native tests.
They are executables, but they are not EXECUTABLES.

Bug: 112438058
Test: make SANITIZE_TARGET=hwaddress tests
Change-Id: I0f5d8d6259d7df4196bde50ec553b73099f2c8ac
2018-11-01 15:43:14 -07:00