diff options
author | Markus Heidelberg <markus.heidelberg@web.de> | 2009-05-17 19:36:54 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2009-06-09 16:37:51 -0400 |
commit | 12122f62324e7c6837ee8b0fa8d257ce7ebcfc6f (patch) | |
tree | 5f4dff0d7a3612c45a87a2fb4ba2599484eea9fd /scripts/kconfig/confdata.c | |
parent | 284026cdfb5a899e558dcb7a36aefaf54a78c094 (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.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 273d73888f9d..a04da3459f0f 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 | ||
44 | const char *conf_get_autoconfig_name(void) | ||
45 | { | ||
46 | char *name = getenv("KCONFIG_AUTOCONFIG"); | ||
47 | |||
48 | return name ? name : "include/config/auto.conf"; | ||
49 | } | ||
50 | |||
44 | static char *conf_expand_value(const char *in) | 51 | static 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 | ||
556 | int conf_split_config(void) | 563 | int 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. |