diff --git a/core/build-system.html b/core/build-system.html index 9cd7b0bc7..b872909c0 100644 --- a/core/build-system.html +++ b/core/build-system.html @@ -440,6 +440,33 @@ $(GEN): $(intermediates)/%.lut.h : $(LOCAL_PATH)/ +

Unbundled build

+

Unbundled build has several meanings by the context. +Let me explain the meaning by the flags related to "unbundled build"

+

TARGET_BUILD_UNBUNDLED

+

The source tree might not have the full platform sources. It is always set if +TARGET_BUILD_APPS or TARGET_BUILD_UNBUNDLED_IMAGE is set.

+

TARGET_BUILD_USE_PREBUILT_SDKS

+

It is an internal flag. If it is set, prebuilt SDKs are used, even if a module's +LOCAL_SDK_VERSION is current (including system_current, +core_current, and so on). If it is unset, build current SDKs, +and use them as usual.

+

DISABLE_PREOPT

+

It is an internal flag as well. If it is set, dexpreopt is disabled. +It is always set if TARGET_BUILD_APPS or TARGET_BUILD_UNBUNDLED_IMAGE is set, +because dexpreopt tightly depends on the platform.

+

TARGET_BUILD_APPS

+

Build the apps that can be distributed outside the platform, so it turns on +TARGET_BUILD_UNBUNDLED and DISABLE_PREOPT. +Also, it turns on TARGET_BUILD_USE_PREBUILT_SDKS, unless +UNBUNDLED_BUILD_SDKS_FROM_SOURCE is set.

+

TARGET_BUILD_UNBUNDLED_IMAGE

+

It is similar to TARGET_BUILD_APPS, but its target is an unbundled partition +(such as the vendor partition). Accordingly, it sets TARGET_BUILD_UNBUNDLED and DISABLE_PREOPT. +We can call the partition unbundled, because the partition can be distributed outside the platform. +And also, it turns on TARGET_BUILD_USE_PREBUILT_SDKS, unless +UNBUNDLED_BUILD_SDKS_FROM_SOURCE is set.

+

Platform specific conditionals

Sometimes you need to set flags specifically for different platforms. Here is a list of which values the different build-system defined variables will be