[PATCH] Allow kernel to build on Cygwin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch contains a set of small fixes to allow the kernel to build under
the Cygwin environment, which is unfortunately used by more people than
one would think in the embedded world. :(

Signed-off-by: Deepak Saxena <[email protected]>

---
 lib/gen_crc32table.c                       |    2 ++
 scripts/kconfig/Makefile                   |    6 ++++++
 scripts/kconfig/lxdialog/check-lxdialog.sh |    4 ++++
 scripts/mod/file2alias.c                   |    4 ++++
 scripts/mod/mk_elfconfig.c                 |    4 ++++
 scripts/mod/modpost.h                      |    4 ++++
 scripts/mod/sumversion.c                   |    6 +++++-
 7 files changed, 29 insertions(+), 1 deletion(-)


diff --git a/lib/gen_crc32table.c b/lib/gen_crc32table.c
index bea5d97..ce447ff 100644
--- a/lib/gen_crc32table.c
+++ b/lib/gen_crc32table.c
@@ -1,6 +1,8 @@
 #include <stdio.h>
 #include "crc32defs.h"
+#ifndef __CYGWIN__
 #include <inttypes.h>
+#endif
 
 #define ENTRIES_PER_LINE 4
 
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 7e7e147..ca57efe 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -161,6 +161,12 @@ HOSTLOADLIBES_gconf	= `pkg-config --libs
 HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
                           -D LKC_DIRECT_LINK
 
+HOST_OS := $(shell uname -o)
+ifeq ($(HOST_OS),Cygwin)
+HOSTLOADLIBES_mconf	= -lintl
+HOSTLOADLIBES_conf	= -lintl
+endif
+
 $(obj)/qconf.o: $(obj)/.tmp_qtcheck
 
 ifeq ($(qconf-target),1)
diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
index 120d624..c44b559 100644
--- a/scripts/kconfig/lxdialog/check-lxdialog.sh
+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
@@ -4,6 +4,10 @@ # Check ncurses compatibility
 # What library to link
 ldflags()
 {
+	if [ "`uname -o`" == "Cygwin" ]; then
+		echo '-lintl -lncurses'
+		exit
+	fi
 	$cc -print-file-name=libncursesw.so | grep -q /
 	if [ $? -eq 0 ]; then
 		echo '-lncursesw'
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index f61c9cc..479293f 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -29,7 +29,11 @@ #endif
 
 #include <ctype.h>
 
+#if defined(__CYGWIN__)
+typedef __uint32_t	__u32;
+#else
 typedef uint32_t	__u32;
+#endif
 typedef uint16_t	__u16;
 typedef unsigned char	__u8;
 
diff --git a/scripts/mod/mk_elfconfig.c b/scripts/mod/mk_elfconfig.c
index 725d61c..4908f7a 100644
--- a/scripts/mod/mk_elfconfig.c
+++ b/scripts/mod/mk_elfconfig.c
@@ -1,7 +1,11 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#ifdef __CYGWIN__
+#include <libelf.h>
+#else
 #include <elf.h>
+#endif
 
 int
 main(int argc, char **argv)
diff --git a/scripts/mod/modpost.h b/scripts/mod/modpost.h
index d398c61..7cdf2c6 100644
--- a/scripts/mod/modpost.h
+++ b/scripts/mod/modpost.h
@@ -7,7 +7,11 @@ #include <sys/stat.h>
 #include <sys/mman.h>
 #include <fcntl.h>
 #include <unistd.h>
+#ifdef __CYGWIN__
+#include <libelf.h>
+#else
 #include <elf.h>
+#endif
 
 #include "elfconfig.h"
 
diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c
index 8a28756..4404f87 100644
--- a/scripts/mod/sumversion.c
+++ b/scripts/mod/sumversion.c
@@ -1,7 +1,11 @@
+#if defined(__sun__)
 #include <netinet/in.h>
-#ifdef __sun__
 #include <inttypes.h>
+#elif defined(__CYGWIN__)
+#include <asm/byteorder.h>	/* For ntohl/htonl */
+#include <limits.h>
 #else
+#include <netinet/in.h>
 #include <stdint.h>
 #endif
 #include <ctype.h>

-- 
Deepak Saxena - [email protected] - http://www.plexity.net

In the end, they will not say, "those were dark times,"  they will ask
"why were their poets silent?" - Bertolt Brecht
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux