TARGET_linux-arm: pass -fstrict-aliasing to TARGET_GLOBAL_CFLAGS

not everything is compiled with the same flags as thumb or arm

Change-Id: I2bf3910a14bd388787f95d9d3051eed2c60d0dcc
build: Add support for Luxembourgish

Change-Id: I0fb6d8f8a33f209d5593f133c2e891fe9be102c2
Merge "TARGET_linux-arm: pass -fstrict-aliasing to TARGET_GLOBAL_CFLAGS" into kk44
TARGET_linux-arm: -Os for TARGET_thumb_CFLAGS

Improved mean quadrant score by 814 points with 20 repetitions and lowers the range by 150 compared
to using -O3.  Tested on the nexus 7 flo.

Change-Id: I3395c8764ff3851db9765dab0d46f32a998d66d5
data: http://pastebin.com/2V28x8SP
change default to linaro's 4.8

requires related manifest commit or the testing instructions there-in

Change-Id: Ie9e220e079dac04d548a004a6b0f3de4aad73417
releasetools: use variable instead of fixed name for bootable image

When building for a device with a custom bootimage makefile, this
would cause the boot image to be used as the recovery image during
fastboot zip creation.

Change-Id: I075cfe4e9a2a8384d3767de351ec7f751f3e95ab
bottleservice: correct parsing of TARGET_NO_KERNEL during breadth-first search

Change-Id: I9f656f04e9e43fe93aecafe0796af380b848e695
bottleservice: Make initial device directory matching more strict

Change-Id: I8607cbd2b96515d41e890fd9421fe64dddaa5eb9
build: -fno-tree-vectorize for -mfpu=neon

The best performance comes from deriving parallelization using mathematical proof of the original function, and autovectorizing compilers don't do this. Pretty much all they do is unroll loops.
Therefore: make sure -ftree-vectorize is turned off
source:
https://wiki.debian.org/ArmHardFloatPort/VfpComparison#NEON

Change-Id: I6729c97495e1f76fabcd28b9c37fa5bae70a92de
bandaid for ARM_EABI_TOOLCHAIN determination

Change-Id: Ie378ca5c24c1185a2b2294459c2089908e449f13
build: Disable Punjabi & Sinhala languages

* These languages do not render properly.
Disable them until we fix the issue

Change-Id: I04f26ab4146925661a4a5b97308eb919c5dc1de2
releasetools: Add radio images to fastboot packages

Fastboot packages should include radio images, if they exist. Also
generate a flash-radio.sh file if a filesmap file exists to indicate
the partition that a radio image should be flashed to.

Change-Id: Ic3392cc76407408b98aad00f36f4dfa3b9be176b
Merge "build: -fno-tree-vectorize for -mfpu=neon" into kk44
build: edify: use set_metadata for backuptool

Also use saner permissions on backuptool.sh

Change-Id: I50742b51867aa358f5924b8dc208833092a35bd9

Conflicts:

	tools/releasetools/edify_generator.py
Wrong product package: Gallery was replaced by Gallery2

Change-Id: Ia34e1fa9bc9ac494fac098eb86a5ddab78b6d149
Runtime resource overlay, iteration 2

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
New Theme Engine [4/6]

Adds aapt for on device compiling of theme assets

Change-Id: I2f9f4b3e27ddf32b339694f9c6d3b75a12b700d9
bottleservice: use get_build_var instead of manually BFSing boardconfigs

Change-Id: I18becc0c49b039212999fc83b97c2b17c5ad1d89
bottleservice: internally sourcing envsetup is no longer required

Change-Id: Ifcef077b197e0790a6ce6fcf0ec3332100fca15b
build: Re-enable Sinhala language

* Depends on http://review.cyanogenmod.org/62344

Change-Id: Ife98711dde84d2e620da8f3d381e111aa843975d