Previously, the "sdk" target was a minimal lunch target that only
included enough to build the sdk. But the "sdk_<arch>" targets
redirected to the "sdk_phone_<arch>" targets, which are much bigger
and capable of building a whole emulator.
Building the sdk on products that can build a whole device complicates
the rest of the build system (for example, it starts enforcing dexpropt
works)
Bug: 290798660
Test: m sdk dist sdk_repo device-tests platform_tests on sdk_x86_64-userdebug
Change-Id: I76f38cf19172a5f5fae423175d5e03670137a0df
Revert submission 2685589-revert-2651299-bazel_sandwich-TVXWOASJNU
Reason for revert: It was not the cause of b/293883239
Reverted changes: /q/submissionid:2685589-revert-2651299-bazel_sandwich-TVXWOASJNU
Change-Id: I98ca2be7490a4e38d35e4e640a0d027711b67030
Revert submission 2651299-bazel_sandwich
Reason for revert: b/293883239, checking if this breaks the build.
Reverted changes: /q/submissionid:2651299-bazel_sandwich
Change-Id: I40661772148434adf5fbec9568b4c303ff7eaf1c
Instead of checking, then copying the fragments into the out directory,
we pass in the output file and let assemble_vintf create the output
file.
Test: m
Bug: 290265210
Change-Id: I65c2ee826de73b805b48dc95f20c2405250587f8
This stamp file is an alias to request that the system staging directory
be built. The bazel sandwich cannot know the full list of files in the
staging directory at analysis time, so it will just depend on this
instead, and then find all the files in the staging dir at execution
time.
Bug: 265127181
Test: m bazel_sandwich
Change-Id: Iee3dff4f77c9e7054b4e8297e5d96b4ef8bf1cbb
For arm archs, PRODUCT_MAX_PAGE_SIZE_SUPPORTED values can be 4096, 16384, 65536.
For other archs, PRODUCT_MAX_PAGE_SIZE_SUPPORTED can only be 4096.
Note: The linker flag max-page-size is configured by PRODUCT_MAX_PAGE_SIZE_SUPPORTED flag.
Bug: 289419664
Test: source build/envsetup.sh
lunch aosp_cf_x86_64_phone
build/make/core/config.mk:448: error: TARGET_MAX_PAGE_SIZE_SUPPORTED=65536 is greater than 4096. Only supported in ARM arch.
source build/envsetup.sh
lunch aosp_raven_64-userdebug
Change-Id: I887d6f12835f1bea4c6b92d7d836440b8d3fd6a8
Check BOARD_AVB_$(call to-upper,$(partition))_KEY_PATH to decide whether custom_image should sign AVB or not. If key path isn't set, the custom image will be excluded from AVB and copied to /IMAGES in target-files directly. This allows vendor to use custom_images flow packing unsigned image.
And to every non-avb custom partition, one image whose name is partition name must be added in its BOARD_<CUSTOM_PARTITION>_IMAGE_LIST.
BOARD_CUSTOMIMAGES_PARTITION_LIST := tvconfig
BOARD_TVCONFIG_IMAGE_LIST := \
device/xxxx/yyyy/tvconfig.img \
device/xxxx/yyyy/tvconfig_custom1.img
Test:
1) Build image, target-files, OTA package by m and m dist
2) Sign images by sign_target_files_apk.py
Fix: 285227850
Change-Id: I7477dafe023e4b168f0f08fb7aedd9e511a60e1b
Soong is improving resource handling by not squashing resources from
all dependencies into every android_library. This causes problems
when the android_library is exported to Make, as Make is still using
the old squashing behavior.
Add a file to every static java library that lists the resource packages
of its transitive dependencies. For modules defined in Andorid.mk files
leave the file empty, but for Soong modules populate it with the list
of transtiive dependencies. Pass the contents all of the files from
direct dependencies to aapt2 link to include any transitive dependencies.
Bug: 284023594
Test: m Dialer
Change-Id: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf
Merged-In: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf
When .(dot) file/dir is added to the rootdir, it works with normal `m
systemimage` build, but fails when building the images with target
files because the copy command misses .(dot) files.
When packaging, need to copy the whole content from the src directory.
This also matches the condition `ls -A` (which means, we care about dot
files as well).
Bug: 292438323
Test: m dist (aosp_cf_x86_64_phone-userdebug)
Change-Id: Ib3f555305c915d499448c2064e5639a641b2ddb7
The new boolean flag will be PRODUCT_PAGE_SIZE_AGNOSTIC.
When PRODUCT_PAGE_SIZE_AGNOSTIC is true:
- AOSP will use getpagesize() to retrieve the page size.
- The flag `TARGET_MAX_PAGE_SIZE_SUPPORTED` has to be equals to `65536`.
- AOSP will be able to use 4k/16k page size Linux kernels
When PRODUCT_PAGE_SIZE_AGNOSTIC is false:
- AOSP will only support 4k page size kernels.
Test: source build/envsetup.sh
lunch aosp_raven_64-userdebug
get_build_var TARGET_PAGE_SIZE_AGNOSTIC
get_build_var PRODUCT_MAX_PAGE_SIZE_SUPPORTED
65536
source build/envsetup.sh
lunch aosp_raven_64-userdebug
build/make/core/config.mk:414: error: TARGET_MAX_PAGE_SIZE_SUPPORTED has to be 65536 to support page size agnostic.
10:32:55 dumpvars failed with: exit status 1
Bug: 289419664
Change-Id: If8fc243a3e2cad77414a53a29805c7b6d349d4dd
Some build broken flags are for cross-cutting features rather than
board-specific. In order to support these without requiring broad
changes across many board configs, these can be set in a buildspec.mk
files.
Test: set build_broken flags in environment, get expected fail
Test: set build_broken flags in buildspec, get expected success
Change-Id: I8a74c30575f6bf40e46281ca5f37f3cfed526ec5
This comes from a trunk stable build flag `RELEASE_AIDL_USE_UNFROZEN`
and is used by the AIDL compiler when creating build rules for the
generated AIDL libraries.
Test: m
Bug: 290265210
Change-Id: I9161a3262d6b2ef8792e8c0b8a759da9a540c560
For the OTA build, target_files.zip requires setting fixed timestamp
for images. However, it caused regression on 'adb sync'.
Restoring image build process for target_files.zip instead of copying
them from the PRODUCT_OUT, only the images in target_files.zip set the
fixed timestamp.
By setting COPY_IMAGES_FOR_TARGET_FILES_ZIP flag, we still may copy
the images for target_files.zip for future use.
Bug: 287534409
Test: m; flashall; adb sync
Test: m dist; flash images from target_files.zip and check the timestamp
Change-Id: I4135eb721c33581f191621847e6595833263d707
Add a new flag variable for deprecating VNDK. This variable should be
passed to Soong, so it can change behavior based on the flag.
Bug: 290157355
Test: build succeeded with KEEP_VNDK=false
Change-Id: I3a9d1041411ad24ff42f76506a8f929e364b868d
* changes:
Do not install required modules from order-only deps
Install vintf_fragments/init_rc along with targets
Install vintf_fragments even when they are shared
Master branch has been renamed to main, the build id needs to reflect
this change.
Ignore-AOSP-First: Merge conflict resolutions
Bug: 290400015
Change-Id: I77884da7587fecae362f9c82fee9f45ff9878cc0
Merged-In: Ieb8b84d340f2308255ad2f23e5ac23635fb680de
Merged-In: Ife1860b73bc83d32a61817d5a9fe25c2deb1e37d
Merged-In: I132433a625848a210603a2e0ad102c12435b3ba4
Merged-In: I740ef3225c4c291ef7313d3ff1fe5d78389497f5
metalava no longer prints an ASCII banner, and has removed its
--no-banner argument. Update all call sites accordingly.
Test: presubmit
Bug: 286023667
Change-Id: I0159cad6571c62d672da5aeb3ff422abb97c7ac9
This change allows ARC to define ARC-specific system properties in
Android build without changing these property definitions for other
Android builds. Please see go/arc-sigprop-changes and
go/arc-android-sigprop-sync for additional details.
Bug: 195609932
Test: built bertha_x86_64 with forward declarations
Change-Id: I22bd9d60c2491506fe5c633dbbb9e7516f529b35
When a vintf_fragments or init_rc file is shared by two modules,
unintended modules are installed due to the shared file.
This was caused by add-all-target-to-target-required-modules-deps.
With the following definitions:
cc_binary {
name: "foo",
vintf_fragments: ["shared.xml"],
required: ["foo-req"],
}
cc_binary {
name: "bar",
vintf_fragments: ["shared.xml"],
}
When installing "bar", surprisingly, "foo-req" is installed due to the
link between "shared.xml" and "foo-req" added by
add-all-target-to-target-required-modules-deps.
To fix that, in this change, vintf_fragments and init_rc files are
marked as "order-only" deps. In
add-all-target-to-target-required-modules-deps, order-only deps are not
used to add links to "required" modules.
Now, with the same definitions, installing "bar" won't installs
"foo-req".
Bug: 198818343
Test: (see above)
Change-Id: I16be0dcb84564c559cb2f4223e2812321ee14729
Even though `m foo` installs vintf_fragments and init_rc files. There
was no direct dependency from the installed target to
vintf_fragments/init_rc files.
With the following:
cc_binary {
name: "foo",
vintf_fragments: ["foo.xml"]
}
`m out/target/product/vsoc_x86_64/system/bin/foo` didn't install
foo.xml.
This change adds the order-only deps from the target install to
vintf_fragments/init_fc files.
Bug: 198818343
Test: (see above)
Change-Id: I4656d43d15407a85fea7c95b22e4bbe19fb86aee
Vintf_fragments should be installed regardless when they are shared with
other modules or not.
cc_binary {
name: "foo",
vintf_fragments: ["shared.xml"],
}
cc_binary {
name: "bar",
vintf_fragments: ["shared.xml"],
}
Either `m bar` or `m foo` should install `shared.xml`.
Previously, only *new* vintf_fragments were installed, which means, one
of "foo" or "bar" didn't trigger the installation of "shared.xml".
Bug: 198818343
Test: (see above)
Change-Id: I52b831df046b585db41449f06a6f9c684d623468
vendor_boot is unrelated to this conditional. Moving it out so that this
instruction will be added on devices which don't have this set
Test: lunch db845c-userdebug, m fastboot_info
Change-Id: I34ad24d4f32d727f0f82749ed13c3de08566e880
When a kernel module archive is specified via
BOARD_*_KERNEL_MODULES_ARCHIVE an unquoted wildcard pattern in the
'find' command used to find modules to add to modules.load can result
in a build failure due to shell expansion. Fix this by quoting the
pattern so that kernel modules in $ANDROID_BUILD_TOP don't cause
unexpected build failures.
Bug: 289887845
Test: Define BOARD_VENDOR_KERNEL_MODULES_ARCHIVE for
aosp_cf_x86_64_phone, touch foo.ko &&
lunch aosp_cf_x86_64_phone-userdebug && m succeeds.
Change-Id: I8122afc6bbbb5df6e3b11922b2be38129addeda0
Signed-off-by: Rashid Zaman <rashidz@meta.com>
Bug: 221048336
Test: combined with the other CL in same topic, observed recovery
brightness updated correctly according to variables set in BoardConfig.
Change-Id: Iebad0753079414a5e11bce04008ee405c8d03580
Running dupcheck.sh after a build on an image performs two checks:
* Check for duplicate shared libraries by MD5.
* Check for possible duplicate shared libraries by comparing .note
and .text ELF sections.
This helps looking for unnecessary file duplication in the final images.
Test: after running the script, reports will be generated in the 'out'
directory.
Change-Id: I91c044a52002557fdc8dc65bfc9fd5f313ca00f3
It's used by other tools like check_target_files_vintf and
merge_target_files.
Bug: 289274238
Test: m otatools-package # see if otatools.zip has apexd_host
Change-Id: Ie2e939b00846d5f0a5d81b26f39ac11ff08ff383
Similar to aosp/2637193, but for apps defined in Makefile.
Bug: 288218403
Test: m
Test: Change PRODUCT_PACKAGES and see no dexpreopt reruns.
Change-Id: If0ecbb2d210a780c56ea506bb8d3363e1bd91f58
Host-side simulation of APEX activation is done by a new tool
'apexd_host'. This simplies checkvintf invocation for local builds and
for target-files.
For local builds, checkvintf no londer depends on $OUT/apex, a flattened
view of APEXes. In fact, the build system doesn't need to install
$OUT/apex. They are installed for now only for its side-effect of
installing symbol files. We'd better not rely on $OUT/apex.
For target-files, scanning/activating apexes are extracted and moved to
the new tool. Now check_target_files_vintf is not more efficient because
it doesn't copy .apex files to a temporary directory.
Bug: 260358957
Bug: 288826922
Test: m (running checkvintf) # for local builds
Test: m target-files-package && check_garget_files_vintf target-files.zip
Test: atest releasetools_test
Change-Id: Iba23f429d96f9ec31814196aa14bdbb800649218
Now that we have manifest fragements in system_ext, we need to tell
libvintf about them.
Test: lunch aosp_bramble-userdebug && m
Bug: 218588089
Change-Id: Iae56d3b8c790fa1d12321f8c3446a04a0ea816d5
This reverts commit 7c4f064a2b.
Reason for revert: this caused some CI breakages on git_master, mainline_modules_xxxx
Change-Id: I95354db66991f6c257164d6f808b9fe4350673c1
GNU make bits for https://android-review.git.corp.google.com/c/platform/build/soong/+/2625692.
Bug: N/A
Test: Build {libc, libm, libc++, libm, and libnetd} in internal master
with these patches and an experimental compiler with the lld support.
Also, `SANITIZE_TARGET=memtag_globals m` here with in-tree compiler
without lld support.
Change-Id: I44c239ba907a90a355c46e12afbbbe96bb2e4426
Bug: 285303012
Test: for x in next trunk trunk_food trunk_staging ; do lunch aosp_panther-$x-eng ; m nothing ; done
Change-Id: I174ce3e609fa9077ea6bc61679ddb83e8efe57c8