|
From: | Ivan Vučica |
Subject: | Android NDK - libobjc2 |
Date: | Fri, 8 Mar 2013 22:39:08 +0100 |
Cheers everyone, Latest Android NDK, r8d, includes clang 3.1, which happens to build Objective-C out of the box. So I decided to spend some time trying to get libobjc2, gnustep-make and gnustep-base to be built. To ensure joy all around the step-land, I've tried to document my merry adventures along the way. NDK, naturally, does not include a runtime. What runtime could I possibly decide to try to build other than libobjc2? :-) So far, I got CMake to not scream obscenities at me, and actually generate a Makefile. No joy with actually compiling the beast. David, would you mind taking a look? I'm attaching the script which: - fetches the Android SDK and the NDK, - fetches GNUstep and libobjc2, - creates a standalone NDK (with a more traditional compiler folder layout), - creates CMake toolchain file for Android, and - runs CMake in libobjc2's folder. The script is not really a script; more of a documentation of what commands I ran. Hopefully it's clear enough. It documents my experiments on a vanilla Ubuntu Server 12.04 32-bit, but (aside for a few apt-get installs) I see no reason it shouldn't work on any Linux machine. (But since I did this on a cheap cloud VPS, I could share root access to the machine, if you want to save some time.) In addition to the script, I'm also attaching: - output of "make" with current libobjc2 trunk - an ugly patch that fixes Android's pthread incompatibility (by using "portable" portion of code) - output of "make" after the patch is applied, which reveals problems with "_Unwind_Action" apparently not being supported by clang 3.1. PS: David, you said [1] you've built portions of GNUstep for webOS, and did some work on getting the configure tests to pass. Have you recently tried cross-compiling an elementary build of GNUstep -- just elementary features of Make and Base, with as little external dependencies as possible? If so, can you share a few details about that? Maybe it's reusable for Android as well. [1]: http://lists.gnu.org/archive/html/discuss-gnustep/2011-09/msg00117.html
android-gnustep.sh
Description: Binary data
log.txt
Description: Text document
lock.patch
Description: Binary data
log2.txt
Description: Text document
-- Ivan Vučica address@hidden - http://ivan.vucica.net/
[Prev in Thread] | Current Thread | [Next in Thread] |