[tor-dev] Orbot makefile / build update
Nathan Freitas
nathan at freitas.net
Fri May 4 22:34:49 UTC 2012
Since the dawn of Orbot, way back in 2009, the onion routing robot app
has been built using an unwieldy combination of tools, based on an
extremely out of date method for cross-compiling C code for Android/ARM.
In the 1.x era of Android, there was no Native Development Kit as their
is now, but thanks to some craft individuals, scripts were developed to
utilize the compilers found within the core Android OS build kit.
However, this mean you had to build the entire Android OS to be able to
build Orbot, and you were potentially relying upon highly unstable
internal libraries.
This week, I finally bit the bullet, and decided to rewrite the build
process utilizing the more proper NDK tools, as well as utilize Git
submodules as a means for managing retrieval and version control of
dependencies. With the help of _hc, sebastian, rransom, vapourEyes, asn
and others, I was able to work through the various issues of porting
over to the more limited NDK environment, and come out with a properly
formatted Makefile for building all native code that Orbot relies upon.
This means that to fully build Orbot (including tor, privoxy, and
obfsproxy binaries, and the jtorctrl java library) you simply need to
ensure you have the Android SDK and NDK setup, and then:
1) git clone git://git.torproject.org/orbot.git
2) cd orbot
3) make -C external
4) android update project --name Orbot --target android-15 --path .
5) ant debug
That's it! (in theory).
At this point, I would love some clean eyes to look at this, try it out,
ask questions and who knows, perhaps submit a patch or two.
Human readme on new build process and prereqs:
https://gitweb.torproject.org/orbot.git/blob/HEAD:/BUILD
Makefile for Orbot and dependencies (openssl, libevent, privoxy, obfsproxy)
https://gitweb.torproject.org/orbot.git/blob/HEAD:/external/Makefile
Successfully executed build on our build server:
https://build.safermobile.org/job/Gibberbot/49/console
happy friday,
n8fr8
More information about the tor-dev
mailing list