Skip to content

Commit 2e3646e

Browse files
Roman ZippelSam Ravnborg
authored andcommitted
kconfig: integrate split config into silentoldconfig
Now that kconfig can load multiple configurations, it becomes simple to integrate the split config step, by simply comparing the new .config file with the old auto.conf (and then saving the new auto.conf). A nice side effect is that this saves a bit of disk space and cache, as no data needs to be read from or saved into the splitted config files anymore (e.g. include/config is now 648KB instead of 5.2MB). Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
1 parent 669bfad commit 2e3646e

File tree

8 files changed

+129
-246
lines changed

8 files changed

+129
-246
lines changed

Makefile

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ ifeq ($(KBUILD_EXTMOD),)
418418
# Carefully list dependencies so we do not try to build scripts twice
419419
# in parrallel
420420
PHONY += scripts
421-
scripts: scripts_basic include/config/MARKER
421+
scripts: scripts_basic include/config/auto.conf
422422
$(Q)$(MAKE) $(build)=$(@)
423423

424424
# Objects we will link into vmlinux / subdirs we need to visit
@@ -787,7 +787,7 @@ endif
787787
prepare2: prepare3 outputmakefile
788788

789789
prepare1: prepare2 include/linux/version.h include/asm \
790-
include/config/MARKER
790+
include/config/auto.conf
791791
ifneq ($(KBUILD_MODULES),)
792792
$(Q)mkdir -p $(MODVERDIR)
793793
$(Q)rm -f $(MODVERDIR)/*
@@ -815,13 +815,6 @@ include/asm:
815815
$(Q)if [ ! -d include ]; then mkdir -p include; fi;
816816
@ln -fsn asm-$(ARCH) $@
817817

818-
# Split autoconf.h into include/linux/config/*
819-
820-
include/config/MARKER: scripts/basic/split-include include/config/auto.conf
821-
@echo ' SPLIT include/linux/autoconf.h -> include/config/*'
822-
@scripts/basic/split-include include/linux/autoconf.h include/config
823-
@touch $@
824-
825818
# Generate some files
826819
# ---------------------------------------------------------------------------
827820

arch/arm/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ boot := arch/arm/boot
175175
# them changed. We use .arch to indicate when they were updated
176176
# last, otherwise make uses the target directory mtime.
177177

178-
include/asm-arm/.arch: $(wildcard include/config/arch/*.h) include/config/MARKER
178+
include/asm-arm/.arch: $(wildcard include/config/arch/*.h) include/config/auto.conf
179179
@echo ' SYMLINK include/asm-arm/arch -> include/asm-arm/$(INCDIR)'
180180
ifneq ($(KBUILD_SRC),)
181181
$(Q)mkdir -p include/asm-arm

arch/sh/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ endif
147147
# them changed. We use .arch and .mach to indicate when they were
148148
# updated last, otherwise make uses the target directory mtime.
149149

150-
include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/MARKER
150+
include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/auto.conf
151151
@echo ' SYMLINK include/asm-sh/cpu -> include/asm-sh/$(cpuincdir-y)'
152152
$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
153153
$(Q)ln -fsn $(incdir-prefix)$(cpuincdir-y) include/asm-sh/cpu
@@ -157,7 +157,7 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/MARKER
157157
# don't, just reference the parent directory so the semantics are
158158
# kept roughly the same.
159159

160-
include/asm-sh/.mach: $(wildcard include/config/sh/*.h) include/config/MARKER
160+
include/asm-sh/.mach: $(wildcard include/config/sh/*.h) include/config/auto.conf
161161
@echo -n ' SYMLINK include/asm-sh/mach -> '
162162
$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
163163
$(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \

arch/xtensa/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ archprepare: $(archinc)/.platform
7171
# Update machine cpu and platform symlinks if something which affects
7272
# them changed.
7373

74-
$(archinc)/.platform: $(wildcard include/config/arch/*.h) include/config/MARKER
74+
$(archinc)/.platform: $(wildcard include/config/arch/*.h) include/config/auto.conf
7575
@echo ' SYMLINK $(archinc)/xtensa/config -> $(archinc)/xtensa/config-$(CPU)'
7676
$(Q)mkdir -p $(archinc)
7777
$(Q)mkdir -p $(archinc)/xtensa

scripts/basic/Makefile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
###
22
# Makefile.basic list the most basic programs used during the build process.
33
# The programs listed herein is what is needed to do the basic stuff,
4-
# such as splitting .config and fix dependency file.
4+
# such as fix dependency file.
55
# This initial step is needed to avoid files to be recompiled
66
# when kernel configuration changes (which is what happens when
77
# .config is included by main Makefile.
88
# ---------------------------------------------------------------------------
99
# fixdep: Used to generate dependency information during build process
10-
# split-include: Divide all config symbols up in a number of files in
11-
# include/config/...
1210
# docproc: Used in Documentation/docbook
1311

14-
hostprogs-y := fixdep split-include docproc
12+
hostprogs-y := fixdep docproc
1513
always := $(hostprogs-y)
1614

1715
# fixdep is needed to compile other host programs

scripts/basic/split-include.c

Lines changed: 0 additions & 226 deletions
This file was deleted.

0 commit comments

Comments
 (0)