Commit Graph

34237 Commits

Author SHA1 Message Date
Treehugger Robot 9607ace215 Merge "Split vendor license notices into vendor partition" 2017-05-01 23:08:19 +00:00
Jaekyun Seok 9e7eab53c1 Split vendor license notices into vendor partition
Xml files will be generated instead of html files, and then Settings
will generate html file on runtime from xml files of partitions.

Test: build succeeded and tested on sailfish
Bug: 37099941
Merged-In: Id7899381a537b1947cbb6164ed2b4a98492334af
Change-Id: Id7899381a537b1947cbb6164ed2b4a98492334af
(cherry picked from commit 3b7560bf88)
2017-05-01 22:07:50 +00:00
Nicolas Geoffray 078aafc590 Merge "Make the default preopt 'interpret-only'." 2017-04-28 12:03:18 +00:00
Nicolas Geoffray 24f54693f9 Make the default preopt 'interpret-only'.
bug:33799337
bug:36534079

Test: m -j32 bullhead/angler/marlin/sailfish

(cherry picked from commit e0848c8b7f)

Change-Id: I6d71bdca1d7b7afab8150a0b19a0e2235832d5e0
2017-04-28 12:46:34 +01:00
Nicolas Geoffray f53ebefae3 Merge "Don't preopt system server apps in system_other." 2017-04-28 11:45:15 +00:00
Nicolas Geoffray cdd4343bb2 Don't preopt system server apps in system_other.
bug:36532541
bug:33799337

Test: m -j32 && find out/target -name \*.odex

(cherry picked from commit a2c6c0b11e)

Change-Id: Ic4396bb6c543af1c05f56030495caafb245ea304
2017-04-28 12:34:53 +01:00
Nicolas Geoffray 679727afeb Merge "Introduce a whitelist for core apps used by system server." 2017-04-28 11:32:52 +00:00
Nicolas Geoffray b08ada1daa Introduce a whitelist for core apps used by system server.
And by default 'speed' compile those apps at build time.

bug:33799337
Test: m -j32

(cherry picked from commit 9af483488a)

Change-Id: I66f1c675369fccc03b6529c08cb030264d15ba1c
2017-04-28 10:38:41 +01:00
Treehugger Robot 1a752acc89 Merge "Makefile: support build and avb signing of dtbo img" 2017-04-28 02:03:43 +00:00
Treehugger Robot 72a662a282 Merge "Get Android TOP from build.log file." 2017-04-27 22:36:23 +00:00
Yueyao Zhu 211c90158c Makefile: support build and avb signing of dtbo img
Test: make with corresponding configurations in BoardConfig.mk
- dtbo.img is copied to the OUT directory
- avbtool info_image --image dtbo.img shows avb hashes
- avbtool info_image --image vbmeta.img shows dtbo partition info

Bug: 37730955
Change-Id: If3edaab860926c743f18fd031c911b076eb09fab
2017-04-27 14:49:39 -07:00
Chih-Hung Hsieh ef21d1458b Get Android TOP from build.log file.
find_android_root works only when warn.py is found
so it works for build bot, but not when warn.py is
run against a stand alone build.log file.
Now get the TOP directory path from build.log
if it is found.

Bug: 37725427
Test: warn.py --gencsv build.log
Change-Id: I7b776c2e71a8d8d769f0600b08abe37acbd6ce7c
2017-04-27 10:25:37 -07:00
Tao Bao f9937b5c24 Merge "Revert "Revert "Add compatibility metadata to OTA package""" 2017-04-27 16:12:57 +00:00
Mark Salyzyn d0020fafe2 Merge "fs_config_dirs and fs_config_files miscalculates LOCAL_REQUIRED_MODULES" 2017-04-27 15:33:29 +00:00
Mark Salyzyn eb8dc72724 fs_config_dirs and fs_config_files miscalculates LOCAL_REQUIRED_MODULES
Misspelled fs_config_generate_extra_partition_list when used to
calculate LOCAL_REQUIRED_MODULES dependencies.  This resulted in
fs_config_dirs and fs_config_files failing to generate the vendor,
oem or odm variants (ie: fs_config_files_vendor)

Test: build generates correct fs_config override files.
Bug: 37721445
Bug: 36071012
Change-Id: I053dd5cdb357c7cea05a5ff63b0686bd0bc99df6
2017-04-27 08:01:27 -07:00
Nicolas Geoffray 6c8c20dd5b Merge "Update build files to new compiler filters." 2017-04-27 11:40:07 +00:00
Tao Bao 21803d3574 Revert "Revert "Add compatibility metadata to OTA package""
This reverts commit b1e59b8a73.

This CL enables generating compatibility zip entry in an A/B OTA
package. We're not enabling the support for non-A/B OTAs for now until
they have the necessary support (e.g. /proc/config.gz exists).

Bug: 36810913
Test: Generate full and incremental packages for marlin and applly under
      normal boot and sideload respectively.

Change-Id: I69f0a3feb7a0efc7f727f92f31c9e63f47ee6530
(cherry picked from commit b63c952cc7)
2017-04-26 14:28:46 -07:00
Mark Salyzyn 7928afb83d Merge changes I44289a3d,I0537453b,I23a655b1
* changes:
  fs_config_generator: Add fs_config_(dirs|files)_(vendor|oem|odm)
  fs_config_generate: add -P <partitionlist> option
  fs_config_generate: unit test
2017-04-26 14:36:43 +00:00
Narayan Kamath 5b50433f19 Merge "Update stale comment for dalvik.vm.stack-trace-file." 2017-04-26 08:23:49 +00:00
Mark Salyzyn 1fd588cfb2 fs_config_generator: Add fs_config_(dirs|files)_(vendor|oem|odm)
Add build targets to generate the vendor, oem and odm slices of the
fs_config_dirs and fs_config_files targets for each of the respective
filesystems, and automatically trigger the individual and enabled
partition build objects based as dependents of fs_config_dirs and
fs_config_files.

Sensitive to the following board definition pairs:

BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE  BOARD_USES_VENDORIMAGE
BOARD_OEMIMAGE_FILE_SYSTEM_TYPE     BOARD_USES_OEMIMAGE
BOARD_ODMIMAGE_FILE_SYSTEM_TYPE     BOARD_USES_ODMIMAGE

Which when defined and set means the images are generated for vendor,
oem or odm respectively.

Test: manually build w/ m 'fs_config_(dirs|files)_(vendor|oem|odm)'
      and check the expected products, or fails if not pertinent.
Test: build for product that produces split to system and vendor and
      subsequently boots with vendor products correctly configured.
Bug: 36071012
Change-Id: I44289a3dd50b7657367c826ad813c671a3de6afc
2017-04-25 15:09:09 -07:00
Mark Salyzyn 256d339413 fs_config_generate: add -P <partitionlist> option
Add a -P option to fs_config_generate that allows us to filter on
a comma separated partition whitelist or minus prefixed -blacklist.
A partition is defined as accessible as <partition>/ or
system/<partition>/.

No change for legacy, where no -P flag is specified.

For system.img, but not vendor, oem or odm file references:
fs_config_generate -P -vendor,-oem,-odm

For vendor.img file references:
fs_config_generate -P vendor

For oem.img file references:
fs_config_generate -P oem

For odm.img file references:
fs_config_generate -P odm

Add and fortify tests for each of these cases.

SideEffects: none
Test: gTest host fs_config-unit-test
Bug: 36071012
Change-Id: I0537453bb289d41ef98ad76e69f78ae49358a1b3
2017-04-25 15:09:01 -07:00
Mark Salyzyn 5649b31a17 fs_config_generate: unit test
Test -D and -F flag of fs_config_generate

Test: gTest host fs_config-unit-tests
Bug: 36071012
Change-Id: I23a655b17b7c55817f2aacc760700ff1b0728db3
2017-04-25 15:08:56 -07:00
Treehugger Robot 5aada52ffb Merge "Embed jni libs in vendor apks for treble-ized devices" 2017-04-25 21:06:35 +00:00
Vikas Marwaha b27fb9f528 Merge "Added make files for variable Nougat MR1" 2017-04-25 20:15:44 +00:00
Treehugger Robot 7ffb8c8fa8 Merge "warn.py: have URLs open in new tabs" 2017-04-25 17:05:09 +00:00
Narayan Kamath d5068605f9 Update stale comment for dalvik.vm.stack-trace-file.
Test: make
Change-Id: Ia14494b146f58937aed203271be340747817519b
2017-04-25 15:41:04 +01:00
Nicolas Geoffray 0576b5f24e Update build files to new compiler filters.
bug:34715556
Test: build and boot aosp bullhead
Change-Id: I95c7bbabd68a58206e8c79a017337a7f9a518569
2017-04-25 12:25:33 +01:00
Treehugger Robot f1ec8ac22d Merge "base_rules.mk : Support subconfigs for testcases." 2017-04-24 20:54:28 +00:00
Simran Basi 3e73e2bca6 base_rules.mk : Support subconfigs for testcases.
Updates the test module build rules to also copy over any
extra test configs that match the naming convention of
LOCAL_MODULE_*.config

Bug: 37315907
Test: forrest test HelloWorldTests_HalloWelt
Change-Id: Ie476285fe780cb19264f1fb0294008b21893a4ed
2017-04-24 11:43:36 -07:00
Jiyong Park 1cb8dea625 Embed jni libs in vendor apks for treble-ized devices
JNI libs used by bundled APKs have been installed outside of the APK
(e.g. /system/lib and /vendor/lib) to save space because multiple APKs
may share the same set of JNI libs.

However, this causes problem for treble-ized devices where access to
/vendor/lib is prohibited for system processes including Java apps.

So, the JNI libs are embedded into the APK when the APK is installed to
/vendor partition and the device is fully treble-ized.

Bug: 37491282
Test: Move an APK and its JNI libraries to vendor partition by setting
LOCAL_PROPRIETARY_MODULE := true and build:
The jni lib does not exist under /system or /vendor. unzipping
the apk reveals the jni lib under ./lib/<abi> directory.

Change-Id: I8389761dfbd28d181869d79f0bf988a1e4df2fca
2017-04-24 10:01:34 +09:00
George Burgess IV 169f5f1c6c warn.py: have URLs open in new tabs
Bug: None
Test: Ran warn.py on a build log. Code links in resultant HTML open in
new tabs when clicked.

Change-Id: Ia3def5ea14fe216700cb2ffabe4a39b98e69d55a
2017-04-21 15:19:36 -07:00
Treehugger Robot cd46573189 Merge "make libprotobuf-cpp-* libs VNDK" 2017-04-21 07:46:20 +00:00
Treehugger Robot a637a59b7e Merge "link_type: common overrides 2nd" 2017-04-20 23:26:07 +00:00
Dan Willemsen 2b7f8ab577 link_type: common overrides 2nd
This is what intermediates-dir-for does (though it also auto-detects
some common classes, which we don't)

Test: build-aosp_arm64.ninja is identical
Change-Id: I4a3efa74e060d82658b856e68318cd92403a6149
2017-04-20 14:37:23 -07:00
Treehugger Robot 594eb16b02 Merge "Disable CFI for ASAN targets. (Make)" 2017-04-20 21:28:13 +00:00
Treehugger Robot 2f9b9f0938 Merge "Fix LOCAL_MULTILIB := 64 in TARGET_TRANSLATE_2ND_ARCH builds" 2017-04-20 21:13:04 +00:00
Dan Austin 64e48c0b51 Merge "Update fuzz_test makefile." 2017-04-20 20:29:39 +00:00
Dan Willemsen 2e3c3cf537 Fix LOCAL_MULTILIB := 64 in TARGET_TRANSLATE_2ND_ARCH builds
64-bit only apps should only be enabled if the target supports 64-bit.

Test: lunch aosp_x86_arm-userdebug; m -j PMTest_Java64
Change-Id: Ibdc863730e97b1a89efb44840a1c633e9951a1d1
2017-04-20 11:19:10 -07:00
Dan Willemsen e4d92ef568 Merge "Rewrite link type checking" 2017-04-20 15:04:08 +00:00
Vishwath Mohan c026f6d0ed Disable CFI for ASAN targets. (Make)
This CL disables CFI if both CFI and ASAN flags are enabled. This
allows ASAN to take precedence where needed, preventing build errors
that would otherwise arise.

Bug: 30227045
Test: SANITIZE_TARGET="address" m -j40
Change-Id: I9073ace0a10eb554d14e418a9b23cc8a8277607d
2017-04-20 08:03:44 -07:00
Jiyong Park c8f57d92ff make libprotobuf-cpp-* libs VNDK
libprotobuf-cpp-* libs are VNDK, However, since the '.vendor' prefix is
added before libprotobuf-cpp-* libs are added to my-*-libraries by
LOCAL_PROTOC_OPTIMIZE_TYPE, the clients are still linked against to the
platform version of the protobuf libs. As a result, link type error
occurs.

In order to avoid this, '.vendor' prefix is appended after
my-*-*libraries are all updated.

Test: normal build successfull
Test: add vendor_provided:true to libprotobuf-cpp-* and build successful
with BOARD_VNDK_VERSION=true

Change-Id: I1ed7978f03e0db56b4cbee86e286c0787f7a3afc
2017-04-20 15:41:51 +09:00
Dan Willemsen b47d4e9cf1 Rewrite link type checking
All the new features are turned off for now, since multiple branches and
products need to be verified before they can be turned on. So everything
should behave the same as today, except for no partition-based
warnings.

Instead of the current link type checks that happen during the build,
run as many as possible immediately after loading all the Android.mk
files. If we're allowing missing dependencies ('mm',
ALLOW_MISSING_DEPENDENCIES, tapas, etc), we'll defer the link type
checks to during the build. If we're not allowing missing dependencies,
we'll produce a better error message to the user about the missing
dependencies.

See core/main.mk for a description of the storage format.

This also remove the partition-based type checking. It hasn't worked all
that well, particularly with ASAN builds. The new VNDK checks will
handle the most pressing cases.

Test: Verify all link_type files and dependencies are the same:
  grep link_type: out/build-aosp_arm64.ninja | sed -E "s/ rule[0-9]+//" | sort
Change-Id: Id643658b9d9e84f99f5db0d526aad88c1f5d3417
2017-04-19 22:41:32 -07:00
Vishwath Mohan eddf74cadb Merge "Change the global CFI flag to default to enabled." 2017-04-20 01:39:56 +00:00
Vishwath Mohan 45fd769588 Merge "Change the global CFI flag to default to enabled." 2017-04-20 01:39:56 +00:00
Dan Austin 5567e5072e Update fuzz_test makefile.
Update the fuzz_test makefile to link against the new libFuzzer
library and update the coverage flags to the new version.

Test: built a fuzzer and verified correct linking.
Change-Id: Ie6e6da9a202a258abf805dbdc8cdd3490fcb2406
2017-04-19 10:58:58 -07:00
Treehugger Robot c8387929d1 Merge "Filter and colorize javac output V3" 2017-04-18 22:53:46 +00:00
Colin Cross 5f89212e24 Filter and colorize javac output V3
Add soong_javac_wrapper to all javac commands. soong_javac_wrapper
colorizes javac output, and hides noisy messages.

Previously attempted in I7e8fcd2e4e1ed3ff530a8ccfe931ceb7e411e0ad
and I449a61ed2c95b3e1afd51a31a11baab15d97e2f2.

Test: m -j ANDROID_COMPILE_WITH_JACK=false
Change-Id: I9d7a20d766fadab323a4cf95e5734741b3f578bb
2017-04-18 21:04:58 +00:00
Treehugger Robot 4be1d8823e Merge "Make PIC/PIE levels compatible for LTO." 2017-04-18 01:48:59 +00:00
Vishwath Mohan c3b255622d Make PIC/PIE levels compatible for LTO.
The build system currently uses -fPIC for position independent
libraries, and -fpie for position independent executables. However,
these levels are incompatible and conflict when an executable includes
a static lib with the -fPIC flag - such as when building with
LTO. This CL changes the flag for executables to the compatible -fPIE
instead, which is equivalent for all architectures except PowerPC.

Bug: 30227045
Test: ENABLE_CFI=true m -j40 checkbuild # builds and boots
Change-Id: Ieb20bc2528300d88ff05e8787c5840ab6f03fb38
2017-04-17 16:16:33 -07:00
Colin Cross 04e4fd3071 Merge "Set PRIVATE_PREFIX when using $(transform-prebuilt-to-target)" 2017-04-17 18:31:01 +00:00