From: Po Lu <luangruo@yahoo.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org, Paul Eggert <eggert@cs.ucla.edu>
Subject: Re: Merging feature/android
Date: Thu, 02 Mar 2023 18:19:50 +0800 [thread overview]
Message-ID: <87v8jjxxo9.fsf@yahoo.com> (raw)
In-Reply-To: <83pm9reccn.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 02 Mar 2023 11:23:04 +0200")
Eli Zaretskii <eliz@gnu.org> writes:
> How long was this branch kept in its finished state, and how many
> people tried it? Does it build on the main supported systems?
It builds on GNU/Linux and Haiku, I've not tested this on other systems
yet. I plan to fix the MS-DOS build a while after it is merged.
> If the branch in its current state is relatively "young", I'd prefer
> to delay merging it for a month or so, to give more people chance to
> build and try it. There's no rush in landing it.
Thanks, then I guess I'll ask in April. It's been finished for about a
week now.
> Some specific comments below.
>
> The INSTALL.android file:
>
> . It should be in a subdirectory, like we do with nt/INSTALL (and
> NEWS should be updated to that effect).
> . The NDK BUILD SYSTEM IMPLEMENTATION section doesn't belong in
> INSTALL, IMO. It should be a separate file, since it's mainly of
> interest to Emacs developers.
Sure.
> . The PATCH FOR LIBXML2 part and similar parts for patching other
> libraries and components should also be in separate files, suitable
> for submitting to Patch or similar utilities, and INSTALL should
> only mention the need for these patch and refer to those files.
What would be a good place to put these patch files? admin/notes
perhaps?
> admin/merge-gnulib: I don't think we should change this without a
> review from Paul Eggert. The additional modules you add may need to
> be disabled in nt/gnulib-cfg.mk if for some reason they are compiled
> without being needed.
Okay. Paul, the Android port really needs the `printf-posix' and
`vasprintf-posix' modules (as Android's printf ranges from ``completely
broken'' to ``just missing %td'' depending on the OS version being
used), but stpncpy and getline are only ``nice-to-have''s. Is there any
downside to depending on those additional gnulib modules? And will they
build on MS Windows as well?
> -OPTION_DEFAULT_ON([modules],[don't compile with dynamic modules support])
> +OPTION_DEFAULT_IFAVAILABLE([modules],[don't compile with dynamic modules support])
>
> Why was this changed to "ifavailable"?
Because the modules code has a dependency on the GCC cleanup function
extension, and fails to compile when it is not present. I rewrote the
configury to detect the presence of the extension and not build with
modules when that is in effect.
> The changes in configure.ac that disable various warning options:
>
> + nw="$nw -Wunknown-warning-option" # Let #pragma GCC ignore work properly
> + # even when the compiler in use doesn't
> + # support the option.
>
> + # If Emacs is being built for Android and many functions are
> + # currently stubbed out for operation on the build machine, disable
> + # -Wsuggest-attribute=noreturn.
> +
> + nw="$nw -Wsuggest-attribute=noreturn"
>
> + gl_WARN_ADD([-Wno-shift-overflow])
>
> If these are specific to Android, they should have suitable conditions
> for when to apply them.
OK, thanks for catching this.
> The gecos test in configure.ac:
>
> +# Check for pw_gecos in struct passwd; this is known to be missing on
> +# Android.
> +
> +AC_CHECK_MEMBERS([struct passwd.pw_gecos], [], [], [#include <pwd.h>])
>
> This could fail the MS-Windows build -- did you check that it doesn't
> have any adverse effect on that?
It should not, since the result of the check is only used on Unix
systems.
> CM_OBJ setting in configure.ac:
>
> -CM_OBJ="cm.o"
>
> Why was this deleted?
It wasn't, I simply moved it further up.
> + Does Emacs use Android? ${ANDROID}
>
> This should say "Is Emacs being built for Android?" instead.
OK, thanks.
> The files in cross/lib/ seem to be from Gnulib? If so, do we really
> need another copy of them in the tree? any way to reuse the sources in
> lib/ instead?
I tried multiple times, but the gnulib stuff kept trying to include
generated headers from the wrong copy of gnulib, so in the end I
couldn't find any way around having to keep two copies of gnulib
in-tree.
In the past cross/lib was also used to hold patches for Android, but the
gnulib folks have now fixed all of the problems which required patches.
> General remark about *.texi files: it looks like you used TABs there;
> you should only use spaces for alignment in Texinfo.
>
> The code in from_unicode_buffer that is used only on Android should be
> under an appropriate #ifdef. Likewise with other such code, if any.
>
> Thanks.
I will fix these too, thanks.
next prev parent reply other threads:[~2023-03-02 10:19 UTC|newest]
Thread overview: 171+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87edq7ztks.fsf.ref@yahoo.com>
2023-03-02 4:05 ` Merging feature/android Po Lu
2023-03-02 9:23 ` Eli Zaretskii
2023-03-02 10:19 ` Po Lu [this message]
2023-03-02 12:48 ` Eli Zaretskii
2023-03-02 13:42 ` Po Lu
2023-03-02 14:00 ` Eli Zaretskii
2023-03-03 0:51 ` Po Lu
2023-03-03 7:25 ` Eli Zaretskii
2023-03-03 8:03 ` Po Lu
2023-03-03 8:37 ` Eli Zaretskii
2023-03-03 9:51 ` Po Lu
2023-03-03 11:27 ` Eli Zaretskii
2023-03-03 13:28 ` Po Lu
2023-03-03 14:35 ` Eli Zaretskii
2023-03-04 0:07 ` Po Lu
2023-03-04 7:28 ` Eli Zaretskii
2023-03-04 8:05 ` Po Lu
2023-03-04 10:48 ` Eli Zaretskii
2023-03-04 12:12 ` Po Lu
2023-03-04 12:49 ` Eli Zaretskii
2023-03-05 0:06 ` Po Lu
2023-03-05 2:17 ` Paul Eggert
2023-03-05 3:16 ` Po Lu
2023-03-05 9:32 ` Paul Eggert
2023-03-05 10:40 ` Po Lu
2023-03-05 11:14 ` Paul Eggert
2023-03-05 12:13 ` Po Lu
2023-03-05 20:38 ` Paul Eggert
2023-03-05 23:59 ` Po Lu
2023-03-06 5:10 ` Richard Stallman
2023-03-05 6:15 ` Eli Zaretskii
2023-03-05 7:53 ` Po Lu
2023-03-05 8:25 ` Eli Zaretskii
2023-03-05 10:29 ` Po Lu
2023-03-05 11:01 ` Eli Zaretskii
2023-03-05 11:25 ` Po Lu
2023-03-05 11:38 ` Paul Eggert
2023-03-05 12:06 ` Po Lu
2023-03-05 20:07 ` Paul Eggert
2023-03-06 0:08 ` Po Lu
2023-03-06 8:58 ` Arsen Arsenović
2023-03-06 10:39 ` Po Lu
2023-03-06 11:12 ` Arsen Arsenović
2023-03-06 12:12 ` Eli Zaretskii
2023-03-06 13:12 ` Po Lu
2023-03-06 14:14 ` Eli Zaretskii
2023-03-07 0:36 ` Po Lu
2023-03-07 12:51 ` Eli Zaretskii
2023-03-07 13:03 ` Po Lu
2023-03-07 13:36 ` Eli Zaretskii
2023-03-07 23:55 ` Po Lu
2023-03-08 5:38 ` Paul Eggert
2023-03-08 6:58 ` Po Lu
2023-03-08 7:07 ` Paul Eggert
2023-03-08 8:22 ` Po Lu
2023-03-08 8:24 ` Po Lu
2023-03-08 13:47 ` Eli Zaretskii
2023-03-08 13:46 ` Eli Zaretskii
2023-03-09 1:12 ` Po Lu
2023-03-09 7:24 ` Eli Zaretskii
2023-03-09 8:07 ` Po Lu
2023-03-09 9:21 ` Eli Zaretskii
2023-03-09 10:20 ` __attribute__ ((cleanup)) and emacs-module.c Po Lu
2023-03-09 12:56 ` Philipp Stephani
2023-03-09 13:31 ` Po Lu
2023-03-11 1:03 ` Paul Eggert
2023-03-11 1:37 ` Po Lu via Emacs development discussions.
2023-03-11 21:21 ` Paul Eggert
2023-03-12 0:42 ` Po Lu
2023-03-12 1:28 ` Paul Eggert
2023-03-08 13:41 ` Merging feature/android Eli Zaretskii
2023-03-06 9:07 ` Arsen Arsenović
2023-03-06 10:36 ` Po Lu
2023-03-06 10:56 ` Arsen Arsenović
2023-03-06 13:10 ` Po Lu
2023-03-05 11:44 ` Eli Zaretskii
2023-03-05 12:15 ` Po Lu
2023-03-05 4:06 ` Richard Stallman
2023-03-05 5:52 ` Po Lu
2023-03-06 5:10 ` Richard Stallman
2023-03-06 8:05 ` Po Lu
2023-03-03 21:17 ` Paul Eggert
2023-03-04 0:06 ` Po Lu
2023-03-04 7:20 ` Eli Zaretskii
2023-03-04 8:08 ` Po Lu
2023-03-04 9:13 ` Paul Eggert
2023-03-04 10:14 ` Po Lu
2023-03-04 7:02 ` Eli Zaretskii
2023-03-04 8:19 ` Po Lu
2023-03-14 7:16 ` Po Lu
2023-03-14 9:32 ` Robert Pluim
2023-03-14 10:39 ` Po Lu
2023-03-14 10:47 ` Robert Pluim
2023-03-14 11:05 ` Robert Pluim
2023-03-14 11:34 ` Po Lu
2023-03-14 13:10 ` Robert Pluim
2023-03-14 14:47 ` Robert Pluim
2023-03-15 0:16 ` Po Lu
2023-03-15 9:41 ` Robert Pluim
2023-03-15 10:25 ` Po Lu
2023-03-15 14:35 ` Robert Pluim
2023-03-16 0:36 ` Po Lu
2023-03-16 1:42 ` Po Lu
2023-03-17 8:06 ` Robert Pluim
2023-03-17 8:19 ` Po Lu
2023-03-20 11:09 ` Po Lu
2023-03-20 11:23 ` Robert Pluim
2023-03-20 14:20 ` Robert Pluim
2023-03-20 17:34 ` João Távora
2023-03-21 7:48 ` Robert Pluim
2023-03-21 13:08 ` eglot-test-diagnostic-tags-unnecessary-code fails with certain clangd versions Robert Pluim
2023-03-21 13:49 ` Robert Pluim
2023-03-21 14:07 ` João Távora
2023-03-21 14:19 ` Robert Pluim
2023-03-21 14:56 ` Michael Albinus
2023-03-21 15:15 ` João Távora
2023-03-21 15:34 ` Michael Albinus
2023-03-21 15:38 ` João Távora
2023-03-21 15:44 ` João Távora
2023-03-21 15:55 ` Michael Albinus
2023-03-21 16:26 ` João Távora
2023-03-21 16:34 ` Robert Pluim
2023-03-21 16:57 ` João Távora
2023-03-21 18:26 ` chad
2023-03-21 18:47 ` João Távora
2023-03-22 9:36 ` Robert Pluim
2023-03-22 9:45 ` João Távora
2023-03-22 10:19 ` Robert Pluim
2023-03-22 11:15 ` Michael Albinus
2023-03-22 11:58 ` Robert Pluim
2023-03-22 11:18 ` João Távora
2023-03-22 11:08 ` Michael Albinus
2023-03-22 11:12 ` João Távora
2023-03-14 13:03 ` Merging feature/android Arash Esbati
2023-03-14 13:18 ` Po Lu
2023-03-14 13:33 ` Arash Esbati
2023-03-14 13:49 ` Po Lu
2023-03-14 16:16 ` Eli Zaretskii
2023-03-15 0:21 ` Po Lu
2023-03-15 0:45 ` Corwin Brust
2023-03-15 1:30 ` Po Lu
2023-03-15 6:03 ` Corwin Brust
2023-03-15 6:15 ` Po Lu
2023-03-15 6:24 ` Corwin Brust
2023-03-15 7:07 ` Corwin Brust
2023-03-15 6:23 ` Corwin Brust
2023-03-15 7:23 ` Po Lu
2023-03-16 7:25 ` Po Lu
2023-03-16 8:52 ` Arash Esbati
2023-03-16 10:30 ` Po Lu
2023-03-16 10:43 ` Eli Zaretskii
2023-03-16 11:59 ` Arash Esbati
2023-03-16 12:05 ` Eli Zaretskii
2023-03-16 12:08 ` Po Lu
2023-03-16 12:13 ` Arash Esbati
2023-03-16 14:11 ` Eli Zaretskii
2023-03-16 17:09 ` Arash Esbati
2023-03-16 19:53 ` Eli Zaretskii
2023-03-17 8:42 ` Arash Esbati
2023-03-17 8:50 ` Po Lu
2023-03-17 11:27 ` Po Lu
2023-03-17 12:07 ` Arash Esbati
2023-03-17 13:19 ` Po Lu
2023-03-17 13:45 ` Arash Esbati
2023-03-17 17:54 ` Corwin Brust
[not found] ` <87r0t6vll1.fsf@yahoo.com>
2023-04-02 17:22 ` Corwin Brust
2023-04-02 17:53 ` Eli Zaretskii
2023-04-02 18:03 ` Eli Zaretskii
2023-04-13 8:25 ` Po Lu
2023-04-13 8:30 ` Eli Zaretskii
2023-04-13 8:37 ` Po Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87v8jjxxo9.fsf@yahoo.com \
--to=luangruo@yahoo.com \
--cc=eggert@cs.ucla.edu \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).