X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=config%2Fconfdata.c;h=d67695d19ac77fdad52cbc4f4f005e8110ffcb58;hp=a143cb3d8bb2cba9b0fd9cfab96c567a0c73ce58;hb=fa77bcaf0aac039e45715be971cbaa2532130570;hpb=4d01b0b43ea5208f5722b35246d43c0bbd1b3c7e diff --git a/config/confdata.c b/config/confdata.c index a143cb3..d67695d 100644 --- a/config/confdata.c +++ b/config/confdata.c @@ -1061,13 +1061,17 @@ static int conf_touch_deps(void) return 0; } -int conf_write_autoconf(void) +int conf_write_autoconf(int overwrite) { struct symbol *sym; const char *name; + const char *autoconf_name = conf_get_autoconfig_name(); FILE *out, *tristate, *out_h, *out_c; int i; + if (!overwrite && is_present(autoconf_name)) + return 0; + sym_clear_all_valid(); conf_write_dep("include/generated/auto.conf.cmd"); @@ -1142,6 +1146,9 @@ int conf_write_autoconf(void) if (rename(".tmpconfig_tristate", name)) return 1; + if (make_parent_dir(autoconf_name)) + return 1; + name = getenv("KCONFIG_CMAKE"); if (!name) name = "config.cmake"; @@ -1150,15 +1157,11 @@ int conf_write_autoconf(void) if (rename(".tmpconfig.cmake", name)) return 1; - name = conf_get_autoconfig_name(); - if (make_parent_dir(name)) - return 1; - /* * This must be the last step, kbuild has a dependency on auto.conf * and this marks the successful completion of the previous steps. */ - if (rename(".tmpconfig", name)) + if (rename(".tmpconfig", autoconf_name)) return 1; return 0;