The docs zips were being built for make docs dist but not for
make docs. Add them to ALL_DOCS and to the $(LOCAL_MODULE)
phony rule.
Bug: 123068677
Test: m docs
Test: m ds-docs
Change-Id: I32634c05e392f7a5483c81d59de35ca9bc4d4ad0
These two places are checking for ifdef(SANITIZE_TARGET) but what
they are really looking for is the second stage of ASan build.
Fix the checks so that they do not apply to HWASan.
I have not seen any change in behavior, but there are some new files
under /system in hwasan build that were not there before, and things
keep working in general, so this feels like the right move.
Bug: 112438058
Test: none; SANITIZE_TARGET=hwaddress keeps working
Change-Id: I4544f408263b908be6ef4a47dd2b5c937e0c1f33
These centralize the decisions on whether to build certain images or
not, and allow the product definition to override that choice.
There are a few use cases here:
* For GSI-like cases, we only want to build the system image. This
didn't really change, but it's somewhat simpler to configure, and
easier to understand the build logic.
* On the opposite side, when you're planning on using a GSI, the device
specific build can only build the vendor images (or some other set).
* Some cases (Fuchsia, etc) don't want to build any images, as they'll
be distributing the build artifacts in their own packaging.
I suspect in the future, TARGET_BUILD_APPS may be able to be refactored
into the third use case.
Test: treehugger
Test: Create a product definition that includes nothing, try to build it.
Test: compare build-aosp_crosshatch.ninja and build-crosshatch.ninja before/after
Change-Id: I685ab841be3718d3dd7052c28ccd764bb6f1991a
Recent move of hiddenapi rules to soong sets the dependencies of
the hiddenapi_flags.csv rule in dex_preopt.mk but doesn't check
for existence of "frameworks/base" as the hiddenapi-generate-csv
rule in frameworks/base. Solve this by removing the dependency
injection and using the SOONG_HIDDENAPI_FLAGS variable directly
in frameworks/base.
This is necessary because go/art-build creates a fake
hiddenapi_flags.csv and if there is a dependency injection rule,
a phony target is created and all dependencies of flags.csv need
to be satisfied.
Test: master-art compiles
Change-Id: I13ef5e7ec167f9372a5629fe1894c7acd4091d29
Define non_system_module in base_rules.mk when the module is product, vendor,
product_services or proprietary module.
Bug: 74699609
Test: m -j
Change-Id: Iebdd3ec8c643be3d9877b7a96cbdd83465fa3878
So that we can pass this into MAINDEXCLASSES.
Fixes: 122988865
Test: OUT_DIR=$HOME/out mmma frameworks/base/core/tests/hosttests/test-apps
Change-Id: I955d3de46d348e3573a6773f69149e7cabab8904
The strip rule does not need to wait for the boot image to finish,
create a separate DEXPREOPT_STRIP_DEPS list that only contains
tools used by GenerateStripRule in build/soong/dexpreopt/dexpreopt.go.
Bug: 123038675
Test: m checkbuild
Change-Id: I0814c8d99781533f5778e14547d3e9671e06317f
Perform hiddenapi CSV generation and dex encoding for Soong modules
in Soong. This fixes an issue where dexpreopting was happening on
a different jar than was being installed.
Bug: 122856783
Test: m checkbuild
Change-Id: I24a235c63ff62fed7e1af9f2fd17e55b0c1598a5
Simplify importing Soong modules into Make by always copying
LOCAL_PREBUILT_MODULE_FILE to LOCAL_BUILT_MODULE, which lets
Soong pick the final output file instead of trying to figure
out which of the various intermediate files should be the
output file.
Also fixes an issue where hostdex modules could attempt to
copy to both $(common_javalib.jar) and $(LOCAL_BUILT_MODULE),
which are the same file for host java modules.
Test: set compile_dex:true on core.platform.api.stubs. no warnings
of target overriding
Test: m checkbuild
Change-Id: I2e089012436fe8649db82a673d446d1c5a73a731
The impl lib name of java_sdk_library is changed to {module_name}.jar
instead of {module_name}.impl.jar
Bug: 110404779
Test: m -j
Change-Id: I275cd40e3682640b96425e56698cea770888cbb1
Merged-In: I275cd40e3682640b96425e56698cea770888cbb1
(cherry picked from commit 0372f189ac)
Appcompat runs for app defined in Android.mk, but not in Android.bp
So make appcompat run for app from soong(Android.bp)
Bug: 110073830
Bug: 122026042
Test: m out/target/product/$(get_build_var TARGET_DEVICE)/appcompat.zip
Change-Id: I73832410ec5850222b04086c2a377146886ba035
This enables execute-only memory (XOM) layouts to be used by default in
the build system. As of now, there's only support for ARM64 devices, so
this only affects those. Since userland XOM requires kernel support,
devices without the necessary support will continue to allow pages
marked execute-only to be read and they should be unaffected by this.
Bug: 77958880
Test: Device with and without kernel support boot.
Test: Binary throws segfault when reading from XOM on supported device.
Test: Debugger works and stack traces are still generated correctly.
Test: Teamfooding, stable during regular usage.
Change-Id: I8db4235c8e60eea6d701bdf3c43b79a06d6b01cd
Simplify importing Soong modules into Make by always copying
LOCAL_PREBUILT_MODULE_FILE to LOCAL_BUILT_MODULE, which lets
Soong pick the final output file instead of trying to figure
out which of the various intermediate files should be the
output file.
Also fixes an issue where hostdex modules could attempt to
copy to both $(common_javalib.jar) and $(LOCAL_BUILT_MODULE),
which are the same file for host java modules.
Test: set compile_dex:true on core.platform.api.stubs. no warnings
of target overriding
Test: m checkbuild
Change-Id: Id84d499a0869961be5a906d8472b75b9c843b4b4
This way if a BoardConfig.mk configures a specific image to exist (so it
doesn't end up as a folder on /system), but does not configure for it to
be created (like the device targets on AOSP that use a prebuilt), we
won't unnecessarily trigger the build system to build the contents.
Test: `m` before and after, comparing file lists
Test: check treehugger builds before/after
Change-Id: If0e4b958b3dfaa02771a5da70f970379635f904e
toybox xargs doesnt have --no-run-if-empty:
xargs: Unknown option no-run-if-empty (see "xargs --help")
But we shouldn't need it anyway.
Test: make -j32 showcommands dist TARGET_BUILD_APPS='Launcher3 Launcher3Tests' EMMA_INSTRUMENT_STATIC=true TARGET_BUILD_VARIANT=userdebug
Change-Id: I72f680c27b58a42b9fb9de1a0bc4187cabcfb516
Only dex jars should be installed, make it an error to not provide
a dex jar for an device installable java module.
Bug: 122831369
Test: m checkbuild
Change-Id: I99c5738e6053fbaa3dd22406f50b7a002555702c
The old code calls check-sum-of-partition-sizes within a foreach
loop, causing syntax error:
... fi partition_size_list=...
Add a semicolon after fi to fix this.
Test: build with multiple groups, each group with a partition in it
Change-Id: Ic4387408f3efc1744871619c300546765c678a61
This reverts commit 3387e65686.
Reason for revert: Topic likely causing build failure on aosp_x86_64-eng in aosp_master:
"build/make/core/base_rules.mk:271: error: art/build/apex: MODULE.TARGET.SHARED_LIBRARIES.com.android.runtime.host.libart-compiler already defined by art/build/apex."
Change-Id: I2033828e7a13062b72d1d66a7f289cf5bb12b776