Commit Graph

17247 Commits

Author SHA1 Message Date
Anton Hansson
68c5fe4cca Move product-parts of tags_to_install
This makes the product-installed-files macro more accurate, as it will
now include the eng/debug/test/asan packages for each product involved
in the analysis.

It also fixes a bug, where packages in e.g. PRODUCT_PACKAGES_DEBUG
would not get their REQUIRED modules installed prior to this change
(I think).

Bug: 80410283
Test: diff modules_to_install on an internal product
Change-Id: I8e148454df2f96523bbed25e2695d050559968f1
2018-09-13 07:51:05 +01:00
Treehugger Robot
007f27aa4a Merge "fix: linktype for recovery modules in ASAN build is native:platform" 2018-09-12 23:54:48 +00:00
Steven Moreland
ccc7ce1050 Remove HIDL libs from PRODUCT_BOOT_JARS.
These are left in PRODUCT_PACKAGES so that they can still
be added to the classpaths of legacy targets.

Bug: 77307025
Test: boot Pixel 2

Change-Id: Ib14969291319e03f181b9ea4d40096de095137e7
2018-09-12 09:17:01 -07:00
Brandon Lee
5568c19ae1 aidegen: add extra info to collect in module-info.
- add "dependencies" and "srcs" to collect in module-info.mk.
- add "Srcs" in core/base_rules.mk

Bug: 112523202

Test: make out/target/product/generic_x86_64/module-info.json and
      generate out/target/product/generic_x86_64/module-info.json

Change-Id: I0669377b2e5e6b4ee225f1930bda208eff092dea
2018-09-12 17:39:32 +08:00
Treehugger Robot
1c1e258835 Merge "Fix ASAN + product_services" 2018-09-12 09:26:30 +00:00
Dan Willemsen
60b7296d42 Fix ASAN + product_services
Test: SANITIZE_TARGET=address m nothing
Change-Id: I9724169b4cf474b4c963d33263ba52ebfff6efff
2018-09-11 23:11:07 -07:00
Dan Willemsen
5c43a6925a Always define apps_only
Allows dist-for-goals entries to use always use apps_only, without
having to conditionalize on TARGET_BUILD_APPS, or cause errors on full
platform builds.

Test: EMMA_INSTRUMENT=true m dist
Change-Id: Id484ad2a650b8ad49880469f195080ef7fa8c814
2018-09-11 22:47:45 -07:00
Jiyong Park
a52b6e9ba8 fix: linktype for recovery modules in ASAN build is native:platform
When ASAN is on, recovery modules are instaled to
$(OUT_DIR)/target/product/.../data/asan/recovery/root. However, since
this is not under $(TARGET_RECOVERY_OUT), their linktype is incorrectly
determined as native:platform, instead of native:recovery.

To fix this, use get_non_asan_path to have consistent paths when
determining the linktype.

Bug: 115361480
Test: m -j; SANITIZE_TARGET=address m -j

Change-Id: I75edb1fe193d8a1a8099d4f5cf498910ca868d38
2018-09-12 10:05:58 +09:00
Colin Cross
32de5bae88 Merge "Add soong_cc_prebuilt.mk" 2018-09-11 21:51:25 +00:00
Tao Bao
aff024ab6e Merge "Expose libminui related variables as vendor default properties." 2018-09-11 21:33:01 +00:00
Tao Bao
92cc5d2ebe Merge "Support building chained VBMeta images." 2018-09-11 18:27:37 +00:00
Treehugger Robot
d9a58852bd Merge "Enable AVB signing on GSI" 2018-09-11 06:21:21 +00:00
Treehugger Robot
88207d0d65 Merge "Mark more sdk targets as PHONY" 2018-09-11 01:50:02 +00:00
Dan Willemsen
921f581bef Mark more sdk targets as PHONY
These are used in various dist-for-goal targets even if we're not
currently building the sdks, so they always need to be marked with
.PHONY.

Test: m dist
Change-Id: I1e11ae37c6d0fd6ef8a3e293cf7409773c1bf3ab
2018-09-10 15:14:09 -07:00
Colin Cross
8fb525db71 Add soong_cc_prebuilt.mk
Add soong_cc_prebuilt.mk for Soong modules to use so they can avoid
going through all of prebuilt_internal.mk, dynamic_binary.mk and
binary.mk.  Also moves stripping support into Soong.

Relands I8b37dda2b449b6b5d48d5b983f43de452f494a1e with fixes for
builds with GENERATE_BREAKPAD_SYMBOLS=true

Bug: 113936524
Test: m checkbuild
Change-Id: Id41cd76ccb1b5bb6ac43b41ae3e8f1ce46d7ad7e
2018-09-10 14:46:52 -07:00
Colin Cross
5763fd7645 Make manifest_fixer.py keep targetSdkVersion high with LOCAL_MIN_SDK_VERSION
targetSdkVersion should stay as "current" when LOCAL_MIN_SDK_VERSION
is set but LOCAL_SDK_VERSION is not.

Bug: 112438448
Test: atest CtsTelecomTestCases
Change-Id: I72a2dc1073013863f5f8c44f271eace2a4e37a23
2018-09-10 14:41:37 -07:00
Colin Cross
fedcf86936 Fix setting PRIVATE_MIN_SDK_VERSION on fixed_android_manifest
full_android_manifest may or may not be equal to
fixed_android_manifest, set PRIVATE_MIN_SDK_VERSION on
fixed_android_manifest instead.

Test: m checkbuild
Change-Id: I21795317a1334ebed772e781aeefba87392a8478
2018-09-10 14:41:37 -07:00
Colin Cross
be2ae162f7 Merge "Revert "Add soong_cc_prebuilt.mk"" 2018-09-10 21:36:38 +00:00
Colin Cross
635733b816 Revert "Add soong_cc_prebuilt.mk"
This reverts commit 1bb943b97c.

Reason for revert: broke mac builds
Bug: 113936524

Change-Id: I5b3d8eb1314eb322a5f9c578623ac89e2ad25706
2018-09-10 21:35:55 +00:00
Colin Cross
830eed81ab Use build/soong/scripts/strip.sh for Make modules
Replace the complicated rules in Make with calls the same strip.sh
script that Soong uses.

Bug: 113936524
Test: m checkbuild
Change-Id: If7beeb8381b5a9bc6e9ba15d443a834eb43fc0d4
2018-09-10 11:05:32 -07:00
Colin Cross
1bb943b97c Add soong_cc_prebuilt.mk
Add soong_cc_prebuilt.mk for Soong modules to use so they can avoid
going through all of prebuilt_internal.mk, dynamic_binary.mk and
binary.mk.  Also moves stripping support into Soong.

Bug: 113936524
Test: m checkbuild
Change-Id: I8b37dda2b449b6b5d48d5b983f43de452f494a1e
2018-09-10 11:04:05 -07:00
Mathew Inwood
d72c37eb0a Merge "Support for adding dark greylist members from annotations." 2018-09-10 08:25:46 +00:00
Treehugger Robot
860f9d11a8 Merge "Use the new executable for mkuserimg_mke2fs" 2018-09-08 03:50:32 +00:00
Treehugger Robot
9dcc1d04fb Merge "(make) Add -fsanitize= argument to assembly flags." 2018-09-07 17:23:41 +00:00
Mathew Inwood
edb1c84f03 Support for adding dark greylist members from annotations.
Currently, we support maxTargetSdk values of 26 & 28, corresponding to
the P blacklist (existing dark grey list) and upcoming Q blacklist.

For now, just put the two into the same list, as the runtime support to
distinguish between the two does not exist yet.

Bug: 114361293
Test: m
Change-Id: I2f8d206e8dd22afc6c0e98fb5e53b1d78a534125
2018-09-07 16:52:16 +01:00
David Brazdil
5ec2688d71 Merge "Add hidden API public/private list to KATI_RESTAT" 2018-09-07 09:31:37 +00:00
Treehugger Robot
adee0d54d0 Merge "ATest: Change module_name from list to single string." 2018-09-07 07:07:13 +00:00
Treehugger Robot
5a3ddef8da Merge "Remove GCC support from Make" 2018-09-07 02:42:27 +00:00
Tao Bao
744c4c7604 Support building chained VBMeta images.
Bug: 112007947
Test: `m dist` with aosp_taimen-userdebug.
Test: Set up a target that uses chained VBMeta images of
      `vbmeta_mainline` and `vbmeta_vendor`. `m dist` and check the
      build log, as well as outputs from
      `avbtool info_image --image vbmeta.img`,
      `avbtool info_image --image vbmeta_mainline.img`,
      `avbtool info_image --image vbmeta_vendor.img`.
Change-Id: Ib1d4e97f583b65245703eae15d211adcd9e83741
2018-09-06 16:55:51 -07:00
Colin Cross
c47911812d Use vendor variants of Soong header libraries for vendor modules
Mark Soong header libraries with vendor variants as SPLIT_VENDOR
so that Make will use the vendor variant for vendor modules.

Bug: 114238698
Test: m checkbuild
Change-Id: I912ab9f4e19d73a1213d60b9795ee30ca87ef614
2018-09-06 16:25:02 -07:00
Dan Willemsen
f063839de9 Remove GCC support from Make
Test: out/build-aosp_arm64.ninja is the same before/after
Test: build_test on downstream branches
Change-Id: If7f8c12f2f288b1e589689361f9457acae634882
2018-09-06 15:40:00 -07:00
David Brazdil
e3fb5f6d09 Add hidden API public/private list to KATI_RESTAT
Change hidden API public/private list generation build rule so that it
checks if outputs have changed and only commit them when changes have
been made. .KATI_RESTAT instructs ninja to restat the outputs and remove
reverse dependencies when rebuilding dependencies is not needed.

Bug: 113278235
Test: m appcompat
Change-Id: Iad23e302b6c30f9a021200acd4bb20e6062de5a2
2018-09-06 18:00:57 +01:00
Tao Bao
5f99923ef1 Expose libminui related variables as vendor default properties.
TARGET_RECOVERY_DEFAULT_ROTATION, TARGET_RECOVERY_OVERSCAN_PERCENT and
TARGET_RECOVERY_PIXEL_FORMAT are vendor-specific properties used by
libminui. So they are needed by both of recovery and charger modes.

We used to pass them to libminui as build-time flags (pre-Q), and
switched them to runtime properties recently (available to recovery
only). Since /sbin/charger lives on system image, the values should be
still passed as runtime properties, but need to be additionally
available under charger mode, and overridable by vendor-init.

This CL writes these variables as vendor default properties (i.e.
/vendor/default.prop if property_overrides_split_enabled is true,
otherwise into /default.prop). Note that writing them as vendor build
properties doesn't work, as init doesn't load /vendor/build.prop under
charger mode.

Bug: 113567255
Test: Build along with other CLs in the topic (for sepolicy and
      libminui changes). Boot into charger mode.
Test: Boot into recovery. Run graphics test.
Change-Id: Iccc4de0fbff508d489fc93b45c2ecfd0fb96053c
2018-09-06 09:25:22 -07:00
Treehugger Robot
71034e3764 Merge "Adding better AVB error message" 2018-09-06 07:45:34 +00:00
Treehugger Robot
076662d015 Merge "Add care_map_generator as a dependency of BUILT_TARGET_FILES_PACKAGE" 2018-09-06 06:45:28 +00:00
Tao Bao
f2dd520c1c Merge "Map numeric dpi value to density bucket for recovery resources." 2018-09-06 04:05:27 +00:00
Bowgo Tsai
9d28638cfc Enable AVB signing on GSI
In current GSI builds, AVB signing is not allowed.
We should allow signing GSI image, while building a vbmeta.img with
AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED (flag 2).

When need to disable AVB, use the vbmeta.img above together with the
GSI. When need enable AVB on GSI, include the GSI public key into the
device-specific vbmeta.img. Note that GSI is a chain partition so the
keys used to sign GSI and vbmeta.img are different.

Bug: 112293933
Test: build aosp_arm64-userdebug, checks flag 2 is set in vbmeta.img
      and there is AVB HASHTREE in system.img
      `avbtool info_image --image $OUT/system.img`
      `avbtool info_image --image $OUT/vbmeta.img`

Change-Id: If1eff317621882994e7dcbf37cd35f5bfa16b69a
2018-09-06 09:41:42 +08:00
Bowgo Tsai
99ed1b4fbd Adding better AVB error message
Also removing the requirement of BOARD_BOOTIMAGE_PARTITION_SIZE when
BOARD_AVB_ENABLE is set. Some targets (e.g., emulator) doesn't build
boot.img when AVB is enabled.

Bug: 112293933
Test: build a failure case and checks the error output is expected
Change-Id: I290c707719193ddaedcd9fd0b31de566ad17078c
2018-09-06 09:38:45 +08:00
Tianjie Xu
573322279a Use the new executable for mkuserimg_mke2fs
This is in line with the change of mkuserimg_mke2fs.sh to python binary.

Bug: 112555072
Bug: 63866463
Test: unittests pass
Change-Id: I82c0be1e5bbc685edc15120da73aa43fdc9f2f05
2018-09-05 20:52:47 +00:00
Treehugger Robot
48a575c029 Merge "Remove droiddoc.mk from Make!" 2018-09-05 17:48:43 +00:00
Tianjie Xu
19174ba4dc Add care_map_generator as a dependency of BUILT_TARGET_FILES_PACKAGE
This solves the missing host executable when calling
add_img_to_target_files.py.

Bug: 113877667
Test: make target-files-package for aosp_sailfish
Change-Id: I133064ef86a1f9c5b4ec6d27345fb49c61a729e5
2018-09-04 15:33:58 -07:00
Evgenii Stepanov
9b82b3fa34 (make) Add -fsanitize= argument to assembly flags.
It allows use of sanitizer preprocessor macros (like __has_feature())
in assembly files.

Bug: 112438058
Test: SANITIZE_TARGET=hwaddress
Change-Id: If9da7493d69fa2e03649754c38117e36eb8d222c
2018-09-04 14:38:38 -07:00
Nan Zhang
2132fbc7a8 Remove droiddoc.mk from Make!
Test: m -j
Bug: b/70351683, b/78245848
Change-Id: I3348461d742c45d5dae105d26a5c3e8680a08029
2018-09-04 10:54:11 -07:00
Treehugger Robot
0e0ef050f9 Merge "Provisionally increase PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION to 23." 2018-09-03 14:14:37 +00:00
Dan Willemsen
5771e8cbf1 Switch protoc javastream plugin to using explicit path
The previous PATH=$PATH:out/... logic was incorrect, since the version
in $PATH would override the one out. And now that we're limiting what's
accessible via $PATH, that caused an error.

Instead, ensure that all protoc plugins are specified explicitly with
--plugin, then remove the PATH modification.

Test: cd frameworks/base/cmds/am; mma    (with protoc-gen-javastream in $PATH)
Change-Id: I6690727504f67f84fdc95ed93eabdf3351e5cb0b
2018-08-31 15:59:23 -07:00
Treehugger Robot
3536f6abe4 Merge "Fix misleading comment in version_defaults.mk" 2018-08-31 19:46:25 +00:00
David Brazdil
89e35e5ca9 Merge "Encode use of private API in manifest" 2018-08-31 09:59:39 +00:00
Treehugger Robot
b1230b608f Merge "Add super_empty.img to target-files and the update package." 2018-08-31 01:48:10 +00:00
David Anderson
1ef03e2b79 Add super_empty.img to target-files and the update package.
super_empty.img is needed for "fastboot update" to work, as such, it
must be included in the update package. This change adds lpmake
parameters to misc_info.txt for add_img_to_target_files.py, and ensures
that lpmake is packaged with otatools.zip.

The build-superimage-target macro is now split into two functions - one
to generate the device-specific arguments, and another to build the full
command-line for convenience. The former is used to pass arguments
directly to add_img_to_target_files.

Bug: 113524256
Test: make updatepackage builds and includes super_empty.img
      make otatools includes lpmake

Change-Id: I25091c964b036beeea2a8b8f738e2c18937c1eb4
2018-08-30 16:02:23 -07:00
David Brazdil
354cc2dde6 Merge "Adjust build rule for hidden API list generation" 2018-08-30 17:59:02 +00:00