aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/confdata.c
diff options
context:
space:
mode:
authorMarkus Heidelberg <markus.heidelberg@web.de>2009-05-17 19:36:54 -0400
committerSam Ravnborg <sam@ravnborg.org>2009-06-09 16:37:51 -0400
commit12122f62324e7c6837ee8b0fa8d257ce7ebcfc6f (patch)
tree5f4dff0d7a3612c45a87a2fb4ba2599484eea9fd /scripts/kconfig/confdata.c
parent284026cdfb5a899e558dcb7a36aefaf54a78c094 (diff)
kconfig: do not hardcode "include/config/auto.conf" filename
Regardless of KCONFIG_AUTOCONFIG, the filename written as a Make target into "include/config/auto.conf.cmd" was always the default one. Of course this doesn't make it work for the Kernel kbuild system, since there the filename is hardcoded at several places in the Makefiles. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/kconfig/confdata.c')
-rw-r--r--scripts/kconfig/confdata.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 273d73888f9..a04da3459f0 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -41,6 +41,13 @@ const char *conf_get_configname(void)
41 return name ? name : ".config"; 41 return name ? name : ".config";
42} 42}
43 43
44const char *conf_get_autoconfig_name(void)
45{
46 char *name = getenv("KCONFIG_AUTOCONFIG");
47
48 return name ? name : "include/config/auto.conf";
49}
50
44static char *conf_expand_value(const char *in) 51static char *conf_expand_value(const char *in)
45{ 52{
46 struct symbol *sym; 53 struct symbol *sym;
@@ -555,15 +562,14 @@ int conf_write(const char *name)
555 562
556int conf_split_config(void) 563int conf_split_config(void)
557{ 564{
558 char *name, path[128]; 565 const char *name;
566 char path[128];
559 char *s, *d, c; 567 char *s, *d, c;
560 struct symbol *sym; 568 struct symbol *sym;
561 struct stat sb; 569 struct stat sb;
562 int res, i, fd; 570 int res, i, fd;
563 571
564 name = getenv("KCONFIG_AUTOCONFIG"); 572 name = conf_get_autoconfig_name();
565 if (!name)
566 name = "include/config/auto.conf";
567 conf_read_simple(name, S_DEF_AUTO); 573 conf_read_simple(name, S_DEF_AUTO);
568 574
569 if (chdir("include/config")) 575 if (chdir("include/config"))
@@ -670,7 +676,7 @@ int conf_write_autoconf(void)
670{ 676{
671 struct symbol *sym; 677 struct symbol *sym;
672 const char *str; 678 const char *str;
673 char *name; 679 const char *name;
674 FILE *out, *out_h; 680 FILE *out, *out_h;
675 time_t now; 681 time_t now;
676 int i, l; 682 int i, l;
@@ -773,9 +779,7 @@ int conf_write_autoconf(void)
773 name = "include/linux/autoconf.h"; 779 name = "include/linux/autoconf.h";
774 if (rename(".tmpconfig.h", name)) 780 if (rename(".tmpconfig.h", name))
775 return 1; 781 return 1;
776 name = getenv("KCONFIG_AUTOCONFIG"); 782 name = conf_get_autoconfig_name();
777 if (!name)
778 name = "include/config/auto.conf";
779 /* 783 /*
780 * This must be the last step, kbuild has a dependency on auto.conf 784 * This must be the last step, kbuild has a dependency on auto.conf
781 * and this marks the successful completion of the previous steps. 785 * and this marks the successful completion of the previous steps.