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 | |
| 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')
| -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 | ||
