carl9170: config: re-add config.cmake
[carl9170fw.git] / config / confdata.c
index a143cb3d8bb2cba9b0fd9cfab96c567a0c73ce58..d67695d19ac77fdad52cbc4f4f005e8110ffcb58 100644 (file)
@@ -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;