[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH RFC 0/5] build: smarter dependencies
Currently, any modification to the configuration forces a full Unikraft rebuild. This patch series brings a solution from Linux. In fact, Unikraft has a part of this solution already, because its build system is based on Kbuild. I just implemented missing parts. The "introduce tool for adding CONFIG_ prefix for kconfig symbols" is optional. It does only one job - adds prefixes to every kconfig symbol in the project and subprojects (other libs and apps). And it is not needed afterward. Either we do not take it at all, or we revert it later when all related repositories have been converted too. Yuri Volchkov (5): build: save kconfig dependency files in the separate dir build: import fixdep.c from linux kernel build: Integrate fixdep in Unikraft build system build: introduce tool for adding CONFIG_ prefix for kconfig symbols build: add prefix CONFIG_ to every kconfig symbol Makefile | 134 +++++----- Makefile.uk | 44 ++-- arch/Arch.uk | 8 +- arch/arm/Compiler.uk | 6 +- arch/arm/Makefile.uk | 16 +- arch/arm/ldivmod_helper.c | 2 +- arch/x86_64/Compiler.uk | 6 +- arch/x86_64/Makefile.uk | 60 ++--- include/uk/plat/memory.h | 2 +- lib/Makefile.uk | 18 +- lib/fdt/Makefile.uk | 6 +- lib/nolibc/Makefile.uk | 12 +- lib/nolibc/include/stdlib.h | 4 +- lib/ukalloc/Makefile.uk | 6 +- lib/ukalloc/alloc.c | 2 +- lib/ukalloc/include/uk/alloc.h | 18 +- lib/ukallocbbuddy/Makefile.uk | 6 +- lib/ukallocbbuddy/bbuddy.c | 4 +- lib/ukargparse/Makefile.uk | 6 +- lib/ukboot/Makefile.uk | 6 +- lib/ukboot/boot.c | 30 +-- lib/ukdebug/Makefile.uk | 6 +- lib/ukdebug/hexdump.c | 14 +- lib/ukdebug/include/uk/assert.h | 2 +- lib/ukdebug/include/uk/hexdump.h | 4 +- lib/ukdebug/include/uk/print.h | 28 +-- lib/ukdebug/print.c | 34 +-- lib/uksched/Makefile.uk | 6 +- lib/uksched/include/uk/thread.h | 4 +- lib/uksched/sched.c | 2 +- lib/ukschedcoop/Makefile.uk | 6 +- plat/Makefile.uk | 2 +- plat/kvm/Linker.uk | 16 +- plat/kvm/Makefile.uk | 14 +- plat/kvm/memory.c | 12 +- plat/kvm/x86/setup.c | 2 +- plat/linuxu/Linker.uk | 10 +- plat/linuxu/Makefile.uk | 6 +- plat/linuxu/memory.c | 4 +- plat/linuxu/setup.c | 6 +- plat/xen/Linker.uk | 34 +-- plat/xen/Makefile.uk | 18 +- plat/xen/arm/setup.c | 6 +- plat/xen/console.c | 4 +- plat/xen/include/common/sched.h | 2 +- plat/xen/include/xen-x86/mm.h | 2 +- plat/xen/memory.c | 12 +- plat/xen/sched.c | 2 +- plat/xen/x86/entry64.S | 2 +- plat/xen/x86/setup.c | 4 +- support/build/Makefile.rules | 30 ++- support/kconfig/Makefile | 2 + support/kconfig/confdata.c | 63 ++++- support/kconfig/fixdep.c | 409 +++++++++++++++++++++++++++++++ support/scripts/rename_config.py | 114 +++++++++ version.mk | 2 +- 56 files changed, 939 insertions(+), 341 deletions(-) create mode 100644 support/kconfig/fixdep.c create mode 100755 support/scripts/rename_config.py -- 2.17.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |