From: Vladimir Yakovlev <nagos@inbox.ru>
Date: Sat, 7 Jul 2012 10:05:06 +0000 (+0000)
Subject: tools: Fix mingw tools build
X-Git-Tag: v2025.01-rc5-pxa1908~17673^2~35^2~21
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=8b6a4952e6064dc558cb7d5d375990b17491f26f;p=u-boot.git

tools: Fix mingw tools build

mkenvimage does not build due to missed os_support.o and unsupported
file modes S_IRGRP S_IWGRP.
Tested with mingw 4.2.1 on ubuntu 12.04.

Signed-off-by: Vladimir Yakovlev <nagos@inbox.ru>
---

diff --git a/tools/Makefile b/tools/Makefile
index 8097d9583b..a7d1e18fe2 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -196,7 +196,8 @@ $(obj)xway-swap-bytes$(SFX):	$(obj)xway-swap-bytes.o
 	$(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $^
 	$(HOSTSTRIP) $@
 
-$(obj)mkenvimage$(SFX):	$(obj)crc32.o $(obj)mkenvimage.o
+$(obj)mkenvimage$(SFX):	$(obj)crc32.o $(obj)mkenvimage.o \
+	$(obj)os_support.o
 	$(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $^
 	$(HOSTSTRIP) $@
 
diff --git a/tools/mkenvimage.c b/tools/mkenvimage.c
index 55212687e1..4001d2f517 100644
--- a/tools/mkenvimage.c
+++ b/tools/mkenvimage.c
@@ -46,6 +46,13 @@
 
 #define CRC_SIZE sizeof(uint32_t)
 
+#ifdef __MINGW32__
+#define FILE_PERM		(S_IRUSR | S_IWUSR)
+#else
+#define FILE_PERM		(S_IRUSR | S_IWUSR | S_IRGRP |\
+					     S_IWGRP)
+#endif
+
 static void usage(const char *exec_name)
 {
 	fprintf(stderr, "%s [-h] [-r] [-b] [-p <byte>] -s <environment partition size> -o <output> <input file>\n"
@@ -293,8 +300,7 @@ int main(int argc, char **argv)
 	if (!bin_filename || strcmp(bin_filename, "-") == 0) {
 		bin_fd = STDOUT_FILENO;
 	} else {
-		bin_fd = creat(bin_filename, S_IRUSR | S_IWUSR | S_IRGRP |
-					     S_IWGRP);
+		bin_fd = creat(bin_filename, FILE_PERM);
 		if (bin_fd == -1) {
 			fprintf(stderr, "Can't open output file \"%s\": %s\n",
 					bin_filename, strerror(errno));