summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@free.fr>2012-08-15 20:06:22 (GMT)
committerYann E. MORIN" <yann.morin.1998@free.fr>2012-08-15 20:06:22 (GMT)
commit143c1430c9ff72351dd1628f1ee740ff931886be (patch)
tree31091466e7676c7c048cd32ca7a3fe9c5c0ad7e8
parent3a0575282ffab9ee3698d9ccd648dd37b3910121 (diff)
samples: add rule to dump current .config into a defconfig
... and one to restore it, of course. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-rw-r--r--ct-ng.comp3
-rw-r--r--docs/ct-ng.1.in41
-rw-r--r--kconfig/kconfig.mk13
3 files changed, 55 insertions, 2 deletions
diff --git a/ct-ng.comp b/ct-ng.comp
index f7ae720..09292ac 100644
--- a/ct-ng.comp
+++ b/ct-ng.comp
@@ -15,13 +15,14 @@ _ct_ng () {
stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;')
actions='help menuconfig oldconfig saveconfig extractconfig
+ defconfig olddefconfig
build build. build-all build-all.
wiki-samples list-samples list-samples-short list-steps
show-tuple show-all show-config
clean distclean updatetools
tarball version'
- vars="RESTART= STOP= PREFIX= V="
+ vars="RESTART= STOP= PREFIX= V= DEFCONFIG="
ct_ng_opts="${samples} ${show_samples} ${build_samples}
${steps} ${start_steps} ${stop_steps}
diff --git a/docs/ct-ng.1.in b/docs/ct-ng.1.in
index a788516..d6b9761 100644
--- a/docs/ct-ng.1.in
+++ b/docs/ct-ng.1.in
@@ -60,6 +60,47 @@ Samples can be later recalled by calling
with the target tuple they represent.
."
.TP
+.B defconfig
+Save the current configuration to a mini-defconfig file, that contains only
+the strictly required symbols to reproduce the configuraiton. defconfig files
+are much smaller than a complete .config, so it is easy to send by mail. As
+only non-default symbols are present in a defconfig, it easy to spot the
+meaningfull values. Also, it is easy to use defconfig files with newer
+versions of
+.BR crosstool-NG .
+By default the mini-defconfig is saved to a file named
+.IR defconfig ,
+unless the variable
+.B $DEFCONFIG
+is set, in which case the mini-defconfig will be saved to the file referenced
+by
+.BR $DEFCONFIG .
+
+Note: only the
+.I .config
+file for
+.B crosstool-NG
+is saved. Config files for the components are
+.B not
+saved. Use
+.B saveconfig
+for that
+."
+.TP
+.B olddefconfig
+Configure
+.B crosstool-NG
+using a mini-defconfig file (previously saved with
+.B defconfig
+or manually edited). The default mini-defconfig is rad from the file
+.IR defconfig ,
+unless the vraiable
+.B $DEFCONFIG
+is set, inwhich case the mini-defconfig will be read from the file referenced
+by
+.B $DEFCONFIG
+."
+.TP
.B build
Builds the configured toolchain.
."
diff --git a/kconfig/kconfig.mk b/kconfig/kconfig.mk
index 8748287..4cacf73 100644
--- a/kconfig/kconfig.mk
+++ b/kconfig/kconfig.mk
@@ -5,7 +5,7 @@
#-----------------------------------------------------------
# The configurators rules
-configurators = menuconfig nconfig oldconfig
+configurators = menuconfig nconfig oldconfig defconfig olddefconfig
PHONY += $(configurators)
$(configurators): config_files
@@ -27,6 +27,14 @@ oldconfig: .config
@$(ECHO) " CONF $(KCONFIG_TOP)"
$(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP)
+defconfig: .config
+ @$(ECHO) ' GEN $@'
+ $(SILENT)$(CONF) --savedefconfig=$${CONFIG-defconfig} $(KCONFIG_TOP)
+
+olddefconfig:
+ @$(ECHO) ' CONF $@'
+ $(SILENT)$(CONF) --defconfig=$${CONFIG-defconfig} $(KCONFIG_TOP)
+
# Always be silent, the stdout an be >.config
extractconfig:
@$(awk) 'BEGIN { dump=0; } \
@@ -50,3 +58,6 @@ help-config::
@echo ' oldconfig - Update current config using a provided .config as base'
@echo ' extractconfig - Extract to stdout the configuration items from a'
@echo ' build.log file piped to stdin'
+ @echo ' defconfig - Save current config as a mini-defconfig to $${CONFIG}'
+ @echo ' olddefconfig - Update config from a mini-defconfig $${CONFIG}'
+ @echo ' (default: $${CONFIG}=./defconfig)'