diff options
author | Patrick Georgi <patrick.georgi@coresystems.de> | 2009-11-21 19:54:02 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2009-11-21 19:54:02 +0000 |
commit | 26774f2b729d791c9dbf5ba0f7fcf4a59e3795a5 (patch) | |
tree | 0c6bd1252925799a2f9f7f62707d24b663170302 /util/kconfig/confdata.c | |
parent | b198a478ed190552f5228e43bc34391ca7b0f2dd (diff) | |
download | coreboot-26774f2b729d791c9dbf5ba0f7fcf4a59e3795a5.tar.xz |
Make the kconfig-style build work in mingw:
* use relative paths in ldscript.ld and crt0_includes.h
* avoid use of dd(1) in xcompile
* build libregex for kconfig, if necessary
* work around missing utsname on win32
* unlink targets before rename on win32
* implement (crude) mkstemp for win32
* avoid open/read/close, use fopen/fread/fclose instead
* don't free certain data structures in romcc on win32 to
avoid crashes (likely use-after-free())
* handle "\CRLF" and win32 style absolute paths (X:/ or X:\)
in romcc
* make lzma (part of cbfstool) build on XP
* implement ntohl/htonl on win32
* handle CRLF in awk script
* set larger stack for romcc on win32
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4952 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/kconfig/confdata.c')
-rw-r--r-- | util/kconfig/confdata.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/util/kconfig/confdata.c b/util/kconfig/confdata.c index 05c260161e..56a0eb0851 100644 --- a/util/kconfig/confdata.c +++ b/util/kconfig/confdata.c @@ -15,6 +15,13 @@ #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; |