Commit Graph

12058 Commits

Author SHA1 Message Date
Thierry Strudel d7bd1f216f core/Makefile: add AVBTOOL deps to boot.img for BOARD_AVB_ENABLE
Bug: 37960599
Test: 'make bootimage' works when BOARD_AVB_ENABLE is true
Change-Id: I02c2fa16c9df988fbe1e1d6cd13a62278fedea45
Signed-off-by: Thierry Strudel <tstrudel@google.com>
2017-05-04 14:00:50 -07:00
Treehugger Robot 2be7eb9161 Merge changes Idf48f45f,Id2a72fe7,If83e1df2
* changes:
  Build: Disable leak sanitizer for ijar
  Build: Disable leak sanitizer for llvm-rs-cc
  Build: Disable leak sanitizer for aapt
2017-05-04 04:47:04 +00:00
Treehugger Robot 4a3dc1458f Merge "Only set TARGET_PLATFORM version in lunch when explicitly requested" 2017-05-03 04:36:56 +00:00
Colin Cross 4b7074e249 Merge "Clear LOCAL_JACK_ENABLED for ANDROID_COMPILE_WITH_JACK=false" 2017-05-03 04:36:28 +00:00
Colin Cross 1c1e142199 Only set TARGET_PLATFORM version in lunch when explicitly requested
Setting TARGET_PLATFORM_VERSION to DEFAULT_PLATFORM_VERSION during
"lunch sailfish-userdebug" causes unnecessary pain when
DEFAULT_PLATFORM_VERSION becomes invalid after branching.  Only
set TARGET_PLATFORM_VERSION if it was explicitly requested with
lunch sailfish-userdebug-OPR1.

Test: build/make/tests/envsetup_tests.sh
Bug: 34972208
Bug: 37208937
Change-Id: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
Merged-In: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
2017-05-03 02:47:59 +00:00
Treehugger Robot 328290459d Merge "Sort inputs to compatibility suite zip files" 2017-05-03 02:43:33 +00:00
Colin Cross f899251e12 Clear LOCAL_JACK_ENABLED for ANDROID_COMPILE_WITH_JACK=false
CL I2189055aac9deccc36b8eab8e949796dddadf7a1 moved the
ANDROID_COMPILE_WITH_JACK=false check to configure_local_jack.mk,
which broke some modules that use ifndef LOCAL_JACK_ENABLED to
change their behavior we jack is disabled.  Clear
DEFAULT_JACK_ENABLED when ANDROID_COMPILE_WITH_JACK=false so
that LOCAL_JACK_ENABLED is cleared.

Bug: 37483961
Test: m -j checkbuild
Change-Id: I0d08946c57182689624c57f4952d7cecaa0b82b3
2017-05-02 18:58:29 -07:00
Treehugger Robot 94751070e8 Merge "Exempt UBSAN runtime library from soong_to_convert" 2017-05-03 01:18:58 +00:00
Colin Cross 30c33b1c2b Sort inputs to compatibility suite zip files
Sort the inputs to remove duplicates, which fixes:
found two file paths to be copied into dest path: "target/testcases/minikin_perftests/minikin_perftests", both ["target/testcases/minikin_perftests/minikin_perftests"]"out/target/product/bullhead/testcases/minikin_perftests/minikin_perftests" and ["target/testcases/minikin_perftests/minikin_perftests"]"out/target/product/bullhead/testcases/minikin_perftests/minikin_perftests"!

Test: m -j device-tests
Change-Id: I8d7e83cd077c62461c9a08e7f1b49c321fbcb0e3
2017-05-02 17:56:57 -07:00
Tao Bao 3465f2ad56 Merge "Add the missing dependency on payload generation script." 2017-05-02 23:42:44 +00:00
Treehugger Robot cb8077df16 Merge "Make javac checkbuilds match jack" 2017-05-02 22:56:38 +00:00
Treehugger Robot c59d10fd1a Merge "Pass TARGET_USES_HWC2 to soong as device_uses_hwc2" 2017-05-02 19:59:42 +00:00
Yang Ni 9aff695ab8 Merge "Do not package res unless RS target API < 21" 2017-05-02 19:29:33 +00:00
Colin Cross ea60db9a83 Pass TARGET_USES_HWC2 to soong as device_uses_hwc2
TARGET_USES_HWC2 is going away, but propagate it to soong for now
to unblock converting dependency chains that end in libhwui.

Test: soong tests
Change-Id: Ie436548a60a08a487b1d85ff55706b824b297833
2017-05-02 11:18:40 -07:00
Colin Cross 64ed2f2478 Merge "Support LOCAL_JACK_ENABLED := javac_frontend" 2017-05-02 18:05:36 +00:00
Treehugger Robot 0f56f197fa Merge "Allow PRODUCT_FULL_TREBLE_OVERRIDE to be false." 2017-05-02 16:45:36 +00:00
Treehugger Robot c30a14020d Merge "Use 'quicken' instead of 'interpret-only'." 2017-05-02 10:40:56 +00:00
Yang Ni 6b68da0625 Do not package res unless RS target API < 21
Bug: 37626838

Since Lollipop, RS generated bitcode is embedded as strings in
generated Java files, and no longer needed in the resources.
This CL makes packaging resources conditional on RS target API, and
not do so unless it is below 21.

Test: mm in frameworks/rs/tests/java_api/Refocus, ImageProcessing2, and
      ImageProcessing_jb
Change-Id: I79a90ed4b96cb78b22a64a35b539d9d67351f4c4
(cherry picked from commit e2c0901918)
2017-05-01 20:07:45 -07:00
Steven Moreland 3a0afa7f57 Allow PRODUCT_FULL_TREBLE_OVERRIDE to be false.
Devices which are not Android phones may want to set
PRODUCT_FULL_TREBLE_OVERRIDE (and therefore
PRODUCT_FULL_TREBLE) to false.

Test: confirm expected values when putting in expected values of:
  PRODUCT_FULL_TREBLE_OVERRIDE
  PRODUCT_SHIPPING_API_LEVEL
Fixes: 37869308

Change-Id: If5a383210ea282a3a274e5eba0d32ef6cfebafd0
2017-05-01 18:11:35 -07: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
Colin Cross 9eff830fa2 Make javac checkbuilds match jack
Building all java to dex is very slow.  Make javac checkbuilds act
like jack checkbuilds and only build to class files for unused
modules, and add a java-dex target that can be used to build
everything to dex.

Test: m -j checkbuild
Change-Id: Idcf9c9e0223b9dd88aaa53beb0cb50a230034b0f
2017-04-28 13:39:16 -07:00
Colin Cross b17f285169 Support LOCAL_JACK_ENABLED := javac_frontend
Allow working around Jack bugs by using javac to compile *.java
to class files, and then pass through Jack for desugaring,
proguarding, and dexing.

Also make ANDROID_COMPILE_WITH_JACK=false override LOCAL_JACK_ENABLED.

Bug: 37483961
Test: m -j checkbuild
Test: Add LOCAL_JACK_ENABLED := javac_frontend to a target
Change-Id: I2189055aac9deccc36b8eab8e949796dddadf7a1
2017-04-28 13:39:12 -07:00
Andreas Gampe 48d9a5c80b Build: Disable leak sanitizer for ijar
Temporary workaround.

Bug: 37756495
Test: ASAN_OPTIONS= SANITIZE_HOST=address mm
Change-Id: Idf48f45f0c33fc57af29574c8591a532144d4623
2017-04-28 10:36:12 -07:00
Andreas Gampe 83c5c474b8 Build: Disable leak sanitizer for llvm-rs-cc
Temporary workaround. Disable leak detection and container
overflow.

Bug: 37755219
Test: ASAN_OPTIONS= SANITIZE_HOST=address m
Change-Id: Id2a72fe7170123f8652f96a0fed29d03f99ae03b
2017-04-28 10:36:12 -07:00
Andreas Gampe c5bb0d736e Build: Disable leak sanitizer for aapt
Temporary workaround.

Bug: 37750224
Test: SANITIZE_HOST=address m
Change-Id: If83e1df25890717d18b841fa65635427ba2ee36a
2017-04-28 10:36:12 -07:00
Nicolas Geoffray eb3d2f2e75 Use 'quicken' instead of 'interpret-only'.
bug: 34715556
Test: build
Change-Id: Id4518e80598b7baee64e92f7ff4ed600f8cdee5b
2017-04-28 13:04:38 +01: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 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 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
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
Narayan Kamath 5b50433f19 Merge "Update stale comment for dalvik.vm.stack-trace-file." 2017-04-26 08:23:49 +00:00
Dan Willemsen 0bf506f44a Exempt UBSAN runtime library from soong_to_convert
Soong already uses it, just not as a prebuilt module.

Test: Compare soong_to_convert.txt before/after
Change-Id: I6ffa0d967635d52b7b4f8b2b0465cd50254f22b9
2017-04-25 16:26:43 -07:00
Treehugger Robot 5aada52ffb Merge "Embed jni libs in vendor apks for treble-ized devices" 2017-04-25 21:06:35 +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
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
Treehugger Robot cd46573189 Merge "make libprotobuf-cpp-* libs VNDK" 2017-04-21 07:46:20 +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
Tao Bao e53c6e7200 Add the missing dependency on payload generation script.
For A/B OTAs, ota_from_target_files.py calls brillo_update_payload
script to generate the payload entry in an A/B OTA package.

Bug: 37443093
Test: lunch aosp_marlin-userdebug && rm
      out/host/linux-x86/bin/brillo_update_payload && m otapackage
Change-Id: I3845786b6c934c709f32e12a63cd6ea1f303d380
2017-04-19 21:30:15 -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