unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Po Lu <luangruo@yahoo.com>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: emacs-devel@gnu.org
Subject: Re: Merging feature/android
Date: Sun, 05 Mar 2023 11:16:20 +0800	[thread overview]
Message-ID: <871qm3vqez.fsf@yahoo.com> (raw)
In-Reply-To: <563e9da9-c45e-a4d2-6dda-074ac035c256@cs.ucla.edu> (Paul Eggert's message of "Sat, 4 Mar 2023 18:17:56 -0800")

Paul Eggert <eggert@cs.ucla.edu> writes:

> Actually dynamic module support should build with Sun C 5.15 (i.e.,
> Oracle Solaris Studio 12.6), because Sun C supports GNU C's
> __attribute__ ((cleanup)) extension. I think icc also supports that
> extension. Not that I've ever used modules on those platforms.

Well, I do recall /opt/SUNwspro/bin/cc choking on emacs-module.c at some
point in the past.  I didn't think much of it at the time and just gave:

  ./configure CC=gcc7

but that's not something we want to make everyone do.  In retrospect, it
probably failed because the ifdefs in emacs-module.c did not detect the
attribute support correctly.

> As I vaguely recall, this issue came up in 2015 when Emacs modules
> were added, and it was decided that there wasn't a practical way to
> get Emacs modules to work if the compiler did not support a cleanup
> attribute of some sort.

Right, so the correct solution is to check whether or not the compiler
supports such an extension, and disable dynamic module support should it
not.  Which is why we use configure in the first place, instead of
performing ``checks'' with `GNUC_PREREQ'.

> I'm a bit surprised that the Android NDK doesn't support the
> attribute, though, as I thought it was based on Clang. Perhaps there's
> an alternate compiler you can use to build on Android.

The attribute leads to a compiler error generating while generating
debug information, or alternatively the

 #error "__attribute__ ((cleanup)) not supported by this compiler; try GCC"

in emacs-module.c being triggered, depending on the version of the NDK
you use.

r21 and r25 are free of this illness, but they don't support old
versions of Android that Emacs does, such as Android 4.4 or 2.2.

  (And the other day someone asked me for a build of Emacs that runs on
   Android 4.1, so these versions are evidently being used.)



  reply	other threads:[~2023-03-05  3:16 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
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 [this message]
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=871qm3vqez.fsf@yahoo.com \
    --to=luangruo@yahoo.com \
    --cc=eggert@cs.ucla.edu \
    --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).