bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* Android problem
       [not found] <87pmc7m1qo.fsf.ref@yahoo.com>
@ 2022-12-26  0:45 ` Po Lu
  2022-12-26  1:13   ` Bruno Haible
  2022-12-26 10:17   ` Bruno Haible
  0 siblings, 2 replies; 4+ messages in thread
From: Po Lu @ 2022-12-26  0:45 UTC (permalink / raw)
  To: bug-gnulib

Someone asked me to port Emacs to Android.  In doing so noticed that the
fpending module no longer works there, because struct FILE * is now:

__BEGIN_DECLS

/** The opaque structure implementing `FILE`. Do not make any assumptions about its content. */
struct __sFILE {
#if defined(__LP64__)
  char __private[152];
#else
  char __private[84];
#endif
} __attribute__((aligned(sizeof(void*))));

__END_DECLS

Any ideas?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Android problem
  2022-12-26  0:45 ` Android problem Po Lu
@ 2022-12-26  1:13   ` Bruno Haible
  2022-12-27  4:38     ` Po Lu
  2022-12-26 10:17   ` Bruno Haible
  1 sibling, 1 reply; 4+ messages in thread
From: Bruno Haible @ 2022-12-26  1:13 UTC (permalink / raw)
  To: bug-gnulib; +Cc: Po Lu

Po Lu wrote:
> Someone asked me to port Emacs to Android.

Please be specific: Which Android API level are you using at compile-time?
And which Android version at run-time?

> In doing so noticed that the
> fpending module no longer works there

Please be specific: What do you mean by "not works"? Does not compile?
Does not return which value? In which environment? I.e. which Android app
are you using for the compile-time and run-time environment?

> , because struct FILE * is now:
> 
> __BEGIN_DECLS
> 
> /** The opaque structure implementing `FILE`. Do not make any assumptions about its content. */
> struct __sFILE {
> #if defined(__LP64__)
>   char __private[152];
> #else
>   char __private[84];
> #endif
> } __attribute__((aligned(sizeof(void*))));
> 
> __END_DECLS

We have code in stdio-impl.h that works around this lack of details in the struct.

Bruno





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Android problem
  2022-12-26  0:45 ` Android problem Po Lu
  2022-12-26  1:13   ` Bruno Haible
@ 2022-12-26 10:17   ` Bruno Haible
  1 sibling, 0 replies; 4+ messages in thread
From: Bruno Haible @ 2022-12-26 10:17 UTC (permalink / raw)
  To: Po Lu; +Cc: bug-gnulib

> the fpending module no longer works there

You find a testdir for 'fpending' and related modules, with unit tests
included, in https://haible.de/bruno/gnu/testdir-stdioext.tar.gz . Run
it through

$ ./configure && make && make check

Bruno





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Android problem
  2022-12-26  1:13   ` Bruno Haible
@ 2022-12-27  4:38     ` Po Lu
  0 siblings, 0 replies; 4+ messages in thread
From: Po Lu @ 2022-12-27  4:38 UTC (permalink / raw)
  To: Bruno Haible; +Cc: bug-gnulib

Bruno Haible <bruno@clisp.org> writes:

> Po Lu wrote:
>> Someone asked me to port Emacs to Android.
>
> Please be specific: Which Android API level are you using at compile-time?
> And which Android version at run-time?
>
>> In doing so noticed that the
>> fpending module no longer works there
>
> Please be specific: What do you mean by "not works"? Does not compile?
> Does not return which value? In which environment? I.e. which Android app
> are you using for the compile-time and run-time environment?

The compilation is done on the host machine that's building Emacs (to
produce emacs.so), which is then copied to the lib directory in the APK
package.  But I think I asked prematurely, as this could be a problem
with the cross compilation scripts.  Thanks.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-12-27  4:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <87pmc7m1qo.fsf.ref@yahoo.com>
2022-12-26  0:45 ` Android problem Po Lu
2022-12-26  1:13   ` Bruno Haible
2022-12-27  4:38     ` Po Lu
2022-12-26 10:17   ` Bruno Haible

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).