History log of /build/core/envsetup.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8a6d7fabc371cb9aaa3fa3e243267d39166ea68c 06-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Ensure that BOARD_VNDK_VERSION is current" into oc-dev
2af509ba3d56ab5a31c2ec04feee1d43f4b2c1a9 19-Mar-2017 Dan Willemsen <dwillemsen@google.com> Ensure that BOARD_VNDK_VERSION is current

BOARD_VNDK_VERSION controls which version of the VNDK is used for the
build. We only support compiling against the current VNDK, and we don't
support installing old prebuilt VNDK libraries yet, so ensure this
variable is set to "current".

Once we support installing old prebuilt VNDK libraries, we'll also need
to disable building modules that use the VNDK.

Test: build-aosp_arm.ninja is the same before/after
Test: Ensure there are no boards that set BOARD_VNDK_VERSION
Test: Set BOARD_VNDK_VERSION := invalid
Change-Id: Ic26c9f44e356a0734f522b4538cb866d5b901d43
(cherry picked from commit 2c3289bf37f40220b0e097a49f1ab1ceabcf9dcd)
/build/make/core/envsetup.mk
ef8716c93a2f2801ab4b7dd46f5712a2ab0cd13c 04-Apr-2017 Steven Moreland <smoreland@google.com> Merge "ENABLE_TREBLE is deprecated" into oc-dev
7ef1ce5eb815c49308d4e5fd8e5dab9c006ff395 03-Apr-2017 Colin Cross <ccross@android.com> Merge changes Ib7268cbf,I6658edb7,I4f19c31c into oc-dev

* changes:
Optimize out extra jar copies
Revert "Revert "Revert "Add soong_javac_filter to all javac commands"""
Add min and max supported versions
417fc4f445f813b3f369abf1c6de85df54b4ff9f 20-Mar-2017 Steven Moreland <smoreland@google.com> ENABLE_TREBLE is deprecated

ENABLE_TREBLE is deprecated...removing obsolete code fragments related
to the flag.

Test: marlin boots/works
aosp_arm64_ab boots/works on sailfish/marlin

Bug: 32978887
Change-Id: I59b4509e4e7ec11cfa138200bccc4418c10b44f3
/build/make/core/envsetup.mk
f658305484c9836490e01a5090452162b4324318 28-Mar-2017 Colin Cross <ccross@android.com> Add min and max supported versions

Add MIN_PLATFORM_VERSION and MAX_PLATFORM_VERSION to track
the range of releases that are expected to be released from
the current branch.

Also simplify version_defaults.mk by moving most of the code
to envsetup.mk.

Test: build/make/tests/envsetup_tests.sh
Change-Id: I4f19c31c267e202f8f5ba1384a8b4385d725f9d7
(cherry picked from commit c901659377361841fe12658e4a33e1780719f881)
/build/make/core/envsetup.mk
62720dacbce07a0199651cad1be7e6243922450c 30-Mar-2017 Vishwath Mohan <vishwath@google.com> Refactor sanitized library on-disk layout - Make.

This CL moves the location of ASAN-ified libraries on disk in the
following manner:
/data/lib* --> /data/asan/system/lib*
/data/vendor/* --> /data/asan/vendor/*

There are a couple of advantages to this, including better isolation
from other components, and more transparent linker renaming and
SELinux policies.

(cherry picked from commit b285c46bbd68d5399c0d369c5667dddef1636b7d)

Bug: 36574794
Bug: 36674745
Test: m -j40 && SANITIZE_TARGET="address" m -j40 and the device
boots. All sanitized libraries are correctly located in /data/asan/*.

Change-Id: Ic6ba8e43e31df2ea92b85fd60f572823b6883ba2
/build/make/core/envsetup.mk
1b81278572f132fc5449b52bc828089ab7434544 24-Mar-2017 Colin Cross <ccross@android.com> Merge "Add TARGET_PLATFORM_VERSION to lunch" am: a007142381 am: 7b5dc8ad3e
am: 086d109f35

Change-Id: If005f3917b1f1664b111ce7d070590a47a259ce5
8873713f36c4b0a737947b31ea8e28300e6df759 22-Mar-2017 Colin Cross <ccross@android.com> Add TARGET_PLATFORM_VERSION to lunch

lunch can now take combos in the form:
$TARGET_PRODUCT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT-$TARGET_PLATFORM_VERSION

If all 3 are not specified the unspecified ones will take the
default values provided by the build system (eng, and currently
OPR1).

In addition, error handling for invalid products, variants and
versions is moved to the build system.

Bug: 34972208
Test: build/make/tests/envsetup_tests.sh
Change-Id: Ib0aaa98633448ba9bd8df911704c9cb3a8ebbe85
/build/make/core/envsetup.mk
0c386896c9fc0b399095e8626385893bfeed724c 16-Mar-2017 Miao Wang <miaowang@google.com> Merge "Add TARGET_OUT_VENDOR_RENDERSCRIPT_BITCODE definition." am: 3fd80635af am: 45976ab0c9
am: b3ccb7679b

Change-Id: Ia7253e725bf5a410a223eef46eec9befc1952537
57be564940ee26efb47032f2e287c0a5d15fcc56 02-Mar-2017 Miao Wang <miaowang@google.com> Add TARGET_OUT_VENDOR_RENDERSCRIPT_BITCODE definition.

- TARGET_OUT_VENDOR_RENDERSCRIPT_BITCODE is the output directory of
RENDERSCRIPT_BITCODE (libclcore.bc) for vendors.
- It is only used if LOCAL_PROPRIETARY_MODULE := true specified for the
bitcode module.

Bug: 34396220
Bug: 34334222
Test: mm
Change-Id: I10237470eff0d8a693ce73313944e9b24595c5b7
/build/make/core/envsetup.mk
03802377df83f3c4948a35117a3a75f6738aab2c 22-Feb-2017 Dan Willemsen <dwillemsen@google.com> Merge "Stop double-printing config" am: a7d4e0cd73 am: 283ed982cd
am: 3c7e341f57

Change-Id: I9aac1fa965b7d17138806b085a6fede8cfa37aa9
0d25529b4ca2c54b3d7fe27beda54c697ae524f4 18-Feb-2017 Dan Willemsen <dwillemsen@google.com> Stop double-printing config

Don't print the config in Kati when we've already printed it in soong_ui
or the make wrapper.

Test: m -j
Test: USE_SOONG_UI=true m -j
Change-Id: Ic6dce0ab29d584d85c6642c597f6e9dcd6ba9dca
/build/make/core/envsetup.mk
dc750c31ca96a833b2c2c5cdd5487d56dbe0bd7d 18-Feb-2017 Dan Willemsen <dwillemsen@google.com> Merge "Add Header Library support to Make" am: 4f794fdd50 am: ea2687fab6
am: 4a78c9e50f

Change-Id: I711c810cef8487c2d8e7b53deb9ccaad89592b1d
8dae49c5e11c380e03e95e5b265efd913425e543 16-Feb-2017 Dan Willemsen <dwillemsen@google.com> Add Header Library support to Make

We currently use static libraries without any source files to represent
header libraries, but Soong actually has cc_library_headers. So to
export those in a separate namespace from static libraries, implement
them in Make as well.

This also adds a nice pretty-warning / pretty-error macro that can be
used to print out standard warning messages pointing to the real source
file having the problem.

Test: Use a header library exported by Soong in a Make module
Change-Id: I3486539e247524cb82a20620745fc7be03014e14
/build/make/core/envsetup.mk
5c36c2e329140f039bbd7574b04842f95904f654 08-Feb-2017 Simran Basi <sbasi@google.com> Merge "Output *TS testcases to common testcase folders." am: 469c458279 am: 040b876e3e am: d006a8be91
am: e9f1a266c9

Change-Id: I86bcda4b7727d9cde8a2aedea25f1e30f0628817
7166d1f43a1e8e58748a0f6e10f68402f5086fea 26-Jan-2017 Simran Basi <sbasi@google.com> Output *TS testcases to common testcase folders.

Aggregates the different *TS testcases into two common folders,
one under each the host and product hierarchies.

Bug: 34715822
Test: `make cts -j` and checked the contents of both:
out/host/linux-x86/testcases/ &
out/host/linux-x86/cts/android-cts/testcases/

Change-Id: I7d5201998ddcb011ecc687c272a0d0a36da248b7
/build/make/core/envsetup.mk
b1be1db324a0e007399afc680133beeca9f51696 05-Jan-2017 Dan Willemsen <dwillemsen@google.com> Merge "TARGET_RECOVERY_UPDATER_LIBS should not be used with AB updates" am: 81648927fb am: ce324c6848 am: cb43c0f8db
am: c1e617618e

Change-Id: I263bce77a6e52925f356344dfee437c6379d7e82
00cf76767f92bab7a269c67a0cb7090e961fc51c 05-Jan-2017 Dan Willemsen <dwillemsen@google.com> TARGET_RECOVERY_UPDATER_LIBS should not be used with AB updates

Also mark these variables as readonly so that later Android.mk cannot
change them.

Bug: 33607778
Test: build/tools/kati_all_products.sh -j12
Change-Id: I5f9a4df02bfdfd56549728f074bbb3fc251edb3d
/build/make/core/envsetup.mk
c290723f4bdf8f4bd6a5014cfd9d32166a073519 04-Jan-2017 Hung-ying Tyan <tyanh@google.com> Merge "Define TARGET_OUT_VENDOR_APPS_PRIVILEGED for 2nd arch" am: 1a4a0a4539 am: 82e3d0d007 am: 150db0ea6f
am: 7218cfb462

Change-Id: Iba954ad2ab7a387000254c153ceec1ae2902ee85
1a4a0a4539f24d236e7e19637e149a7e8009ec84 04-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Define TARGET_OUT_VENDOR_APPS_PRIVILEGED for 2nd arch"
2c412e9c92b46bc2e8426b8c5d334954c277df89 29-Nov-2016 Dan Willemsen <dwillemsen@google.com> Prohibit host modules from using LOCAL_COPY_HEADERS am: 6e51ef61a7 am: dc556b4bc0 am: 6e0c0da5dc
am: 7dd10c1085

Change-Id: I9d7b9721ae471c5f2a57b2ff49006b701fdfb49b
dc556b4bc07cc5d93d9b52d33db131aede8bcbf9 29-Nov-2016 Dan Willemsen <dwillemsen@google.com> Prohibit host modules from using LOCAL_COPY_HEADERS
am: 6e51ef61a7

Change-Id: Id7c80e4dba5a505a04ce47d459c0a525debc4d53
6e51ef61a7be3d45f7d8d109642f05aed9dc431d 23-Nov-2016 Dan Willemsen <dwillemsen@google.com> Prohibit host modules from using LOCAL_COPY_HEADERS

There are no users left, so remove all of this.

Test: lunch aosp_arm-eng; m -j native
Test: build/tools/kati_all_products.sh on aosp and internal master
Change-Id: I32f5c8b470a43dd203d7e20c192167630e4e6888
/build/make/core/envsetup.mk
cdabc21349eff18e6ed308aa343c149de5ccf72d 16-Sep-2016 Ryan Campbell <ryanjcampbell@google.com> Merge "Fix typo in coverage target out path." am: c6507670f2 am: 1fd609359d am: ee20a35082
am: 4fac69d7ca

Change-Id: I87affeaa765235f1108cdadc124587b42ee162c0
4fac69d7caff412032a9ca7ae03683e6d6d42e12 16-Sep-2016 Ryan Campbell <ryanjcampbell@google.com> Merge "Fix typo in coverage target out path." am: c6507670f2 am: 1fd609359d
am: ee20a35082

Change-Id: I0606159c8917927e4c8b4ad6ff67e73ba9473085
737bc02ee8d38069e72fd86e60c79abdca590b4e 16-Sep-2016 Ryan Campbell <ryanjcampbell@google.com> Fix typo in coverage target out path.

Change-Id: I4a448708ab74e08b2c515039ee5d71c32861214e
/build/make/core/envsetup.mk
af2091b21767f5a53fcf64c3166856672b6cd0bc 14-Sep-2016 Ryan Campbell <ryanjcampbell@google.com> Merge "Implement path-based enabling of code coverage." am: 1e1ecd5d07 am: 6b92bb4ebb am: 577eab3323
am: 5a63fe6856

Change-Id: I264e7ee9d8139c79fb882f40f1cb6854d2e24a8b
5a63fe68565824904d5adb153e48d299e675fb6b 13-Sep-2016 Ryan Campbell <ryanjcampbell@google.com> Merge "Implement path-based enabling of code coverage." am: 1e1ecd5d07 am: 6b92bb4ebb
am: 577eab3323

Change-Id: I36a4fc67e87e8561486111263b0d6b6ed1bdefcc
81c9d29dad68618718b0418cb749c571ad362333 12-Sep-2016 Ryan Campbell <ryanjcampbell@google.com> Implement path-based enabling of code coverage.

Native coverage is enabled by setting NATIVE_COVERAGE to true
and specifying a list of paths in the COVERAGE_PATHS
environment variable. Files are exported to a zip file in the
target out directory.

Change-Id: I66a2ddd88e849bec1cc0cdae1b51fe18a007e2c3
/build/make/core/envsetup.mk
57546850da8459ecda73f84a7dabfbdc4517e63d 03-Sep-2016 Colin Cross <ccross@android.com> Merge "Remove HOST_PREFER_32_BIT" am: 182ff5e2e7 am: a128976547 am: 0ab4eb9734
am: 3de35b8ada

Change-Id: Id379d498af36fd393cfe22ddb54d3b5e61accd2c
3de35b8adae271b653a826b0abefb7cfead5f77f 03-Sep-2016 Colin Cross <ccross@android.com> Merge "Remove HOST_PREFER_32_BIT" am: 182ff5e2e7 am: a128976547
am: 0ab4eb9734

Change-Id: I5834da777a75fb0c269de886f0233e8796c6aee7
70e0ac6bc1f5473f83af73f513e0ea8fe89f8ee8 02-Sep-2016 Colin Cross <ccross@android.com> Remove HOST_PREFER_32_BIT

HOST_PREFER_32_BIT was used during the switch to 64-bit host tools to
keep the SDK building as 32-bit, but is never set any more.

Change-Id: I874f89c7d1e9cd8c9d4c879048d81a4362ce4dce
/build/make/core/envsetup.mk
df57faec9aa9489f08a01e36c1c3882bf9e82125 15-Aug-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix GET-INSTALL-PATH to work with Soong" am: 6b9aa6938d am: 9fc9cac0ac am: 0e642c3e55
am: 7d72b5ef71

Change-Id: I81c2a1f4bff1a933f30131a8dce84004052c9f9e
7d72b5ef7198777a837bac66eafa2816eab4d7d0 15-Aug-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix GET-INSTALL-PATH to work with Soong" am: 6b9aa6938d am: 9fc9cac0ac
am: 0e642c3e55

Change-Id: Ic608a11b5b7ccf78f75bbf4ce7086ed92e1b9e14
9fc9cac0ac41e37c335cd7062fb3f64bab201d00 15-Aug-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix GET-INSTALL-PATH to work with Soong"
am: 6b9aa6938d

Change-Id: I9f433cb383846ec6ccb8e39be4b30110d60d54fd
53e3899222a7c49721e5b2be13cadbbf3b66c721 12-Aug-2016 Dan Willemsen <dwillemsen@google.com> Fix GET-INSTALL-PATH to work with Soong

This was printing all of the Soong modules in addition to the modules
defined in the ONE_SHOT_MAKEFILE. So replicate what we did with
MODULES-IN-* with GET-INSTALL-PATH-IN-* and update all the users.

Bug: 30191725
Change-Id: Ib1e4bf00f64d7a3e8cd91f44eaf1ff82fdfbf162
/build/make/core/envsetup.mk
2efc0340d3a777aa04aecad6b14be0f1c38a9a8c 03-Aug-2016 Alexey Polyudov <apolyudov@google.com> Merge "introduce AUX build class of targets" am: 556526bf95 am: 755391d77e am: 30937fbde2
am: 74140b99c4

Change-Id: I1b8940a33cc02840961dd22705561cc4101f5ba8
74140b99c49d959ba23020a84a8a95f5a6c7cb60 03-Aug-2016 Alexey Polyudov <apolyudov@google.com> Merge "introduce AUX build class of targets" am: 556526bf95 am: 755391d77e
am: 30937fbde2

Change-Id: I73aa67afa95b8c45c5a4e310a340bc709d0b3da0
755391d77e248b238bf2412b045490a0d6db6835 03-Aug-2016 Alexey Polyudov <apolyudov@google.com> Merge "introduce AUX build class of targets"
am: 556526bf95

Change-Id: I52b4b3a561ceb9c1fbe71ce75a4ef4aa252a9665
ccdc311b3328166687b2b3098059d50f1e8ff6e9 02-Aug-2016 Alexey Polyudov <apolyudov@google.com> introduce AUX build class of targets

AUX is a new class, similar to TARGET
While TARGET defines toolchain for Application Processors
AUX is defining toolchains for arbitrary utility cores (DSPs, GPUs,
MCUs, etc). This allows building of non-android sources as part
of Android tree and avoid using prebuilts if source code is avaliable

Bug: 29635686
Change-Id: Ie755ea054b16c3e86369f5fb2ba6eb0b384af77f
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
/build/make/core/envsetup.mk
170486cacc0d262743cd9d76641b8cfd7a5aa8b7 25-Jul-2016 Andrew Hsieh <andrewhsieh@google.com> Check BOARD_WRAPS_CONVENTIONAL_HALS

Change-Id: If7a47a3972ab79b7c5f54d91befcc85cda2a6d07
/build/make/core/envsetup.mk
665e740792102e500c783796f9de052d5ddc4716 20-Jul-2016 Hung-ying Tyan <tyanh@google.com> Define TARGET_OUT_VENDOR_APPS_PRIVILEGED for 2nd arch

Build error when LOCAL_PROPRIETARY_MODULE, LOCAL_PRIVILEGED_MODULE,
and LOCAL_MULTILIB := 32 are set for a module in 64-bit build.

The patch adds path definition for
$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_VENDOR_APPS_PRIVILEGED

Change-Id: I2fe0c0f28fb7e4a27defd3a1b04f84c8b296294f
/build/make/core/envsetup.mk
397a0fe0210331ca789d424b87169b6eb6e7b0ba 01-Jul-2016 Andreas Gampe <agampe@google.com> Merge \\\"Build: Fix vendor sanitizer library for secondary arch\\\" am: 2302a76966 am: 80b32402dc
am: 2aac82f27c

Change-Id: I55e4d2c2718a49c9929601edefaf2845456eb854
80b32402dced361a2ea8fc4804753fe0f4ad2981 01-Jul-2016 Andreas Gampe <agampe@google.com> Merge \"Build: Fix vendor sanitizer library for secondary arch\"
am: 2302a76966

Change-Id: I2b21579df22b08655cdc9eab2d570304b167b5b6
cf6268f471f50599c004f6f18ee662273a0542b8 01-Jul-2016 Andreas Gampe <agampe@google.com> Build: Fix vendor sanitizer library for secondary arch

Fix the directory for secondary-architecture libraries under
sanitization. These incorrectly wrote into vendor/lib instead
of data/vendor/lib.

Bug: 29498013
Change-Id: Iee08422a1f7ad42cbe71a322347e98cb74e3ef7f
/build/make/core/envsetup.mk
a3e8e9c6f33ecd57221b7fe0ab1bf9c5035351ed 30-Jun-2016 Alex Light <allight@google.com> resolve merge conflicts of 3f7c348 to nyc-mr1-dev-plus-aosp

Bug: 29278988

Change-Id: Icffb9a280311c7d3c45f096243ddf18f7ebecd9d
db9f3489bcad4408b3521c9b1c242e41e4ccff99 29-Jun-2016 Dan Willemsen <dwillemsen@google.com> Merge \"Detect \`uname -m\` == i686 as a 32-bit host\"
am: 55d4a46f6d

Change-Id: Ia66952b98541755c55df1eb98775d749d2155dc1
88225fdfbe67316f38f9b3a716e6688b722a26f4 29-Jun-2016 Dan Willemsen <dwillemsen@google.com> Detect `uname -m` == i686 as a 32-bit host

Change-Id: I0350629ce6ea7a5f0224489bafc98bc190e70932
Test: UNAME from https://groups.google.com/d/msg/android-building/nGQna2xuW5s/eEcXSo9ZBgAJ
/build/make/core/envsetup.mk
4e358ab2c3635439db5bd1a1ef424d5c1250ce00 16-Jun-2016 Alex Light <allight@google.com> Add system_other partition, install odex files

For AB devices, support flashing two system partitions for factory use.
The normal system image on one partition, but without dex preopt. And a
system_other image that just contains the odex files. The dex files will
not be stripped out of the system image, in case the second system
partition is wiped.

Setting BOARD_USES_SYSTEM_OTHER_ODEX := true in the BoardConfig.mk
enables this behavior.

One can control which directories are placed in system_other by the
SYSTEM_OTHER_ODEX_FILTER configuration variable. Currently we default
to only copying only app and priv-app odexs.

Bug: 29278988
Change-Id: I7f4e87da919e7dc6a89fd8c668193cd4e98631bc
/build/make/core/envsetup.mk
edc6ed7aa056b2107666103c2a8e3cea39522659 22-Jun-2016 Dan Willemsen <dwillemsen@google.com> Merge \"Clean up vendor image handling\"
am: 4f807026e2

Change-Id: I637ed099a6f127aa8abca980329ddc6ecad5e3ec
6c3e79b8e3a5c617e9ab8afacec6262f01c06356 17-Jun-2016 Dan Willemsen <dwillemsen@google.com> Clean up vendor image handling

Standardize symlinking /system/vendor -> /vendor for aosp_* devices,
since some /vendor binaries still use /system/vendor/... paths.

Support using a prebuilt vendor image and including it into all the
normal packaging steps.

Bug: 28987532
Change-Id: I27040e8a8d1df0777e16cd1e3c3a9f1b28695e96
/build/make/core/envsetup.mk
32b36a88198b9e9f44c22d9103d67530ab0d8940 07-Jun-2016 Dan Willemsen <dwillemsen@google.com> Merge "Add NATIVE_TESTS class, move host native tests" am: e72fc63901
am: 10461b78f0

* commit '10461b78f0955d9dba8d32045d1e35ff0f9a5c8c':
Add NATIVE_TESTS class, move host native tests

Change-Id: Ia11b54676d3b33e58c177a5a375f29233657524e
e72fc639014809b4d4239d7f7754c6950f1ad546 07-Jun-2016 Dan Willemsen <dwillemsen@google.com> Merge "Add NATIVE_TESTS class, move host native tests"
6532011f9f53aba67ff97a876e934aa48d7fa65e 01-Jun-2016 Dan Willemsen <dwillemsen@google.com> Merge "Add Soong tools to PATH" am: b09e644e1d
am: 28874dc0c1

* commit '28874dc0c1c790005672406ea50729579096d6f4':
Add Soong tools to PATH

Change-Id: I5a8f9a27a651c1c79469e53daa1cc34a6febbbc8
60d9c673d7df06f46cc3901fe82dbf8d27cb7285 28-May-2016 Dan Willemsen <dwillemsen@google.com> Add Soong tools to PATH

Change-Id: I8f8649106df4ba7cefbfa37a724ebe0635d90b76
/build/make/core/envsetup.mk
6f8244b62dbaa6da40c7914c0d4e94ed53e226ac 27-May-2016 Colin Cross <ccross@android.com> Merge "Fix mm and mmm in Android.bp directories" am: 8ed91b6624
am: 323396993c

* commit '323396993c6651b4b98974df9e9d53118f27a840':
Fix mm and mmm in Android.bp directories

Change-Id: I95d6bde7a0ea72b47779f1a5b0577ff423524b6f
8ed91b66240d3071a42365737f4cd5c7dbe601e1 27-May-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Fix mm and mmm in Android.bp directories"
8642525726b3f3d11e64d0abf52af803f4e308ce 27-May-2016 Colin Cross <ccross@android.com> Fix mm and mmm in Android.bp directories

mm and mmm were not parsing out/soong/Android.mk, so they were ignoring
all modules defined in an Android.bp file. Always include
out/soong/Android.mk when ONE_SHOT_MAKEFILE is set, and convert the mm
and mmm functions to build MODULES-IN-$DIR instead of all_modules so
that only the subset of modules defined in out/soong/Android.mk for the
requested directory are built.

Bug: 28986194
Change-Id: I6e1ff8cacfc668a4154a0d5937450db840bb7a6b
/build/make/core/envsetup.mk
238f4aafd211b1ce7c6e6d6d672e8e9301c99ed5 27-May-2016 Dan Willemsen <dwillemsen@google.com> resolve merge conflicts of dfcf2e0 to nyc-dev-plus-aosp

Change-Id: I5473ac42db3dba12dffb1d40eb9096d738ef977b
056609ccfe3867e493a3a5313fc410f56e2e2e7a 17-May-2016 Dan Willemsen <dwillemsen@google.com> Remove unnecessary variables

These are all either recently unused due to the removal of CFLAGS/etc,
or have been exported by Soong and are no longer necessary.

Change-Id: I5930d43fda21acc8202b3d8ea010fbefb6ae4cf1
/build/make/core/envsetup.mk
7fe992c0ccf61443f90976f6f18a61c242df7731 02-Mar-2016 Dan Willemsen <dwillemsen@google.com> Add NATIVE_TESTS class, move host native tests

Host native tests have been getting installed into
out/host/linux-x86/bin/..., but this pollutes the bin directory with a
lot of poorly named tests. Also, to support 32-bit and 64-bit tests, we
need to have different names with different suffixes. This causes
problems when tests expect to be named something specific (like gtest).
It's also convenient to store test data next to the test itself.

So with this change, native tests will be installed in
out/host/linux-x86/nativetest[64]/$(LOCAL_MODULE)/$(LOCAL_MODULE_STEM)
just like target tests get installed into /data/nativetest[64].

Implement this using a new NATIVE_TESTS class, which is like
EXECUTABLES, but sets up the install path differently, and configures
the rpath to load shared libraries with the proper relative path.
LOCAL_MODULE_RELATIVE_PATH can be used to control the directory name, it
will default to $(LOCAL_MODULE). This way multiple related tests can be
grouped together.

Target native tests also use NATIVE_TESTS now, but nothing should change
other than LOCAL_MODULE_RELATIVE_PATH can be used.

Change-Id: I535e42b1a6b21c5b8d6a580aa2f944d2be35e27d
/build/make/core/envsetup.mk
ca5083195e9bde7379c30ee3507d4e0a5037abf5 24-May-2016 Colin Cross <ccross@android.com> Merge "Error on USE_CLANG_PLATFORM_BUILD=" am: 7b31dd1094
am: 893f32053f

* commit '893f32053f78def4582ceb54b19ddb1253b73495':
Error on USE_CLANG_PLATFORM_BUILD=

Change-Id: Ibc43aee7aecb6526436be08e78622a2e4690e71c
b267cbabba0c7ebceedaa94091b128d4e4f7cb22 19-May-2016 Colin Cross <ccross@android.com> Error on USE_CLANG_PLATFORM_BUILD=

A blank USE_CLANG_PLATFORM_BUILD= on the command line for make causes
confusion between make and kati. make ignores writes to variables set
on the command line, so envsetup.mk cannot set it to true,
USE_CLANG_PLATFORM_BUILD is still empty in soong.mk, and soong.variables
gets DeviceUsesClang: false. kati gets USE_CLANG_PLATFORM_BUILD= in its
environment instead of on its command line, so envsetup.mk when parsed
by kati sets USE_CLANG_PLATFORM_BUILD=true.

Error out early if USE_CLANG_PLATFORM_BUILD is not true or false after
attempting to set it to true if it is empty.

Change-Id: I0e2731315711db9a6ac6ea2bf49c88bccacd35f7
/build/make/core/envsetup.mk
97069b07c39e29c2a784c5636730bd3681847b07 12-Apr-2016 Guang Zhu <guangzhu@google.com> resolve merge conflicts of bc3720c to nyc-dev-plus-aosp

Change-Id: I2372a61a39131ede33cda95afc3c3ddd19e542f0
188a1dd18fdde1a867910fb95896a121a562fcef 12-Apr-2016 Julien Desprez <jdesprez@google.com> Benchmark have their own folder

Benchmark tests use a separate folder from native tests.

Bug: 27465556
Change-Id: Ife0f43062e36ffc856f41683ddc4d91a7787333e
/build/make/core/envsetup.mk
87538e4f8b2e0451c03dbbe86d9e868b6d1a930b 17-Mar-2016 Ying Wang <wangying@google.com> Support x86+arm multilib build.

Support TARGET_2ND_ARCH as the binary translation arch.
See target/board/generic_x86_arm/BoardConfig.mk and
target/product/aosp_x86_arm.mk as example for the setup.

In BoardConfig, use the TARGET_2ND_ARCH/etc. variables to set up the
binary translation arch;
Set "TARGET_TRANSLATE_2ND_ARCH := true" to tell the build system it's
not a typical 64-bit multilib configuration.
In product makefile, use "PRODUCT_PACKAGES += libfoo_<2nd_arch>" to
install the TARGET_2ND_ARCH libraries. This also pulls in any dependency
libraries.
By default we don't install any TARGET_2ND_ARCH modules, unless it's
pulled in by PRODUCT_PACKAGES.

Bug: 27526885
Change-Id: I0578e9c80da0532d2fa886a8fcdb140bbc703009
(cherry-pick from commit 277e75a488b1b6599482aed9f7c046747baa10df)
/build/make/core/envsetup.mk
27c3223a7705dc8141002c87893fd507cb91732e 09-Mar-2016 Todd Kennedy <toddke@google.com> Merge "Define TARGET_OUT_VENDOR_APPS_PRIVILEGED"
7dfdb843b25b4ef04c47b148e0095f292eceacd4 04-Mar-2016 Ying Wang <wangying@google.com> Speed up lunch/tapas/etc. shell utility functions.

1. Combined ~10 calls to the make build system to only one.
We added a phony target "dump-many-vars" to the build system to dump
"<var>=<value>" pairs. We then store the pairs as shell variables.
With this cache get_build_var/get_abs_build_var can just return
the shell variables instead of querying the build system.
2. Prune .git when we search for AndroidProduct.mks.

In internal source tree lunch time was reduced from ~15s to ~1.5s.

Bug: 27429759

(cherry picked from commit 08800fd905e70faf01d9392d00ff3f49d99097b7)

Change-Id: I862a0ec3c1aae97c552054dacec133e857042edf
/build/make/core/envsetup.mk
08800fd905e70faf01d9392d00ff3f49d99097b7 04-Mar-2016 Ying Wang <wangying@google.com> Speed up lunch/tapas/etc. shell utility functions.

1. Combined ~10 calls to the make build system to only one.
We added a phony target "dump-many-vars" to the build system to dump
"<var>=<value>" pairs. We then store the pairs as shell variables.
With this cache get_build_var/get_abs_build_var can just return
the shell variables instead of querying the build system.
2. Prune .git when we search for AndroidProduct.mks.

In internal source tree lunch time was reduced from ~15s to ~1.5s.

Bug: 27429759
Change-Id: I24e88598f6fab598ef26518885fd5e86e71a772d
/build/make/core/envsetup.mk
7e57b8ca57d6de66a16cf6b81b9fc5a74d465caa 06-Feb-2016 Dan Willemsen <dwillemsen@google.com> Add 64-bit windows cross-compiles

This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

windows-x86/bin <- defaults to 32-bit executables
windows-x86/lib <- 32-bit libraries, like before
windows-x86/lib64 <- 64-bit libraries
windows-x86/obj <- 32-bit intermediates
windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

host_cross_liblog <- 32-bit, like before
host_cross_liblog_64 <- 64-bit

Bug: 26957718

(cherry picked from commit 9ecbf832593980facba06c9031b8539b9cfdfd26)

Change-Id: Iab2d36e20d7002568c3534e7781e9ac8ab21a4a9
/build/make/core/envsetup.mk
c12ad5c5c0631f4746837eea2be2957b9047f4e7 13-Feb-2016 Dan Willemsen <dwillemsen@google.com> Define a class for renderscript bitcode files

These have been using SHARED_LIBRARIES, but aren't elf shared libraries.
Continue installing them to /system/lib[64], but do not apply any other
normal shared library logic to them.

(cherry picked from commit c6e194ffadc2b2c83daed3011d6afa1764244499)

Change-Id: I0041650af92cd8063ca33215010d5eff514a89bc
/build/make/core/envsetup.mk
c6e194ffadc2b2c83daed3011d6afa1764244499 13-Feb-2016 Dan Willemsen <dwillemsen@google.com> Define a class for renderscript bitcode files

These have been using SHARED_LIBRARIES, but aren't elf shared libraries.
Continue installing them to /system/lib[64], but do not apply any other
normal shared library logic to them.

Change-Id: I3055ff86bb7b116c7107c41578ed6f0f304b1cf1
/build/make/core/envsetup.mk
9ecbf832593980facba06c9031b8539b9cfdfd26 06-Feb-2016 Dan Willemsen <dwillemsen@google.com> Add 64-bit windows cross-compiles

This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

windows-x86/bin <- defaults to 32-bit executables
windows-x86/lib <- 32-bit libraries, like before
windows-x86/lib64 <- 64-bit libraries
windows-x86/obj <- 32-bit intermediates
windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

host_cross_liblog <- 32-bit, like before
host_cross_liblog_64 <- 64-bit

Bug: 26957718
Change-Id: I9f119411acb43e973ec1e6bca3c1dc291c91556c
/build/make/core/envsetup.mk
f3e7204befe0984135dd078316a5efcf58dd8625 22-Jan-2016 Josh Gao <jmgao@google.com> Error out if MALLOC_IMPL is defined.

Bug: http://b/26390299
Change-Id: Icd3ce6853c8207b1a9ce1f9d546a61d5b113f15a
/build/make/core/envsetup.mk
8dd69d97f662d6991fedccf3bb7082f30e6bfe6a 19-Jan-2016 Chih-Hung Hsieh <chh@google.com> Set USE_CLANG_PLATFORM_BUILD to default true.

BUG: 26102335
Change-Id: I3b9fa2dfbee361410caf163147945ab448bb8ddf
/build/make/core/envsetup.mk
c13f9c952dafb5a59ce5ae039a599e83a9622b83 07-Oct-2015 Will Drewry <drewry@google.com> envsetup,product,ninja: enable symlink traversal

When searching device, product, or hardware, allow
find to follow symlinks.

Add KATI_EMULATE_FIND=false to allow disabling the find
emulator which changes findleaves.py behavior wrt
symlinks.

BUG=24605247
TEST=works with CL:783781 (without the find wrapper in that CL)

Change-Id: Ia9d0e4add391a56f34828a09a6cec3f435ccc548
/build/make/core/envsetup.mk
e68a277e5915d7ff0e8fef9b869f4a8fd14592f0 17-Aug-2015 Benjamin Pujol <benjamin.pujol@intel.com> Define TARGET_OUT_VENDOR_APPS_PRIVILEGED

When LOCAL_PROPRIETARY_MODULE is set to true when building an apk with,
LOCAL_PRIVILEGED_MODULE set to true, the path is unknown.

Add TARGET_OUT_VENDOR_APPS_PRIVILEGED to path definitions.

Change-Id: Icbbafba96b7880f51ca3afcee53d5f3dd5b86a45
Signed-off-by: Benjamin Pujol <benjamin.pujol@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
/build/make/core/envsetup.mk
05bb4fed0d0e701ba13fef5f20b57eb1642cc40a 01-Oct-2015 Dan Willemsen <dwillemsen@google.com> am edc3e6cd: Merge "Sort more instances of wildcard and find"

* commit 'edc3e6cd6a0d6af4df3d6f07f40de17980b66ad0':
Sort more instances of wildcard and find
7c3e3f8314eec2c053012dd97d2ae649ebeb5653 30-Sep-2015 Dan Willemsen <dwillemsen@google.com> Sort more instances of wildcard and find

Many of these may not make a difference in the output images, but it's a
good idea to keep the make system as repeatable as possible.

Change-Id: I31804b8ad5805148ed08be7426a242a16f4d0df3
/build/make/core/envsetup.mk
db4cba4a084c545e692c324abe26be33b0c3434b 28-Sep-2015 Steve Fung <stevefung@google.com> am 562ad0b5: Merge "Package breakpad symbols in target files zip"

* commit '562ad0b5e4f5d49fc62e72ca1d6eb18acab6e90b':
Package breakpad symbols in target files zip
dfbab49bed1d65f1aedfada99718c46e2614fb35 25-Sep-2015 Steve Fung <stevefung@google.com> Package breakpad symbols in target files zip

When BREAKPAD_GENERATE_SYMBOLS is set to true, package the breakpad
symbols into the target files zip thats generated with `make dist`.

Bug: 24165970
Change-Id: I11c0d9a9d9e159475bfdb7bc338f9e9ac60aeada
/build/make/core/envsetup.mk
f267f7147fe74b6d523b8f3b700bef276f2782bb 18-Sep-2015 Evgenii Stepanov <eugenis@google.com> am 908260a5: Merge "Add support of SANITIZE_TARGET=\'address coverage\' for fuzzing."

* commit '908260a56631cad51196c7b197f720bc88d7f5c7':
Add support of SANITIZE_TARGET='address coverage' for fuzzing.
74b32b8dfcd5fdab7348d473635b056aea484add 18-Sep-2015 Ivan Krasin <krasin@google.com> Add support of SANITIZE_TARGET='address coverage' for fuzzing.

Also, add trace-cmp instrumentation to fuzz_test and host_fuzz_test.

Bug: 22850550
Change-Id: Ifff7b8be693ae991feb0a64e19439370a19b2748
/build/make/core/envsetup.mk
c98d9a9d0ff4ae5a99d45d79c43699c302e4e1a3 09-Sep-2015 Dan Willemsen <dwillemsen@google.com> am f1c09d7f: Merge "Add HOST_CROSS_OS"

* commit 'f1c09d7fbd92a08cc51950a7d35fb5f7fc564a20':
Add HOST_CROSS_OS
057aaea54a8dd6aa769290b1c0f471a17aaf1a22 14-Aug-2015 Dan Willemsen <dwillemsen@google.com> Add HOST_CROSS_OS

Instead of using recursive make to change the HOST_OS when building the
windows SDK under linux, add the concept of cross-building to another
host os.

Bug: 23566667
Change-Id: I6dc525b601b6251d458d197c30bf4660d7485502
/build/make/core/envsetup.mk
1b14846717876e8e6372ffc82f0874925fcacbf7 18-Aug-2015 Dan Willemsen <dwillemsen@google.com> am 48d95e75: am 05d97fe7: Merge "Remove legacy windows platform build support"

* commit '48d95e752536dc7a81c141e435e8a90b7929cf02':
Remove legacy windows platform build support
145ae32069d830d9318b61a996633126141c25a7 13-Aug-2015 Dan Willemsen <dwillemsen@google.com> Remove legacy windows platform build support

We still support HOST_OS=windows for the SDK host tools cross-builds, but
that's only when USE_MINGW is set when running under linux.

Change-Id: I37da87dc9fbbd69ba10ce4d7f2668ab3f6482d92
/build/make/core/envsetup.mk
0a1026ce27e1c42054d6362d3401bf4054987678 01-Aug-2015 Ying Wang <wangying@android.com> am ede3e310: am 2c0c1e56: Merge "Build 64-bit host tools in Linux/Mac SDK build."

* commit 'ede3e3103565175fc15b76cd6f9daf7e2b93393b':
Build 64-bit host tools in Linux/Mac SDK build.
5c28bda96693e90118a8c28405cf0f866ef06df2 31-Jul-2015 Ying Wang <wangying@google.com> Build 64-bit host tools in Linux/Mac SDK build.

With this we build 32-bit host tools in only MinGW Windows build.

Bug: 22776595
Change-Id: Icca02b0f629460449a3437ff1769d4d081e92413
/build/make/core/envsetup.mk
ff57fb45c727a1b74a84011213d72c935f59a2d5 01-Jul-2015 Evgenii Stepanov <eugenis@google.com> am be8dd615: am 473dfdf7: Merge "Move sanitized vendor libraries to /data/vendor/lib(|64)."

* commit 'be8dd6154b021b78422df44c4a7841899cc24866':
Move sanitized vendor libraries to /data/vendor/lib(|64).
bf140974b2ca890da5df61238bcc09af4cd10521 30-Jun-2015 Evgenii Stepanov <eugenis@google.com> Move sanitized vendor libraries to /data/vendor/lib(|64).

Sanitized RPATH now mentions /system/vendor/lib to preserve overlay
in the case when a sanitized version of a vendor library can not be
built.

Bug: 22199458
Change-Id: I3222d2e1d6c08fdd1e0404fcb7db347aa4a92bb7
/build/make/core/envsetup.mk
a43f213c78ae37fc3a4829da99d9900cf18b2f6f 19-Jun-2015 Evgenii Stepanov <eugenis@google.com> am 5f41fc3d: am eac1f6ed: Merge "With SANITIZE_TARGET, move shared libraries to /data."

* commit '5f41fc3d4d12cd5d1dd195c7369661e5b516c310':
With SANITIZE_TARGET, move shared libraries to /data.
4d3d4141ae5d35cbb9fef31d606be9609411e327 12-Jun-2015 Evgenii Stepanov <eugenis@google.com> With SANITIZE_TARGET, move shared libraries to /data.

A fully (or even mostly) asan-instrumented device will have 2 copies of each
shared library, which might not fit on system partition. Moving instrumented
libraries to /data.

Bug: 21785137
Change-Id: I64184261da2eb24a1382c67e4931c34a5a38b3c0
/build/make/core/envsetup.mk
3c114682527bb496b73329b01625f7fdba089acf 12-Jun-2015 C. Sean Young <csyoung@google.com> am 6f44670a: am cbaead4c: am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.

* commit '6f44670ada093f4a11a343dddf0f8d0a0a8280d6':
Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
cbaead4cfe737c96c649672b6c1396c35597b5b7 12-Jun-2015 C. Sean Young <csyoung@google.com> am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.

* commit '540772fa2287e63a0c745229fb72b78903c9cd70':
Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
cf4699895ad99b83a24e376007750e2c2c0502f6 09-Jun-2015 C. Sean Young <csyoung@google.com> Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.

These directories are excluded in addition to OUT_DIR.
This can be useful if your build system has other output directories
beyond what OUT_DIR is set to.

Change-Id: I6d98a85bcc8c89279e939406a7fec32547e8922f
/build/make/core/envsetup.mk
080f57aed7ac0f03c5db216dafe5023b032525ed 08-Jun-2015 Ying Wang <wangying@google.com> Merge "Remove the unnecessary full_x86_64 and full_mips64."
0a76df5ce744ee396d77ce30719212f72b1d31b6 08-Jun-2015 Ying Wang <wangying@google.com> Remove the unnecessary full_x86_64 and full_mips64.

For historical reason, the aosp_* products were named full_*.
We keep the full, full_x86 and full_mips in case some tools still
reference these legacy names; But no reason the have the full_* product
names for the new 64-bit archs.

Change-Id: I240ed0c6ded0ded2d80603bd0c5ff24750999afc
/build/make/core/envsetup.mk
4540a85dd434f91ebf4533e7a59691d460967568 13-Mar-2015 Ying Wang <wangying@google.com> Support to configure and build multiple custom images.

Build additional images requested by the product makefile.
This script gives the ability to build multiple additional images and
you can configure what modules/files to include in each image.
1. Define PRODUCT_CUSTOM_IMAGE_MAKEFILES in your product makefile.
PRODUCT_CUSTOM_IMAGE_MAKEFILES is a list of makefiles.
Each makefile configures an image.
For image configuration makefile foo/bar/xyz.mk, the built image
file name
will be xyz.img. So make sure they won't conflict.
2. In each image's configuration makefile, you can define variables:
- CUSTOM_IMAGE_MOUNT_POINT, the mount point, such as "oem", "odm"
etc.
- CUSTOM_IMAGE_PARTITION_SIZE
- CUSTOM_IMAGE_FILE_SYSTEM_TYPE
- CUSTOM_IMAGE_DICT_FILE, a text file defining a dictionary
accepted by BuildImage() in tools/releasetools/build_image.py.
- CUSTOM_IMAGE_MODULES, a list of module names you want to include
in the image; Not only the module itself will be installed to proper
path in the image, you can also piggyback additional files/directories
with the module's LOCAL_PICKUP_FILES.
- CUSTOM_IMAGE_COPY_FILES, a list of "<src>:<dest>" to be copied to
the image. <dest> is relativ to the root of the image.

To build all those images, run "make custom_images".

Bug: 19609718
Change-Id: Ic73587e08503a251be27797c7b00329716051927
(cherry picked from commit 5fcf1094f9cf4d57c2598237f99621f254130d71)
/build/make/core/envsetup.mk
dc941379272b92b4b151ae619a561a86ce13c1d4 05-May-2015 Dan Albert <danalbert@google.com> Make Windows a non-multilib target.

We don't have a toolchain for 64-bit windows.

This allows running `USE_MINGW=1 mm` in a directory that has a host
module with LOCAL_MULTILIB := both.

Change-Id: I31f981b38fb80b0d6582bab0a4bd580a3c654c91
/build/make/core/envsetup.mk
216ecac61ec19478e85d6588c2514c14517739f9 04-May-2015 Dan Albert <danalbert@google.com> Fix prebuilts for target builds with USE_MINGW=1.

USE_MINGW=1 mm didn't work in directories that contained target modules
because the build system would use the Windows locations and extensions
when trying to find the host GCC prebuilts. Windows is the target OS,
not the OS we're building from.

Change-Id: Ic994fed15388d0c7d393f71ba28fe7afdc659f5c
/build/make/core/envsetup.mk
3ba88e7d2dbc7f4d52202d58614cdcd566539455 20-Mar-2015 Brian Carlstrom <bdc@google.com> am b7fe2e62: am f7683b81: Merge "Clearly explain that 32-bit x86 is not supported"

* commit 'b7fe2e622d7a6a696749d5441358b84569de6f75':
Clearly explain that 32-bit x86 is not supported
2cd8a74b2d380e9c01efb922b57c9293738adbda 20-Mar-2015 Brian Carlstrom <bdc@google.com> Clearly explain that 32-bit x86 is not supported

Change-Id: I7f352fae8fa3742c61dc74e20aacd32254451bce
/build/make/core/envsetup.mk
d4ca3b38d9477cd8f163de75bff24cc97071f210 14-Mar-2015 Ying Wang <wangying@google.com> am 4cbc4b39: am ae61f50a: Support to configure and build multiple custom images.

* commit '4cbc4b392da57c34626af38a4ea0fe4dc115af57':
Support to configure and build multiple custom images.
ae61f50a680d4a8e91274b35305dc2e24959abbe 13-Mar-2015 Ying Wang <wangying@google.com> Support to configure and build multiple custom images.

Build additional images requested by the product makefile.
This script gives the ability to build multiple additional images and
you can configure what modules/files to include in each image.
1. Define PRODUCT_CUSTOM_IMAGE_MAKEFILES in your product makefile.
PRODUCT_CUSTOM_IMAGE_MAKEFILES is a list of makefiles.
Each makefile configures an image.
For image configuration makefile foo/bar/xyz.mk, the built image
file name
will be xyz.img. So make sure they won't conflict.
2. In each image's configuration makefile, you can define variables:
- CUSTOM_IMAGE_MOUNT_POINT, the mount point, such as "oem", "odm"
etc.
- CUSTOM_IMAGE_PARTITION_SIZE
- CUSTOM_IMAGE_FILE_SYSTEM_TYPE
- CUSTOM_IMAGE_DICT_FILE, a text file defining a dictionary
accepted by BuildImage() in tools/releasetools/build_image.py.
- CUSTOM_IMAGE_MODULES, a list of module names you want to include
in the image; Not only the module itself will be installed to proper
path in the image, you can also piggyback additional files/directories
with the module's LOCAL_PICKUP_FILES.
- CUSTOM_IMAGE_COPY_FILES, a list of "<src>:<dest>" to be copied to
the image. <dest> is relativ to the root of the image.

To build all those images, run "make custom_images".

Bug: 19609718
Change-Id: Ic73587e08503a251be27797c7b00329716051927
(cherry picked from commit 5fcf1094f9cf4d57c2598237f99621f254130d71)
/build/make/core/envsetup.mk
14cc23d4337c92fd09fa85cee536ca96eb41dd2a 04-Feb-2015 Ying Wang <wangying@google.com> Remove support of factory ramdisk/bundle.

Bug: 18779515
Change-Id: Ia6d51d43965447e2e95944a7d2b4b41adb121cb7
/build/make/core/envsetup.mk
38074e8eb0b7fdbb76ddfc1da0dc756424c4ecae 03-Sep-2014 Ying Wang <wangying@google.com> am 80ff45ba: am 0850330c: Merge "Default host module to 64-bit except for SDK builds."

* commit '80ff45ba98922b56ca70cc39fdb530482d366684':
Default host module to 64-bit except for SDK builds.
7ba7d7f4f5936e46c2b35dc5f01ea7865e612dfb 03-Sep-2014 Ying Wang <wangying@google.com> Default host module to 64-bit except for SDK builds.

Set "HOST_PREFER_32_BIT := true" only if "sdk" or "win_sdk" is among the
make command line goals, or it's a MinGW windows build, which only builds
host SDK tools.

Bug: 13751317
Change-Id: I8ec1a97a5d1af065a153b16523c2ee3434d0dd71
/build/make/core/envsetup.mk
f58dd4fd2aa8410dcf78c984da1c7267793b88f5 14-Aug-2014 Ying Wang <wangying@google.com> am 798c8430: am 3c6e4910: Merge "Fix HOST_LIBRARY_PATH."

* commit '798c8430d5d5389e15379d64119dfc75cfc61ff8':
Fix HOST_LIBRARY_PATH.
d481b112f2709deb0832a15dad112becc5ca2f67 14-Aug-2014 Ying Wang <wangying@google.com> Fix HOST_LIBRARY_PATH.

Since we switched to $(HOST_OUT)/lib64 for 64-bit libraries and
$(HOST_OUT)/lib for 32-bit libraries.

Change-Id: Ie43bc03c37e2ac8542412a7543a6af5d60c6f725
/build/make/core/envsetup.mk
5bac962903f34f53b20fbbc726463df63d0e3952 14-Aug-2014 Ying Wang <wangying@google.com> Fix HOST_LIBRARY_PATH.

Since we switched to $(HOST_OUT)/lib64 for 64-bit libraries and
$(HOST_OUT)/lib for 32-bit libraries.

Change-Id: Ie43bc03c37e2ac8542412a7543a6af5d60c6f725
/build/make/core/envsetup.mk
5a5d443f156fb61a365773d617e5d2747eeea26d 08-Aug-2014 Ying Wang <wangying@google.com> am 8ac188ff: am 6dbbb159: Merge "Consistent use of USE_MINGW"

* commit '8ac188ff0e739ea75ea02166c54428245200f088':
Consistent use of USE_MINGW
594a10ae77d7f359b4bc3fa80c10f6944021bcd4 08-Aug-2014 Ying Wang <wangying@google.com> Consistent use of USE_MINGW

Change-Id: I05e212e5a99639d0196006b9c2ec35072c54f399
/build/make/core/envsetup.mk
6aef04736294976b3bedaae5cb581a01f6387cc7 24-Jul-2014 Ying Wang <wangying@google.com> Support to set up TARGET_COPY_OUT_VENDOR in board config.

We first define TARGET_COPY_OUT_VENDOR as a placeholder. In product
config makefiiles we actually get the placeholders in
PRODUCT_COPY_FILES. A device can set up TARGET_COPY_OUT_VENDOR in its
BoardConfig.mk. We substitute the placeholder with the real
TARGET_COPY_OUT_VENDOR value after loading the BoardConfig.mk.
With this change, we can support building vendor stuff to
system.img (the default) or a separate vendor.img.

Bug: 16515152
Change-Id: I5b601d7a8b34fe032a1bac02aa5c204a3765691d
/build/make/core/envsetup.mk
26dbc3e6e4f957e552fbf66ef71be196c86c2892 09-Jul-2014 Ying Wang <wangying@google.com> am d3b5d574: am ce40d5f9: am bc7501e1: Merge "More consistent use of 64-bit build variable."

* commit 'd3b5d574defd565d6e810cbb86e3943837f94065':
More consistent use of 64-bit build variable.
4b1c95d8d2217d877a0f89c55cb08b3caa243e36 09-Jul-2014 Ying Wang <wangying@google.com> More consistent use of 64-bit build variable.

Set up TARGET_IS_64_BIT and HOST_IS_64_BIT early so we don't need 2
mechanisms to judge if it's 64-bit build;
Remove the unnecessary 32-bit host variables.

Change-Id: I08d6d4d9ea70f91135fe2ee05463fb9a0d1cee42
/build/make/core/envsetup.mk
e050245b7a73642db6dd582ec70b2393c97d4961 01-Jul-2014 Ying Wang <wangying@google.com> am 0d0b7b36: am 2530c787: am 4b539d15: Merge "More consistent host library path in multilib build."

* commit '0d0b7b3669d3cb309ddd26cf23ddddbe4d42fd8e':
More consistent host library path in multilib build.
36ef50f2a2e2de4ee568a94e9bb06813542a0ca1 01-Jul-2014 Ying Wang <wangying@google.com> More consistent host library path in multilib build.

In 64-bit multilib host build, changed from
32-bit lib: out/host/<platform>/lib32
64-bit lib: out/host/<platform>/lib
to
32-bit lib: out/host/<platform>/lib
64-bit lib: out/host/<platform>/lib64
.
That way the host library path is consistent with the multilib target
build's. Also with this change prebuilt 32-bit libraries can be reused
in 64-bit host build as 2nd arch binaries. (With previous setup, they
can't be used because they have rpath ../lib in it while the 2nd arch
library path needs ../lib32.

Change-Id: I020199d0c7dd52cdc8dcb7d3a1d22cd6178672e1
/build/make/core/envsetup.mk
a58f8e04c9ba28c88a30b558e9b0a176d40b0c62 20-Jun-2014 Colin Cross <ccross@android.com> build: fix vendor symbols in gdb

Set TARGET_OUT_VENDOR_SHARED_LIBRARIES_UNSTRIPPED
Append '64' for 64-bit libraries

Change-Id: Ief289bb23950d4bed84cf616cff6038fbd8caf95
/build/make/core/envsetup.mk
f15250ed86edd644c586bad28aac22c4ae6b7b71 26-Jun-2014 Ying Wang <wangying@google.com> Set up oem.img directory structure for TARGET_2ND_ARCH.

Change-Id: Ia931a10708225c428b658cb4a30e8bba66fa7308
/build/make/core/envsetup.mk
70ae5e23fc3596c9456e88d38ad346f54e50c95c 11-Jun-2014 Ying Wang <wangying@google.com> am 0d276266: am 128cd1b7: am 6cc4598d: Merge "Add global variable HOST_LIBRARY_PATH."

* commit '0d27626620676dbe72bf5c020008bb2dad20d75f':
Add global variable HOST_LIBRARY_PATH.
f7988507f48576d1455696693281b63d8ba7f478 11-Jun-2014 Ying Wang <wangying@google.com> am 2d19cbd2: resolved conflicts for merge of 135e11df to klp-modular-dev-plus-aosp

* commit '2d19cbd279ed69c7202f089be174c35c1585f709':
Switch to 32-bit-by-default host multilib build.
c4595868c4d1105fbb0cfda6560bd0fb126a7cc1 10-Jun-2014 Ying Wang <wangying@google.com> Add global variable HOST_LIBRARY_PATH.

With multilib host build, the build system installs host
shared libraries to different directories depending on a
library's bitness:
- HOST_OUT_SHARED_LIBRARIES points to the library path of 64-bit;
- 2ND_HOST_OUT_SHARED_LIBRARIES points to the library path of 32-bit;
- If you don't care the bitness of the libraries and just want whatever
version the librareies are built by default, use HOST_LIBRARY_PATH.

Bug:13751317
Change-Id:Id4c818941dc4ea35d795767c76f698529bd6aebb
/build/make/core/envsetup.mk
2713fcebbae97c6132c9fa61b8db795d29813dc6 09-Jun-2014 Ying Wang <wangying@google.com> Switch to 32-bit-by-default host multilib build.

Also we don't need to force LLVM built from source, for we already force
LLVM to be built as 32-bit.

Bug: 13751317
Change-Id: Ifadf1988d28b60cb06316de50f5bdc1834f1acc0
/build/make/core/envsetup.mk
1dc4f0bacef15631d5390af4ee0b898e0e07c9d5 23-May-2014 Ying Wang <wangying@google.com> am 2bf10a72: am cdcb6926: am 6cb69bd4: Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build"

* commit '2bf10a72f87a8e97923286aa331f7db81e2361ca':
Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
966c1e0cae6a59f15264d3b542af08e21e2dc06c 20-May-2014 Ying Wang <wangying@google.com> Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build

We already support pure 32-bit and 64-bit-by-default multilib build.
With HOST_PREFER_32_BIT we can build 32-bit-by-default multilib build.
This will be lest disruptive during the period we transition to
64-bit-by-default.

Bug: 13751317
Change-Id: I0d56ce4abbe4afeaacfd70d709f6a349791c0722
/build/make/core/envsetup.mk
8200231ae1891fdb3bba8ff4cefbaea88dbbe61b 15-May-2014 Ying Wang <wangying@google.com> am e50f2d9f: am 40b49d30: am a74ade94: Merge "Support host multilib build"

* commit 'e50f2d9f32a27d8290692dbf99ab8b247ef9d553':
Support host multilib build
6feb6d5607ce86a446645564212043964628f540 17-Apr-2014 Ying Wang <wangying@google.com> Support host multilib build

This change basically ported our target multilib to the host side.
It supports 2 host build modes: x86 and x86_64 multilib build.
For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64
multilib build. Later we'll default to x86_64 build and have a flag
to force 32-bit only build, which may be needed by SDK build.

In host module definition, like in target ones, you can use the
following
LOCAL variables to set up multilib configuration:
LOCAL_MULTILIB: can be "both", "first", "32" or "64".
It also supports the same set of arch or 32-vs-64 specific LOCAL
variables.
By default, it builds only for the first arch.

To keep path compatibility, in x86_64 build files are still output to
out/host/linux-x86; Both 32-bit and 64-bit executables are in
out/host/linux-86/bin;
In x86_64 build 32-bit shared libraries are installed to
out/host/linux-x86/lib32
and 64-bit shared libraries are installed to out/host/linux-x86/lib;
32-bit object files are output to out/host/linux-x86/obj32 and 64-bit
object files
are output to out/host/linux-x86/obj.

Bug: 13751317
Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
/build/make/core/envsetup.mk
b8888432f0bc0706d5e00e971dde3ac2e986f2af 12-Mar-2014 Ying Wang <wangying@google.com> Set up rules to build oem.img

To build oem.img:
- You must define BOARD_OEMIMAGE_PARTITION_SIZE in your BoardConfig.mk
- The file system type will be the same as system.img and userdata.img.
- To install a module to oem.img, use "LOCAL_OEM_MODULE := true"
- run "make -j48 showcommands oem_image dist". By default it's not
built.

Bug: 13367676
Change-Id: I1a26d4d0c61b72ecffe60279667b1b3de050780d
/build/make/core/envsetup.mk
110ea46e096b2aff0afb60224406fb76699308c7 09-Apr-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 8af7e8ed to master

Change-Id: Ib427b36e133e29d1c2e9cea065e4e63c1e2e2122
7303ebda84f64a2823f76282e8e1d6886da08cf0 07-Apr-2014 Narayan Kamath <narayan@google.com> Add 32 / 64 bit abi lists to system properties.

Introduce ro.product.cpu.abilist32 / abilist64, which are
comma separated lists of the 32 and 64 bit ABIs that the
device supports. These properties are used by the zygote and
system server to determine what ABI an app should be
started with.

This changes move abilist related make steps out of envsetup.mk
and into config.mk because they depend on variables set by
core/combo/***. Additionally, config.mk performs a few additional
cleanups of these variables (like stripping them) after the
inclusion of envsetup.mk so this seems like a better place to
put them.

bug: 13647418

Change-Id: I3db39bdd761220c5b4966f651892fb592396f9a1
/build/make/core/envsetup.mk
b4d757b1b2677ee154992a8dd5607abe49107bdf 31-Mar-2014 Narayan Kamath <narayan@google.com> am f6811abe: am 9fbd3afd: am 431b4bb3: Merge "Extend the CPU ABI specification mechanism."

* commit 'f6811abe12601c9753f329cb34da568f0072ca76':
Extend the CPU ABI specification mechanism.
1a43b375b463c5b2bdac7d4038ea57d83fc2ae0c 26-Mar-2014 Narayan Kamath <narayan@google.com> Extend the CPU ABI specification mechanism.

Add a (read only) system property that is a comma
separated list of ABIs supported by the device in order
of preference. For example, typical arm-v8 device might
define:

ro.cpu.abilist = arm64-v8a,armeabi-v7a,armeabi

For most purposes, a single flattened list like the above is
probably more useful than the parallel system of variables
TARGET_CPU_ABI{2} / TARGET_2ND_ARCH_CPU_ABI{2} that we use
in the build system.

Change-Id: If9102669ad9f5f8fd89a8bcc5bf88cca1acadc3c
/build/make/core/envsetup.mk
40826c170c6d06d8ab65d654473af65c74973b5c 28-Jan-2014 Colin Cross <ccross@android.com> am 8c89a9ff: am 4695598d: am ae49acbd: am 1acb1b64: Merge changes I62504bad,I16208cca,I4e4ceec6

* commit '8c89a9ff9cd461e4bc077a91a0c7c32b17a92ebd':
add new gen/ directory for generated sources
warn on LOCAL_MODULE_PATH in multiarch shared libraries
Support LOCAL_MODULE_RELATIVE_PATH
d826264621a2c3d27228b395bc36edf5510bcc49 25-Jan-2014 Colin Cross <ccross@android.com> add new gen/ directory for generated sources

Allow modules to generate source into $OUT/gen, which will then
be copied into $OUT/obj and $OUT/obj_$(TARGET_2ND_ARCH) as
necessary. This allows a single build rule invocation that includes
generated source to build for the first and second architectures.

Modules will need to change calls to local-intermediates-dir into
local-generated-sources-dir.

Change-Id: I62504bad9454b3d9fde7b84ab9f0a487a2ecf0bf
/build/make/core/envsetup.mk
f6c0e042fde0be480fe82a5afd852e02d62632af 25-Jan-2014 Colin Cross <ccross@android.com> am 088319dd: am dda94546: am 4a1f42d7: am 7c7f28e7: Merge changes Ib1d950e1,I3d020a3c,Ic9594718

* commit '088319dd22ac4bc65eb284dfeeab368ac2e90ca9':
Add 2nd arch directories for apps
Set up rules to build prebuilts for TARGET_2ND_ARCH
Set up rules to build packages for TARGET_2ND_ARCH
d9574462d8fca342d451cb9ead643011b3c01b0a 24-Jan-2014 Colin Cross <ccross@android.com> Add 2nd arch directories for apps

Apps built for 2nd arch install in the same directories as when
built for the 1st arch.

Change-Id: Ib1d950e186eef88212b44d04e6bc6c30a3d56155
/build/make/core/envsetup.mk
b8e01854893f7390f23e6df82744b2bd3d0572c4 24-Jan-2014 Ying Wang <wangying@google.com> Support arch-specific LOCAL_ variables

With those variables, you can set up different values for TARGET_ARCH
and TARGET_2ND_ARCH.
Also fixed a couple of variables.

Bug: 11654773
Change-Id: I4c7684a562cd5877d18f67d4f848b8df07d0103b

Conflicts:
core/base_rules.mk
/build/make/core/envsetup.mk
dd814bf8c20c4bbc641cc7cb71685c53e92977e1 18-Jan-2014 Ying Wang <wangying@google.com> Support to build executables for TARGET_2ND_ARCH

By default, an executable is built for TARGET_ARCH.
To build it for TARGET_2ND_ARCH in a 64bit product, use:
LOCAL_32BIT_ONLY := true
To skip a module for TARGET_2ND_ARCH, use:
LOCAL_NO_2ND_ARCH := true

Bug: 11654773
Change-Id: Ieb293d25b21024bfe1b554044df338e064ac7b46
/build/make/core/envsetup.mk
6ef6519170742bf3d56e17d04194e9cb0ecdead7 16-Jan-2014 Ying Wang <wangying@google.com> Set up rules to build static libraries for TARGET_2ND_ARCH

The rules for the 2nd arch are set up in the second inclusion
of static_library_internal.mk.
libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/libfoo_intermediates/libfoo.a.

Bug: 11654773
Change-Id: I1d92733968fc442e9225b4df5bd1b551a81d89f7
/build/make/core/envsetup.mk
1d274d26869bfe6881d503b2d24f87cc40cf2727 27-Dec-2013 Ying Wang <wangying@google.com> Load compiler environment for a second arch.

This is the first step to build 32-bit libraries in a 64-bit product.
It will work like this:
1) In the product's BoardConfig.mk, define:
TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT.
The build system uses those variables to set up an additional compiler
environment for the second arch.

2) When parsing Android.mks, the build system sets up rules to build a
module for both the 1st arch and the 2nd arch, unless it's explicitly
asked to skip so.
Android.mk will be adapted if there is additional rule of generating
source files.
The build system will accept arch-specific LOCAL_ variables, such as
LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15,
LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for
various archs at the same time.

3) Install binary of the 2nd arch by adding "<module_name>:32" to
PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32"
will be installed automatically.

Bug: 11654773
Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30

Conflicts:
core/combo/TARGET_linux-arm.mk
/build/make/core/envsetup.mk
e3d067926f8b1a39ae1d9ee1f4eca2a5429e27b4 24-Jan-2014 Ying Wang <wangying@google.com> Support arch-specific LOCAL_ variables

With those variables, you can set up different values for TARGET_ARCH
and TARGET_2ND_ARCH.
Also fixed a couple of variables.

Bug: 11654773
Change-Id: I4c7684a562cd5877d18f67d4f848b8df07d0103b
/build/make/core/envsetup.mk
72b01d6121d7a80315df996690d4efde5219b899 18-Jan-2014 Ying Wang <wangying@google.com> Support to build executables for TARGET_2ND_ARCH

By default, an executable is built for TARGET_ARCH.
To build it for TARGET_2ND_ARCH in a 64bit product, use:
LOCAL_32BIT_ONLY := true
To skip a module for TARGET_2ND_ARCH, use:
LOCAL_NO_2ND_ARCH := true

Bug: 11654773
Change-Id: Ieb293d25b21024bfe1b554044df338e064ac7b46
/build/make/core/envsetup.mk
61d499b965e3314308b9510f6b6d4c8919bb0b3a 16-Jan-2014 Ying Wang <wangying@google.com> Set up rules to build static libraries for TARGET_2ND_ARCH

The rules for the 2nd arch are set up in the second inclusion
of static_library_internal.mk.
libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/libfoo_intermediates/libfoo.a.

Bug: 11654773
Change-Id: I1d92733968fc442e9225b4df5bd1b551a81d89f7
/build/make/core/envsetup.mk
e1d44c3b4acef1319c34514e8d4ee78127b895ef 27-Dec-2013 Ying Wang <wangying@google.com> Load compiler environment for a second arch.

This is the first step to build 32-bit libraries in a 64-bit product.
It will work like this:
1) In the product's BoardConfig.mk, define:
TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT.
The build system uses those variables to set up an additional compiler
environment for the second arch.

2) When parsing Android.mks, the build system sets up rules to build a
module for both the 1st arch and the 2nd arch, unless it's explicitly
asked to skip so.
Android.mk will be adapted if there is additional rule of generating
source files.
The build system will accept arch-specific LOCAL_ variables, such as
LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15,
LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for
various archs at the same time.

3) Install binary of the 2nd arch by adding "<module_name>:32" to
PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32"
will be installed automatically.

Bug: 11654773
Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30
/build/make/core/envsetup.mk
734afe4e4243798043a44b31fd1af8d15972741a 14-Jan-2014 Ying Wang <wangying@google.com> am 94ff79ea: am adc66128: am b6c57051: am f5ce4fa9: Merge "Install 64-bit libraries to /system/lib64."

* commit '94ff79eaf2d66be4c83656a41b4efa38ad34a970':
Install 64-bit libraries to /system/lib64.
c634974d375050692e0923faa6efadace6a15c52 14-Jan-2014 Ying Wang <wangying@google.com> Install 64-bit libraries to /system/lib64.

/system/lib always contains 32-bit libraries, and /system/lib64 (if
present) always contains 64-bit libraries.
Move things around a little bit, so TARGET_ARCH can be used to define
the build paths.

Bug: 11654773
Change-Id: I2edd91e162c7a20d7719d7bae15e5fa6c2a5b498
/build/make/core/envsetup.mk
ec900ac4dc4dc0105a37e6c02ea1db788deb47e3 14-Nov-2013 Ying Wang <wangying@google.com> Support host phony package.

Bug: 11467421
Change-Id: I146387aecc57aaabbbb81f8c8bc9b5c9a5e81f05
/build/make/core/envsetup.mk
40da8832c92a8304e9cc4be4bffc86dc7948bc1f 13-Jul-2012 Tsu Chiang Chuang <tsu@google.com> add a fake data target.

(cherry picked from commit 3ba7baf14875d3cd360006be7dffe7e4e0cf1882)

Change-Id: I691d4dda65437d3f57e77ed207da406fd1f53355
/build/make/core/envsetup.mk
5338fbfaca6b21ab3178469241641e23eac79d9d 09-May-2013 Ying Wang <wangying@google.com> Install to TARGET_OUT_APPS_PRIVILEGED if LOCAL_PRIVILEGED_MODULE is true

Change-Id: I268b8652f18034aa3fdd3126ebf6196f78c4bbb2
/build/make/core/envsetup.mk
0abb0fd40999f789b7de11090f919746d4732fde 27-Mar-2013 Ying Wang <wangying@google.com> Default install path of shared Java library with tag tests

To $(PRODUCT_OUT)/data/framework/.

Change-Id: Iff6bbada47258344c13853d4fd71c7ad4b709c2c
/build/make/core/envsetup.mk
d0244b395a583804137cd1fe2bff4f86d66b396b 17-Nov-2011 Ying Wang <wangying@google.com> Remove build variant "tests"

Bug: 5368571
Now we have a phony target "tests" instead.
The target can be built in any other build variant (eg userdebug).
For example, "make PRODUCT-full-userdebug tests dist" will build and
put the *-test-* zip file in the dist dir.
The "tests" target will include all modules tagged as "tests" in
addition to other modules in specific target out directories.

Change-Id: I8383097380d8e6846c3e2107d6dd5f68788cfc39
/build/make/core/envsetup.mk
6a185e453d423a8192f7b694cb0c707f9ec6c94b 22-May-2012 Joe Onorato <joeo@google.com> Remove support for user tags in the build system.

It is not forbidden to say LOCAL_MODULE_TAGS := user,
and if you don't say LOCAL_MODULE_TAGS, it now defaults
to optional.

Change-Id: I0a0b200bb6f1c7bf1fe3a89cdc8f69678617526c
/build/make/core/envsetup.mk
049d97d7789a9fa29845effb3323203be36e3f97 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 2387857d: am 968f20a4: Merge "MIPS support to *.mk files and envsetup.sh"

* commit '2387857dad06b3437ffcf0c14e2bc9f5956a5888':
MIPS support to *.mk files and envsetup.sh
8da4310646da498255173b475915aa066de4200a 26-Jul-2012 Raghu Gandham <raghu@mips.com> MIPS support to *.mk files and envsetup.sh

Change-Id: Iba4d046e3202524b29cfe32980927f8cc0aa8496
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Raghu Gandham <raghu@mips.com>
/build/make/core/envsetup.mk
3f7246a0815cfee5179054687674c34930a9da9f 16-May-2012 Ying Wang <wangying@google.com> Delete unused variable.

Change-Id: I17f0e2c0b911e505c7ddd3c9c9c56e8a38239e17
/build/make/core/envsetup.mk
b1a4e4e89e9989b292938c800d234ab1007b848c 16-May-2012 Ying Wang <wangying@google.com> Delete the misleading var TARGET_OUT_STATIC_LIBRARIES.

Which can be replaced by TARGET_OUT_INTERMEDIATE_LIBRARIES.

Change-Id: I965ff1ebe70fc3113c19e4896277c876dcedb6a5
/build/make/core/envsetup.mk
8e4042cc79584eee1f6b32b8935e16871330e3d3 30-Mar-2012 Dima Zavin <dima@android.com> Revert "core: the device/board/product kernel headers will be auto-generated"

This reverts commit 992a52990cf545c926541815d03ad98b3458b23d.

Change-Id: I9919f13705509a793f856da8ef7207b3feb47092
Signed-off-by: Dima Zavin <dima@android.com>
/build/make/core/envsetup.mk
992a52990cf545c926541815d03ad98b3458b23d 17-Mar-2012 Dima Zavin <dima@android.com> core: the device/board/product kernel headers will be auto-generated

So, just add the output include directory to the include path

Change-Id: Ia370454237913a748288124f65a6b731b17d6e1a
Signed-off-by: Dima Zavin <dima@android.com>
/build/make/core/envsetup.mk
89686538d77c47ed7816594c7597f5d1e456d656 16-Dec-2011 Ying Wang <wangying@google.com> 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
/build/make/core/envsetup.mk
316febd7153e1c9e13911c216175104febc188db 07-Dec-2011 Jean-Baptiste Queru <jbq@google.com> am 78b68045: am ffe03c98: Set OUT_DIR based on a common base path

* commit '78b680458b3ba53fb2f88a603e371c002eb8944b':
Set OUT_DIR based on a common base path
ffe03c984b2836a9b4e4ddb5a17ec0dd26ba686c 06-Dec-2011 Jean-Baptiste Queru <jbq@google.com> Set OUT_DIR based on a common base path

Change-Id: I2c4ba8b101d4d186ed4b371b9d07b3bcf75bbcc9
Author: Jean-Baptiste Queru<jbq@google.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
/build/make/core/envsetup.mk
9f8e8db188371cb3787a91a03d193f87ad244ea3 04-Nov-2011 Ying Wang <wangying@google.com> 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
/build/make/core/envsetup.mk
c0debb9b5e2f2f5deb00fb7db5b5c03177b06460 02-Nov-2011 Ying Wang <wangying@google.com> Revert "Build cache.img."

This reverts commit 531bdb546af5127ed9c1012871d780930eb990f5.
/build/make/core/envsetup.mk
531bdb546af5127ed9c1012871d780930eb990f5 01-Nov-2011 Ying Wang <wangying@google.com> Build cache.img.

Change-Id: I3dbe7afa4934fa718ba20605eebd2e3ce2ae82ab
/build/make/core/envsetup.mk
2b6aaa367a334a19cacab1fd2f78ae232e072198 28-Oct-2011 Ying Wang <wangying@google.com> Add TARGET_COPY_OUT_* variables.

They are relative to PRODUCT_OUT so can be used in PRODUCT_COPY_FILES.
If TARGET_COPY_OUT_VENDOR instead of hardcoded system/vendor is used, we
will be able to transition smoothly to a separate vendor staging directory.

Change-Id: Ia9fdb208768cf4699180306280b4c02421b2ea9c
/build/make/core/envsetup.mk
8f77936dd808ef77e0f1f02b0e0f648dc94b79a8 13-Sep-2011 Ying Wang <wangying@google.com> Install path support for vendor modules.

Bug: 5284764
Set "LOCAL_PROPRIETARY_MODULE := true" to install module to vendor
partition.

Change-Id: I1301acc10664a12e313f3b868d9fd6400ac8b133
/build/make/core/envsetup.mk
e33ba4c49ed461d608c65eb4e09d31ca81d167ff 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: Ie814f4c8d3aa1e7cc7f5735822ab25542f36cf62
/build/make/core/envsetup.mk
cbb3266b4712fe0aa82d80d9d6db0974be9eea3f 17-Jun-2011 Ryo Fujii <royfujii@google.com> fix broken build rules for host VM.
/build/make/core/envsetup.mk
1607ba1c87da6c6c9452c5d30d5c6b6944a30dcb 20-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 554eeb6c: am 493306f7: Merge "Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures"

* commit '554eeb6c7426c8c1df551516cff903d69ae94f26':
Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures
554eeb6c7426c8c1df551516cff903d69ae94f26 19-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 493306f7: Merge "Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures"

* commit '493306f7c318d632186bebd732708d4299e66a62':
Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures
6c75cb3752d51adfd3c7b72672f5abacdc4cf2bd 22-Oct-2010 Jean-Baptiste Queru <jbq@google.com> am 0332f0ac: Truly default to the full config.
0332f0ac1ec69082d337e9990b964b883e5cf689 22-Oct-2010 Jean-Baptiste Queru <jbq@google.com> Truly default to the full config.

It is much better than generic for emulator-based work.

Change-Id: I8b69b208bc4969d3f95c3467ca6737de8fd9460d
/build/make/core/envsetup.mk
f1582e549926e75a4edb194c4ff724df633299d4 14-Oct-2010 Bruce Beare <bruce.j.beare@intel.com> Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures

Change-Id: I5c1010d9caaa8d9ffaf65999fa3649c3c2be8caa
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
/build/make/core/envsetup.mk
1406613b636da52863de9acc2b5de73fb27c602d 02-Oct-2010 Ying Wang <wangying@google.com> am bf2ed191: am a83940fa: Move odex related files to product-specific dir.

Merge commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637'

* commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637':
Move odex related files to product-specific dir.
bf2ed191fe229b6a83684c19a57e11e7b50c8637 02-Oct-2010 Ying Wang <wangying@google.com> am a83940fa: 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.
a83940fa7851b35712e559be2246b56b5666b805 25-Sep-2010 Ying Wang <wangying@google.com> 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
/build/make/core/envsetup.mk
6d6511bec5eca19514740096f94d16e5f2cf4cf7 01-Oct-2010 Brian Carlstrom <bdc@google.com> am bdb2e9f3: am 46fc2341: Merge "Allow \'export WITH_HOST_DALVIK=false\' to override Makefile defaulting" into gingerbread

Merge commit 'bdb2e9f3c203655648bd0a4e5ea64e9bb2cb2a13'

* commit 'bdb2e9f3c203655648bd0a4e5ea64e9bb2cb2a13':
Allow 'export WITH_HOST_DALVIK=false' to override Makefile defaulting
bdb2e9f3c203655648bd0a4e5ea64e9bb2cb2a13 01-Oct-2010 Brian Carlstrom <bdc@google.com> am 46fc2341: Merge "Allow \'export WITH_HOST_DALVIK=false\' to override Makefile defaulting" into gingerbread

Merge commit '46fc2341c535ba624fd2dceec9399ce681a80866' into gingerbread-plus-aosp

* commit '46fc2341c535ba624fd2dceec9399ce681a80866':
Allow 'export WITH_HOST_DALVIK=false' to override Makefile defaulting
e947865041c3e8b32ea43e74d95c33e2153152ee 30-Sep-2010 Brian Carlstrom <bdc@google.com> Allow 'export WITH_HOST_DALVIK=false' to override Makefile defaulting

Change-Id: I8915bc1c9f52a3b6ab1a82b404ab61cd0726198d
/build/make/core/envsetup.mk
531f524256c049fb3763b5c82808f315ea83d3bb 28-Sep-2010 Dima Zavin <dima@android.com> core: Make fake packages have real installed files for proper dependencies

Change-Id: I3145440eea0fbbd8ba22a2b3b0511f4c18f90eca
Signed-off-by: Dima Zavin <dima@android.com>
/build/make/core/envsetup.mk
9cd6150cf5833ac84df0381d32ffddfc1caf1858 25-Sep-2010 Andy McFadden <fadden@android.com> am 12165990: am 6474811d: Fix sim-eng build.

Merge commit '12165990162ac3c41aed96d5afd5e228daa16877'

* commit '12165990162ac3c41aed96d5afd5e228daa16877':
Fix sim-eng build.
12165990162ac3c41aed96d5afd5e228daa16877 24-Sep-2010 Andy McFadden <fadden@android.com> am 6474811d: Fix sim-eng build.

Merge commit '6474811d646153aeab111c1c0586b6ee53dcb0d2' into gingerbread-plus-aosp

* commit '6474811d646153aeab111c1c0586b6ee53dcb0d2':
Fix sim-eng build.
6474811d646153aeab111c1c0586b6ee53dcb0d2 24-Sep-2010 Andy McFadden <fadden@android.com> Fix sim-eng build.

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
/build/make/core/envsetup.mk
fed45d859aaecd8b34fb65eeaad678e1a1c71aa9 22-Sep-2010 Jesse Wilson <jessewilson@google.com> am 77070aa7: am ce7d5023: Turn dalvikvm host builds on by default when linux is the host OS.

Merge commit '77070aa757806d1617d707db4d2bd7931b2353fc'

* commit '77070aa757806d1617d707db4d2bd7931b2353fc':
Turn dalvikvm host builds on by default when linux is the host OS.
77070aa757806d1617d707db4d2bd7931b2353fc 22-Sep-2010 Jesse Wilson <jessewilson@google.com> am ce7d5023: 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.
ce7d5023c3df4c16ae395d64d51dd8345e40a39e 22-Sep-2010 Jesse Wilson <jessewilson@google.com> 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
/build/make/core/envsetup.mk
4c681745e622cc2887c114d963b62869a9ef93af 20-Jul-2010 Ying Wang <wangying@google.com> Flags common for native tests

With the CL, "include $(BUILD_NATIVE_TEST)" to build native test;
"include $(BUILD_HOST_NATIVE_TEST)" to build a host native test.

Change-Id: Icdbbcf906cd4c5c35e65962897490052cd051102
/build/make/core/envsetup.mk
b73dc6690baf38bbc7c102a3992722db8d61a5a0 12-Jul-2010 Bruce Beare <brucex.j.beare@intel.com> Allow TARGET_ARCH to be set from BoardConfig.mk

Change-Id: I66aed78b763d238719822257c1f4f35301247df6
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
/build/make/core/envsetup.mk
77dfeaed2ac068770cd29b314e7697afd7c1741c 22-Jun-2010 Jeff Hamilton <jham@android.com> Switch the required host Java environment to 1.6.

The path to the Java toolchain is now explicitly
specified so no manual configuration should be
required.

Change-Id: I84abc122c557372e77e4579e9a9efe56af2b412c

The java version changed, and we made envsetup automatically find the right JAVA_HOME.

This change forces everyone to re-source envsetup.sh

Change-Id: Ieb9512d5725cca26a83debf9b0480bc20e19d5ee

Fix javadoc for Java 6.

If you don't set bootclasspath, there would be errors like:
javadoc: error - In doclet class DroidDoc, method start has thrown an exception java.lang.reflect.InvocationTargetException

Change-Id: I1b83360cb595d50577c6043d6e91b0f92e4c04d6

Avoid inheriting PRIVATE_BOOTCLASSPATH from moduels that depend on api-stubs-timestamp

The inherited value has caused build breakage on Mac build.

Change-Id: I8a1b1d6c6d411f6aaaee2d8dbd0297e3d60ab5c2

Ignore STAY_OFF_MY_LAWN when setting JAVA_HOME.

Don't check STAY_OFF_MY_LAWN in set_java_home. That function already
refuses to update JAVA_HOME if it's set to something, which should
be sufficient for anybody who doesn't want the script to mess with it.

With this change, you can get the benefits of the 1.5/1.6 auto-selection
without having to suffer through window title changes.

Change-Id: I5cfc5d6fdf26a10b42b52925f877012c0506b9a5
/build/make/core/envsetup.mk
aee4daacc804bbcd1df551cc2229d12fa5c35c24 23-Jun-2010 Joe Onorato <joeo@android.com> The java version changed, and we made envsetup automatically find the right JAVA_HOME.

This change forces everyone to re-source envsetup.sh

Change-Id: Ieb9512d5725cca26a83debf9b0480bc20e19d5ee
/build/make/core/envsetup.mk
ada132a80ba7edde00ac71727a205d55578e3f47 17-Jun-2010 Jing Yu <jingyu@google.com> Switch toolchain from gcc-4.4.0 to gcc-4.4.3

gcc-4.4.3 toolchain is based on fsf GCC-4.4.3 with numerous patches.
It reduces 3.65% code size than the prebuilt gcc-4.4.0 toolchain,
and improves 3.4% performance on Android benchmarks.

The toolchain uses gold as default linker. With gold, the toolchain
further reduces 1MB system image.

Change-Id: I55eb4df185f2932e71498fcc28428e4d1b175393
/build/make/core/envsetup.mk
16fa4b290e8ce76652c9ba0ba16b80578456ab95 10-Jun-2010 Joe Onorato <joeo@android.com> Rename is_unbundled_app_build and UNBUNDLED_APP_BUILD to TARGET_BUILD_APPS.

Change-Id: I79e6f60e009dad3a48709962347441e4ca0c337a
/build/make/core/envsetup.mk
9ca1628e3f565607e1fdef71b570d3ddb5ec09df 17-Apr-2010 Raphael <raphael@google.com> Support building Windows SDK under Linux.

- envsetup.mk & config.mk: we define a new BUILD_OS and a minimal set
of things like BUILD_OUT to be able to use some local tools when
doing cross-compilation. This allows us to use the Linux version of
ACP when cross-compiling the tools to Windows.

- Makfile: include windows_sdk.mk when needed to build a Windows SDK.

- main.mk: support a win_sdk target (e.g. PRODUCT-sdk-win_sdk)

(Merge master Change I9d08d0df)
/build/make/core/envsetup.mk
2c86bfd285d8b3765da0144da31d1a3d216cb95c 10-Sep-2009 Andy McFadden <fadden@android.com> Sleazy workaround for webkit build failures.

The WebKit library link line is exceeding 128KB on sim-eng builds.
The path to sim-eng object files is slightly longer than device builds
because the object files live under the "host" directory.

This change truncates the "product" directory name to "pr", reducing the
command line by a few KB. This only affects sim-eng builds.

The real fix will need be to webkit (see internal bug 1917987), which
will eventually start failing on device builds if it continues to grow.
/build/make/core/envsetup.mk
f28c6fabb6605950baffcb13139f808b71bda85a 23-Jun-2009 Jing Yu <jingyu@google.com> Change to add the 4.4.0 toolchain directory to PATH.

Since we have switched the default toolchain from 4.2.1 to 4.4.0,
we need to change the paths to add from 4.2.1 to 4.4.0.
/build/make/core/envsetup.mk
eefd0212f10ec83b21d1792130b4cad02d2ce4d5 13-May-2009 Joe Onorato <joeo@android.com> Print the platform version and version codename in the big build header.
/build/make/core/envsetup.mk
64d85d0d827489c514f6aec075482563c80cda73 10-Apr-2009 Joe Onorato <> AI 145618: am: CL 145333 Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
Implement SDK add-ons in the build system.
- Add an option to use the standard javadoc doclet instead
of droiddoc, since droiddocs non-sdk templates aren't
ready for prime time.
- Add the notion of a stubs for a library. It's only
implemented for java libraries, but when we do native
libraries in the NDK or sdk-addons, it will work there too.
Original author: joeo
Merged from: //branches/cupcake/...

Automated import of CL 145618
/build/make/core/envsetup.mk
88b607994a148f4af5bffee163e39ce8296750c6 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/build/make/core/envsetup.mk
05806d7af62e07c6225b2e7103a1b115ecf6c9ad 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/build/make/core/envsetup.mk
dcc08f073b6873c69ab891d4f69f7c568e282df7 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/build/make/core/envsetup.mk
b6c1cf6de79035f58b512f4400db458c8401379a 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/build/make/core/envsetup.mk