Make the kconfig-style build work in mingw:
[coreboot.git] / util / kconfig / confdata.c
index 05c260161ed7955efed93eec546d871c85b232df..56a0eb08518709de8614504dbf7483b06cf651f2 100644 (file)
 #define LKC_DIRECT_LINK
 #include "lkc.h"
 
+#ifdef WIN32
+#define mkdir(x,y) mkdir(x)
+#define UNLINK_IF_NECESSARY(x) unlink(x)
+#else
+#define UNLINK_IF_NECESSARY(X) 
+#endif
+
 static void conf_warning(const char *fmt, ...)
        __attribute__ ((format (printf, 1, 2)));
 
@@ -539,6 +546,7 @@ int conf_write(const char *name)
        if (*tmpname) {
                strcat(dirname, basename);
                strcat(dirname, ".old");
+               UNLINK_IF_NECESSARY(dirname);
                rename(newname, dirname);
                if (rename(tmpname, newname))
                        return 1;
@@ -775,6 +783,7 @@ int conf_write_autoconf(void)
        name = getenv("KCONFIG_AUTOHEADER");
        if (!name)
                name = "include/linux/autoconf.h";
+       UNLINK_IF_NECESSARY(name);
        if (rename(".tmpconfig.h", name))
                return 1;
        name = getenv("KCONFIG_AUTOCONFIG");
@@ -784,6 +793,7 @@ int conf_write_autoconf(void)
         * This must be the last step, kbuild has a dependency on auto.conf
         * and this marks the successful completion of the previous steps.
         */
+       UNLINK_IF_NECESSARY(name);
        if (rename(".tmpconfig", name))
                return 1;