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.
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.