I was brave and tried to compile CUPS in a 32-bit Cygwin environment. I used the standard sources from the tarball.
All went fine until linking.
Here's the end of the transcript:
Compiling raster.c...
raster.c:1: warning: -fPIC ignored for target (all code is position independent)
Linking libcupsimage.so.2...
../cups/libcups.a(file.o): In function `cupsFileRewind':
/opt/cups/cups-1.4.8/cups/file.c:1465: undefined reference to `_inflateEnd'
../cups/libcups.a(file.o): In function `cups_fill':
/opt/cups/cups-1.4.8/cups/file.c:2096: undefined reference to `_crc32'
/opt/cups/cups-1.4.8/cups/file.c:2098: undefined reference to `_inflateInit2_'
/opt/cups/cups-1.4.8/cups/file.c:2133: undefined reference to `_inflate'
/opt/cups/cups-1.4.8/cups/file.c:2136: undefined reference to `_crc32'
../cups/libcups.a(file.o): In function `cupsFileSeek':
/opt/cups/cups-1.4.8/cups/file.c:1569: undefined reference to `_inflateEnd'
../cups/libcups.a(file.o): In function `cups_compress':
/opt/cups/cups-1.4.8/cups/file.c:1873: undefined reference to `_crc32'
/opt/cups/cups-1.4.8/cups/file.c:1900: undefined reference to `_deflate'
../cups/libcups.a(file.o): In function `cupsFileOpenFd':
/opt/cups/cups-1.4.8/cups/file.c:996: undefined reference to `_deflateInit2_'
/opt/cups/cups-1.4.8/cups/file.c:1002: undefined reference to `_crc32'
../cups/libcups.a(file.o): In function `cupsFileClose':
/opt/cups/cups-1.4.8/cups/file.c:121: undefined reference to `_inflateEnd'
/opt/cups/cups-1.4.8/cups/file.c:150: undefined reference to `_deflate'
/opt/cups/cups-1.4.8/cups/file.c:174: undefined reference to `_deflateEnd'
collect2: ld returned 1 exit status
Makefile:331: recipe for target `libcupsimage.so.2' failed
make[1]: *** [libcupsimage.so.2] Error 1
Makefile:34: recipe for target `all' failed
make: *** [all] Error 1
What to do?

cygwin-ports, have you tried this one? – sr_ Apr 20 '12 at 9:25:)– sr_ Apr 20 '12 at 9:53