The GNU license does not allow non-GNU-licensed code to be linked with the
binary. There is no question the Android port has to be GNU-licensed as
well.

Regards,
Elias


On 17 June 2014 04:28, Peter Teeson <peter.tee...@icloud.com> wrote:

> Hi Jürgen:
> Thanks for responding to my proposal.
> Yes I understand and didn't take static into account.
> I do like your cleaner and simple proposal.
>
> Where would the source for all these Class XyzInput files be hosted?
> Part of the distribution? Or would the end user supply them at build time?
> I would hope that they must also be GNU licensed like the rest?
>
> Also would we allow just one Android, one OS X, etc?
>
> And how do you feel about Output? Does it make sense to do the same thing
> there?
>
> respect……
>
> Peter
>
> On 2014-06-16, at 12:30 PM, Juergen Sauermann <
> juergen.sauerm...@t-online.de> wrote:
>
>  Hi Peter,
>
> I see a few problems with your proposal.
>
> Currently class *Input* has only static functions, so virtual methods can
> not be used to distinguish
> between different implementations of the same function.
>
> Suppose we would fix that by using *Input* instances. Instead of eg.
>
> #*ifdef HAVE_ANDROID*
>
> *line = Android_Input::get_line();*
>
> *#else*
>
> *line = Input::get_android_line();*
>
> *#endif*
>
> We would then have eg.
>
>
>
> *class Input { ... } class Android_Input: public Input { ... } class
> Normal_Input: public Input { ... }*
>
> *#ifdef HAVE_ANDROID*
>
> *  Android_Input a_input;*
>
> *   Input * input = a_input; *
> * #else*
>
> *   Normal_Input n_input;*
>
>
> *  Input * input = a_input; ** #endif*
>
> .*..*
> *line = input->get_line();*
>
> IMHO this is only adding complexity without really making things more
> elegant.
>
> And it does not solve the real problem, which I believe is the following.
> I assume
> that Elias' Java environment has a number of nasty (read: totally
> incompatible) things that
> I cant support in a reasonable (read: portable) way. The two derived
> classes would still need
> to be compiled, but one of them is not portable, which will create a lot
> of headache for all
> non-Android users.
>
> A much cleaner (or at least simpler) proposal, in my eyes, is this:
>
> 1. We use two files *Input.cc* and *AndroidInput.cc*.
> 2. Both use the same *Input.hh* so that all other source files are no
> affected. Not all functions
>     declared in *Input.hh* need to be implemented, so *AndroidInput.cc*.
> can be rather simple.
> 3. The *src/Makefile* decides which of the two files shall be compiled in
> a given environment.
>
> /// Jürgen
>
>
> On 06/16/2014 04:43 AM, Peter Teeson wrote:
>
> I suggest once again two abstract classes for I/O with virtual methods which 
> can then be inherited from and implemented by the user.
> This special case patching of fixes  is not elegant - to me it is smelly 
> coding.
> Sorry if I offend but that's my 2¢.
>
> Peter
>
> On 2014-06-15, at 4:06 PM, Elias Mårtenson <loke...@gmail.com> 
> <loke...@gmail.com> wrote:
>
>
>  Do you think it would be possible to apply this patch that avoids setting up 
> the output streams when compiling for Android? The Android version installs 
> its own that redirects the output to Java streams.
>
> Regards,
> Elias
> <streams.diff>
>
>
>
>

Reply via email to