discuss-gnustep
[Top][All Lists]
Advanced

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

Re: GNUstep on Android


From: Mathias Bauer
Subject: Re: GNUstep on Android
Date: Mon, 31 Mar 2014 16:26:17 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

Hi Ivan,

first of all, thanks for sharing your work. I think I understand what you did, nevertheless following your instructions with just two changes (see below), I get an error at the very last step that until now I don't understand (mainly because I don't see where it comes from).

Am 30.03.14 23:58, schrieb Ivan Vučica:
On Sun, Mar 30, 2014 at 10:50 PM, Mathias Bauer <mathias_bauer@gmx.net
<mailto:mathias_bauer@gmx.net>> wrote:


    Currently I'm trying to convince the "configure" of gnustep base to use
    the Android toolchain and find the freshly built libobjc2 for linking.


This *should* work out of the box on a clean Ubuntu 12.04 machine:
https://bitbucket.org/ivucica/gnustep-android
I don't know how well it'll work on a non-clean machine, and you should
definitely open the scripts and see what they're doing. For example, you
may want to modify them to avoid downloading another copy of Android SDK
and NDK (which is, IIRC, what these scripts will try to do).

I made two small changes: I added the following parameters to the configure call of gnustep make:

--enable-objc-nonfragile-abi --with-layout=gnustep

and the following one to the configure call of gnustep base:

--disable-mixedabi

I don't know if they are still needed nowadays, but at least (especially because of the old compiler used - clang 3.3) I wanted to make sure that this won't create problems. Nevertheless the error in the last step happened also when I omitted these changes.

I consider the results a bit "creepy", as "make install" will put Android binaries to places where X86 binaries belong, but for the time being I can ignore this. I assume that for a proper cross compiling we need to set up a kind of "sysroot" where e.g. GNUstep and libobjc2 get installed to and where other libraries can find them.

When I build gnustep base, it seems that the exception handling is not detected properly:

../../Headers/Foundation/NSException.h:48:2: error: "gnustep-base is configured 
to use 'traditional' exceptions, but you are
      building for 'native' exceptions."
#error  "gnustep-base is configured to use 'traditional' exceptions, but you are 
building for 'native' exceptions."

Having a look into the configure output, I detected several scary warnings, so all in all I don't think that this is usable now. I will continue to investigate this.

Regards,
Mathias



reply via email to

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