gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Android NDK - libobjc2


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

Attachment: android-gnustep.sh
Description: Binary data

Attachment: log.txt
Description: Text document

Attachment: lock.patch
Description: Binary data

Attachment: log2.txt
Description: Text document

--
Ivan Vučica
address@hidden - http://ivan.vucica.net/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]