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 | |
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>
-rw-r--r-- | scripts/kconfig/confdata.c | 20 | ||||
-rw-r--r-- | scripts/kconfig/lkc.h | 1 | ||||
-rw-r--r-- | scripts/kconfig/util.c | 6 |
3 files changed, 16 insertions, 11 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. |
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h index 4a9af6f7886b..f379b0bf8c9e 100644 --- a/scripts/kconfig/lkc.h +++ b/scripts/kconfig/lkc.h | |||
@@ -74,6 +74,7 @@ char *zconf_curname(void); | |||
74 | 74 | ||
75 | /* confdata.c */ | 75 | /* confdata.c */ |
76 | const char *conf_get_configname(void); | 76 | const char *conf_get_configname(void); |
77 | const char *conf_get_autoconfig_name(void); | ||
77 | char *conf_get_default_confname(void); | 78 | char *conf_get_default_confname(void); |
78 | void sym_set_change_count(int count); | 79 | void sym_set_change_count(int count); |
79 | void sym_add_change_count(int count); | 80 | void sym_add_change_count(int count); |
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c index 3cc9f9369036..b6b2a46af14c 100644 --- a/scripts/kconfig/util.c +++ b/scripts/kconfig/util.c | |||
@@ -46,8 +46,8 @@ int file_write_dep(const char *name) | |||
46 | else | 46 | else |
47 | fprintf(out, "\t%s\n", file->name); | 47 | fprintf(out, "\t%s\n", file->name); |
48 | } | 48 | } |
49 | fprintf(out, "\ninclude/config/auto.conf: \\\n" | 49 | fprintf(out, "\n%s: \\\n" |
50 | "\t$(deps_config)\n\n"); | 50 | "\t$(deps_config)\n\n", conf_get_autoconfig_name()); |
51 | 51 | ||
52 | expr_list_for_each_sym(sym_env_list, e, sym) { | 52 | expr_list_for_each_sym(sym_env_list, e, sym) { |
53 | struct property *prop; | 53 | struct property *prop; |
@@ -61,7 +61,7 @@ int file_write_dep(const char *name) | |||
61 | if (!value) | 61 | if (!value) |
62 | value = ""; | 62 | value = ""; |
63 | fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value); | 63 | fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value); |
64 | fprintf(out, "include/config/auto.conf: FORCE\n"); | 64 | fprintf(out, "%s: FORCE\n", conf_get_autoconfig_name()); |
65 | fprintf(out, "endif\n"); | 65 | fprintf(out, "endif\n"); |
66 | } | 66 | } |
67 | 67 | ||