[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.