Commit graph

110 commits

Author SHA1 Message Date
Ying Wang
08800fd905 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
Change-Id: I24e88598f6fab598ef26518885fd5e86e71a772d
2016-03-04 11:01:57 -08:00
Gaurav Shah
af80a461d6 Merge "envsetup,product,ninja: enable symlink traversal"
am: f589c7b442

* commit 'f589c7b442feb02843bdf82305b599b686fc5204':
  envsetup,product,ninja: enable symlink traversal
2015-11-02 22:27:27 +00:00
Gaurav Shah
881ec090c4 Merge "build: Add support for defining products in /product"
am: acb8a7c1f8

* commit 'acb8a7c1f8cacaf136edba1a25d64467d352a432':
  build: Add support for defining products in /product
2015-11-02 22:27:08 +00:00
Will Drewry
c13f9c952d 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
2015-11-02 14:18:45 -08:00
Lee Campbell
455f6f458d build: Add support for defining products in /product
The build will now search for AndroidProducts.mk in /product

BUG: 22030305

Change-Id: I2d067d95d0c8dc1341a55167f9ac7f6926e04ce3
2015-11-02 14:17:47 -08:00
Ying Wang
3482ea54a2 Merge "Normalize the product makefile path in inherit-product."
am: aabff90bfe

* commit 'aabff90bfe2312a95d3cf57564845fef8dc469a2':
  Normalize the product makefile path in inherit-product.
2015-10-28 23:55:10 +00:00
Ying Wang
a174261042 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
2015-10-28 15:20:41 -07:00
Sami Tolvanen
58a748d37e am 87f58261: Merge "Error correction: Append codes to verified partitions"
* commit '87f582611a5a5c23abf3237abe0e467e46111567':
  Error correction: Append codes to verified partitions
2015-10-19 02:55:51 -07:00
Sami Tolvanen
f99b53143d 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
2015-10-14 18:06:20 +01:00
Dan Willemsen
7c4b2cedd6 am 05bb4fed: am edc3e6cd: Merge "Sort more instances of wildcard and find"
* commit '05bb4fed0d0e701ba13fef5f20b57eb1642cc40a':
  Sort more instances of wildcard and find
2015-09-30 23:59:46 +00:00
Dan Willemsen
05bb4fed0d am edc3e6cd: Merge "Sort more instances of wildcard and find"
* commit 'edc3e6cd6a0d6af4df3d6f07f40de17980b66ad0':
  Sort more instances of wildcard and find
2015-09-30 23:44:10 +00:00
Dan Willemsen
7c3e3f8314 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
2015-09-30 22:25:49 +00:00
Tom Cherry
7958b8b6b6 am 2899727f: am bcbd4eb9: Merge "remove TARGET_PROVIDES_INIT_RC"
* commit '2899727fd7c97729df11c59a4ebf76df73379a28':
  remove TARGET_PROVIDES_INIT_RC
2015-08-24 23:35:25 +00:00
Tom Cherry
00c9b1b323 am 2899727f: am bcbd4eb9: Merge "remove TARGET_PROVIDES_INIT_RC"
* commit '2899727fd7c97729df11c59a4ebf76df73379a28':
  remove TARGET_PROVIDES_INIT_RC
2015-08-24 23:35:17 +00:00
Tom Cherry
2df35aea43 remove TARGET_PROVIDES_INIT_RC
Change-Id: I765b80d48333f54fb995e4ccfd77d38683c6cbb9
2015-08-24 13:55:02 -07:00
Furquan Shaikh
5620d94c5f am 449b8a06: am c4904316: am ffe86de5: Merge "vboot_signer: Add kernel subkey required for signing kernel keyblock" into mnc-dr-dev
* commit '449b8a0664db86e9a556c323e3f4720303abae95':
  vboot_signer: Add kernel subkey required for signing kernel keyblock
2015-08-10 12:53:56 +00:00
Furquan Shaikh
e8c212235f 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>
2015-08-07 12:01:20 -07:00
Dan Albert
8b36f7fcc7 am 2bb996f6: am 46cb2ee3: Merge "Force some clang Werrors that *will* break things."
* commit '2bb996f6a58dd4b9e682f9c59a7dad94412bdd86':
  Force some clang Werrors that *will* break things.
2015-06-13 02:25:20 +00:00
Dan Albert
d160041149 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
2015-06-10 17:24:38 -07:00
Dmitriy Ivanov
594c0868d4 resolved conflicts for merge of 6cb3732d to master
Change-Id: I6415638ccde1e78f74ae5d9527dc696d40f15e5f
2015-04-20 14:08:43 -07:00
Dmitriy Ivanov
4eb120b999 Remove unsupported *_COMPRESS_MODULE_SYMBOLS
Change-Id: Ibb7da2997a0bb5b9f435213c9d3206bc4aad18db
2015-04-20 12:24:12 -07:00
Sami Tolvanen
8b3f08bc7b 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
2015-04-08 12:30:16 +01:00
David Riley
17be3d3921 Add support to sign boot images with vboot.
Change-Id: I924468fe06f7d38d4fc49c2ae9dfee734fd58867
Signed-off-by: David Riley <davidriley@google.com>
(cherry picked from commit 14fb7236c1942a9f5050b3e608a0f5f4cd1cae1d)
2015-03-26 17:54:40 +00:00
Mohamad Ayyash
9b19382f0e resolved conflicts for merge of fc759204 to stage-aosp-master
Change-Id: Icf58e881286a66cb3ca4cb122fa8c11ec217fbab
2015-03-04 15:43:45 -08:00
Mohamad Ayyash
b97746ef09 Allow flashing a squashfs system image
Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-03-03 18:54:50 -08:00
Mohamad Ayyash
6894695819 Allow flashing a squashfs system image
Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-03-03 15:14:37 -08:00
Dan Albert
13baa31921 am 876f45e7: Merge "Make some warnings impossible to override."
* commit '876f45e73f938cdaa7cfc25c43822fc6b274f105':
  Make some warnings impossible to override.
2015-02-25 23:17:56 +00:00
Dan Albert
0c91fa84ff 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
2015-02-23 10:05:51 -08:00
Ying Wang
16ba2ed82b resolved conflicts for merge of 4c178ebc to lmp-mr1-dev-plus-aosp
Change-Id: If84527e9333b855d406dc7ac317868f4cfd3f1f2
2015-02-04 11:28:56 -08:00
Ying Wang
14cc23d433 Remove support of factory ramdisk/bundle.
Bug: 18779515
Change-Id: Ia6d51d43965447e2e95944a7d2b4b41adb121cb7
2015-02-04 11:00:01 -08:00
Brian Carlstrom
00cee5889c am ad6dd21e: Merge "Remove unused PRODUCT_TAGS"
* commit 'ad6dd21e1ae27941b0c00629b095dd9a9ae2d7c2':
  Remove unused PRODUCT_TAGS
2015-01-06 23:59:10 +00:00
Brian Carlstrom
25b8bb378f Remove unused PRODUCT_TAGS
Bug: 18895001
Change-Id: I2bbb1c04880218eaa06c1eff92280c636260f9ae
2015-01-05 15:33:16 -08:00
Ying Wang
912da64598 am 73a730ca: Merge "Remove libdvm support from the core build system."
* commit '73a730caf566fb778ad36f6d991666c482918d22':
  Remove libdvm support from the core build system.
2014-12-16 21:47:13 +00:00
Ying Wang
73a730caf5 Merge "Remove libdvm support from the core build system." 2014-12-16 21:38:41 +00:00
Brian Carlstrom
c38439a5ff am 8c5401c1: Merge "Remove obsolete PRODUCT_DEX_PREOPT_.*_IN_DATA"
* commit '8c5401c1c6a5dfd87c4b0f0edc45810e35b93e40':
  Remove obsolete PRODUCT_DEX_PREOPT_.*_IN_DATA
2014-12-16 20:35:18 +00:00
Ying Wang
d54520a667 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
2014-12-16 10:08:00 -08:00
Brian Carlstrom
2bc19019e5 Remove obsolete PRODUCT_DEX_PREOPT_.*_IN_DATA
Bug: 18673991
Change-Id: I64261ef6a37df92eeef8552b8fd0a67157e4a034
2014-12-15 22:09:58 -08:00
Ying Wang
b283ef2c3b am 18eee18e: am 60686586: Add product variable PRODUCT_AAPT_PREBUILT_DPI
* commit '18eee18e6e51da4857054376ad96add16c0c0b92':
  Add product variable PRODUCT_AAPT_PREBUILT_DPI
2014-12-11 00:07:38 +00:00
Ying Wang
60686586a5 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
2014-12-10 12:40:09 -08:00
Serban Constantinescu
3da4f32794 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>
2014-11-24 17:02:34 +00:00
Ying Wang
70d617aaf5 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 20ebd2ef08)

Change-Id: I2ee36892b40655c96837ee7a663dda1d25830878
2014-10-31 10:12:54 -07:00
Ying Wang
8755756f26 resolved conflicts for merge of 3907c03e to lmp-dev-plus-aosp
Change-Id: I580ab0693609ff506da7346548a45322000114d1
2014-10-09 19:29:53 -07:00
Ying Wang
20ebd2ef08 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
2014-10-08 10:11:17 -07:00
Raphael Moll
0d7d09ae04 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
2014-08-27 09:35:07 -07:00
Narayan Kamath
50fbf71b2e Merge "Remove services, wifi, ethernet from BOOTCLASSPATH." into lmp-dev 2014-08-15 04:32:23 +00:00
Narayan Kamath
89ec496f98 Remove services, wifi, ethernet from BOOTCLASSPATH.
They belong to the system_server classpath.

bug: 16555230

Change-Id: Ic84f0b2baf611eeedff6d123cb7191bb0259e600
2014-08-12 10:25:19 +01:00
Alex Light
7326f7b746 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 440cc769a3)

Change-Id: Ib366b6b5ad80f7078f01bf51f9fbc29ea7e5d777
2014-08-11 12:57:31 -07:00
Alex Light
440cc769a3 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
2014-08-11 16:40:23 +00:00
Daniel Rosenberg
f4eabc3961 Added support for building verified vendor partition
Change-Id: I762724800ccab3a365e6d2efdf86cd9c394818eb
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2014-07-14 22:55:22 +00:00
JP Abgrall
5bfed5a320 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>
2014-06-17 13:32:14 -07:00