[PATCH 1/3] tools: Remove the out-of-date MinGW support codes

Bin Meng bmeng.cn at gmail.com
Sat Apr 18 10:59:09 CEST 2020


From: Bin Meng <bin.meng at windriver.com>

MinGW build for U-Boot tools has been broken for years. The official
support of Windows build is now MSYS2. Remove the MinGW support codes.

Signed-off-by: Bin Meng <bin.meng at windriver.com>
---

 README                |  10 -----
 tools/mingw_support.c | 113 --------------------------------------------------
 tools/mingw_support.h |  45 --------------------
 tools/os_support.c    |   7 ++--
 tools/os_support.h    |   3 --
 5 files changed, 3 insertions(+), 175 deletions(-)
 delete mode 100644 tools/mingw_support.c
 delete mode 100644 tools/mingw_support.h

diff --git a/README b/README
index 19dae14..d0af6c6 100644
--- a/README
+++ b/README
@@ -3186,16 +3186,6 @@ necessary. For example using the ELDK on a 4xx CPU, please enter:
 	$ CROSS_COMPILE=ppc_4xx-
 	$ export CROSS_COMPILE
 
-Note: If you wish to generate Windows versions of the utilities in
-      the tools directory you can use the MinGW toolchain
-      (http://www.mingw.org).  Set your HOST tools to the MinGW
-      toolchain and execute 'make tools'.  For example:
-
-       $ make HOSTCC=i586-mingw32msvc-gcc HOSTSTRIP=i586-mingw32msvc-strip tools
-
-      Binaries such as tools/mkimage.exe will be created which can
-      be executed on computers running Windows.
-
 U-Boot is intended to be simple to build. After installing the
 sources you must configure U-Boot for one specific board type. This
 is done by typing:
diff --git a/tools/mingw_support.c b/tools/mingw_support.c
deleted file mode 100644
index 2b17bf7..0000000
--- a/tools/mingw_support.c
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright 2008 Extreme Engineering Solutions, Inc.
- *
- * mmap/munmap implementation derived from:
- * Clamav Native Windows Port : mmap win32 compatibility layer
- * Copyright (c) 2005-2006 Gianluigi Tiesi <sherpya at netfarm.it>
- * Parts by Kees Zeelenberg <kzlg at users.sourceforge.net> (LibGW32C)
- */
-
-#include "mingw_support.h"
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-#include <errno.h>
-#include <assert.h>
-#include <io.h>
-
-int fsync(int fd)
-{
-	return _commit(fd);
-}
-
-void *mmap(void *addr, size_t len, int prot, int flags, int fd, int offset)
-{
-	void *map = NULL;
-	HANDLE handle = INVALID_HANDLE_VALUE;
-	DWORD cfm_flags = 0, mvf_flags = 0;
-
-	switch (prot) {
-	case PROT_READ | PROT_WRITE:
-		cfm_flags = PAGE_READWRITE;
-		mvf_flags = FILE_MAP_ALL_ACCESS;
-		break;
-	case PROT_WRITE:
-		cfm_flags = PAGE_READWRITE;
-		mvf_flags = FILE_MAP_WRITE;
-		break;
-	case PROT_READ:
-		cfm_flags = PAGE_READONLY;
-		mvf_flags = FILE_MAP_READ;
-		break;
-	default:
-		return MAP_FAILED;
-	}
-
-	handle = CreateFileMappingA((HANDLE) _get_osfhandle(fd), NULL,
-				cfm_flags, HIDWORD(len), LODWORD(len), NULL);
-	if (!handle)
-		return MAP_FAILED;
-
-	map = MapViewOfFile(handle, mvf_flags, HIDWORD(offset),
-			LODWORD(offset), len);
-	CloseHandle(handle);
-
-	if (!map)
-		return MAP_FAILED;
-
-	return map;
-}
-
-int munmap(void *addr, size_t len)
-{
-	if (!UnmapViewOfFile(addr))
-		return -1;
-
-	return 0;
-}
-
-/* Reentrant string tokenizer.  Generic version.
-   Copyright (C) 1991,1996-1999,2001,2004,2007 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
- */
-
-/* Parse S into tokens separated by characters in DELIM.
-   If S is NULL, the saved pointer in SAVE_PTR is used as
-   the next starting point.  For example:
-	char s[] = "-abc-=-def";
-	char *sp;
-	x = strtok_r(s, "-", &sp);	// x = "abc", sp = "=-def"
-	x = strtok_r(NULL, "-=", &sp);	// x = "def", sp = NULL
-	x = strtok_r(NULL, "=", &sp);	// x = NULL
-		// s = "abc\0-def\0"
-*/
-char *strtok_r(char *s, const char *delim, char **save_ptr)
-{
-	char *token;
-
-	if (s == NULL)
-		s = *save_ptr;
-
-	/* Scan leading delimiters.  */
-	s += strspn(s, delim);
-	if (*s == '\0') {
-		*save_ptr = s;
-		return NULL;
-	}
-
-	/* Find the end of the token.  */
-	token = s;
-	s = strpbrk (token, delim);
-	if (s == NULL) {
-		/* This token finishes the string.  */
-		*save_ptr = memchr(token, '\0', strlen(token));
-	} else {
-		/* Terminate the token and make *SAVE_PTR point past it.  */
-		*s = '\0';
-		*save_ptr = s + 1;
-	}
-	return token;
-}
-
-#include "getline.c"
diff --git a/tools/mingw_support.h b/tools/mingw_support.h
deleted file mode 100644
index e0b8ac3..0000000
--- a/tools/mingw_support.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.0+ */
-/*
- * Copyright 2008 Extreme Engineering Solutions, Inc.
- */
-
-#ifndef __MINGW_SUPPORT_H_
-#define __WINGW_SUPPORT_H_	1
-
-/* Defining __INSIDE_MSYS__ helps to prevent u-boot/mingw overlap */
-#define __INSIDE_MSYS__	1
-
-#include <windows.h>
-
-/* mmap protections */
-#define PROT_READ	0x1		/* Page can be read */
-#define PROT_WRITE	0x2		/* Page can be written */
-#define PROT_EXEC	0x4		/* Page can be executed */
-#define PROT_NONE	0x0		/* Page can not be accessed */
-
-/* Sharing types (must choose one and only one of these) */
-#define MAP_SHARED	0x01		/* Share changes */
-#define MAP_PRIVATE	0x02		/* Changes are private */
-
-/* File perms */
-#ifndef S_IRGRP
-# define S_IRGRP 0
-#endif
-#ifndef S_IWGRP
-# define S_IWGRP 0
-#endif
-
-/* Windows 64-bit access macros */
-#define LODWORD(x) ((DWORD)((DWORDLONG)(x)))
-#define HIDWORD(x) ((DWORD)(((DWORDLONG)(x) >> 32) & 0xffffffff))
-
-typedef	UINT	uint;
-typedef	ULONG	ulong;
-
-int fsync(int fd);
-void *mmap(void *, size_t, int, int, int, int);
-int munmap(void *, size_t);
-char *strtok_r(char *s, const char *delim, char **save_ptr);
-#include "getline.h"
-
-#endif /* __MINGW_SUPPORT_H_ */
diff --git a/tools/os_support.c b/tools/os_support.c
index 21e43c8..6890c31 100644
--- a/tools/os_support.c
+++ b/tools/os_support.c
@@ -3,13 +3,12 @@
  * Copyright 2009 Extreme Engineering Solutions, Inc.
  */
 
+#include "compiler.h"
+
 /*
  * Include additional files required for supporting different operating systems
  */
-#include "compiler.h"
-#ifdef __MINGW32__
-#include "mingw_support.c"
-#endif
+
 #if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L
 #include "getline.c"
 #endif
diff --git a/tools/os_support.h b/tools/os_support.h
index 3a2106e..471d605 100644
--- a/tools/os_support.h
+++ b/tools/os_support.h
@@ -11,9 +11,6 @@
 /*
  * Include additional files required for supporting different operating systems
  */
-#ifdef __MINGW32__
-#include "mingw_support.h"
-#endif
 
 #if defined(__APPLE__) && __DARWIN_C_LEVEL < 200809L
 #include "getline.h"
-- 
2.7.4



More information about the U-Boot mailing list