[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 :-)
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: GNUstep on Android,
Ivan Vučica <=