1*9e94795aSAndroid Build Coastguard Worker# Deprecation of Make 2*9e94795aSAndroid Build Coastguard Worker 3*9e94795aSAndroid Build Coastguard WorkerWe've made significant progress converting AOSP from Make to Soong (Android.mk 4*9e94795aSAndroid Build Coastguard Workerto Android.bp), and we're ready to start turning off pieces of Make. If you 5*9e94795aSAndroid Build Coastguard Workerhave any problems converting, please contact us via: 6*9e94795aSAndroid Build Coastguard Worker 7*9e94795aSAndroid Build Coastguard Worker* The [[email protected]] group. 8*9e94795aSAndroid Build Coastguard Worker* Our [public bug tracker](https://issuetracker.google.com/issues/new?component=381517). 9*9e94795aSAndroid Build Coastguard Worker* Or privately through your existing contacts at Google. 10*9e94795aSAndroid Build Coastguard Worker 11*9e94795aSAndroid Build Coastguard Worker## Status 12*9e94795aSAndroid Build Coastguard Worker 13*9e94795aSAndroid Build Coastguard Worker[build/make/core/deprecation.mk] is the source of truth, but for easy browsing: 14*9e94795aSAndroid Build Coastguard Worker 15*9e94795aSAndroid Build Coastguard Worker| Module type | State | 16*9e94795aSAndroid Build Coastguard Worker| -------------------------------- | --------- | 17*9e94795aSAndroid Build Coastguard Worker| `BUILD_AUX_EXECUTABLE` | Obsolete | 18*9e94795aSAndroid Build Coastguard Worker| `BUILD_AUX_STATIC_LIBRARY` | Obsolete | 19*9e94795aSAndroid Build Coastguard Worker| `BUILD_COPY_HEADERS` | Error | 20*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_EXECUTABLE` | Error | 21*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_FUZZ_TEST` | Obsolete | 22*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_NATIVE_TEST` | Obsolete | 23*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_SHARED_LIBRARY` | Error | 24*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_SHARED_TEST_LIBRARY` | Obsolete | 25*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_STATIC_LIBRARY` | Error | 26*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_STATIC_TEST_LIBRARY` | Obsolete | 27*9e94795aSAndroid Build Coastguard Worker| `BUILD_HOST_TEST_CONFIG` | Obsolete | 28*9e94795aSAndroid Build Coastguard Worker| `BUILD_NATIVE_BENCHMARK` | Obsolete | 29*9e94795aSAndroid Build Coastguard Worker| `BUILD_SHARED_TEST_LIBRARY` | Obsolete | 30*9e94795aSAndroid Build Coastguard Worker| `BUILD_STATIC_TEST_LIBRARY` | Obsolete | 31*9e94795aSAndroid Build Coastguard Worker| `BUILD_TARGET_TEST_CONFIG` | Obsolete | 32*9e94795aSAndroid Build Coastguard Worker| `BUILD_*` | Available | 33*9e94795aSAndroid Build Coastguard Worker 34*9e94795aSAndroid Build Coastguard Worker## Module Type Deprecation Process 35*9e94795aSAndroid Build Coastguard Worker 36*9e94795aSAndroid Build Coastguard WorkerWe'll be turning off `BUILD_*` module types as all of the users are removed 37*9e94795aSAndroid Build Coastguard Workerfrom AOSP (and Google's internal trees). The process will go something like 38*9e94795aSAndroid Build Coastguard Workerthis, using `BUILD_PACKAGE` as an example: 39*9e94795aSAndroid Build Coastguard Worker 40*9e94795aSAndroid Build Coastguard Worker* Prerequisite: all common users of `BUILD_PACKAGE` have been removed (some 41*9e94795aSAndroid Build Coastguard Worker device-specific ones may remain). 42*9e94795aSAndroid Build Coastguard Worker* `BUILD_PACKAGE` will be moved from `AVAILABLE_BUILD_MODULE_TYPES` to 43*9e94795aSAndroid Build Coastguard Worker `DEFAULT_WARNING_BUILD_MODULE_TYPES` in [build/make/core/deprecation.mk]. This 44*9e94795aSAndroid Build Coastguard Worker will make referring to `BUILD_PACKAGE` a warning. 45*9e94795aSAndroid Build Coastguard Worker* Any devices that still have warnings will have 46*9e94795aSAndroid Build Coastguard Worker `BUILD_BROKEN_USES_BUILD_PACKAGE := true` added to their `BoardConfig.mk`. 47*9e94795aSAndroid Build Coastguard Worker* `BUILD_PACKAGE` will be switched from `DEFAULT_WARNING_BUILD_MODULE_TYPES` to 48*9e94795aSAndroid Build Coastguard Worker `DEFAULT_ERROR_BUILD_MODULE_TYPES`, which will turn referring to 49*9e94795aSAndroid Build Coastguard Worker `BUILD_PACKAGE` into an error unless the device has overridden it. 50*9e94795aSAndroid Build Coastguard Worker* At some later point, after all devices in AOSP no longer set 51*9e94795aSAndroid Build Coastguard Worker `BUILD_BROKEN_USES_BUILD_PACKAGE`, `BUILD_PACKAGE` will be moved from 52*9e94795aSAndroid Build Coastguard Worker `DEFAULT_ERROR_BUILD_MODULE_TYPES` to `OBSOLETE_BUILD_MODULE_TYPES` and the 53*9e94795aSAndroid Build Coastguard Worker code will be removed. It will no longer be possible to use `BUILD_PACKAGE`. 54*9e94795aSAndroid Build Coastguard Worker 55*9e94795aSAndroid Build Coastguard WorkerIn most cases, we expect module types to stay in the default warning state for 56*9e94795aSAndroid Build Coastguard Workerabout two weeks before becoming an error by default. Then it will spend some 57*9e94795aSAndroid Build Coastguard Workeramount of time in the default error state before moving to obsolete -- we'll 58*9e94795aSAndroid Build Coastguard Workertry and keep that around for a while, but other development may cause those to 59*9e94795aSAndroid Build Coastguard Workerbreak, and the fix may to be to obsolete them. There is no expectation that the 60*9e94795aSAndroid Build Coastguard Worker`BUILD_BROKEN_USES_BUILD_*` workarounds will work in a future release, it's a 61*9e94795aSAndroid Build Coastguard Workershort-term workaround. 62*9e94795aSAndroid Build Coastguard Worker 63*9e94795aSAndroid Build Coastguard WorkerJust to be clear, the above process will happen on the AOSP master branch. So 64*9e94795aSAndroid Build Coastguard Workerif you're following Android releases, none of the deprecation steps will be in 65*9e94795aSAndroid Build Coastguard WorkerAndroid Q, and the 2020 release will have jumped directly to the end for many 66*9e94795aSAndroid Build Coastguard Workermodule types. 67*9e94795aSAndroid Build Coastguard Worker 68*9e94795aSAndroid Build Coastguard Worker[[email protected]]: https://groups.google.com/forum/#!forum/android-building 69*9e94795aSAndroid Build Coastguard Worker[build/make/core/deprecation.mk]: /core/deprecation.mk 70