I have been researching building crypto for OSX and mobile (iOS/Android). There are numerous statements about 5.6.3 "has the mobile patches applied", however looking at the git repo, there a number of build-related files missing or, the instructions are missing. It seems that mobile support is very close to being in the mainline, such that since 5.6.3, there are only a few files to be added and simple instructions to be followed and some simple mods.
Referencing:
There is the statement on both pages that "Note: use <X,Y> below if you are using Crypto++ 5.6.3, or you are using Crypto++'s GitHub prior to 5.6.3. GitHub and 5.6.3 have the changes needed for mobile applied." I have found this to NOT be true. I inferred from the statement that the make file was edited for mobile. That is not true. GNUmakefile-cross is still needed, and it needs to be downloaded outside of github (from the wiki).
I parsed the statement as:
if ( 5.6.3 || GitHub < 5.6.3): Use <X,Y>
else (< 5.6.3 || GitHub >= 5.6.3) : use nothing outside of the repo (I'm using GitHub: 0059f486ad0467d5c4dc692db99a5a5f96c2a733)
For the platforms there are setenv-{platform}.sh scripts, and GNUmakefile-cross, referenced in the instructions. Could we also get the set-env scripts into the git repo, as well as some make_{platform}.sh scripts? It would be nice if we didn't need GNUmakefile-cross at all.
Android:
Modification suggested to setenv-android.sh: Add API level17 (4.2)
. /setenv-android.sh #note the period-space
make -f GNUmakefile-cross static dynamic cryptest.exe
iOS:
Modification required to setenv-ios.sh: Add more recent SDKs (9.1, 9.0, etc.) (line 170: for i in ...
. /setenv-ios.sh device #note the period-space
make -f GNUmakefile-cross static cryptest.exe
Thoughts? Comments? Did I completely miss something or mess something up?