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
This commit is contained in:
Patrick Georgi
2009-11-21 19:54:02 +00:00
parent b198a478ed
commit 26774f2b72
13 changed files with 5522 additions and 34 deletions

View File

@@ -7,7 +7,9 @@
#include <stdlib.h>
#include <string.h>
#include <regex.h>
#ifndef WIN32
#include <sys/utsname.h>
#endif
#define LKC_DIRECT_LINK
#include "lkc.h"
@@ -46,19 +48,27 @@ void sym_add_default(struct symbol *sym, const char *def)
void sym_init(void)
{
struct symbol *sym;
#ifndef WIN32
struct utsname uts;
#endif
static bool inited = false;
if (inited)
return;
inited = true;
#ifndef WIN32
uname(&uts);
#endif
sym = sym_lookup("UNAME_RELEASE", 0);
sym->type = S_STRING;
sym->flags |= SYMBOL_AUTO;
#ifndef WIN32
sym_add_default(sym, uts.release);
#else
sym_add_default(sym, "");
#endif
}
enum symbol_type sym_get_type(struct symbol *sym)