Marc Lehmann writes: > So much for ANSI-C: > ../include/lcms.h:38: windows.h: No such file or directory > typedef HANDLE cmsHPROFILE; > WORD GammaTable[1]; > cmsHPROFILE LCMSEXPORT cmsOpenProfileFromMem(LPVOID MemPtr, DWORD dwSize); Well, he does say it is intended for the Windows platform, so this is to be expected. Including <windows.h> is for a programmer on Windows as natural as including <stdio.h> for C programmers in general. Of course it is sad that people write an inherently portable library using Windows-specific types etc, but that's life. (Note: I do *not* consider myself a Windows programmer, but I play one on this list ;-) Most of these types have obvious counterparts in GLib. (WORD = guint, HANDLE = gpointer, LPVOID = gpointer) The real challenge when/if porting this is if some Win32 feature that does not have a portable equivalent is used. > the c standard (double definitions, indented preprocessor constructs, nice > calls to the ansi function "MessageBox" etc..) And a corresponding Unix library would call the ansi function "syslog"? GIMP certainly is better, but for instance much of GNOME was pretty infested with non-ANSI gccisms or gnumakeisms still quite recently. --tml