first may i say... this script is total awesomeness, thanks to the author..
I have used it to sucessfully compile DnsCrypt-proxy for android... and its working.
It should perhaps be added to the package list
I do have a question though.. i was unable to find the propper settings for my phone... so i used the ultra safe settings the readme suggests.. armv5 and whatnot.
It seems the program works fine, and its a pretty simple program it seems.. Is there any reason to figure out the settings for my phone, which i know to be armv7 cortex a8, but i dont know the other settings.
what would the benefit of compile with the propper settings be?
also... do i really need all that crap that is compiled by default? i dont really know why i would need... python, or openssl for example.. and the build readme for this dnscrypt program doesnt specify and dependencies..
it is the only program i need and is only a few hundred k.. i dont see why i need this 80 or so mb of other stuff in my /data/mysysroot folder.
Thanks for your post and feedback, I will add DnsCrypt-proxy in the next release.
The first step to check the proper setting for your phone is to open a terminal and type
cat /proc/cpuinfo
It will show you the arch/processor generation and the features (thumb/neon etc.). The benefit to use the "best" settings is a faster execution and other optimisations of the compiled binary. But I don't think that it's necessary for DnsCrypt-proxy to spend too much time to find all the right compiler switches. It's not a program for time critical usage like a packer, converter etc. If you want to compile other applications with the help of my script like ImageMagick or some script languages then you should of course use the best settings for your phone.
Just use the "safe settings" or take the settings for an ARM v7 generation phone (armv7-a, cortex-a8). You can see the full list with the possible options with
arm-none-linux-gnueabi-gcc --target-help
in the arm-2011.09/bin folder (CodeSourcery)
You don't need to compile any other packages from "ALWAYS NEEDED" if you are sure that there are no further dependencies. Simply set them to "no".
My goal was to exclude as much possible compile errors. Most of the packages in the script set needs the openssl, zlib and ncurses libraries to work.
But you need in any case the libraries (cs-sysroot.tar.bz2) because nearly all generated binaries use these libraries and not the standard libraries of the phone (bionic glibc etc.) and you must copy the files for the first time to your phone. The only way to circumvent this is to use the Android NDK (for bionic). Have a look in the build.sh script, section for bash. But this can lead in a LOT OF WORK to make the sources compatible with NDK to sucessful build the binaries
and I can't recommend this.