PRODUCT_AAPT2_CFLAGS and PRODUCT_AAPT_FLAGS are only used to pass
--pseudo-localize. The flag doesn't need to be conditional on the
product, because the pseudo locale will be stripped out later if it
is not wanted. Having it conditional on the product causes the
AAPT2-compiled resources to vary between products, which causes
unnecessary rebuilds when swithcing products.
Remove the variables, always add --pseudo-localize, and move
the AAPT2 compiled output to the common intermediates.
Test: m checkbuild
Change-Id: Iacc914114616b5bd19d9a1011802f4f9bca9bc19
So that they can't be generated into src/, which would be added to the
source list automatically.
Bug: 36698184
Test: m telephony-common without this change, pass
Test: m telephony-common without the cleanspec, fail with dup class
Test: m telephony-common with the cleanspec, pass
Change-Id: I7b2fc1847d52ff4a9ba8c69e76123fe152629ef8
Soong renamed intermediate directories from linux_(common|x86|x86_64)...
to linux_glibc_(common|x86|x86_64)..., so remove the old versions to
save space.
Test: Check for old intermediates after applying and running cleanspec
Change-Id: I73ff39014491826224535e1d45c2215669fd19a2
This change will be submitted with other changes moving adbd from
root/sbin to system/bin. We need to copy it specifically to recovery root.
Previously it was copied by rsync $(TARGET_ROOT_OUT) $(TARGET_RECOVERY_OUT).
Bug: 63910933
Test: normal boot sailfish, checks adb works
Test: recovery boot sailfish, checks adb works
Test: normal boot bullhead, checks adb works
Test: recovery boot bullhead, checks adb works
Change-Id: Ib49605f97a190aec2648cb000d1159b6e15db673
Merged-In: Ib49605f97a190aec2648cb000d1159b6e15db673
(cherry picked from commit 3147e7cfab)
Jack is no longer the default java compiler, clean the intermediates
to save space.
Bug: 36902714
Test: manual
Change-Id: I368442c8ad71eb5839c52839f2aa6ca55cf20bdd
This removes versions_checked.mk that caused kati to regenerate the
ninja file 3 times for a clean out directory. Kati needs to regenerate
every time that we write a file that we also read. soong_ui doesn't have
this problem.
Bug: 35970961
Test: m clean; m -j blueprint_tools; m -j blueprint_tools; m -j blueprint_tools
Test: $OUT_DIR/versions_checked.mk no longer exists
Change-Id: I14b67dc275ea3daa77a7315c2985dc73d77fd07c
Soong modules may be split into both /system and /vendor variants.
Ensure that Make libraries link against the correct version based on
whether LOCAL_USE_VNDK is set.
Bug: 36426473
Bug: 36079834
Test: build-aosp_arm64.ninja files are the same before/after
Test: attempt building with BOARD_VNDK_VERSION:=current
Change-Id: I229bc290373743406275f3ca16081eae04c27987
This CL moves the location of ASAN-ified libraries on disk in the
following manner:
/data/lib* --> /data/asan/system/lib*
/data/vendor/* --> /data/asan/vendor/*
There are a couple of advantages to this, including better isolation
from other components, and more transparent linker renaming and
SELinux policies.
Bug: 36574794
Bug: 36674745
Test: m -j40 && SANITIZE_TARGET="address" m -j40 and the device
boots. All sanitized libraries are correctly located in /data/asan/*.
Change-Id: Ic6ba8e43e31df2ea92b85fd60f572823b6883ba2
This reverts commit 842a985f90. It's
causing test failures, warnings and complaints, so backing it out and
we'll resolve those before putting it back in.
This also bundles in the revert of a minor warning/error fixup for this
code, and does the correct thing with the CleanSpec.mk (which can't just
be reverted).
Bug: 33681361
Test: m -j
Change-Id: Ic889ce6a4737a497ad6bf633424ce1860713f7d0
Shared libraries are now installed to different directories depending on
their types.
* NDK libraries: /system/lib/ndk (with symlink from /system/lib)
* VNDK libraries: /system/lib/vndk
* VNDK-ext libraries: /system/lib/vndk-ext
* Framework-only libraries: /system/lib
* Vendor-only libraries: /vendor/lib
* Same-process HALs: /vendor/lib/sameprocess
However, if LOCAL_MODULE_PATH is explicitly set, then it is respected,
with a warning message. Module owners are highly encouraged to
investigate the warnings and use alternatives to LOCAL_MODULE_PATH;
combination of LOCAL_[PROPRIETARY|OEM|ODM]_MODULE, LOCAL_MODULE_CLASS
and LOCAL_RELATIVE_PATH will cover most of the cases.
Furthermore, for each shared libraries whose path is changed, a symolic
link from the original path to the new path is *temporarily* generated.
e.g. /system/lib/libbase.so -> vndk/libbase.so. This is
to prevent sudden breakage of the code expecting the lib from the old
path. This symbolic links will eventually be removed before O launch
(b/34917183).
Finally, BOARD_SAME_PROCESS_HAL_DEPS is added. It contains the list of
shared libraries implementing the same-process HALs and its internal sub
libraries. This is designed to be defined in BoardConfig.mk
Bug: 33681361
Test: build & run. Libraries must be in the correct directories.
Symlinks from the old path to the new path must exist.
Change-Id: I46130aac09ae65400fd4d0abbc2e12dddd154fb1
The init.rc path selection uses the same partition_tag detection to
select an installation partition. So make sure that we always set
partition_tag even if we've been given an explicit module path.
Bug: 35314904
Test: set proprietary: true to Soong module with an init rc, verify
that was the only change to build-aosp_arm64.ninja
Change-Id: Ic6ffd7a5177959db96a34a24896b242ee5b09e41
Fix an issue with incremental builds and the new common
testcase directories.
Bug: None
Test: Removed https://android-review.googlesource.com/#/c/234478/
then ran `m cts-platform-version-check` then reapplied the
change to verify the failure. Then applied this new change
to verify the problem was resolved.
Change-Id: I77529021e852af35571fb99537d87100010b47af
When we removed the src/ directory, the R.stamp file was removed -- with
AAPT, this triggers src/android/Manifest.java to be regenerated. But
AAPT2 only uses the R.stamp file as a timestamp to find the
Manifest.java file, not to create it.
So add a new CleanSpec.mk to fix the builds by removing the target that
AAPT2 uses to generate the src/android/Manifest.java file.
Test: None
Change-Id: If56f326ad701f7f92aa7c8aeda57e92d9c62cff9
Just move the proto and renderscript sources into their own directories
-- the entire directory is wiped if the file list changes since the
command line will change. So we can just enable/disable pulling sources
from those directories based on whether there were files in the list or
not.
Bug: 30947985
Test: m -j java
Test: Remove a proto file from a java lib, ensure the generated source
is not included.
Change-Id: If7529979de6fa62a651933a3a974f47b033851d6
There are no users left, so remove all of this.
Test: lunch aosp_arm-eng; m -j native
Test: build/tools/kati_all_products.sh on aosp and internal master
Change-Id: I32f5c8b470a43dd203d7e20c192167630e4e6888
This workaround to clean package intermediates is no longer necessary,
as ninja reruns commands whose command line changes.
Test: switch between product overlays that use add-resource, verify
R.java is regenerated.
Change-Id: Icb1f76360e39882e4401180414a031956777b020
For AB devices, support flashing two system partitions for factory use.
The normal system image on one partition, but without dex preopt. And a
system_other image that just contains the odex files. The dex files will
not be stripped out of the system image, in case the second system
partition is wiped.
Setting BOARD_USES_SYSTEM_OTHER_ODEX := true in the BoardConfig.mk
enables this behavior.
One can control which directories are placed in system_other by the
SYSTEM_OTHER_ODEX_FILTER configuration variable. Currently we default
to only copying only app and priv-app odexs.
Bug: 29278988
Change-Id: I7f4e87da919e7dc6a89fd8c668193cd4e98631bc
Incremental build going across CL in [1] needs to remove the old
symlink to avoid hitting mkdir error.
[1]: commit 3f56a33041
Change-Id: Iff62ed55eb2782ba3e1e9b6de39a691de2427384
This is a BCP-47 language tag representing the default locale for a
given device. Support for the earlier mechanism of supplying a language
and region via ro.product.locale.region/language has been removed. This
change also removes support for supplying these properties via
PRODUCT_ADDITIONAL_PROPERTY_OVERRIDES. Devices that need to override
this should either rearrange their PRODUCT_LANGUAGES or supply a custom
.prop file.
bug: 17691569
Change-Id: I00c74098542b49b9c514a6ca39ea8d08179546c1
There are a _lot_ of users of `typeof` in the tree, and they'll need a
GNU flavored standard. Rather than fixing up all of these
individually, let's just use gnu++11 as the default.
Bug: 18466763
Change-Id: Ia1bd3adaa74fadba259fda3d37653fb8d5cff69a