gnustep-dev
[Top][All Lists]
Advanced

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

Re: Android (Was: Cross-compiling GNUstep?)


From: Ivan Vučica
Subject: Re: Android (Was: Cross-compiling GNUstep?)
Date: Mon, 30 Dec 2013 10:58:06 +0000

Hi David,

On Mon Dec 30 2013 at 10:27:18 AM, David Chisnall <address@hidden> wrote:
Hi Ivan,

I wonder if it makes sense to build shared libraries at all on Android.  

It may not, but by now it's been dealt with :-)

I definitely was wondering about the possibility of using static libraries. 

It's a single toggle in the libobjc build to get a static library, and as long as you make sure -fPIC is in the [OBJ]C[XX]FLAGS you can then link this to GNUstep base.  Doing the same thing for the GNUstep libraries would probably also make sense.  

I'll look into this.

Still, if one wants to build separate libobjc, could you look into forcing soname to be just "libobjc.so", solely for the Android platform? If I understand the CMake way of thinking, that should be done in the toolchain specification file, right?
 
Since the 'shared' libraries on Android aren't really shared, it would be good longer-term to be able to do LTO on the entire app+GNUstep+whatever.  The only slight irritation with this is the LGPL, which means that you then can't distribute via the app store, unless you also distribute your .o files along with the app (the runtime is MIT licensed, so doesn't have this problem), but for open source Android apps it would be fine.  For everything else, we could build a single libgnustep.so that contained all of the libraries that GNUstep depends upon.

Even before I read the entire mail the first thought that came to me was the legal issues with LGPL. :-)

And single libgnustep.so does sound like a good approach for any proprietary apps. 

We could support 3 scenarios:
- fully statically linked with app (with a big label about advantages plus about legal requirements)
- statically linked up to libgnustep.so
- every library for itself


reply via email to

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