summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | fix buildColin Cross2014-02-131-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | Include prebuilt_internal.mk for host builds. Change-Id: I750d6f71b3a2c67b11536babb8b39060005f4ff4
* | | | Merge "add linker64 and debuggerd64 to all products"Colin Cross2014-02-141-0/+2
|\ \ \ \
| * | | | add linker64 and debuggerd64 to all productsColin Cross2014-02-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add linker64 and debuggerd64 to embedded.mk. They will be silently ignored on 32-bit builds, and filtered out on 32-bit sdk builds. Change-Id: I8c30ea65e2b7e224ee73cc9fbbcb7555d3be04b5
* | | | | Merge changes I2514f66f,I71fed98dColin Cross2014-02-143-215/+236
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | * changes: support LOCAL_MODULE_TARGET_ARCH for prebuilts Add generated sources dir to the default include path
| * | | | support LOCAL_MODULE_TARGET_ARCH for prebuiltsColin Cross2014-02-132-214/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prebuilts often support only a single architecture, allow them to use LOCAL_MODULE_TARGET_ARCH to specify it. Change-Id: I2514f66f682ef267bbf1a1ab78510faff0a18b64
| * | | | Add generated sources dir to the default include pathColin Cross2014-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I71fed98dfbc0bf5efad069a251eee2e5ab2e5fe6
* | | | | Merge "Don't check the existence for the 64-bit modules for 32-bit SDK build."Ying Wang2014-02-141-0/+4
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Don't check the existence for the 64-bit modules for 32-bit SDK build.Ying Wang2014-02-131-0/+4
|/ / / / | | | | | | | | | | | | Change-Id: I0d5d6ecc07332bef6854466fd98380eb12fc08fc
* | | | Merge "don't use LOCAL_*_arch for host builds"Colin Cross2014-02-132-10/+40
|\ \ \ \
| * | | | don't use LOCAL_*_arch for host buildsColin Cross2014-02-132-10/+40
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LOCAL_*_$(TARGET_ARCH) variables don't make sense for host modules, only append use them for target modules. Also complete the list of LOCAL_*_arch and LOCAL_*_32/64 to be consistent. Change-Id: I00c83e5c4e08ed9a844f9f99a79ce4bcc3f0bf11
* | | | Merge "make 64-bit builds into multiarch builds"Colin Cross2014-02-136-0/+26
|\ \ \ \ | |/ / / |/| | |
| * | | make 64-bit builds into multiarch buildsColin Cross2014-02-126-0/+26
|/ / / | | | | | | | | | | | | | | | Also enable the 64-bit binder interface and make them only use ART. Change-Id: I05de41ce348c14722c84a658f745659bde5ba423
* | | Merge "Remove dead code."Ying Wang2014-02-131-30/+0
|\ \ \
| * | | Remove dead code.Ying Wang2014-02-121-30/+0
|/ / / | | | | | | | | | Change-Id: Ia36a04037e15cbf296f375f3ece9a7e977fdca1e
* | | Merge topic 'arm64'Colin Cross2014-02-1212-497/+659
|\ \ \ | | | | | | | | | | | | | | | | | | | | * changes: HACK: add 64-bit directory blacklist add support for module supported or unsupported target architectures
| * | | HACK: add 64-bit directory blacklistColin Cross2014-02-126-8/+72
| | | | | | | | | | | | | | | | Change-Id: I431e8b220db81d51930dc0b3d95995df120c179a
| * | | add support for module supported or unsupported target architecturesColin Cross2014-02-127-489/+587
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add four new variables for module makefiles: LOCAL_MODULE_TARGET_ARCH specifies that a module is only supported for one or more architectures. Any architecture not in the list will be not attempt to build the module. The expected use case is prebuilts that are only suitable for a single architecture, or modules like llvm that need per-architecture support. LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH specifies that a module cannot be built for one or more architectures. LOCAL_MODULE_TARGET_ARCH_WARN and LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN are the same, but warn that the arch is not supported, which is useful for modules that are critical but not yet working. The logic for whether or not to build an architecture is fairly complicated, so this patch consolidates it into module_arch_supported.mk Change-Id: I120caf4a375f484e1fd6017b60c2f53882ae01e6
* | | | Merge "Refactor a little bit and do the validation on also default.prop."Ying Wang2014-02-121-31/+47
|\ \ \ \
| * | | | Refactor a little bit and do the validation on also default.prop.Ying Wang2014-02-121-31/+47
|/ / / / | | | | | | | | | | | | Change-Id: I76c2344d9033eadede7048689a879c9a69a05b7f
* | | | Merge "A build property's value is returned empty in runtime when its length ↵Ying Wang2014-02-121-1/+32
|\ \ \ \ | |/ / / |/| | | | | | | exceeds 92 symbols (91 valid symbols + \0). It is better to catch that issue on earlier stage, i.e. fail the build with an appropriate message."
| * | | A build property's value is returned empty in runtime when its lengthYu Liu2014-02-111-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exceeds 92 symbols (91 valid symbols + \0). It is better to catch that issue on earlier stage, i.e. fail the build with an appropriate message. For developer's build, show warning message instead of failing the build (in the latter case, as developers do not usually care about build properties too much). Change-Id: I03ced7b486d43a71b1921e0a9c48b43aa30727c7
* | | | Merge "Clean up dangling module names"Ying Wang2014-02-122-8/+6
|\ \ \ \
| * | | | Clean up dangling module namesYing Wang2014-02-112-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those modules have disappeared from the source tree. https://code.google.com/p/android/issues/detail?id=61210 Change-Id: Iab369d2f591f46eb86b9fccf2087515edf974662
* | | | | Merge "Refine module name resolving in multilib build"Ying Wang2014-02-123-2/+67
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Refine module name resolving in multilib buildYing Wang2014-02-103-2/+67
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Added TARGET_PREFER_32_BIT, which sets LOCAL_32_BIT_ONLY for an executable, if LOCAL_NO_2ND_ARCH is not true. Name resolving in 64-bit multilib build: -- Name resolving in PRODUCT_PACKAGES: foo:32 resolves to foo_32; foo:64 resolves to foo; foo resolves to both foo and foo_32 (if foo_32 is defined). -- Name resolving for LOCAL_REQUIRED_MODULES: If a module is built for 2nd arch, its required module resolves to 32-bit variant, if it exits; Otherwise for executable and shared library, a required module resolves to the default 64-bit variant; for other module classes, required module foo resolves to both foo and foo_32 (if foo_32 is defined) Bug: 12898862 Change-Id: I5fda1a77f58814097b10b5ad2743ee25adfaecc4
* | | | Merge "Add all-S-files-under."Elliott Hughes2014-02-111-0/+13
|\ \ \ \
| * | | | Add all-S-files-under.Elliott Hughes2014-02-111-0/+13
| |/ / / | | | | | | | | | | | | Change-Id: I25416e2acc850c61226bc7a8e0536384f6eb2dce
* | | | Merge "fix 2nd target clang prebuilt paths"Colin Cross2014-02-113-3/+3
|\ \ \ \
| * | | | fix 2nd target clang prebuilt pathsColin Cross2014-02-113-3/+3
| |/ / / | | | | | | | | | | | | Change-Id: I4c196221bd377e30bbff1aafa265952e29c85cb5
* | | | Merge "Runtime resource overlay, iteration 2"Ying Wang2014-02-111-0/+1
|\ \ \ \ | |/ / / |/| | |
| * | | Runtime resource overlay, iteration 2Mårten Kongstad2014-01-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support any number of overlay packages. Support any target package. UPDATED PACKAGE MATCHING ------------------------ In Runtime resource overlay, iteration 1, only a single overlay package was considered. Package matching was based on file paths: /vendor/overlay/system/framework-res.apk corresponded to /system/framework-res.apk. Introduce a more flexible matching scheme where any package is an overlay package if its manifest includes <overlay targetPackage="com.target.package"/> For security reasons, an overlay package must fulfill certain criteria to take effect: see below. THE IDMAP TOOL AND IDMAP FILES ------------------------------ Idmap files are created by the 'idmap' binary; idmap files must be present when loading packages. For the Android system, Zygote calls 'idmap' as part of the resource pre-loading. For application packages, 'idmap' is invoked via 'installd' during package installation (similar to 'dexopt'). UPDATED FLOW ------------ The following is an outline of the start-up sequences for the Android system and Android apps. Steps marked with '+' are introduced by this commit. Zygote initialization Initial AssetManager object created + idmap --scan creates idmaps for overlays targeting 'android', \ stores list of overlays in /data/resource-cache/overlays.list AssetManager caches framework-res.apk + AssetManager caches overlay packages listed in overlays.list Android boot New AssetManager's ResTable acquired AssetManager re-uses cached framework-res.apk + AssetManager re-uses cached 'android' overlays (if any) App boot ActivityThread prepares AssetManager to load app.apk + ActivityThread prepares AssetManager to load app overlays (if any) New AssetManager's ResTable acquired as per Android boot SECURITY -------- Overlay packages are required to be pre-loaded (in /vendor/overlay). These packages are trusted by definition. A future iteration of runtime resource overlay may add support for downloaded overlays, which would likely require target and overlay signatures match for the overlay to be trusted. LOOKUP PRIORITY --------------- During resource lookup, packages are sequentially queried to provide a best match, given the constraints of the current configuration. If any package provide a better match than what has been found so far, it replaces the previous match. The target package is always queried last. When loading a package with more than one overlay, the order in which the overlays are added become significant if several packages overlay the same resource. Had downloaded overlays been supported, the install time could have been used to determine the load order. Regardless, for pre-installed overlays, the install time is randomly determined by the order in which the Package Manager locates the packages during initial boot. To support a well-defined order, pre-installed overlay packages are expected to define an additional 'priority' attribute in their <overlay> tags: <overlay targetPackage="com.target.package" priority="1234"/> Pre-installed overlays are loaded in order of their priority attributes, sorted in ascending order. Assigning the same priority to several overlays targeting the same base package leads to undefined behaviour. It is the responsibility of the vendor to avoid this. The following example shows the ResTable and PackageGroups after loading an application and two overlays. The resource lookup framework will query the packages in the order C, B, A. +------+------+- -+------+------+ | 0x01 | | ... | | 0x7f | +------+------+- -+------+------+ | | "android" Target package A | Pre-installed overlay B (priority 1) | Pre-installed overlay C (priority 2) Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
* | | | Merge "Add missing font files to SDK system images."David 'Digit' Turner2014-02-101-0/+3
|\ \ \ \ | |_|_|/ |/| | |
| * | | Add missing font files to SDK system images.David 'Digit' Turner2014-02-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a few missing font families to SDK system images. This allows, in particular, support for the Korean language. Note that this depends on other patches under device/generic/ to fix some board and product configuration files, otherwise this change will have no effect. See http://b.android.com/40340 Change-Id: Idba6471de32232833f511a4da97fd652906fec51
* | | | Merge "Refreshed gcc predefines __ANDROID__"Ben Cheng2014-02-071-3/+0
|\ \ \ \
| * | | | Refreshed gcc predefines __ANDROID__Ben Cheng2014-02-071-3/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: Id76f5a7490fba8190329e5ce3c4b138976a034ce
* | | | | Merge "Select the arch_variant_cflags for the 2nd arch."Ying Wang2014-02-071-3/+3
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Select the arch_variant_cflags for the 2nd arch.Ying Wang2014-02-071-3/+3
|/ / / / | | | | | | | | | | | | Change-Id: Id2f9d7073a4aae3ba0fe5e5464045761f4d42b4e
* | | | Merge "Refactor llvm_config.mk and support the 2nd arch"Ying Wang2014-02-0721-286/+654
|\ \ \ \
| * | | | Refactor llvm_config.mk and support the 2nd archYing Wang2014-02-0721-286/+654
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Following the setup of gcc in build/core/combo/, we added the [HOST|TARGET]_<arch>.mk clang config files, and load only the configs needed by the current product. 2. Added support for the 2nd arch. Change-Id: I2a383418a9688a050b39492f8e489d40eeeb5f2d
* | | | | Merge "don't rename 32-bit packages to *_32"Colin Cross2014-02-071-0/+4
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | don't rename 32-bit packages to *_32Colin Cross2014-02-061-0/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | Renaming 32-bit packages to *_32 breaks PRODUCT_PACKAGES dependencies. Change-Id: I5457c07b64885d77a6bd8fbcbba97d28393c581d
* | | | Merge "Turn 64-bit-related warnings into errors on 64-bit builds."Elliott Hughes2014-02-062-2/+14
|\ \ \ \
| * | | | Turn 64-bit-related warnings into errors on 64-bit builds.Elliott Hughes2014-02-052-2/+14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't think we can realistically turn this on for 32-bit builds any time soon. Also, fix the arm64 stack-protector hack. Change-Id: Ie1e7c875bbc06fb21bb372b8ca99879a23ef53d4
* | | | Merge "[MIPS64] Add mips64 target"Elliott Hughes2014-02-0611-2/+836
|\ \ \ \
| * | | | [MIPS64] Add mips64 targetChris Dearman2014-02-0511-2/+836
|/ / / / | | | | | | | | | | | | | | | | Change-Id: Ice1621101c0d5a3314db288542ca8020e3f406bf Signed-off-by: Duane Sand <duane.sand@imgtec.com>
* | | | Merge "Add library test makefile solutions."Christopher Ferris2014-02-069-23/+70
|\ \ \ \
| * | | | Add library test makefile solutions.Christopher Ferris2014-02-059-23/+70
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibc8df9b0e2342683158936bf011425780df8f02a
* | | | | Merge topic 'arm64'Colin Cross2014-02-056-13/+28
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: add support for more LOCAL_*_arch variables don't rename 32-bit executables to *_32 remove 2nd arch from ARCH_ARM_* defines
| * | | | | add support for more LOCAL_*_arch variablesColin Cross2014-02-043-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for: LOCAL_SHARED_LIBRARIES_arch LOCAL_STATIC_LIBRARIES_arch LOCAL_WHOLE_STATIC_LIBRARIES_arch LOCAL_GENERATED_SOURCES_arch LOCAL_REQUIRED_MODULES_arch Change-Id: Iad91702e140d8dba7dcaee13f236c77b1e626a34
| * | | | | don't rename 32-bit executables to *_32Colin Cross2014-02-042-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renaming 32-bit executables to *_32 breaks PRODUCT_PACKAGES dependencies. Change-Id: I53d89991633ef4af03c4e618c463769937a70e38