Gaia/Build/NewBuildSystem: Difference between revisions

Jump to navigation Jump to search
Line 27: Line 27:
After initial landing step being done, we should abandon Makefile's PHONY targets as many as possible, so we could have a faster build by taking the advantage of Makefile's incremental build. The configure.js should be able to connect with different build back-end. In order to achieve this aim, we eventually come out a new phase - config.status for preparing the next step (replacing build back-end). The idea of config.status is charged with the task of tell back-end tool how to build the tree which includes scanning the build system definition and constructing a DAG data structure for representing task dependency and supporting parallel build natively. It means config.status will be generated by configure.js and output a build-file for back-end consumption (e.g. a `make` back-end will write a `Makefile`).
After initial landing step being done, we should abandon Makefile's PHONY targets as many as possible, so we could have a faster build by taking the advantage of Makefile's incremental build. The configure.js should be able to connect with different build back-end. In order to achieve this aim, we eventually come out a new phase - config.status for preparing the next step (replacing build back-end). The idea of config.status is charged with the task of tell back-end tool how to build the tree which includes scanning the build system definition and constructing a DAG data structure for representing task dependency and supporting parallel build natively. It means config.status will be generated by configure.js and output a build-file for back-end consumption (e.g. a `make` back-end will write a `Makefile`).


* '''Deliverable:''' Stabilization & Efficient incremental build & Implement config.status
* '''Deliverable:''' Efficient incremental build & Implement config.status
* '''Expected schedule:''' 6 - 8 week
* '''Expected schedule:''' 6 - 8 week
* '''Breakdowns:'''
* '''Breakdowns:'''
Confirmed users
429

edits

Navigation menu