diff options
Diffstat (limited to 'scripts/kconfig/util.c')
-rw-r--r-- | scripts/kconfig/util.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c index c6f6e21b809f..703ee4904613 100644 --- a/scripts/kconfig/util.c +++ b/scripts/kconfig/util.c | |||
@@ -34,8 +34,6 @@ struct file *file_lookup(const char *name) | |||
34 | /* write a dependency file as used by kbuild to track dependencies */ | 34 | /* write a dependency file as used by kbuild to track dependencies */ |
35 | int file_write_dep(const char *name) | 35 | int file_write_dep(const char *name) |
36 | { | 36 | { |
37 | struct symbol *sym, *env_sym; | ||
38 | struct expr *e; | ||
39 | struct file *file; | 37 | struct file *file; |
40 | FILE *out; | 38 | FILE *out; |
41 | 39 | ||
@@ -54,21 +52,7 @@ int file_write_dep(const char *name) | |||
54 | fprintf(out, "\n%s: \\\n" | 52 | fprintf(out, "\n%s: \\\n" |
55 | "\t$(deps_config)\n\n", conf_get_autoconfig_name()); | 53 | "\t$(deps_config)\n\n", conf_get_autoconfig_name()); |
56 | 54 | ||
57 | expr_list_for_each_sym(sym_env_list, e, sym) { | 55 | env_write_dep(out, conf_get_autoconfig_name()); |
58 | struct property *prop; | ||
59 | const char *value; | ||
60 | |||
61 | prop = sym_get_env_prop(sym); | ||
62 | env_sym = prop_get_symbol(prop); | ||
63 | if (!env_sym) | ||
64 | continue; | ||
65 | value = getenv(env_sym->name); | ||
66 | if (!value) | ||
67 | value = ""; | ||
68 | fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value); | ||
69 | fprintf(out, "%s: FORCE\n", conf_get_autoconfig_name()); | ||
70 | fprintf(out, "endif\n"); | ||
71 | } | ||
72 | 56 | ||
73 | fprintf(out, "\n$(deps_config): ;\n"); | 57 | fprintf(out, "\n$(deps_config): ;\n"); |
74 | fclose(out); | 58 | fclose(out); |
@@ -165,3 +149,14 @@ char *xstrdup(const char *s) | |||
165 | fprintf(stderr, "Out of memory.\n"); | 149 | fprintf(stderr, "Out of memory.\n"); |
166 | exit(1); | 150 | exit(1); |
167 | } | 151 | } |
152 | |||
153 | char *xstrndup(const char *s, size_t n) | ||
154 | { | ||
155 | char *p; | ||
156 | |||
157 | p = strndup(s, n); | ||
158 | if (p) | ||
159 | return p; | ||
160 | fprintf(stderr, "Out of memory.\n"); | ||
161 | exit(1); | ||
162 | } | ||