Compiling it under Windows with MetroWerks v4.x works fine except for a couple of things. These are the changes I needed to make to config.h: 1) MetroWerks defines _MSC_VER as well 129c129 < #ifdef _MSC_VER --- > #if defined(_MSC_VER) && !defined(__MWERKS__) 138c138 < #ifdef _MSC_VER --- > #if defined(_MSC_VER) && !defined(__MWERKS__) 2) MetroWerks does not define the rotations: 144a145,163 > #endif > > // metrowerks does not define _lrotl and _lrotr > #if defined(_MSC_VER) && defined(__MWERKS__) > inline > word32 _lrotl(const word32 x, const int shift) > { > const word32 cte = sizeof(x) - shift; > const word32 ret = (x << shift)|(x >> cte); > return ret; > } > > inline > word32 _lrotr(const word32 x, const int shift) > { > const word32 cte = sizeof(x) - shift; > const word32 ret = (x >> shift)|(x << cte); > return ret; > } I'm not yet sure if all runs fine. I'll let you know if I come across any problems.