Subject: bug#63062: 29.0.90; configure.ac : what's different `--with-native-compilation=aot' and `--with-native-compilation=yes' ?

From: xiliuya <[email-masked]>
Date: Tue, 25 Apr 2023 12:44:19 +0800

Hello emacs maintainer:

When I compiled the packages in the same system environment using the
'--with-native-compilation=aot' and the '--with-native-compilation=yes'
respectively, file lists differ only by a few `.ELN'

For example, 'lisp/avoid.el' is only compiled to '.elc', does not compile all
Lisp files as '.eln'.

I checked `configure.ac`, This is not the same as an introduction.

```configure.ac
           'yes' (or empty) means to enable it and compile natively
           preloaded Lisp files; 'no' means to disable it;
           'aot' will make the build process compile all the Lisp 
           files in the tree natively ahead of time.  (This will 
           usually be quite slow.)

```

In GNU Emacs 29.0.90 (build 3, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.17.8) of 2023-04-25 built on xiliuya-pc
Repository revision: 99add09d5e16a4fef752abedc3ee96989f1b9ae2
Repository branch: makepkg
System Description: Arch Linux

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
 --with-modules --without-libotf --without-m17n-flt --without-gconf
 --with-native-compilation=aot --with-xinput2 --with-pgtk
 --without-xaw3d --with-sound=no --with-tree-sitter --without-gpm
 --without-compress-install
 '--program-transform-name=s/\([ec]tags\)/\1.emacs/'
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions
 -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
 -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK
PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: zh_CN.UTF-8
  value of $XMODIFIERS: @im=fcitx
  locale-coding-system: utf-8

Major mode: ELisp

Minor modes in effect:
  dimmer-mode: t
  default-text-scale-mode: t
  recentf-mode: t
  vertico-mode: t
  marginalia-mode: t
  winner-mode: t
  windmove-mode: t
  global-corfu-mode: t
  corfu-mode: t
  global-anzu-mode: t
  anzu-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  elisp-slime-nav-mode: t
  paredit-mode: t
  aggressive-indent-mode: t
  highlight-quoted-mode: t
  flymake-mode: t
  display-line-numbers-mode: t
  display-fill-column-indicator-mode: t
  rainbow-delimiters-mode: t
  symbol-overlay-mode: t
  bug-reference-prog-mode: t
  goto-address-prog-mode: t
  savehist-mode: t
  electric-pair-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  global-so-long-mode: t
  mode-line-bell-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  whole-line-or-region-global-mode: t
  whole-line-or-region-local-mode: t
  hes-mode: t
  which-key-mode: t
  global-whitespace-cleanup-mode: t
  whitespace-cleanup-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  projectile-rails-global-mode: t
  projectile-mode: t
  ipretty-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  auto-compile-mode: t
  immortal-scratch-mode: t
  server-mode: t
  mu4e-column-faces-mode: t
  mu4e-modeline-mode: t
  diredfl-global-mode: t
  org-roam-db-autosync-mode: t
  shell-dirtrack-mode: t
  pyim-isearch-mode: t
  evil-escape-mode: t
  evil-mode: t
  evil-local-mode: t
  desktop-save-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  auto-save-visited-mode: t
  hs-minor-mode: t

Load-path shadows:
/home/xiliuya/.emacs.d/elpa-29.0/protobuf-mode-20230412.2243/protobuf-mode hides /usr/share/emacs/site-lisp/protobuf-mode
/home/xiliuya/.emacs.d/elpa-29.0/transient-20230315.1520/transient hides /usr/share/emacs/29.0.90/lisp/transient
/home/xiliuya/.emacs.d/lisp/erc-sasl hides /usr/share/emacs/29.0.90/lisp/erc/erc-sasl

Features:
(shadow emacsbug cl-print rainbow-mode help-fns radix-tree ibuffer-vc
epa-file org-agenda vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
executable dimmer face-remap default-text-scale recentf tree-widget
orderless vertico marginalia winner windswap windmove tabify macrostep-c
cmacexp cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs macrostep eglot external-completion array
jsonrpc ert debug backtrace c-ts-mode c-ts-common info-colors
org-mpv-notes mpv tq org-timer org-modern org-indent oc-basic ol-eww eww
url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb
ol-w3m ol-doi org-link-doi checkdoc disp-table corfu anzu
yasnippet-snippets yasnippet elisp-slime-nav etags fileloop xref paredit
aggressive-indent highlight-quoted package-lint-flymake package-lint
let-alist imenu finder hideshow flymake-flycheck flycheck flymake-proc
flymake display-line-numbers display-fill-column-indicator
rainbow-delimiters symbol-overlay vc-git vc-darcs bug-reference
goto-addr savehist elec-pair delsel autorevert filenotify so-long
mode-line-bell page-break-lines whole-line-or-region
highlight-escape-sequences which-key diminish whitespace-cleanup-mode
whitespace diff-hl log-view pcvs-util vc-dir ewoc vc vc-dispatcher
diff-mode projectile-rails rake inflections inf-ruby ruby-mode smie
autoinsert projectile lisp-mnt grep compile ibuf-ext ibuffer
ibuffer-loaddefs ipretty auto-compile immortal-scratch uptimes server
init init-local init-evil init-org-crypt org-crypt init-backup
backup-each-save init-mu4e authinfo mu4e-column-faces inline cus-edit
cus-load mu4e mu4e-org mu4e-notification notifications mu4e-main
mu4e-view gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig
gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud
nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec
gnus-int gnus-range gnus-win gnus nnheader range wid-edit mu4e-headers
mu4e-compose mu4e-draft mu4e-actions mu4e-search mu4e-lists
mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file
svg xml dom flow-fill mule-util hl-line mu4e-contacts mu4e-update
mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline
mu4e-vars mu4e-helpers mu4e-config mu4e-window bookmark pp ido message
yank-media dired-x diredfl dired dired-loaddefs rfc822 mml mml-sec epa
epg rfc6068 epg-config gnus-util text-property-search mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader mu4e-obsolete
smtpmail sendmail mail-utils trans-rpc elquery org-download url-http
url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr url-gw nsm puny gif-screencast erc-sasl erc-backend
erc-common erc-compat header2 org-roam-protocol org-protocol
org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id
org-roam-node org-roam-db emacsql-sqlite-builtin sqlite org-roam-utils
org-roam-compat org-roam org-capture org-element org-persist xdg
avl-tree generator org-attach org-id org-refile ob-sqlite ob-sql
ob-shell shell ob-ruby ob-ipython cl f f-shortdoc s dash-functional
ob-python python project treesit ob-plantuml ob-octave ob-latex
ob-gnuplot ob-dot ob-ditaa ob-R org-clock org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete
comint ansi-osc org-list org-footnote org-faces org-entities time-date
noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol
org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu
calendar cal-loaddefs org-version org-compat org-macs emacsql-sqlite
emacsql-sqlite-common emacsql emacsql-compiler magit-section format-spec
compat dash pyim-cregexp-utils pyim-dhashcache sort pyim-cstring async
pyim-cregexp xr pyim-imobjs pyim-pinyin pyim-dcache pyim-pymap
pyim-scheme pyim-common pyim-basedict pyim-dict evil-escape evil
evil-keybindings evil-integration evil-maps evil-commands reveal
evil-jumps evil-command-window evil-search evil-ex evil-types
evil-macros evil-repeat evil-states evil-core advice evil-common
thingatpt rect evil-digraphs evil-vars ring edmacro kmacro init-locales
session sanityinc-tomorrow-bright-theme color-theme-sanityinc-tomorrow
color init-direnv init-ledger init-dash init-folding init-misc
init-common-lisp init-clojure-cider init-clojure init-slime init-lisp
init-paredit init-nix init-terraform init-docker init-yaml init-toml
init-rust init-nim init-j init-ocaml init-sql init-rails init-ruby
init-purescript init-elm init-haskell init-python reformatter ansi-color
init-http init-haml init-css init-html init-nxml init-org init-php
init-javascript easy-mmode init-erlang erlang-start init-csv
init-markdown init-textile init-crontab init-compile init-projectile
init-github init-git init-darcs init-vc init-whitespace
init-editing-utils init-mmm mmm-auto mmm-vars mmm-utils mmm-compat
init-sessions desktop frameset init-windows init-corfu
init-hippie-expand init-minibuffer init-recentf init-eglot init-flymake
init-ibuffer ibuf-macs init-uniquify init-grep init-isearch init-dired
init-gui-frames init-osx-keys init-themes init-xterm init-frame-hooks
init-exec-path exec-path-from-shell init-elpa fullframe finder-inf
nov-autoloads format-all-autoloads scratch-autoloads elquery-autoloads
rainbow-delimiters-autoloads diff-hl-autoloads org-mpv-notes-autoloads
mpv-autoloads consult-flycheck-autoloads origami-autoloads
message-view-patch-autoloads disable-mouse-autoloads
rainbow-mode-autoloads js-comint-autoloads cljsbuild-mode-autoloads
nix-buffer-autoloads valign-autoloads dotenv-mode-autoloads
rspec-mode-autoloads marginalia-autoloads esxml-autoloads
csv-mode-autoloads docker-autoloads symbol-overlay-autoloads
orderless-autoloads docker-compose-mode-autoloads lua-mode-autoloads
affe-autoloads elein-autoloads git-timemachine-autoloads
fullframe-autoloads sdcv-autoloads popup-autoloads tablist-autoloads
nix-sandbox-autoloads dune-format-autoloads nixos-options-autoloads
exec-path-from-shell-autoloads json-mode-autoloads
json-snatcher-autoloads aio-autoloads org-msg-autoloads
crontab-mode-autoloads flycheck-clojure-autoloads forge-autoloads
vc-darcs-autoloads git-modes-autoloads
color-theme-sanityinc-tomorrow-autoloads prettier-js-autoloads
ledger-mode-autoloads elisp-slime-nav-autoloads bundler-autoloads
windswap-autoloads sass-mode-autoloads haml-mode-autoloads
showtip-autoloads diminish-autoloads ob-ipython-autoloads
dash-functional-autoloads aggressive-indent-autoloads
elm-test-runner-autoloads gnu-elpa-keyring-update-autoloads
cl-libify-autoloads bug-reference-github-autoloads cape-autoloads
dimmer-autoloads yaml-mode-autoloads pip-requirements-autoloads
coffee-mode-autoloads protobuf-mode-autoloads cask-mode-autoloads
kv-autoloads css-eldoc-autoloads elm-mode-autoloads
writeroom-mode-autoloads visual-fill-column-autoloads git-link-autoloads
htmlize-autoloads highlight-escape-sequences-autoloads
ibuffer-vc-autoloads ipretty-autoloads terraform-mode-autoloads
j-mode-autoloads httprepl-autoloads flycheck-relint-autoloads
rg-autoloads flymake-flycheck-autoloads go-mode-autoloads
gdscript-mode-autoloads kind-icon-autoloads
add-node-modules-path-autoloads restclient-autoloads
page-break-lines-autoloads shfmt-autoloads session-autoloads
package-lint-flymake-autoloads package-lint-autoloads dap-mode-autoloads
nginx-mode-autoloads paredit-autoloads nixpkgs-fmt-autoloads
mode-line-bell-autoloads bongo-autoloads smarty-mode-autoloads
dune-autoloads hcl-mode-autoloads bui-autoloads
highlight-quoted-autoloads corfu-autoloads sudo-edit-autoloads
flycheck-ledger-autoloads yapfify-autoloads org-transclusion-autoloads
yari-autoloads org-cliplink-autoloads whitespace-cleanup-mode-autoloads
erlang-autoloads psc-ide-autoloads company-autoloads
ibuffer-projectile-autoloads dockerfile-mode-autoloads envrc-autoloads
flycheck-rust-autoloads dhall-mode-autoloads multiple-cursors-autoloads
psci-autoloads purescript-mode-autoloads nim-mode-autoloads
flycheck-nimsuggest-autoloads nix-mode-autoloads closql-autoloads
robe-autoloads move-dup-autoloads tuareg-autoloads caml-autoloads
projectile-rails-autoloads rake-autoloads ruby-compilation-autoloads
inf-ruby-autoloads vlf-autoloads pyim-basedict-autoloads
info-colors-autoloads github-review-autoloads a-autoloads ghub-autoloads
treepy-autoloads mmm-mode-autoloads yagist-autoloads yard-mode-autoloads
projectile-autoloads diredfl-autoloads uptimes-autoloads
default-text-scale-autoloads org-roam-ui-autoloads websocket-autoloads
tagedit-autoloads svg-lib-autoloads github-clone-autoloads gh-autoloads
marshal-autoloads logito-autoloads pcache-autoloads pyim-autoloads
ruby-hash-syntax-autoloads toml-mode-autoloads live-py-mode-autoloads
mu4e-column-faces-autoloads flycheck-nim-autoloads flycheck-autoloads
xref-js2-autoloads slime-autoloads macrostep-autoloads
lsp-docker-autoloads yaml-autoloads which-key-autoloads
inheritenv-autoloads cider-autoloads sesman-autoloads queue-autoloads
parseedn-autoloads parseclj-autoloads regex-tool-autoloads
code-cells-autoloads php-mode-autoloads skewer-less-autoloads
skewer-mode-autoloads js2-mode-autoloads simple-httpd-autoloads
list-unicode-display-autoloads color-theme-sanityinc-solarized-autoloads
pos-tip-autoloads rust-mode-autoloads relint-autoloads
language-id-autoloads typescript-mode-autoloads org-download-autoloads
auto-compile-autoloads sqlformat-autoloads reformatter-autoloads
org-roam-autoloads emacsql-autoloads gnuplot-autoloads xr-autoloads
magit-todos-autoloads pcre2el-autoloads magit-autoloads pcase
magit-section-autoloads git-commit-autoloads with-editor-autoloads
transient-autoloads hl-todo-autoloads async-autoloads
git-blamed-autoloads textile-mode-autoloads haskell-mode-autoloads
consult-eglot-autoloads org-pomodoro-autoloads alert-autoloads
log4e-autoloads gntp-autoloads embark-consult-autoloads embark-autoloads
org-modern-autoloads lsp-treemacs-autoloads lsp-mode-autoloads
markdown-mode-autoloads spinner-autoloads treemacs-autoloads
cfrs-autoloads posframe-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads ht-autoloads
f-autoloads s-autoloads dash-autoloads unfill-autoloads
yasnippet-snippets-autoloads yasnippet-autoloads anzu-autoloads
browse-kill-ring-autoloads evil-escape-autoloads evil-autoloads
goto-chg-autoloads wgrep-autoloads pkg-info-autoloads epl-autoloads
inflections-autoloads switch-window-autoloads vertico-autoloads
clojure-mode-autoloads epc-autoloads ctable-autoloads
concurrent-autoloads deferred-autoloads immortal-scratch-autoloads
command-log-mode-autoloads whole-line-or-region-autoloads
commenter-autoloads consult-autoloads info compat-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source eieio eieio-core password-cache json map byte-opt
url-vars init-site-lisp init-utils init-benchmarking derived comp
comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode
cl-loaddefs cl-lib bytecomp byte-compile early-init china-util rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
term/common-win pgtk-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 1357185 379317)
 (symbols 48 76439 17)
 (strings 32 280237 144928)
 (string-bytes 1 8545600)
 (vectors 16 112106)
 (vector-slots 8 2359229 931150)
 (floats 8 1998 1825)
 (intervals 56 35476 0)
 (buffers 984 139))

-- 
xiliuya :)