History log of /build/core/product.mk
Revision Date Author Comments
bb5454b6db5770f0b0275424148b2d7d3c52a56d 28-Jun-2016 Andreas Gampe <agampe@google.com> Build: Add module-level product configuration of sanitization

To allow special sanitizer settings for modules shared between
products, add product-specific module settings.

This was copied from the product-specific dexopt settings.

Bug: 29498013
Change-Id: I17a96b975bb6ac7f4ffb3d5b08e2f00b21bd97a1
81ee18670d9c0745aabc2453e049142269504e2d 27-May-2016 Gustav Sennton <gsennton@google.com> Add variable PRODUCT_SHIPPING_API_LEVEL.

PRODUCT_SHIPPING_API_LEVEL declares which API level a device first
shipped with.

We use this variable to set a read-only property that can be used in
CTS/GTS tests.

Bug: 26381401
Change-Id: I9dfeaf423146c35f57e69ac26c27e8a9e205bc4f
1868a601b766a2c6a7a35e232ab7e0d6f025744e 23-Apr-2016 Mohamad Ayyash <mkayyash@google.com> Rename incr ext4 base_fs path vars. Add to product_var_list.

BUG: 27698960
Change-Id: I4624f782846ee54525d0ac29b866a04c0d67aa40
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
7dfdb843b25b4ef04c47b148e0095f292eceacd4 04-Mar-2016 Ying Wang <wangying@google.com> Speed up lunch/tapas/etc. shell utility functions.

1. Combined ~10 calls to the make build system to only one.
We added a phony target "dump-many-vars" to the build system to dump
"<var>=<value>" pairs. We then store the pairs as shell variables.
With this cache get_build_var/get_abs_build_var can just return
the shell variables instead of querying the build system.
2. Prune .git when we search for AndroidProduct.mks.

In internal source tree lunch time was reduced from ~15s to ~1.5s.

Bug: 27429759

(cherry picked from commit 08800fd905e70faf01d9392d00ff3f49d99097b7)

Change-Id: I862a0ec3c1aae97c552054dacec133e857042edf
c13f9c952dafb5a59ce5ae039a599e83a9622b83 07-Oct-2015 Will Drewry <drewry@google.com> envsetup,product,ninja: enable symlink traversal

When searching device, product, or hardware, allow
find to follow symlinks.

Add KATI_EMULATE_FIND=false to allow disabling the find
emulator which changes findleaves.py behavior wrt
symlinks.

BUG=24605247
TEST=works with CL:783781 (without the find wrapper in that CL)

Change-Id: Ia9d0e4add391a56f34828a09a6cec3f435ccc548
455f6f458df5814e841e176eef51df112df3bc23 20-Aug-2015 Lee Campbell <leecam@google.com> build: Add support for defining products in /product

The build will now search for AndroidProducts.mk in /product

BUG: 22030305

Change-Id: I2d067d95d0c8dc1341a55167f9ac7f6926e04ce3
a17426104219f3c06244f92d73b6c938949d0fe3 28-Oct-2015 Ying Wang <wangying@google.com> Normalize the product makefile path in inherit-product.

Some vendor product makefiles call $(inherit-product) on the same
product makefile with different paths, by using "../" in relative paths.
However inherit-product requires unique path as ID for a product
makefile, for bookkeeping purpose.
Normalize the product makefile path in inherit-product, if the path
contains "../".

Change-Id: I1a864ce120c713d8e79ec179213b9fc9352aba53
f99b53143d3a25bf157ac32a8fe80378ab57d7a8 20-May-2015 Sami Tolvanen <samitolvanen@google.com> Error correction: Append codes to verified partitions

Append error-correcting codes to verified partitions provided that
PRODUCT_SUPPORTS_VERITY_FEC is true.

This moves verity metadata to be after the hash tree, and requires
matching changes from
Ide48f581bbba77aed6132f77b309db71630d81ed

Bug: 21893453
Change-Id: I6945cbab99e214566a1f9d3702333f2dbbc35816
7c3e3f8314eec2c053012dd97d2ae649ebeb5653 30-Sep-2015 Dan Willemsen <dwillemsen@google.com> Sort more instances of wildcard and find

Many of these may not make a difference in the output images, but it's a
good idea to keep the make system as repeatable as possible.

Change-Id: I31804b8ad5805148ed08be7426a242a16f4d0df3
2df35aea439ea01507a6c97c64820db563539c7e 24-Aug-2015 Tom Cherry <tomcherry@google.com> remove TARGET_PROVIDES_INIT_RC

Change-Id: I765b80d48333f54fb995e4ccfd77d38683c6cbb9
e8c212235fc4a83a20cb9bd25f17897a75b15440 07-Aug-2015 Furquan Shaikh <furquan@google.com> vboot_signer: Add kernel subkey required for signing kernel keyblock

Currently, the keyblock was being generated using
data_key.vbprivk. However, we need to use kernel_subkey.vbprivk for
kernel keyblock generation. This did not create any issues until now
because dev-mode just throws a message saying that keyblock is
invalid. But, normal-mode does not boot if keyblock is
invalid. Add extra parameter for passing in kernel subkey to
vboot_signer script.

TEST="make bootimage-nodeps" generates correctly signed
boot.img. Verified that the image boots fine in normal mode.

Change-Id: I0fc2183b466e34ddf1d98c9532072548504fcec4
Signed-off-by: Furquan Shaikh <furquan@google.com>
cade49ddee44287d1bd5e9688558daf8912f0f9b 03-Mar-2015 Mohamad Ayyash <mkayyash@google.com> Allow flashing a squashfs system image

Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
d1600411495c0bd52dd0f3809ed6bf0d6faca349 11-Jun-2015 Dan Albert <danalbert@google.com> Force some clang Werrors that *will* break things.

Clang is really aggressive at optimizing a handful of cases (read:
clang will ruin your day some if you write bad code). Fortunately, it
also emits a warning when it's about to do this.

To prevent anyone from suffering from these optimizations, make these
warnings errors and make them impossible to disable.

Change-Id: I5e10bb0fc2ca23190017da716b3b84635577a0bd
4eb120b999032601d93c1d381d9cf883dc67ed90 20-Apr-2015 Dmitriy Ivanov <dimitry@google.com> Remove unsupported *_COMPRESS_MODULE_SYMBOLS

Change-Id: Ibb7da2997a0bb5b9f435213c9d3206bc4aad18db
8b3f08bc7b9870c8c43c7c5bb39f343eaa25d6aa 07-Apr-2015 Sami Tolvanen <samitolvanen@google.com> Separate boot and recovery image signing from dm-verity

Allow dm-verity to be enabled without boot and recovery images being
signed. This makes it possible to enable only dm-verity to detect
corruption without confusing bootloaders that do not understand signed
images.

Bug: 19985143
Change-Id: Ie52c6ff595faa7a5c1f1bc1b37f6899c4d0c7001
17be3d3921d273bed31cfc4098d76b7462b085b4 03-Mar-2015 David Riley <davidriley@google.com> Add support to sign boot images with vboot.

Change-Id: I924468fe06f7d38d4fc49c2ae9dfee734fd58867
Signed-off-by: David Riley <davidriley@google.com>
(cherry picked from commit 14fb7236c1942a9f5050b3e608a0f5f4cd1cae1d)
b97746ef09420b639273553206f96585b0d0adaa 03-Mar-2015 Mohamad Ayyash <mkayyash@google.com> Allow flashing a squashfs system image

Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
68946958193d6dbe540544a0669373d2acd95a35 03-Mar-2015 Mohamad Ayyash <mkayyash@google.com> Allow flashing a squashfs system image

Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
0c91fa84ff8e5f29dbe3a492fc7898eb1eb63b2a 21-Feb-2015 Dan Albert <danalbert@google.com> Make some warnings impossible to override.

These CFLAGS and CPPFLAGS will always be added last, and are
controlled by the build system. This way we can add warnings that
users are not allowed to disable.

Change-Id: Id71f69249078f62ca2687ecbf764aff0fd3a1c1b
14cc23d4337c92fd09fa85cee536ca96eb41dd2a 04-Feb-2015 Ying Wang <wangying@google.com> Remove support of factory ramdisk/bundle.

Bug: 18779515
Change-Id: Ia6d51d43965447e2e95944a7d2b4b41adb121cb7
25b8bb378f7fb5a41e82d6282409d45ef4cf46be 05-Jan-2015 Brian Carlstrom <bdc@google.com> Remove unused PRODUCT_TAGS

Bug: 18895001
Change-Id: I2bbb1c04880218eaa06c1eff92280c636260f9ae
d54520a667e3bd5c9f2abe98573a5de83bcf4872 08-Dec-2014 Ying Wang <wangying@google.com> Remove libdvm support from the core build system.

Now libart is the only supported runtime and
we don't need the build variables PRODUCT_RUNTIMES and
DALVIK_VM_LIB.

Bug: 18465297
Change-Id: Ibfda931cde0649163d79b584fb5ccad927a9bc2b
2bc19019e5e4801fe7743e30745c9b183ff3d839 16-Dec-2014 Brian Carlstrom <bdc@google.com> Remove obsolete PRODUCT_DEX_PREOPT_.*_IN_DATA

Bug: 18673991
Change-Id: I64261ef6a37df92eeef8552b8fd0a67157e4a034
60686586a5f9c8f78b9ad16e19782da85e89a760 10-Dec-2014 Ying Wang <wangying@google.com> Add product variable PRODUCT_AAPT_PREBUILT_DPI

We use search LOCAL_DPI_VARIANTS in the list of
"$(PRODUCT_AAPT_PREF_CONFIG) $(PRODUCT_AAPT_PREBUILT_DPI)"
and the first takes precedence.
That way if we don't have a best match, we fall back to the second best,
the way how it worked with PRODUCT_AAPT_CONFIG previously.

Bug: 18388705
Change-Id: I8bd646c52215c65cc6e38c728857af9b64d13469
3da4f32794e00dbfb798feba69bb05b0a9e07b78 21-Nov-2014 Serban Constantinescu <serban.constantinescu@arm.com> Remove TARGET_CPU_SMP.

There are no more users of TARGET_CPU_SMP in the current codebase.
Expert users should set "-smp" in DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES
for targets that run on a single-core CPU.

Change-Id: Ib94865f05a92c9a4622540cebc18ded4bdfa6363
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
0a7fcb00abc2887e5fdd9718c85957f2b4556c8e 08-Oct-2014 Ying Wang <wangying@google.com> Introduce per-product per-module dex-preopt config

- Added LOCAL_DEX_PREOPT_FLAGS to pass extra flags to dex2oat.
- Added macro add-product-dex-preopt-module-config to specify almost
arbitrary dex-preopt config/flags to modules in product
configuration:
$(call \
add-product-dex-preopt-module-config,<module_name_list>,<config_or_flags>)
How <config_or_flags> is interpreted is decided by
dex_preopt_odex_install.mk and dex2oat. For now if it's "disable" we
disable dexpreopt for the given modules; otherwise pass it to dex2oat as
command line flags.
- If there are multiple configs for the same module in the product
inheritance, the first takes precedence.
- Added PRODUCT_DEX_PREOPT_DEFAULT_FLAGS so you can specify default
dex2oat flags in product configuration.
- Added PRODUCT_DEX_PREOPT_BOOT_FLAGS to specify flags of building boot.oat.

Bug: 17791867
(cherry picked from commit 20ebd2ef081f2a3e85a4adcf8837e6f5b68bdeea)

(cherry picked from commit 70d617aaf57c636ca7b6aedee5b009a7c46bdd3a)

Change-Id: I86f125dd02290d0969704142a4405ebd6729c4f7
70d617aaf57c636ca7b6aedee5b009a7c46bdd3a 08-Oct-2014 Ying Wang <wangying@google.com> Introduce per-product per-module dex-preopt config

- Added LOCAL_DEX_PREOPT_FLAGS to pass extra flags to dex2oat.
- Added macro add-product-dex-preopt-module-config to specify almost
arbitrary dex-preopt config/flags to modules in product
configuration:
$(call \
add-product-dex-preopt-module-config,<module_name_list>,<config_or_flags>)
How <config_or_flags> is interpreted is decided by
dex_preopt_odex_install.mk and dex2oat. For now if it's "disable" we
disable dexpreopt for the given modules; otherwise pass it to dex2oat as
command line flags.
- If there are multiple configs for the same module in the product
inheritance, the first takes precedence.
- Added PRODUCT_DEX_PREOPT_DEFAULT_FLAGS so you can specify default
dex2oat flags in product configuration.
- Added PRODUCT_DEX_PREOPT_BOOT_FLAGS to specify flags of building boot.oat.

Bug: 17791867
(cherry picked from commit 20ebd2ef081f2a3e85a4adcf8837e6f5b68bdeea)

Change-Id: I2ee36892b40655c96837ee7a663dda1d25830878
20ebd2ef081f2a3e85a4adcf8837e6f5b68bdeea 08-Oct-2014 Ying Wang <wangying@google.com> Introduce per-product per-module dex-preopt config

- Added LOCAL_DEX_PREOPT_FLAGS to pass extra flags to dex2oat.
- Added macro add-product-dex-preopt-module-config to specify almost
arbitrary dex-preopt config/flags to modules in product
configuration:
$(call \
add-product-dex-preopt-module-config,<module_name_list>,<config_or_flags>)
How <config_or_flags> is interpreted is decided by
dex_preopt_odex_install.mk and dex2oat. For now if it's "disable" we
disable dexpreopt for the given modules; otherwise pass it to dex2oat as
command line flags.
- If there are multiple configs for the same module in the product
inheritance, the first takes precedence.
- Added PRODUCT_DEX_PREOPT_DEFAULT_FLAGS so you can specify default
dex2oat flags in product configuration.
- Added PRODUCT_DEX_PREOPT_BOOT_FLAGS to specify flags of building boot.oat.

Bug: 17791867
Change-Id: I1b2955e8e51039e94d1ff43a3265a8d03598632c
0d7d09ae040f6d6bd44ec393e60f4aab2a6a0ddf 22-Aug-2014 Raphael Moll <raphael@google.com> SDK Addon multi-sys-img support, part 4.

Change the add-on build rules to packages the system-image
separately from the main add-on zip file. This is then picked
up by development's sdk_repo.mk to generate two repository
packages files (one for the add-on, one for its system image.)

The system-image now also contains a source.propertie file,
which value is not infered from the add-on's manifest.ini

Add-on product files need to be modified to define a
PRODUCT_SDK_ADDON_SYS_IMG_SOURCE_PROP variable that points
to their source.properties or source.prop_template file.

Change-Id: I79e9cdfd43c99f099a70890fb3e5e9215ad647f4
89ec496f989c44315b25ec08915d847edd322739 05-Aug-2014 Narayan Kamath <narayan@google.com> Remove services, wifi, ethernet from BOOTCLASSPATH.

They belong to the system_server classpath.

bug: 16555230

Change-Id: Ic84f0b2baf611eeedff6d123cb7191bb0259e600
7326f7b746b82ec60d7381f1fe967a2cd8c7f8e9 05-Aug-2014 Alex Light <allight@google.com> Add a WITH_DEXOPT_BOOT_IMG_ONLY configuration option.

If WITH_DEXOPT_BOOT_IMG_ONLY=true and WITH_DEXPREOPT=true then we will
only preopt the boot.art and boot.oat files, leaving everything else to
be compiled at first boot. This has fast startup times of WITH_DEXPREOPT
but has a smaller space usage and allows one to update the non-image
parts of /system without reflashing.

Bug: 16938924

(cherry picked from commit 440cc769a3617bf99546bdc7599c949e1e858943)

Change-Id: Ib366b6b5ad80f7078f01bf51f9fbc29ea7e5d777
440cc769a3617bf99546bdc7599c949e1e858943 05-Aug-2014 Alex Light <allight@google.com> Add a WITH_DEXOPT_BOOT_IMG_ONLY configuration option.

If WITH_DEXOPT_BOOT_IMG_ONLY=true and WITH_DEXPREOPT=true then we will
only preopt the boot.art and boot.oat files, leaving everything else to
be compiled at first boot. This has fast startup times of WITH_DEXPREOPT
but has a smaller space usage and allows one to update the non-image
parts of /system without reflashing.

Bug: 16938924

Change-Id: Ib366b6b5ad80f7078f01bf51f9fbc29ea7e5d777
f4eabc3961c3b7f7730329fd527824df35e5b242 11-Jul-2014 Daniel Rosenberg <drosen@google.com> Added support for building verified vendor partition

Change-Id: I762724800ccab3a365e6d2efdf86cd9c394818eb
Signed-off-by: Daniel Rosenberg <drosen@google.com>
5bfed5a320860de5d44c915c88cf7f72c2cdb574 16-Jun-2014 JP Abgrall <jpa@google.com> core+tools: support specifying F2FS as the fstype for userdata

- Support TARGET_USERIMAGES_USE_F2FS.
- Support BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE.
- Support "userdata_fs_type" in the prop dict.
- Update build_image to recognize f2fs and call the correct command.

Change-Id: If31cc8bd235f93a4c7814fab36e6e2d13d3037ad
Signed-off-by: JP Abgrall <jpa@google.com>
dde3184ae86b4c1c1f51ada592fd710bdebd0aee 28-May-2014 Daniel Rosenberg <drosen@google.com> Added variables to support seperate vendor patition.

Change-Id: I73cc76697e138aa8ce1273d410391d55c8d7f34f
Signed-off-by: Daniel Rosenberg <drosen@google.com>
5b5f4958d89dae6a79a9715f4d91c30cb38a4680 06-May-2014 Geremy Condra <gcondra@google.com> Add verity support to `make dist`.

Without this, system images will be built that do not contain the
necessary bits for verification.

Change-Id: I87c15282b26377d7a2a1540e3d0e30b0299622e3
3e92fd0fbaf0a7366bd9b60e700948d6be2b08e4 09-May-2014 Ed Heyl <edheyl@google.com> Fix build: Revert "Add verity support to `make dist`."

This reverts commit 5dee206d8ef106a70a5ada4b8aba9c4489f7e308.

Change-Id: I6f4f536c127d3e5dcb6594efb193231cd8dece7e
5dee206d8ef106a70a5ada4b8aba9c4489f7e308 06-May-2014 Geremy Condra <gcondra@google.com> Add verity support to `make dist`.

Without this, system images will be built that do not contain the
necessary bits for verification.

Change-Id: Icaa636085dbfd386424c90dfbe404c5960df0fe4
9c440215350f0777deb5ce58de9946484f2aa0eb 02-May-2014 Ying Wang <wangying@google.com> Add WITH_DEXPREOPT to the list of protected global variables.

Bug: 14380196
Change-Id: I02cff39eeaf2deddf434c0c310063e4b341edd43
26d22f713948dfc5292268b7307de7a3b9e22e4d 19-Mar-2014 Jeff Sharkey <jsharkey@android.com> Import OEM build properties, if defined.

Certain products can define a list of system properties that should be
delegated to the OEM. Since these properties may be ro.*, we give
them first shot at defining.

Also support blacklist of properties that should never be defined by
build.prop, used to delegate to runtime fingerprint generation.

Bug: 13367676
Change-Id: I3f00db732f485818205a7b76b31edbdc3a89aac0
780128a6f05ad6bcd594ce10953a8ca533e63597 29-Jan-2014 Ying Wang <wangying@google.com> Support custom sdk.atree files.

Bug: 12683047
Change-Id: I79ca1eff81e947d03c50759d47426487e48435d0
8fb5dfc5c716f823b48617fa35a486b2bc696731 17-Jan-2014 Brian Carlstrom <bdc@google.com> build: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA

(cherry-picked from commit cd337c71ee65b17529a67af34d4c0b2824a4f175)

Change-Id: I6d8ab3b3cf52f6a6b15f1c8e8d00cdf59042436b
fd6f7513f82a4b2ec9810d6cb6c33a94060d14e9 17-Jun-2013 Geremy Condra <gcondra@google.com> Add support for verity builds to the build system.

Change-Id: I3ef908d8d52ec88de453b161bbc3f198517a72f1
10d2e0cd9119d25ba58d27004c18f4b894992a80 26-Aug-2013 Ying Wang <wangying@google.com> Remove the vendor-specific vars from the protected list.

Change-Id: I915a61034c9c3e2b886f609c4b8f4043e97bda61
0650d1503d89f1563978f6006a2f904da7140027 24-Jul-2013 Ying Wang <wangying@google.com> Add PRODUCT_BOOT_JARS to derive BOOTCLASSPATH

- BOOTCLASSPATH now is product-configurable;
- No need to maintain the duplicate values in core/dex_preopt.mk.
- clean up some legacy ALL_PREBUILTs.
Bug: 9990214

Change-Id: Ie3953e66d282e335bb7782b0ebd56102c35ec10e
1aeee8bb660cb91d1611ad0ba1b9eaf318cf2779 27-Jun-2013 Brian Carlstrom <bdc@google.com> Move from WITH_ART to PRODUCT_RUNTIMES

Change-Id: I3a9217b4aafc1f59d095169deb9eaeae17320505
af21f7c3e7f6e6295b2ca2c95d216c958b15ee84 15-Jan-2013 Ben Cheng <bccheng@google.com> Stash TARGET_CPU_VARIANT and print it in dumpvar.

Bug:7961327

Merged from internal master.

Change-Id: Ia78472ba53ae1221de4572119aa5c63246941eeb
7028f5ec862229090818ee8dfe33107ffbaec9c7 15-Jan-2013 Ben Cheng <bccheng@google.com> Stash TARGET_CPU_VARIANT and print it in dumpvar.

Bug:7961327
Change-Id: I8a3637a87b5a0f791568fe74e44a4a173541deb7
0c4eb4188553fc06049834111416067da53ac605 27-Sep-2012 Ying Wang <wangying@google.com> Load only the current product config makefile.

To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

(cherry-pick of 157a5e1695593f935c3223430f4530e21f990378.)

Bug: 7186768,7169854
Change-Id: I0be5e2721efa66a80f112acf8f95e177ebc2f65b
54fa8c3ff9b1f0f1b0b9c551be864f1b7378c7fc 27-Sep-2012 Ying Wang <wangying@google.com> Load only the current product config makefile.

To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
157a5e1695593f935c3223430f4530e21f990378 27-Sep-2012 Ying Wang <wangying@google.com> Load only the current product config makefile.

To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
4b0486b4a6108ea863da6232cc376cd1edc55640 21-Sep-2012 Ying Wang <wangying@google.com> Allow to tag owner to PRODUCT_COPY_FILES

PRODUCT_COPY_FILES now is a list of words like <source
path>:<destination path>[:<owner>].
The optional :<owner> is used to indicate the owner of a vendor file.

Bug: 7048854
Change-Id: I435d1e18b7a091fb62513062cfc2e420e51557ec
a93b122d49ffd1143111b1b1762d0ad9e206f878 15-Aug-2012 Iliyan Malchev <malchev@google.com> build: register BOARD_HAVE_BLUETOOTH_QCOM

Change-Id: I594abd6d3b152a4e5bc48b6ac447e155c85b2fe0
Signed-off-by: Iliyan Malchev <malchev@google.com>
0854694c515eea74b1f38d46bd00497a9891946b 15-Aug-2012 Iliyan Malchev <malchev@google.com> build: register BOARD_HAVE_BLUETOOTH_QCOM

Change-Id: I594abd6d3b152a4e5bc48b6ac447e155c85b2fe0
Signed-off-by: Iliyan Malchev <malchev@google.com>
d7d0afcaea24b0fb0cb37dca921a5ff52fd2485b 06-Jun-2012 Joe Onorato <joeo@google.com> Add the ability in a product spec file to have modules installed for specific variants.

Change-Id: Ifa5eb2e15b3d3e5007378ec00efc4aec3e9a3b99
c41c5f4e46ff8da87de593e581ac9ed27b42504b 30-May-2012 Keun young Park <keunyoung@google.com> add add-to-product-copy-files-if-exists for pdk

Change-Id: Ib35006824de81be31652bfff220bbe4e814869ce
e1d191ee956674147ac1b34129d1f2df322fc3ae 17-May-2012 Joe Onorato <joeo@google.com> Add rules to build the factory bundle.

Change-Id: I66bda914a5bd41bda7c8a4314f658924087e2bfb
f926990ba3f04c03037b838cd5fe8f33c21e8013 16-Mar-2012 Dima Zavin <dima@android.com> core: allow product to provide kernel headers as well

This is useful when a device inherits from an architecture
product, such as omap4.mk. The architecture specific product
can provide kernel headers to all the devices that use
that architecture.

Change-Id: I0c9d3120a6089fb535a3fa8eccf10775a271cd21
Signed-off-by: Dima Zavin <dima@android.com>
89686538d77c47ed7816594c7597f5d1e456d656 16-Dec-2011 Ying Wang <wangying@google.com> Support to build factory ramdisk image.

Bug: 5769921

With this change, to build factory_ramdisk.img, set
PRODUCT_FACTORY_RAMDISK_MODULES in your product config.
PRODUCT_FACTORY_RAMDISK_MODULES consists of
"<module_name>:<install_path>" pairs.
<install_path> is relative to the root of the factory ramdisk output.
For example:
PRODUCT_FACTORY_RAMDISK_MODULES := \
toolbox:bin/toolbox adbd:sbin/adbd adb:bin/adb

On the other hand you can use PRODUCT_COPY_FILES to copy prebuilt files
to the factory ramdisk.
Or you can define modules that are specific for the factory ramdisk
(with LOCAL_MODULE_PATH pointing to TARGET_FACTORY_RAMDISK_OUT) and add
the module names to PRODUCT_PACKAGES.

Change-Id: I80ff72606415cd74fe6f3bc93020a05d84e45b70
0a099d904a5f82cba0ce86878d3d3e5e2dbf9e95 16-Dec-2011 Ying Wang <wangying@google.com> Support to build factory ramdisk image.

Bug: 5769921

With this change, to build factory_ramdisk.img, set
PRODUCT_FACTORY_RAMDISK_MODULES in your product config.
PRODUCT_FACTORY_RAMDISK_MODULES consists of
"<module_name>:<install_path>" pairs.
<install_path> is relative to the root of the factory ramdisk output.
For example:
PRODUCT_FACTORY_RAMDISK_MODULES := \
toolbox:bin/toolbox adbd:sbin/adbd adb:bin/adb

On the other hand you can use PRODUCT_COPY_FILES to copy prebuilt files
to the factory ramdisk.
Or you can define modules that are specific for the factory ramdisk
(with LOCAL_MODULE_PATH pointing to TARGET_FACTORY_RAMDISK_OUT) and add
the module names to PRODUCT_PACKAGES.

Change-Id: I3778e3d091979261cb476628da1365f931e11f49
dbb31be41302aa4426006685e9c652de8074906a 10-Dec-2011 Ying Wang <wangying@google.com> Restrict vendor modules to help AOSP product distribution.

Bug: 5692177

If you set "PRODUCT_RESTRICT_VENDOR_FILES := true" in a product
configuration, this changes restricts that:
- No overlays in the vendor tree.
- No PRODUCT_COPY_FILES coming from the vendor tree.
- Any referenced package with Android.mk in the vendor tree must have
LOCAL_MODULE_OWNER set to a value that's compared against a whitelist
stored in the core build system.

Change-Id: I172b84c7c853e9a04bf9879ea8dec90bd5054230
a032d3d07372423176e072dfcbcf60a53f8a7d57 11-Nov-2011 Ying Wang <wangying@google.com> Support for multiple PRODUCT_SDK_ADDON_DOC_MODULES

Bug: 5429077
Change-Id: I8d962c803496479ba5b5e7316538aced65ee4df1
9f8e8db188371cb3787a91a03d193f87ad244ea3 04-Nov-2011 Ying Wang <wangying@google.com> Build cache.img on demand

Bug: 5153694
To build cache.img, set BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE (required,
ext4 only for now), BOARD_CACHEIMAGE_PARTITION_SIZE (optional) in
BoardConfig.mk.

Change-Id: I1d8b91646aa1dba88285e008ad3335768bcbddd2
a0f464a8e7f006177db084df7e925bbb8e5ffed3 15-Oct-2011 Dianne Hackborn <hackbod@google.com> New PRODUCT_AAPT_PREF_CONFIG.

To use the new aapt --preferred-configurations option. For use with Prime
to be able to strip everything but xhdpi density bitmaps selectively,
not stripping when this would result in no data for the resource.

Change-Id: I4e1012929b8f9b0b1e79c06496647f69661ba1f2
32ef58e2c13b9692f9b16a14434978200573d26c 10-Oct-2011 Ying Wang <wangying@google.com> Remove PRODUCT_CONTRIBUTORS_FILE which is no longer in use.

Bug: 5433204
Change-Id: Id88c21f8d1991d8cbcc5bb7dae784aa72dc4becf
cf0db94c87b2b3beca5cbf6b769fff73ed91c4d4 04-Oct-2011 Ying Wang <wangying@google.com> Support for product-specific dev keys.

Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
fa2bf54a0450427bd26d1dcfb982fcbd550ac3a2 04-Oct-2011 Ying Wang <wangying@google.com> Support for product-specific dev keys.

Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
3c21fe5b12d95fe374b9b8c874dc4c48b7f9fce1 04-Oct-2011 Ying Wang <wangying@google.com> Support for product-specific dev keys.

Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
0d23fec792d2bc92417d2b2e716be73704efc240 09-Jun-2011 Mike Lockwood <lockwood@android.com> Add support for products overriding properties in /default.prop

We need this to allow products to specify the default USB configuration,
and allow the build system to add adb to this configuration
for eng and userdebug builds.

For example:

PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
persist.sys.usb.config=mtp

Change-Id: I83d7d918e57a8117eb96919e17d8ad52afdc0388
Signed-off-by: Mike Lockwood <lockwood@android.com>
5d4808db1630048f6eb0610b75af01c9fc877412 16-Mar-2011 Doug Zongker <dougz@android.com> put extra recovery keys in the product definition

Change-Id: I71637cd578b24891c10171aa59406848649be703
4f1ab92aac00a73276793ed25af669d112618a32 15-Mar-2011 Ying Wang <wangying@google.com> Move screen density config from PRODUCT_LOCALES to PRODUCT_AAPT_CONFIG

With this change, PRODUCT_LOCALES will contain only locales.
Other aapt config flags, such as *dpi, small/normal/large/xlarge,
should go to PRODUCT_AAPT_CONFIGS.
Bug: 4086309

Change-Id: I922f153d79777a9522c542a3907111193b40e7b7
b375e71d306f2fd356b9b356b636e568c4581fa1 09-Mar-2011 Iliyan Malchev <malchev@google.com> build: remove prelinker build build system

This patch removes support for prelinking from the build system. By now, the
prelinker has outlived its usefulness for several reasons. Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote. Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either. Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization. Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.

The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree. It also removes the prelink map.

LOCAL_PRELINK_MODULE becomes a no-op. Individual Android.mk will get cleaned
separately. Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.

Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
f9953b4a613d378cdb5cc18c1fa46ad3512eb0b9 29-Dec-2010 Ying Wang <wangying@google.com> Enhance product vars examining.

Change-Id: I348629aa6e63ad24d457e91af8f75712dcf91b27
7522f04a4b0327cf493dfe6c501634b2b1e1367a 12-Oct-2010 Ying Wang <wangying@google.com> Verify PRODUCT_* are not modified by Android.mks, but allow them to be read only.

Bug: 3076955
Change-Id: I7ddcc5b9d6325d3a3c63f952f97034ddf223630a
700b88e1451f216d137d8a356496bf51712512c6 05-Oct-2010 Joe Onorato <joeo@google.com> Pass device characteristic information through to aapt.

A build configuration can define PRODUCT_CHARACTERISTICS, which is
a comma-separated list of device characteristics, for example
"nosdcard,grayscale". This will be passed through to aapt with
the --product flag.

Change-Id: I902c034b2f2824dbd2d33449308ee08beeb09551
8dc8faaaeadf83353b8144cc0db58972f19f5c7e 14-Sep-2010 Joe Onorato <joeo@google.com> Add option to fail when Android.mk files change PRODUCT_* variables.

It's turned off for now.

Change-Id: I0b5a3ce5fdc7693c8ebd870312f0c2e13fdb8b22
529113098350c026ec521258d4c6fba51f285a48 26-May-2010 Ying Wang <wangying@google.com> Cherry-pick unbundled build changes from master

Change-Id: I82cab32f00b7b729d9b01c8e1532c8bf0ad2fb92
1a031e411ef5eca621c1958103407a6dc40a5114 11-May-2010 Ying Wang <wangying@google.com> Support for unbundled app build

With this CL, run "make APP-{appname}" to build unbundled app in
the unbundled app src tree.
See http://b/issue?id=2667113

Change-Id: I1d753db795142508bc841ae66b4408220ab687c5
e0a18a75a930fd83ceee55a8ac0270625476d8c1 07-Apr-2010 Joe Onorato <joeo@android.com> Finish moving the policies out of frameworks/policies/base and into frameworks/base.

Change-Id: I6b3991de3276258318cab2aff9651f18b3d07f85
4eb079f67f7ec1dea9c430edfe6a2a589b3100d9 22-Jan-2010 Jean-Baptiste Queru <jbq@google.com> Look for product configs in device/ in addition to vendor/

This will allow to create open-sourceable product configurations.

Change-Id: I4e73347c2095935340bfc8c3737c2adf1ef22a9c
28a846d013fc89c9b7e480e0610895ac6b119fab 22-Feb-2010 Joe Onorato <joeo@android.com> Allow optional product inheritance

This allows to use a proper $(call inherit-product) across
the open-source -> non-open-source boundary in a way that
can automatically adapt to whether the non-open-source
part is present or not

Change-Id: I357721c68362ff8c0f90610850b0368adee68ada
8d05416d613af2632eb3dd5763dee468a3b09034 22-Jan-2010 Jean-Baptiste Queru <jbq@google.com> Look for product configs in device/ in addition to vendor/

This will allow to create open-sourceable product configurations.

Change-Id: I4e73347c2095935340bfc8c3737c2adf1ef22a9c
e6b4e5b20ac8a3b01f1a99dd877a98c92036ce5e 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
fbd10d940d9dca8aba940f91fceade4098c6cb92 20-May-2009 Robert Greenwalt <robdroid@android.com> Add PRODUCT_DEFAULT_WIFI_CHANNELS build var.

Allows the build to specify the default number of allowed
WIFI channels. Part of the fix for 1625953.
214a42bbb6e60f1231aa178c114a55dbe363c845 10-Apr-2009 Joe Onorato <> AI 145655: am: CL 145618 am: CL 145333 Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
Implement SDK add-ons in the build system.
- Add an option to use the standard javadoc doclet instead
of droiddoc, since droiddocs non-sdk templates aren't
ready for prime time.
- Add the notion of a stubs for a library. It's only
implemented for java libraries, but when we do native
libraries in the NDK or sdk-addons, it will work there too.
Original author: joeo
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145655
64d85d0d827489c514f6aec075482563c80cda73 10-Apr-2009 Joe Onorato <> AI 145618: am: CL 145333 Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
Implement SDK add-ons in the build system.
- Add an option to use the standard javadoc doclet instead
of droiddoc, since droiddocs non-sdk templates aren't
ready for prime time.
- Add the notion of a stubs for a library. It's only
implemented for java libraries, but when we do native
libraries in the NDK or sdk-addons, it will work there too.
Original author: joeo
Merged from: //branches/cupcake/...

Automated import of CL 145618
8bbfe659d76266a8d45e19793d22e34dccfe6610 09-Apr-2009 Joe Onorato <> AI 145333: Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
Implement SDK add-ons in the build system.
- Add an option to use the standard javadoc doclet instead
of droiddoc, since droiddocs non-sdk templates aren't
ready for prime time.
- Add the notion of a stubs for a library. It's only
implemented for java libraries, but when we do native
libraries in the NDK or sdk-addons, it will work there too.

Automated import of CL 145333
6a5f7f068b54c5cc083a3e8224c010060aab24e9 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
88b607994a148f4af5bffee163e39ce8296750c6 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
05806d7af62e07c6225b2e7103a1b115ecf6c9ad 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
475fa12adef8fc2b08290555a33dc8a9fef05be4 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
66339ad5cebeae8f4cbf7e335c67368abbb91223 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
dcc08f073b6873c69ab891d4f69f7c568e282df7 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
b6c1cf6de79035f58b512f4400db458c8401379a 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution