The function image-size-from-data-size was using hard
coded values. The size of spare area and pages has become
configurable so we need to read from the variables.
Change-Id: I9461d34400ffc2cc5920860d8aa78750d559e397
Another change adds the "optional" tag to installd, so moving it here
and removing it from the grandfathered list.
Change-Id: I035ffd527d007cf104c15890509976fc9b99d216
With this change it is possible for vendors to create rules that depend on
targets defined in Android.mk files.
This makes it easier to decouple functionality from the core buildsystem.
Very much as is done within the build git for tasks like creating SDK addon,
Generating eclipse .classpath file etc can then be done for vendors as well.
You can add targets that could perform poststeps on produced modules.
E.g. Do static verification or documentation on modules of a certain type.
You can e.g. create a target that would resign and upload all apks to a
binary repository.
Change-Id: Ic0fa7b60b919ede3c59fa2885d1fd4be1e928c04
Commit e334d255 added the `all' pseudo-goal (aka internal modifier
target) to have make dex all Java modules. Unfortunately the new
pseudo-goal wasn't added to INTERNAL_MODIFIER_TARGETS so no actual
phony goal was added, resulting in the obvious
make: *** No rule to make target `all'. Stop.
error message when running `make all'. This commit changes
INTERNAL_MODIFIER_TARGETS to also include `all' so that the
pseudo-goal is treated just like `showcommands' and `checkbuild'.
Change-Id: I7905c1e27d1b17bdc1b4331744bf06e18937406f
Bug: 3209290
It turns out that gmake 3.82 on Mac OSX crashes with segmentation fault
at some point.
Change-Id: I7b632abe1cafc5f0ff2ea45611d8ccf0aa3f976a
Head was causing a SIGPIPE in grep that only appeared when using
distss. This wasn't causing any build problems but spewed a lot
of warnings.
However, this change trims the command from 5 proccesses to 1 which is
nice.
Change-Id: Iac846ec1d01a022976cfc5fd28091a720ab161e7
With gLucid protoc is installed in the base system, by renaming
our version there will be no confusion about which compiler is
being used.
Change-Id: Id6900baacc7d57abee5dc5f694b013d7a42b35c6
Original description:
CTS vm-tests now depend on hosttestlib.
Bug 3125713
Conflicts:
core/tasks/cts.mk
Change-Id: I9e364a9d9d2cae396691921424ca591beca05468
Merge commit '4038bbc426776d8adc57d7c3c8123357b50b1615'
* commit '4038bbc426776d8adc57d7c3c8123357b50b1615':
Don't build update zip package if there is no kernel, or it's generic device.
Merge commit '09a00a672bb18dccc97af6090739ea275c39d8a3' into gingerbread-plus-aosp
* commit '09a00a672bb18dccc97af6090739ea275c39d8a3':
Don't build update zip package if there is no kernel, or it's generic device.
Move the update package code block forward to be side by side with the ota package code,
so that they are built under the same condition.
Bug: 3116070
Change-Id: I8055909cc614bfbeee215d1b770a80f728e326ee
To isolate the assembly-only macros in header files, such as
<machine/cpu-features.h>, this patch attempts to declare assembly
only __ASSEMBLY__ macro in build system.
Change-Id: I081c3e46258a9256b20995e4d0b473c64745444c
Merge commit '5c41c17868865d1f2e9e2ff4680b528da61d16af'
* commit '5c41c17868865d1f2e9e2ff4680b528da61d16af':
Pass device characteristic information through to aapt.
is in a system header file. If so, the function can be prefixed by "rs". Otherwise,
"rs" prefix is rightly disallowed. So, no more "allow-rs-prefix" hacking.
Change-Id: I8d5982cd6a75d465ffa6f98ca96941ae761117a2
This eliminates one of the way a module could insert itself into
a build without going through a product definition file.
Change-Id: I1d537764d73c52ceaec96b64b6b6925e2f6a8d8e
Merge commit '83f69eb5f905d47581bed141b7f5103362390339' into gingerbread-plus-aosp
* commit '83f69eb5f905d47581bed141b7f5103362390339':
Prepend ccache to CC/CXX if necessary.
In case TARGET_CC is assigned with HOST_CC (eg, simulator build),
ccache will be prepended twice before this CL.
Bug: 3069576
Change-Id: I2ee44faea3a2795cf389ad6f80e4066a02b43be9
Merge commit '700b88e1451f216d137d8a356496bf51712512c6' into gingerbread-plus-aosp
* commit '700b88e1451f216d137d8a356496bf51712512c6':
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
Include another optional Makefile from the CTS project that
specifies additional JARs that the CTS host may need. This
will make it easier to create modules in the CTS project
that can be built for the host and device and shared between
the host and test cases.
The first such library will include annotations like
"RequiresFeature" and "SupportsProfile" that will be needed
to support multiple device profiles in CTS.
Another planned libraries could include defining the CTS
version number in a central spot and sharing code used to
probe for certain properties like the OpenGL version and
other system properties.
Can be checked in after this other change without causing
breakage: https://review.source.android.com/#change,16740
Change-Id: I3c488247b66522dc86277ab43198c34f790e0618
Merge commit 'b7019e2147173a962febeab0e0693cdec9f80789'
* commit 'b7019e2147173a962febeab0e0693cdec9f80789':
Any intermediate targets between Progaurd and the built_dex should be differently named.
Merge commit 'a9c381ed4517993175a5bb6741ecf2aac3e8040c' into gingerbread-plus-aosp
* commit 'a9c381ed4517993175a5bb6741ecf2aac3e8040c':
Any intermediate targets between Progaurd and the built_dex should be differently named.
Change-Id: Ifb01b1fcf24ba0c5b98aa02dd604cd81918e1841
To do that, we have to move classes.jar step before proguard, so classes.jar is always with the full names.
Merge commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637'
* commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637':
Move odex related files to product-specific dir.
Merge commit 'a83940fa7851b35712e559be2246b56b5666b805' into gingerbread-plus-aosp
* commit 'a83940fa7851b35712e559be2246b56b5666b805':
Move odex related files to product-specific dir.
For target Java libraries, now the LOCAL_BUILT_MODULE includes both javalib.jar
and the .odex file, if dexpreopt is enabled.
These 2 files are moved to a product-specific dir in this change.
For target Java Libraries, $(intermediates) now points to the product-specific dir.
There is still a javalib.jar in the $(intermediates.COMMON) dir, which is used as dependency.
Nothing is changed for host Java libraries.
Change-Id: I2546dbb940c74537864ca002d1acb49bb731fbbc
As the sdk.git project is branched differently from the rest
of the platform, it's important to be able to control what
goes in the tools folder of the SDK on a per-branch basis.
Right now development/build/sdk.atree control what goes in
the tools folder (coming almost only from sdk.git) which causes
problems when the development.git and sdk.git branches are not
in sync.
Change-Id: I9158501cd68783d593e49e5fdea7f17d19b0120f
Merge commit '3c3bf6773ac7e2324c1d06282c625b81f799e427'
* commit '3c3bf6773ac7e2324c1d06282c625b81f799e427':
Separate out Proguard flag files to fix dependency.
Merge commit 'a38198a5f47d2679b476d29dce71d3f1ba17c892'
* commit 'a38198a5f47d2679b476d29dce71d3f1ba17c892':
Inform dex-preopt when the target device is a uniprocessor.
Merge commit '0b9382c792c303a93f5805adf4eba377dac01950' into gingerbread-plus-aosp
* commit '0b9382c792c303a93f5805adf4eba377dac01950':
Separate out Proguard flag files to fix dependency.
Merge commit 'ffd5087ec81a281b1299048b4282dad593ccd703' into gingerbread-plus-aosp
* commit 'ffd5087ec81a281b1299048b4282dad593ccd703':
Use the new sdk/build/tools.atree.
Merge commit 'c8c09e285d59f73334267deb9502c0927c616837' into gingerbread-plus-aosp
* commit 'c8c09e285d59f73334267deb9502c0927c616837':
Inform dex-preopt when the target device is a uniprocessor.
Merge commit 'e52fddec86a808b98bcdd033704b43a83cf569ea'
* commit 'e52fddec86a808b98bcdd033704b43a83cf569ea':
framework-res is not used as regular Java library now.
Merge commit 'c292927f05ff6955b1e5ffe40b8b9777328eba55'
* commit 'c292927f05ff6955b1e5ffe40b8b9777328eba55':
Treat prebuilt SDKs and the stub as normal java libraries.
Merge commit '879779a5806d6e09d1c852a93dd4e1793bbd96cd' into gingerbread-plus-aosp
* commit '879779a5806d6e09d1c852a93dd4e1793bbd96cd':
framework-res is not used as regular Java library now.
Merge commit 'e1926260486707b3941b5488e97307f7904d1c99' into gingerbread-plus-aosp
* commit 'e1926260486707b3941b5488e97307f7904d1c99':
Treat prebuilt SDKs and the stub as normal java libraries.
Merge commit 'b09173e78936f65a7f128fda2383f9ed5abce2e0'
* commit 'b09173e78936f65a7f128fda2383f9ed5abce2e0':
Set the intermediate dirs before using them.
Merge commit 'bb2b82bd557b157fea5e280ef50ee782d15ac032' into gingerbread-plus-aosp
* commit 'bb2b82bd557b157fea5e280ef50ee782d15ac032':
Fix userdata partition's ext4 mount point to data.
As the sdk.git project is branched differently from the rest
of the platform, it's important to be able to control what
goes in the tools folder of the SDK on a per-branch basis.
Right now development/build/sdk.atree control what goes in
the tools folder (coming almost only from sdk.git) which causes
problems when the development.git and sdk.git branches are not
in sync.
Change-Id: Ia0b0ea37f8a4904b3a7f7805a552eeb499a2c0ee
Merge commit '30090e41e31e7db34a1092d8173c1413c036b49d' into gingerbread-plus-aosp
* commit '30090e41e31e7db34a1092d8173c1413c036b49d':
Set the intermediate dirs before using them.
This allows one to declare a meta-package that depends on a list
of modules. This is extremely useful for vendor provided prebulit
libraries where there is a big list of libraries/binaries to include.
Specifying that list in multiple places would be error prone and
eventually lead to very annoying bug hunts.
With a fake package, one does:
LOCAL_MODULE := my_fake_package
LOCAL_REQUIRED_MODULES := <list of required module names>
LOCAL_MODULE_TAGS := optional
include $(BUILD_PHONY_PACKAGE)
Change-Id: Idcfe91f6f2d6d886aba094981a70690e5a808bfc
Signed-off-by: Dima Zavin <dima@android.com>
Merge commit 'd56d69b621bf41b478d59b6f987b6f796a9d8652' into gingerbread-plus-aosp
* commit 'd56d69b621bf41b478d59b6f987b6f796a9d8652':
Fix dependency when switching between build variants with and without Proguard.
Don't try to do the host build if we're configured for sim-eng. They
seem to be clashing, and it's redundant anyway.
Change-Id: I8e1a24b6e07d28701b32b6559ba39337b211264d
Merge commit 'bbbed9e1f1be3cd8327ba89f47e9bd628d92cbe2'
* commit 'bbbed9e1f1be3cd8327ba89f47e9bd628d92cbe2':
Prebuilt NDKs are merged for linux and darwin.
Merge commit '02c9813a726803e1c406b19f6b9dc4e411326e66' into gingerbread-plus-aosp
* commit '02c9813a726803e1c406b19f6b9dc4e411326e66':
Prebuilt NDKs are merged for linux and darwin.
With this change, in a user build the dependency looks like:
package.apk -> progaurd.classes.dex -> ... -> proguard.classes.jar
While in an eng build:
package.apk -> noproguard.classes.dex -> ... -> noproguard.classes.jar
Because package.apk is product-specific and removed when switching between
user and eng builds, it can always be built with the correct and up-to-date .dex file.
Bug: 3022484
Change-Id: I3a732cb3e256f193088c294dc4a0573188283cb2
Merge commit '50d7d7a0a68378d1b02b5d2a2514592ba0d65f84' into gingerbread-plus-aosp
* commit '50d7d7a0a68378d1b02b5d2a2514592ba0d65f84':
Fix private vars for host-dex rules.
Merge commit 'e7874c430895b9a4e631c89f1e7729da9264d167' into gingerbread-plus-aosp
* commit 'e7874c430895b9a4e631c89f1e7729da9264d167':
Integrate dexpreopt into the build system.
Merge commit '77070aa757806d1617d707db4d2bd7931b2353fc'
* commit '77070aa757806d1617d707db4d2bd7931b2353fc':
Turn dalvikvm host builds on by default when linux is the host OS.
Merge commit 'ce7d5023c3df4c16ae395d64d51dd8345e40a39e' into gingerbread-plus-aosp
* commit 'ce7d5023c3df4c16ae395d64d51dd8345e40a39e':
Turn dalvikvm host builds on by default when linux is the host OS.
Previously host builds were only enabled under user and user-debug
builds. This will make it easier for Androids to find out if they've
inadvertently broken host compatibility in native code.
Change-Id: Id1f2d5e189c4c1b6462fe03bab1b0f75e98a599c
Merge commit 'c0434ac8b504df8a2f2a2828dc9b3f804c3dda72' into gingerbread-plus-aosp
* commit 'c0434ac8b504df8a2f2a2828dc9b3f804c3dda72':
add recovery.fstab as dependency so it triggers rebuild (do not merge)
Make recovery image depend on the fstab file so it gets rebuilt when
fstab changes. Add support for "emmc" fstab partition type to
edify_generator.
Change-Id: Ic5df4e86c24321bf7d82a644e3e4770352e4f64b
Include the recovery.fstab file in the recovery image. Remove the
global fs_type and partition_type values from the target-files
key/value dict, and parse the recovery.fstab file instead to find
types for each partition.
(Cherrypicked from gingerbread w/some edits to resolve conflicts.)
Change-Id: Ic3ed85ac5672d8fe20280dacf43d5b82053311bb
Merge commit '258bf46ea6bb4f25d01fab1b783238589e5bbec4' into gingerbread-plus-aosp
* commit '258bf46ea6bb4f25d01fab1b783238589e5bbec4':
support for per-partition fs_type (do not merge)
Include the recovery.fstab file in the recovery image. Remove the
global fs_type and partition_type values from the target-files
key/value dict, and parse the recovery.fstab file instead to find
types for each partition.
Change-Id: I35ee2dd0989441dc2a704b63c1b32e598049acb5
Merge commit '918ccff37260270d0eef3a3a7bfc2410c46d931a' into gingerbread-plus-aosp
* commit '918ccff37260270d0eef3a3a7bfc2410c46d931a':
consolidate target_files metadata into one key-value file
Merge commit '852f43bd29da34ff15799b88c3db166428cea6d8' into gingerbread-plus-aosp
* commit '852f43bd29da34ff15799b88c3db166428cea6d8':
Include dalvik+libcore dependencies in core product definitions.
Instead of separate files for recovery api version, tool extensions,
and mkyaffs2 options, put those all in the generic key-value file.
Change-Id: Ib642311632844d52e4895fd4747093fc7e86232d
Merge commit 'c77a9ad444d49e2ad777678cf5671f0a94f44ffb' into gingerbread-plus-aosp
* commit 'c77a9ad444d49e2ad777678cf5671f0a94f44ffb':
store user-visible image sizes in target-files
Do the yaffs-specific adjustments to image sizes in common.CheckSize,
instead of baking it into the image size stored in the target-files
package. Remove the special fs_type flag and fold it into the
"info_dict" we have for saving key-value pairs from the build system.
Change-Id: I6e63f3330f6277d9a946b22e66cadeb51203ba14
Merge commit '8e8ff4cad905a5b4eed7659152f075f9a5c038b1' into gingerbread-plus-aosp
* commit '8e8ff4cad905a5b4eed7659152f075f9a5c038b1':
support for ext4/EMMC in target_files and OTA generation
Move the image sizes into a more generic key-value file. Make them
optional. Add additional key/value pairs describing what kind of
filesystem the device uses. Pass new fs-type-related arguments in
edify scripts when mounting and reformatting partitions.
Don't include all the init.*.rc files from the regular system in
recovery -- they aren't needed, and break recovery on some devices.
Change-Id: Ic1c651f754ed00ba1cffe8cf56c43f7f3b0ebfd7
Merge commit '671f5fb09f3510c16f73049cad9d8d6d652eaad8' into gingerbread-plus-aosp
* commit '671f5fb09f3510c16f73049cad9d8d6d652eaad8':
Don't increase partition size for ext4 user images. [DO NOT MERGE]
Merge commit 'da21ccf86c31fb060b5a259342fb0bfbb0362f8b' into gingerbread-plus-aosp
* commit 'da21ccf86c31fb060b5a259342fb0bfbb0362f8b':
Grandfather the simulator-specific modules. do not merge.
Those aren't new modules that were added recently, they just never got
considered when generating the original list of grandfathered modules
Change-Id: I0e6ff940936454048b59c0fc38e24e533e8598ae
Those aren't new modules that were added recently, they just never got
considered when generating the original list of grandfathered modules
Change-Id: I01c63f57be71146671cd3a7445baa774163262d8
Merge commit '05ad00eac9edda58c5cd3110853a6b93d6cc4e89'
* commit '05ad00eac9edda58c5cd3110853a6b93d6cc4e89':
Add a better explanation about how to deal with user modules
Merge commit 'bc84329757c6b79e1f10c418057e599ee106135c'
* commit 'bc84329757c6b79e1f10c418057e599ee106135c':
remove the system board name from the build fingerprint
Merge commit '5890600dac385941b6a4c6b6d0b230c1f13d54fa' into gingerbread-plus-aosp
* commit '5890600dac385941b6a4c6b6d0b230c1f13d54fa':
Add a better explanation about how to deal with user modules
Merge commit '135a120e3904d782623e4a3fc958ed098e8de384' into gingerbread-plus-aosp
* commit '135a120e3904d782623e4a3fc958ed098e8de384':
remove the system board name from the build fingerprint
Merge commit '659adc0b54e40b3b194c84ad4ac8d2e775276e60' into gingerbread-plus-aosp
* commit '659adc0b54e40b3b194c84ad4ac8d2e775276e60':
Change "make PRODUCT-XXX-tests" to build only tests-build-target
The supported mechanism is to explicitly add the module
name to the PRODUCT_PACKAGES of the relevant product definitions.
Change-Id: Ic754446e15965d468d1bbe85864275e2cda9b3aa
Merge commit '78c5ff6d376afc6a1a5fab8a7a24be00211c2d35' into gingerbread-plus-aosp
* commit '78c5ff6d376afc6a1a5fab8a7a24be00211c2d35':
another module that needs to be grandfathered in
Merge commit '0dfcdcb8b4e76ab1ae3f9086e59b5d30e42b8394' into gingerbread-plus-aosp
* commit '0dfcdcb8b4e76ab1ae3f9086e59b5d30e42b8394':
another module that needs to be grandfathered in
Merge commit '6dc2a832508c08c12cb30a6bc2beb8101107cc68' into gingerbread-plus-aosp
* commit '6dc2a832508c08c12cb30a6bc2beb8101107cc68':
another module that needs to be grandfathered in
Merge commit '32afccc732a6d7c631d2ba4d8a818fcbe2162903' into gingerbread-plus-aosp
* commit '32afccc732a6d7c631d2ba4d8a818fcbe2162903':
Revert "Default host module tag to optional."
Merge commit '6e8b268dec3cc38151dfd0514621219b79a30fa9' into gingerbread-plus-aosp
* commit '6e8b268dec3cc38151dfd0514621219b79a30fa9':
Fail the build when using a user tag on a non-legacy module. do not merge
The supported mechanism is to explicitly add the module
name to the PRODUCT_PACKAGES of the relevant product definitions.
Change-Id: I67bef9a967576b77a5d6c298178f03c66722eb37
Merge commit '528362f07460cfee42190e68ee2ffde4f08f0af4' into gingerbread-plus-aosp
* commit '528362f07460cfee42190e68ee2ffde4f08f0af4':
Default host module tag to optional.