discuss-gnustep
[Top][All Lists]
Advanced

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

Re: GNUstep on Android


From: Ivan Vučica
Subject: Re: GNUstep on Android
Date: Sat, 07 Jun 2014 16:38:40 +0000

Hello Mathias,

1) I have tried out your modifications, and the issues are:
--enable-objc-nonfragile-abi
This would be really really nice to have -- except it seems to depend on consistent support for exceptions. That's why you're getting the #error in gnustep-make while I was not getting it. Since I didn't bother looking into getting libffi or exceptions, I won't be adding this flag at this moment.
--with-layout=gnustep
For some reason this breaks build of gnustep-make completely. Since it is completely irrelevant which layout we have on build machine, I won't bother investigating what goes wrong.
--disable-mixedabi
This doesn't break anything so I'll add it.

2) I have modified the script recently to install in ${build_root}/gs-install where build_root is the CWD at the time of starting the build script. The original script was written on a single-purpose VPS so it didn't matter if it conflicted with existing binaries.

3) To me personally, for now, it matters most whether the code does what I expect it to do, not whether there are warnings. So far, in my toy project I recently started, I had more trouble with not getting 'missing symbol' warnings for libpng than anything else :-)

On Mon Mar 31 2014 at 3:26:22 PM, Mathias Bauer <mathias_bauer@gmx.net> wrote:
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]