Commit Graph

5334 Commits

Author SHA1 Message Date
Ying Wang
961096fada Remove ancient SDK cleanbuild rule
In anceint time we didn't have an "sdk" product so that we had to run
"make sdk" in a device product configuration.
Now we have SDK specific product configuration and we don't do "make
sdk" in device product configuration.

Change-Id: I40d58d51261498017bbe7e574c8128afc77e9b96
2015-01-06 16:49:20 -08:00
Ying Wang
98ae798535 Fix using variable intermediates.COMMON before defining.
In commit e9dd9f2bf we moved "include $(BUILD_SYSTEM)/android_manifest.mk"
forward before the variable intermediates.COMMON gets defined. That's a
mistake.
This change replaced the tentative variables
package_expected_intermediates_COMMON and guessed_intermediates with
their proper counterparts defined in base_rules.mk.
If their values differ in the two file, that's an error and we should
fix.

Bug: 18168693
Change-Id: I2bf17b0476b4a7f97810fbb0bde7630eb8878b53
2014-12-18 15:13:04 -08:00
Ying Wang
2902d4585f Add support for prebuilt AARs.
- You can give a .aar as source file to a prebuilt static Java library
  module. The build system will set up dependencies and rules to extract
  classes.jar and other resource files.
- To build against a prebuilt AAR module, use:
  LOCAL_STATIC_JAVA_AAR_LIBRARIES := <module names of aar prebuilt AARs>
  The build system will set up rules to merge the library's
  AndroidManifest.xml with the main AndroidManifest.xml, add the AAR's
  resource dirs and link/merge the AAR's classes.jar.

Bug: 18168693
Change-Id: Ic2c1d20572a93bd98dbc72f8a39e26b459e442c2
(cherry picked from commit e9dd9f2bfc)
2014-12-17 22:27:26 +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
Ying Wang
27eba54b20 Add system propery ro.build.flavor.
ro.build.flavor is set to "$(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT)" in
system.img build.prop at build time,
and it won't be overridden by oem partition's build.prop.

Bug: 18605832
Change-Id: Ic917623dd43b74d9c601119db0b457483e8c4472
2014-12-04 15:19:08 -08:00
Dianne Hackborn
0421d0b115 Fix issue #18368417: 5.0 -> 5.1.
Change-Id: Icd7137fe8b1bda1c5aaf170aa7b19a58832144c8
2014-12-04 12:10:32 -08:00
Adam Lesinski
83ee6d790f Remove uses of density in PRODUCT_AAP_CONFIG
Change-Id: I98594165515c07fa2e6b847266f7d8fa3283b52e
2014-12-03 15:20:51 -08:00
Ying Wang
8070b20f9e Support to build dpi-specific apk variants.
In unbundled apps_only build, in addition to the base apk, you can also
build the dpi-specific apk variants, with:
LOCAL_DPI_VARIANTS := <a list of dpi names>

Previously user needs to include $(BUILD_PACKAGE) repeatedly with the
same package definition except dpi flags.
With this change, all the dpi-specific apk variants share the base apk's
compiled Java code and only diverge at the point we add resources/assets
to the apk.
Also we set up variables/targets/rules in a way those dpi-specific apks
appear to be independent apks to the users, for example, you can pass
"AppName_<dpi_name>" to tapas, and AppName_<dpi_name>.apk lives in its
own intermediate directory.

Bug: 18388705
Change-Id: I2ba4972ea7d1f796352fab2407888f996781ae44
2014-12-02 18:17:55 +00:00
Ying Wang
f3b86357e2 Support journal size board config variables.
A device can set up BOARD_SYSTEMIMAGE_JOURNAL_SIZE (number of journal blocks)
in its BoardConfig.mk.
To disable journaling, set "BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0".

BOARD_VENDORIMAGE_JOURNAL_SIZE and BOARD_OEMIMAGE_JOURNAL_SIZE work in
similar way.

Bug: 18430740
Change-Id: I0594814fe19ffc54dff41ec2464e2e3a802b9419
2014-11-18 18:19:43 -08:00
Ying Wang
ea4dfb7551 Merge "Support prebuilt apk source selection based on PRODUCT_AAPT_PREF_CONFIG" into lmp-mr1-dev 2014-11-19 00:18:54 +00:00
Andreas Gampe
4fec0bb265 Build: Support for compiled-classes file
Allow a compiled-classes file for pre-opting.

Bug: 18410571
Change-Id: I8c69dd0fb8c04aaae0c4f062049cc9cce7d755c7
2014-11-18 14:41:26 -08:00
Ying Wang
43f7a3226a Support prebuilt apk source selection based on PRODUCT_AAPT_PREF_CONFIG
Two new LOCAL variables are added to support dpi-specific prebuilt apk
selection:
- LOCAL_DPI_VARIANTS: specify a list of dpis the module provides with
  specific prebuilt.
  Example: LOCAL_DPI_VARIANTS := xxhdpi xhdpi hdpi mdpi
- LOCAL_DPI_FILE_STEM: specify the dpi-specific source file name
  pattern.
  Example: LOCAL_DPI_FILE_STEM := MyApp-%.apk
  "%" will be substitued by $(PRODUCT_AAPT_PREF_CONFIG) in the core
  build system.
  If you don't set up LOCAL_DPI_FILE_STEM, the default is
  $(LOCAL_MODULE)_%.apk.

The build system searches $(PRODUCT_AAPT_PREF_CONFIG) in a prebuilt apk
module's $(LOCAL_DPI_VARIANTS). If not found, use whatever
$(LOCAL_SRC_FILES) as the source file; Otherwise use $(LOCAL_DPI_FILE_STEM)
to construct the dpi-specific apk's source file name, and use whatever
directory name of $(LOCAL_SRC_FILES).

Bug: 18388705
Change-Id: I63cae73f1b6f880302142abc476b3ce1fb5500b5
2014-11-17 17:05:27 -08:00
Ying Wang
9a9d180ff1 Install preloaded-classes as a standalone configuration file
Install preloaded-classes as a standalone configuration file
/system/etc/preloaded-classes, so we can configure different file per product.
To override the default frameworks/base/preloaded-classes, just override
in your product configuration makefile with PRODUCT_COPY_FILES before it
inherits from build/target/product/base.mk: if there are multiple items
in PRODUCT_COPY_FILES with the same destination, the first one takes
precedence.

Bug: 18305157
Change-Id: I937632b4a1aa73310ec90e73fd708fbd0c704a21
2014-11-14 15:38:54 -08:00
Paul Lawrence
a37b2bb236 Fix the build
Bug: 15984840
Bug: 18120110
Change-Id: I0224d5a31e03b711953d9496ecb00b6d88b8ef4c
2014-11-14 02:04:33 +00:00
Sami Tolvanen
8d212ea873 DO NOT MERGE: Change verity key formats
Change boot, recovery, and verity metadata signing keys to use the
same PKCS8 / X.509 PEM format as the other signing keys, and update
build scripts to use correct arguments for the updated signing
tools.

Bug: 15984840
Bug: 18120110
Change-Id: I23ed5a004ecdad6cf7696487935ad5031eb8adf8
(cherry picked from commit 72d90eb189)
2014-11-13 23:23:31 +00:00
Greg Hartman
2ebfef4484 Restore the diskinstaller dependency, since it's needed for GCE.
Change-Id: Ieb2695afbe551e829357bad56d5fe1501165b495
2014-11-11 02:27:46 +00:00
Greg Hartman
4c46710e7a Add a hook for the syslinux bootloader.
Change-Id: Ia8638e9dcb025743a66c52ad43b161ee70602c89
2014-11-11 02:26:50 +00:00
Igor Murashkin
da9f1a7e82 core: Use WITH_DEXPREOPT_PIC=true to have dex2oat build pic oat files
When WITH_DEXPREOPT=true is set, if we also set WITH_DEXPREOPT_PIC=true
then the build will generate position-independent OAT images.

This means that all the system applications no longer need to be
relocated into /data/dalvik-cache and this can achieve saving disk space
at the cost of slightly slower running code.

Bug: 18035729
Change-Id: Ifd517c842f48bf31568bf5ff56667298d422c2c0
2014-10-31 14:30:42 -07: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
Adam Lesinski
708e021a31 Merge "Add -DWIN32_LEAN_AND_MEAN build flag to get rid of winsock2.h warnings" into lmp-mr1-dev 2014-10-28 17:41:30 +00:00
Ying Wang
a73b611e6b Store symbols.zip in apps_only build.
automerge: a60fb49

* commit 'a60fb49704946b9d5cf0551ddd56bd1072131b85':
  Store symbols.zip in apps_only build.
2014-10-28 00:15:59 +00:00
Adam Lesinski
b4efae440b Add -DWIN32_LEAN_AND_MEAN build flag to get rid of winsock2.h warnings
It's better practice to include the minimal set of windows APIs anyways
and we're not doing anything that requires more.

Change-Id: I1b4362be4f707738b9cfbd6a87caabff8b8409ac
2014-10-27 14:26:35 -07:00
Ying Wang
a60fb49704 Store symbols.zip in apps_only build.
Bug: 18103055
Change-Id: I0eb335e944138b0edc3050d19c076891f499a07c
2014-10-27 17:57:11 +00:00
JP Abgrall
620e409127 am 775b1abb: core: Fixup bad ext4 mount options for recovery (pick common denominator)
* commit '775b1abb12a5d891ac66b51d28381692bde6ab03':
  core: Fixup bad ext4 mount options for recovery (pick common denominator)
2014-10-24 02:57:34 +00:00
JP Abgrall
775b1abb12 core: Fixup bad ext4 mount options for recovery (pick common denominator)
Some ext4 options were not suitable for all kernel versions.
The current option were checked against kernels 3.0 3.4 3.10.

Bug: 18092222
Change-Id: I30883706e5c8ac7a318f4b448d4becde50de808f
2014-10-23 16:27:03 -07:00
JP Abgrall
4f072e140b am 7bd80ca6: Merge "core: Let the build specify mount options for recovery" into lmp-dev
* commit '7bd80ca6ea2b0c5c39bdb05013fb3d0188fbcfa8':
  core: Let the build specify mount options for recovery
2014-10-23 21:57:11 +00:00
JP Abgrall
6ea5bd626c core: Let the build specify mount options for recovery
Currently recovery install/patch will mount /system++ with only default
options.
The default options are not very suitable for dealing with crashes.
We now use
 TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS
that can specify which mount options to use for a given fs-type.
  # <fstype>=<fstype_opts>[|<fstype_opts>]...
  # fstype_opts := <opt>[,<opt>]...
  #         opt := <name>[=<value>]
If only defaults are to be used, then the BoardConfig.mk can just have
an empty (must have ""):
 TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS := ""

The default is
 "ext4=match_batch_time=0,commit=1,data=journal,barrier=1,errors=panic,nodelalloc"

The release tools will pick them up with
  https://googleplex-android-review.git.corp.google.com/#/c/573628

Bug: 18092222
Change-Id: Iaa59099b0edf5af8835d1862fada089cff58882c
2014-10-23 17:54:01 +00:00
Ying Wang
e3fe9cf213 am 03eceba1: Reset LOCAL_2ND_ARCH_VAR_PREFIX before referencing it.
* commit '03eceba1ddfe6cf3ae6eb22bddc889930c097c1a':
  Reset LOCAL_2ND_ARCH_VAR_PREFIX before referencing it.
2014-10-22 20:47:46 +00:00
Ying Wang
03eceba1dd Reset LOCAL_2ND_ARCH_VAR_PREFIX before referencing it.
Change-Id: I9182ce1efe09609100d19c9fae2bc4fe7358dfc0
2014-10-21 18:34:30 -07:00
Adam Lesinski
ea24f79479 am 318217a8: Enable building of gtest for Windows
* commit '318217a84a05880f5e10ba2086f87eb0320772c7':
  Enable building of gtest for Windows
2014-10-21 16:40:56 +00:00
Naseer Ahmed
3a2b9f0a49 core: OSX: Support 10.9 SDK as well
Change-Id: I764102df9b84ca19d217e35a209a9c80abeed6e7
2014-10-20 17:34:49 -07:00
Adam Lesinski
318217a84a Enable building of gtest for Windows
Windows does not have pthread support, and by defining the
GTEST_OS_WINDOWS flag, pthread support will not be built into
the windows version of gtest.

Change-Id: I0571fc52e77bb04175470d5750a7e2f46cdd5e86
2014-10-20 16:06:44 -07:00
Dianne Hackborn
4a6a7524b3 Move up to API 21, Lollipop MR1.
Change-Id: I81c3455d99673447ac0bc1b48d5ab1500b2bfd20
2014-10-17 10:05:33 -07:00
Stuart Scott
3c0190ff5b am f06c6eff: Add abi to generated XML
* commit 'f06c6eff656f6bf0ac06662ef21e29e446e1a43d':
  Add abi to generated XML
2014-10-15 00:22:35 +00:00
Stuart Scott
f06c6eff65 Add abi to generated XML
bug:17881028
Change-Id: I6dd37e99c0f511d8c883cb8128ea743c2e21f6ad
2014-10-15 00:10:08 +00:00
Raphael Moll
5abf8bf257 am a4d1f6a7: SDK Addon multi-sys-img support.
* commit 'a4d1f6a7f0399b5e5e38b7c6f274f5fb11be48b9':
  SDK Addon multi-sys-img support.
2014-10-10 15:17:16 +00:00
Raphael Moll
a4d1f6a7f0 SDK Addon multi-sys-img support.
Fix an issue where the add-on system images have 2 extra
inner folders. The sole root folder in the zip file should
be the ABI one.

Change-Id: Ie12b913438e2b1113d34222e467ff280daa23c7f
2014-10-10 00:50:39 +00:00
Ying Wang
36cff2a996 am edb9df24: Merge "Check to determine if we can run dex-preopt." into lmp-dev
* commit 'edb9df24d00091a5206ba36d7f32ed75d6c462b9':
  Check $(built_dex) to determine if we can run dex-preopt.
2014-10-09 16:57:16 +00:00
Narayan Kamath
aec004e66c resolved conflicts for merge of 1a856098 to lmp-mr1-dev
Change-Id: Id2ef023078a251cc58450d457f5b20261e2851a3
2014-10-09 13:58:05 +01:00
Ying Wang
62fb8a1f55 Check $(built_dex) to determine if we can run dex-preopt.
Change-Id: Icfed37f50671ec041f2cfdcec9175cb094b572fc
2014-10-08 15:23:24 -07:00
Paul Lawrence
a6a0435770 fs_mgr is now different on different build types
This is to enable compile time selection of disable-verity behavior

See https://googleplex-android-review.git.corp.google.com/#/c/563402/

Bug: 17691572
Change-Id: I6d77e39f070f2a753e09e5634cc3d9ebfceccada
2014-10-08 15:05:21 -07:00
Ying Wang
e24e17a976 Export build thumbprint only if the product has specified at least one oem fingerprint property
Bug: 17888863
Change-Id: I4d12bc977dcb5e8e1858efb2a395466d8779de34
2014-10-07 18:59:47 -07:00
Andreas Gampe
d8a89a8847 am c776f063: Merge "Build: Do not set interpreted mode for SDK build" into lmp-dev
* commit 'c776f06379929f1e1b9d1f4bb0749faf36e19670':
  Build: Do not set interpreted mode for SDK build
2014-10-03 23:52:41 +00:00
Andreas Gampe
c776f06379 Merge "Build: Do not set interpreted mode for SDK build" into lmp-dev 2014-10-03 22:20:54 +00:00
Ying Wang
16d99e8d10 am a45c2e58: Merge "Add two useful character constants." into lmp-dev
* commit 'a45c2e5834ae6ff983e158c79f4fd65e09cdb766':
  Add two useful character constants.
2014-10-03 21:32:19 +00:00
Andreas Gampe
2abc44c2fe Build: Do not set interpreted mode for SDK build
In case of emulator images created for an sdk build (sdk, win_sdk,
sdk_addon), do not set dex2oat to compile apps interpret-only.

Bug: 17796919

Change-Id: I6961aa20fd3b6ea164a1f55321387e84c8983550
2014-10-03 13:46:24 -07:00
Ying Wang
a45c2e5834 Merge "Add two useful character constants." into lmp-dev 2014-10-03 18:47:16 +00:00
Ying Wang
58a5db35a6 Add two useful character constants.
You need those constant variables when you want to insert newline or
backslash at the end of a macro.

Change-Id: I3fe96580d7a4ebc9d013afe6dd4ec8f40f49c724
2014-10-03 11:36:27 -07:00
Ying Wang
92126c6351 am 4991ae0b: Merge "Add split apks to the cts package." into lmp-dev
* commit '4991ae0b461688a5ecfe43707b9034e4e56809e4':
  Add split apks to the cts package.
2014-10-03 17:25:04 +00:00
Ying Wang
4991ae0b46 Merge "Add split apks to the cts package." into lmp-dev 2014-10-03 17:15:35 +00:00