--- a/squashfs-tools/global.h +++ b/squashfs-tools/global.h @@ -44,6 +44,11 @@ typedef long long squashfs_fragment_inde typedef squashfs_inode_t squashfs_inode; typedef squashfs_block_t squashfs_block; +#ifdef __CYGWIN__ +#include +#define FNM_EXTMATCH (1 << 5) +#endif + #ifndef FNM_EXTMATCH #define FNM_EXTMATCH 0 #endif --- a/squashfs-tools/mksquashfs.c +++ b/squashfs-tools/mksquashfs.c @@ -49,10 +49,12 @@ #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 @@ -817,6 +819,7 @@ void sigusr1_handler() void sigwinch_handler() { +#ifndef __CYGWIN__ struct winsize winsize; if(ioctl(1, TIOCGWINSZ, &winsize) == -1) { @@ -826,6 +829,9 @@ void sigwinch_handler() columns = 80; } else columns = winsize.ws_col; +#else + columns = 80; +#endif } @@ -3853,7 +3859,9 @@ void initialise_threads() BAD_ERROR("Failed to set signal mask in intialise_threads\n"); signal(SIGUSR1, sigusr1_handler); - +#ifdef __CYGWIN__ + processors = atoi(getenv("NUMBER_OF_PROCESSORS")); +#else if(processors == -1) { #ifndef linux int mib[2]; @@ -3875,6 +3883,7 @@ void initialise_threads() processors = get_nprocs(); #endif } +#endif /* __CYGWIN__ */ if((thread = malloc((2 + processors * 2) * sizeof(pthread_t))) == NULL) BAD_ERROR("Out of memory allocating thread descriptors\n"); --- a/squashfs-tools/read_fs.c +++ b/squashfs-tools/read_fs.c @@ -39,9 +39,11 @@ extern unsigned int get_guid(unsigned in #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 @@ -112,6 +112,7 @@ void update_progress_bar(); void sigwinch_handler() { +#ifndef __CYGWIN__ struct winsize winsize; if(ioctl(1, TIOCGWINSZ, &winsize) == -1) { @@ -121,6 +122,9 @@ void sigwinch_handler() columns = 80; } else columns = winsize.ws_col; +#else + columns = 80; +#endif } @@ -1787,7 +1791,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]; @@ -1809,6 +1815,7 @@ void initialise_threads(int fragment_buf processors = get_nprocs(); #endif } +#endif /* __CYGWIN__ */ if((thread = malloc((3 + processors) * sizeof(pthread_t))) == NULL) EXIT_UNSQUASH("Out of memory allocating thread descriptors\n"); --- a/squashfs-tools/unsquashfs.h +++ b/squashfs-tools/unsquashfs.h @@ -45,10 +45,12 @@ #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