Crypto++ 5.5.2 for Mobile Devices

Working on several projects involving Windows Mobile 2005 and iPhone, I ported Crypto++
on such a platform.
Waiting for the official release in one of the next versions of Crypto++ I thought to publish my porting here.

Windows Mobile 2005

iPhone


Patch for Windows Mobile 2005

Binary compiled by VS 2005

.dll and .lib for Windows Mobile Pocket PC 2005 and Windows Mobile Smartphone 2005.

Download 

VS2005 Project to compile:

Mainly I added a .vcproj file for Visual Studio 2005 which allows compiling for Windows Mobile Smartphone 2005 and Windows Mobile Pocket PC 2005 (compiling for earlier platforms is also really very very simple).
X86 asm must be disabled therefore the compilation must be performed setting the macro CRYPTOPP_DISABLE_X86ASM.
The other changes mainly concerns what WinCE supports.
I used the macro WINCE set by the compiler and I added a new macro CRYPTOPP_WINCE_AVAILABLE which is used with almost the same meaning as CRYPTOPP_WIN32_AVAILABLE.
Finally the system functions time and clock are not available in WinCE so I added an 'ad hoc' implementation for WinCE. The only dubt I have concerns the intrinsic functions _rotl8 _rotl16 _rotr8 _rotr16. WinCE supports only _rotl and _rotr therefore I refefined the formers as the latters. I think it would work.

To compile Crypto++ 5.5.2 for windows mobile you must:
1) download Crypto++ 5.5.2 from www.cryptopp.com
2) download the patch for WM 2005 from here
3) copy the files contained in the patch in the folder where you have Crypto++ 5.5.2
4) open the file cryptppwm.vcproj from Visual Studio 2005.


Patch for iPhone

Xcode Project to compile:

Mainly I created a new xcode project included all files needed for compiling with iPhone target.
asm must be disabled therefore the compilation must be performed setting the macro CRYPTOPP_DISABLE_X86ASM.

To compile Crypto++ 5.5.2 for iPhone you must:
1) download Crypto++ 5.5.2 source for iPhone from here
2) open the file cryptpp552.xcodeproj from Xcode.