-
Notifications
You must be signed in to change notification settings - Fork 541
ACRN Build System
Geoffroy Van Cutsem edited this page Feb 10, 2022
·
2 revisions
ACRN uses a number of Makefile in order to build its various components, such as the hypervisor, devicemodel and the tools. While this does the job, this collection of Makefiles, how they are organized and inter-dependent is not optimal and it makes packaging ACRN more cumbersome than it should. The objective of this page is to describe a number of ideas or opinions on how it could all be improved.
- Avoid recursive make (and use
includeinstead, see Recursive Make Considered Harmful) - Allow for each component to be built individually
- Remove the
devicemodeldependency ontools- The ACRN Device Model only needs a header file from the
acrn-manager, we do not need to build the entire set of tools for that. On a system where ACRN is packaged correctly, building the ACRNdevicemodelwould simply require theacrn-managerdevelopment package to be installed on the system.
- The ACRN Device Model only needs a header file from the
- Do not build
life_mngrby default: it's only used in a User VM. - Split the building of
life_mngrinto two components: one for Linux Guest OS and one for Windows Guest OS
There are also lost of good thoughts (and code) in this Github ticket: [RFC] Add Debian packaging for release_1.6, release_2.0 and master
- Should we look for a more advanced build system? A few exist today such as
autotool,cmake,meson,ninja,westand others that I am missing.
© 2018-2023, Project ACRN™ ACRN is a trademark of the Linux Foundation.
Project ACRN Home | Documentation Home | Mailing lists
Project ACRN Home | Documentation Home | Mailing lists