gnustep-dev
[Top][All Lists]
Advanced

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

Re: Android NDK - libobjc2


From: Ivan Vučica
Subject: Re: Android NDK - libobjc2
Date: Sat, 9 Mar 2013 14:29:19 +0100

On 9. 3. 2013., at 10:41, Emmanuel Maillard <address@hidden> wrote:

> Hi all,
> 
> I had submit a patch to fix _Unwind_Action more than two weeks ago, but still 
> don't have any answers.
> http://lists.gnu.org/archive/html/bug-gnustep/2013-02/msg00053.html
> 
> Cheers
> Emmanuel
> 
> NB : I have a script and a set of patches to build libobjc2 and 
> gnustep-base-1.24.0 for Android.
> 

Hello,

I've attached the updated script. It now patches libobjc2 with _Unwind_Action 
(thanks to Emmanuel for the solution). In addition to Emmanuel's change, it 
also disables pthread on Android more neatly, and also adds #include <stdint.h> 
on top of unwind-arm.h (since otherwise clang screams wildly about not 
recognizing uint32_t).

(David, should I commit these changes to lock.h and unwind-arm.h? They don't 
seem like they could break other platforms, and certainly help here.)

Finally, when building libobjc2, the script disables tests by passing 
TESTS=FALSE to cmake.

Having built libobjc2 (and installed it systemwide, for now!), I've made a few 
baby steps by building and installing gnustep-make. I had to update config.sub 
to a newer version that recognizes the "androideabi" part of 
"arm-linux-androideabi". 

(Should I commit the updated config.sub [1]?) 

Unfortunately, gnustep-base is still screaming obscenities about pthread. Looks 
like on Android, one does not need to link in the libpthread.a library by 
"-lpthread". I've removed all mention of "-lpthread" from configure, but did 
not incorporate that into the script. That change belongs in configure.ac, 
anyway.

Configure now passes, but I get all sorts of nastiness when punching in "make":

Making all in ObjectiveC2 ...
Making all for subproject ObjectiveC2...
 Compiling file caps.c ...
 Compiling file runtime.c ...
In file included from /usr/local/include/objc/objc.h:1:0,
                 from runtime.c:34:
/usr/local/include/objc/runtime.h:143:31: error: conflicting types for 
'objc_property_t'
../../Headers/ObjectiveC2/objc/runtime.h:83:15: note: previous declaration of 
'objc_property_t' was here
In file included from /usr/local/include/objc/runtime.h:215:0,
                 from /usr/local/include/objc/objc.h:1,
                 from runtime.c:34:
/usr/local/include/objc/message.h:25:4: error: 'gnu_objc_msg_lookup' declared 
as function returning a function
In file included from /usr/local/include/objc/objc.h:1:0,
                 from runtime.c:34:
/usr/local/include/objc/runtime.h:232:6: error: conflicting types for 
'class_addMethod'
../../Headers/ObjectiveC2/objc/runtime.h:119:6: note: previous declaration of 
'class_addMethod' was here
....
....
....

For now, I'm pausing. But the progress (along with Emmanuel working on the same 
thing!) is promising.

 [1]: http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree

Attachment: android-gnustep.sh
Description: Binary data

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


reply via email to

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