You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.2 KiB


What devices currently do

Choose HAL variants, pass Make flags to HAL build systems

Add packages

Add prebuilt or config files -> can be moved into packages

Set props

Inherit product files, inherit stuff from build/make/target/product

Set variables that configure HALs, initiate build guards

Use conditionals massively

Add soong namespaces, add soong configs

Add overlays

Add manifest files

Use files for deleted and moved module remnants

Use shell tools invoked from make to manipulate files Add COMMON_LUNCH_CHOICES and PRODUCT_MAKEFILES, add lunch targets, set PRODUCT variables Set base stuff like target arch, kernel, more non-PRODUCT variables


Currently, you have three stages: PRODUCT variables via PRODUCT_MAKEFILES and inherit-product but also include chains, generic variables via BoardConfig and include chains, module/package-specific via and include chains.


Product, board, device, sku, soc, customization

system, vendor, product, system_ext, odm, oem, cust, misc soc_specific, device_specific, system_ext_specific


Use CamelCase, smallCammelCase, under_scores for configs?