Commit graph

67 commits

Author SHA1 Message Date
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
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
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
Daniel Rosenberg
dde3184ae8 Added variables to support seperate vendor patition.
Change-Id: I73cc76697e138aa8ce1273d410391d55c8d7f34f
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2014-05-29 15:42:27 -07:00
Geremy Condra
5b5f4958d8 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
2014-05-10 18:31:07 -07:00
Ying Wang
4056798282 am 372df5a4: am 887a52d0: am a6b8025a: Merge "Add WITH_DEXPREOPT to the list of protected global variables."
* commit '372df5a49ebae4ce04df4633be195afb224c5d86':
  Add WITH_DEXPREOPT to the list of protected global variables.
2014-05-02 04:05:59 +00:00
Ying Wang
372df5a49e am 887a52d0: am a6b8025a: Merge "Add WITH_DEXPREOPT to the list of protected global variables."
* commit '887a52d02251a1a94f8e17ecbfe26ba15ece6af5':
  Add WITH_DEXPREOPT to the list of protected global variables.
2014-05-02 04:03:18 +00:00
Ying Wang
9c44021535 Add WITH_DEXPREOPT to the list of protected global variables.
Bug: 14380196
Change-Id: I02cff39eeaf2deddf434c0c310063e4b341edd43
2014-05-01 20:55:30 -07:00
Jeff Sharkey
26d22f7139 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
2014-03-21 13:22:54 -07:00
Ying Wang
53d2ca0713 am 4170e2be: am fd841351: Merge "Support custom sdk.atree files." into klp-modular-dev
* commit '4170e2be8e7493f2ad1abd33ba74638d9d421b3b':
  Support custom sdk.atree files.
2014-02-12 23:00:18 +00:00
Ying Wang
780128a6f0 Support custom sdk.atree files.
Bug: 12683047
Change-Id: I79ca1eff81e947d03c50759d47426487e48435d0
2014-01-29 13:35:55 -08:00
Brian Carlstrom
c5151cf0ec resolved conflicts for merge of 1737b1ab to master
Change-Id: I5a5f2e83c5155c1c783711f736c60198a8f404ee
2014-01-28 13:10:27 -08:00
Brian Carlstrom
8fb5dfc5c7 build: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA
(cherry-picked from commit cd337c71ee65b17529a67af34d4c0b2824a4f175)

Change-Id: I6d8ab3b3cf52f6a6b15f1c8e8d00cdf59042436b
2014-01-28 11:29:58 -08:00
Geremy Condra
fd6f7513f8 Add support for verity builds to the build system.
Change-Id: I3ef908d8d52ec88de453b161bbc3f198517a72f1
2013-11-17 16:09:34 -08:00
Ying Wang
10d2e0cd91 Remove the vendor-specific vars from the protected list.
Change-Id: I915a61034c9c3e2b886f609c4b8f4043e97bda61
2013-08-26 14:57:52 -07:00
Ying Wang
0650d1503d 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
2013-07-24 15:15:55 -07:00
Brian Carlstrom
1aeee8bb66 Move from WITH_ART to PRODUCT_RUNTIMES
Change-Id: I3a9217b4aafc1f59d095169deb9eaeae17320505
2013-06-27 16:49:15 -07:00
Ben Cheng
7028f5ec86 Stash TARGET_CPU_VARIANT and print it in dumpvar.
Bug:7961327
Change-Id: I8a3637a87b5a0f791568fe74e44a4a173541deb7
2013-01-16 10:01:26 -08:00
Ying Wang
157a5e1695 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
2012-09-27 15:17:41 -07:00
Ying Wang
4b0486b4a6 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
2012-09-20 16:37:55 -07:00
Iliyan Malchev
0854694c51 build: register BOARD_HAVE_BLUETOOTH_QCOM
Change-Id: I594abd6d3b152a4e5bc48b6ac447e155c85b2fe0
Signed-off-by: Iliyan Malchev <malchev@google.com>
2012-08-15 08:12:06 -07:00
Joe Onorato
049f4055a8 am d7d0afca: Add the ability in a product spec file to have modules installed for specific variants.
* commit 'd7d0afcaea24b0fb0cb37dca921a5ff52fd2485b':
  Add the ability in a product spec file to have modules installed for specific variants.
2012-06-05 16:06:45 -07:00
Joe Onorato
d7d0afcaea Add the ability in a product spec file to have modules installed for specific variants.
Change-Id: Ifa5eb2e15b3d3e5007378ec00efc4aec3e9a3b99
2012-06-05 15:57:07 -07:00
Keun young Park
ca7d27212e am dd8fe390: am 36e4e050: Merge "add add-to-product-copy-files-if-exists for pdk" into jb-dev
* commit 'dd8fe390ae9244398b41d23adfb42dbaa9804599':
  add add-to-product-copy-files-if-exists for pdk
2012-05-30 16:16:20 -07:00
Keun young Park
c41c5f4e46 add add-to-product-copy-files-if-exists for pdk
Change-Id: Ib35006824de81be31652bfff220bbe4e814869ce
2012-05-30 16:03:24 -07:00
Joe Onorato
b30517897f Merge commit '54973dbc' into work
Conflicts:
	core/product.mk

Change-Id: Ib5eb6be09b34bdc04602e2a35a4bf7df0ba82aad
2012-05-17 22:15:22 -07:00
Joe Onorato
e1d191ee95 Add rules to build the factory bundle.
Change-Id: I66bda914a5bd41bda7c8a4314f658924087e2bfb
2012-05-17 20:57:35 -07:00
Dima Zavin
f926990ba3 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>
2012-03-19 12:32:08 -07:00
Ying Wang
89686538d7 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
2011-12-16 13:54:10 -08:00
Ying Wang
0a099d904a 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
2011-12-16 11:33:01 -08:00
Ying Wang
dbb31be413 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
2011-12-12 14:17:55 -08:00
Ying Wang
7deff5fc54 am bb5ada52: am a032d3d0: Support for multiple PRODUCT_SDK_ADDON_DOC_MODULES
* commit 'bb5ada524c3c15132c832e076104d44ca7dde5ad':
  Support for multiple PRODUCT_SDK_ADDON_DOC_MODULES
2011-11-11 14:38:14 -08:00
Ying Wang
a032d3d073 Support for multiple PRODUCT_SDK_ADDON_DOC_MODULES
Bug: 5429077
Change-Id: I8d962c803496479ba5b5e7316538aced65ee4df1
2011-11-11 10:52:12 -08:00
Ying Wang
9f8e8db188 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
2011-11-10 14:30:34 -08:00
Dianne Hackborn
9baabf8d7e am a0f464a8: New PRODUCT_AAPT_PREF_CONFIG.
* commit 'a0f464a8e7f006177db084df7e925bbb8e5ffed3':
  New PRODUCT_AAPT_PREF_CONFIG.
2011-10-17 11:31:38 -07:00
Dianne Hackborn
a0f464a8e7 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
2011-10-14 19:37:57 -07:00
Ying Wang
32ef58e2c1 Remove PRODUCT_CONTRIBUTORS_FILE which is no longer in use.
Bug: 5433204
Change-Id: Id88c21f8d1991d8cbcc5bb7dae784aa72dc4becf
2011-10-10 09:54:47 -07:00
Ying Wang
3c21fe5b12 Support for product-specific dev keys.
Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
2011-10-04 10:50:08 -07:00
Mike Lockwood
0d23fec792 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>
2011-06-09 14:54:40 -07:00
Doug Zongker
d37720cdf6 am 095dbffd: am 5d4808db: put extra recovery keys in the product definition
* commit '095dbffd605eb1bb602b028000aab4494288c6f6':
  put extra recovery keys in the product definition
2011-03-16 12:35:26 -07:00
Doug Zongker
5d4808db16 put extra recovery keys in the product definition
Change-Id: I71637cd578b24891c10171aa59406848649be703
2011-03-16 07:52:25 -07:00
Ying Wang
4f1ab92aac 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
2011-03-15 13:19:30 -07:00
Iliyan Malchev
b375e71d30 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
2011-03-12 14:59:46 -08:00
Ying Wang
f9953b4a61 Enhance product vars examining.
Change-Id: I348629aa6e63ad24d457e91af8f75712dcf91b27
2010-12-29 14:23:06 -08:00
Ying Wang
7522f04a4b Verify PRODUCT_* are not modified by Android.mks, but allow them to be read only.
Bug: 3076955
Change-Id: I7ddcc5b9d6325d3a3c63f952f97034ddf223630a
2010-10-11 16:33:37 -07:00
Joe Onorato
e814ad4950 am 5c41c178: am 700b88e1: Pass device characteristic information through to aapt.
Merge commit '5c41c17868865d1f2e9e2ff4680b528da61d16af'

* commit '5c41c17868865d1f2e9e2ff4680b528da61d16af':
  Pass device characteristic information through to aapt.
2010-10-08 14:36:43 -07:00