mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 11:16:11 +00:00
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>
This commit is contained in:
parent
284026cdfb
commit
12122f6232
3 changed files with 16 additions and 11 deletions
|
@ -41,6 +41,13 @@ const char *conf_get_configname(void)
|
||||||
return name ? name : ".config";
|
return name ? name : ".config";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *conf_get_autoconfig_name(void)
|
||||||
|
{
|
||||||
|
char *name = getenv("KCONFIG_AUTOCONFIG");
|
||||||
|
|
||||||
|
return name ? name : "include/config/auto.conf";
|
||||||
|
}
|
||||||
|
|
||||||
static char *conf_expand_value(const char *in)
|
static char *conf_expand_value(const char *in)
|
||||||
{
|
{
|
||||||
struct symbol *sym;
|
struct symbol *sym;
|
||||||
|
@ -555,15 +562,14 @@ int conf_write(const char *name)
|
||||||
|
|
||||||
int conf_split_config(void)
|
int conf_split_config(void)
|
||||||
{
|
{
|
||||||
char *name, path[128];
|
const char *name;
|
||||||
|
char path[128];
|
||||||
char *s, *d, c;
|
char *s, *d, c;
|
||||||
struct symbol *sym;
|
struct symbol *sym;
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
int res, i, fd;
|
int res, i, fd;
|
||||||
|
|
||||||
name = getenv("KCONFIG_AUTOCONFIG");
|
name = conf_get_autoconfig_name();
|
||||||
if (!name)
|
|
||||||
name = "include/config/auto.conf";
|
|
||||||
conf_read_simple(name, S_DEF_AUTO);
|
conf_read_simple(name, S_DEF_AUTO);
|
||||||
|
|
||||||
if (chdir("include/config"))
|
if (chdir("include/config"))
|
||||||
|
@ -670,7 +676,7 @@ int conf_write_autoconf(void)
|
||||||
{
|
{
|
||||||
struct symbol *sym;
|
struct symbol *sym;
|
||||||
const char *str;
|
const char *str;
|
||||||
char *name;
|
const char *name;
|
||||||
FILE *out, *out_h;
|
FILE *out, *out_h;
|
||||||
time_t now;
|
time_t now;
|
||||||
int i, l;
|
int i, l;
|
||||||
|
@ -773,9 +779,7 @@ int conf_write_autoconf(void)
|
||||||
name = "include/linux/autoconf.h";
|
name = "include/linux/autoconf.h";
|
||||||
if (rename(".tmpconfig.h", name))
|
if (rename(".tmpconfig.h", name))
|
||||||
return 1;
|
return 1;
|
||||||
name = getenv("KCONFIG_AUTOCONFIG");
|
name = conf_get_autoconfig_name();
|
||||||
if (!name)
|
|
||||||
name = "include/config/auto.conf";
|
|
||||||
/*
|
/*
|
||||||
* This must be the last step, kbuild has a dependency on auto.conf
|
* This must be the last step, kbuild has a dependency on auto.conf
|
||||||
* and this marks the successful completion of the previous steps.
|
* and this marks the successful completion of the previous steps.
|
||||||
|
|
|
@ -74,6 +74,7 @@ char *zconf_curname(void);
|
||||||
|
|
||||||
/* confdata.c */
|
/* confdata.c */
|
||||||
const char *conf_get_configname(void);
|
const char *conf_get_configname(void);
|
||||||
|
const char *conf_get_autoconfig_name(void);
|
||||||
char *conf_get_default_confname(void);
|
char *conf_get_default_confname(void);
|
||||||
void sym_set_change_count(int count);
|
void sym_set_change_count(int count);
|
||||||
void sym_add_change_count(int count);
|
void sym_add_change_count(int count);
|
||||||
|
|
|
@ -46,8 +46,8 @@ int file_write_dep(const char *name)
|
||||||
else
|
else
|
||||||
fprintf(out, "\t%s\n", file->name);
|
fprintf(out, "\t%s\n", file->name);
|
||||||
}
|
}
|
||||||
fprintf(out, "\ninclude/config/auto.conf: \\\n"
|
fprintf(out, "\n%s: \\\n"
|
||||||
"\t$(deps_config)\n\n");
|
"\t$(deps_config)\n\n", conf_get_autoconfig_name());
|
||||||
|
|
||||||
expr_list_for_each_sym(sym_env_list, e, sym) {
|
expr_list_for_each_sym(sym_env_list, e, sym) {
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
|
@ -61,7 +61,7 @@ int file_write_dep(const char *name)
|
||||||
if (!value)
|
if (!value)
|
||||||
value = "";
|
value = "";
|
||||||
fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value);
|
fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value);
|
||||||
fprintf(out, "include/config/auto.conf: FORCE\n");
|
fprintf(out, "%s: FORCE\n", conf_get_autoconfig_name());
|
||||||
fprintf(out, "endif\n");
|
fprintf(out, "endif\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue