--- a/squashfs-tools/mksquashfs.c +++ b/squashfs-tools/mksquashfs.c @@ -51,15 +51,22 @@ #include #ifndef linux +#ifndef __CYGWIN__ #define __BYTE_ORDER BYTE_ORDER #define __BIG_ENDIAN BIG_ENDIAN #define __LITTLE_ENDIAN LITTLE_ENDIAN #include +#endif /* __CYGWIN__ */ #else #include #include #endif +#ifdef __CYGWIN__ +#include +#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 #ifndef linux +#ifndef __CYGWIN__ #define __BYTE_ORDER BYTE_ORDER #define __BIG_ENDIAN BIG_ENDIAN #define __LITTLE_ENDIAN LITTLE_ENDIAN +#endif #else #include #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 #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 #ifndef linux +#ifndef __CYGWIN__ #define __BYTE_ORDER BYTE_ORDER #define __BIG_ENDIAN BIG_ENDIAN #define __LITTLE_ENDIAN LITTLE_ENDIAN #include +#endif #else #include #include #endif +#ifdef __CYGWIN__ +#include +#define FNM_EXTMATCH (1 << 5) +#endif + #ifndef FNM_EXTMATCH #define FNM_EXTMATCH 0 #endif