diff options
Diffstat (limited to 'tools/squashfs4/patches/120-cygwin_fixes.patch')
-rw-r--r-- | tools/squashfs4/patches/120-cygwin_fixes.patch | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/tools/squashfs4/patches/120-cygwin_fixes.patch b/tools/squashfs4/patches/120-cygwin_fixes.patch new file mode 100644 index 000000000..fa1dfba42 --- /dev/null +++ b/tools/squashfs4/patches/120-cygwin_fixes.patch @@ -0,0 +1,153 @@ +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -51,15 +51,22 @@ + #include <sys/wait.h> + + #ifndef linux ++#ifndef __CYGWIN__ + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN + #include <sys/sysctl.h> ++#endif /* __CYGWIN__ */ + #else + #include <endian.h> + #include <sys/sysinfo.h> + #endif + ++#ifdef __CYGWIN__ ++#include <sys/termios.h> ++#define FNM_EXTMATCH (1 << 5) ++#endif ++ + #ifndef FNM_EXTMATCH + #define FNM_EXTMATCH 0 + #endif +@@ -844,6 +851,7 @@ void sigusr1_handler() + + void sigwinch_handler() + { ++#ifndef __CYGWIN__ + struct winsize winsize; + + if(ioctl(1, TIOCGWINSZ, &winsize) == -1) { +@@ -853,6 +861,9 @@ void sigwinch_handler() + columns = 80; + } else + columns = winsize.ws_col; ++#else ++ columns = 80; ++#endif + } + + +@@ -4066,6 +4077,9 @@ void initialise_threads(int readb_mbytes + + signal(SIGUSR1, sigusr1_handler); + ++#ifdef __CYGWIN__ ++ processors = atoi(getenv("NUMBER_OF_PROCESSORS")); ++#else + if(processors == -1) { + #ifndef linux + int mib[2]; +@@ -4087,6 +4101,7 @@ void initialise_threads(int readb_mbytes + processors = sysconf(_SC_NPROCESSORS_ONLN); + #endif + } ++#endif /* __CYGWIN__ */ + + thread = malloc((2 + processors * 2) * sizeof(pthread_t)); + if(thread == NULL) +--- a/squashfs-tools/read_fs.c ++++ b/squashfs-tools/read_fs.c +@@ -33,9 +33,11 @@ + #include <sys/mman.h> + + #ifndef linux ++#ifndef __CYGWIN__ + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN ++#endif + #else + #include <endian.h> + #endif +--- a/squashfs-tools/swap.c ++++ b/squashfs-tools/swap.c +@@ -20,9 +20,11 @@ + */ + + #ifndef linux ++#ifndef __CYGWIN__ + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN ++#endif + #else + #include <endian.h> + #endif +--- a/squashfs-tools/unsquashfs.c ++++ b/squashfs-tools/unsquashfs.c +@@ -117,6 +117,7 @@ void update_progress_bar(); + + void sigwinch_handler() + { ++#ifndef __CYGWIN__ + struct winsize winsize; + + if(ioctl(1, TIOCGWINSZ, &winsize) == -1) { +@@ -126,6 +127,9 @@ void sigwinch_handler() + columns = 80; + } else + columns = winsize.ws_col; ++#else ++ columns = 80; ++#endif + } + + +@@ -1807,7 +1811,9 @@ void initialise_threads(int fragment_buf + if(sigprocmask(SIG_BLOCK, &sigmask, &old_mask) == -1) + EXIT_UNSQUASH("Failed to set signal mask in intialise_threads" + "\n"); +- ++#ifdef __CYGWIN__ ++ processors = atoi(getenv("NUMBER_OF_PROCESSORS")); ++#else + if(processors == -1) { + #ifndef linux + int mib[2]; +@@ -1829,6 +1835,7 @@ void initialise_threads(int fragment_buf + processors = sysconf(_SC_NPROCESSORS_ONLN); + #endif + } ++#endif /* __CYGWIN__ */ + + thread = malloc((3 + processors) * sizeof(pthread_t)); + if(thread == NULL) +--- a/squashfs-tools/unsquashfs.h ++++ b/squashfs-tools/unsquashfs.h +@@ -46,15 +46,22 @@ + #include <sys/time.h> + + #ifndef linux ++#ifndef __CYGWIN__ + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN + #include <sys/sysctl.h> ++#endif + #else + #include <endian.h> + #include <sys/sysinfo.h> + #endif + ++#ifdef __CYGWIN__ ++#include <sys/termios.h> ++#define FNM_EXTMATCH (1 << 5) ++#endif ++ + #ifndef FNM_EXTMATCH + #define FNM_EXTMATCH 0 + #endif |