[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH v2 0/5] build: smarter dependencies



This series depends on staging-sched branch

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.

Changes since v1:
1) when grepping for symbols, consider comma as separator too, so
   expressions like foo(KCONFIG_SYMBOL, blah) affected as well
2) do not touch UK_CODENAME and UK_FULLVERSION, since they are not
   really belong to configuration
3) rebased to the current Unikraft tree

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                         | 126 +++++-----
 Makefile.uk                      |  46 ++--
 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                |  28 +--
 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              |   4 +-
 lib/uksched/thread.c             |   2 +-
 lib/ukschedcoop/Makefile.uk      |   6 +-
 plat/Makefile.uk                 |   2 +-
 plat/kvm/Linker.uk               |  16 +-
 plat/kvm/Makefile.uk             |  22 +-
 plat/kvm/memory.c                |  16 +-
 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              |   2 +-
 plat/xen/Linker.uk               |  34 +--
 plat/xen/Makefile.uk             |  24 +-
 plat/xen/arm/setup.c             |   8 +-
 plat/xen/console.c               |   4 +-
 plat/xen/include/xen-x86/mm.h    |   2 +-
 plat/xen/memory.c                |  12 +-
 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 | 117 +++++++++
 53 files changed, 944 insertions(+), 343 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®.