emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master e245c4f226: Add --with-native-compilation=aot configuration optio


From: Lars Ingebrigtsen
Subject: master e245c4f226: Add --with-native-compilation=aot configuration option
Date: Mon, 3 Oct 2022 06:45:46 -0400 (EDT)

branch: master
commit e245c4f226979ccb717cccc8f82b2b0a0f96bdac
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Add --with-native-compilation=aot configuration option
    
    * configure.ac: Allow --with-native-compilation=aot to switch full
    ahead-of-time on.
    
    * lisp/Makefile.in: Use the setting from configure.
---
 configure.ac     | 24 +++++++++++++++++++++++-
 etc/NEWS         |  6 ++++++
 lisp/Makefile.in |  6 ++++++
 3 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 4590ed3506..2d84344050 100644
--- a/configure.ac
+++ b/configure.ac
@@ -494,7 +494,6 @@ OPTION_DEFAULT_ON([gnutls],[don't use -lgnutls for SSL/TLS 
support])
 OPTION_DEFAULT_ON([zlib],[don't compile with zlib decompression support])
 OPTION_DEFAULT_ON([modules],[don't compile with dynamic modules support])
 OPTION_DEFAULT_ON([threads],[don't compile with elisp threading support])
-OPTION_DEFAULT_OFF([native-compilation],[compile with Emacs Lisp native 
compiler support])
 OPTION_DEFAULT_OFF([cygwin32-native-compilation],[use native compilation on 
32-bit Cygwin])
 OPTION_DEFAULT_ON([xinput2],[don't use version 2 of the X Input Extension for 
input])
 OPTION_DEFAULT_OFF([small-ja-dic],[generate a smaller-size Japanese 
dictionary])
@@ -1009,6 +1008,29 @@ AC_ARG_ENABLE([gcc-warnings],
          [gl_GCC_VERSION_IFELSE([5], [3], [gl_gcc_warnings=warn-only])])
    fi])
 
+NATIVE_COMPILATION_AOT=no
+AC_ARG_WITH([native-compilation],
+  [AS_HELP_STRING([--with-native-compilation@<:@=TYPE@:>@],
+                  [compile with Emacs Lisp native compiler support.  The TYPE
+                  '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.)])],
+  [
+  case $withval in
+     aot)
+       withval=yes
+       NATIVE_COMPILATION_AOT=yes
+       ;;
+     yes|no) ;;
+     *)      AC_MSG_ERROR([bad value $withval for native-compilation option]) 
;;
+   esac
+   with_native_compilation=$withval],
+  [with_native_compilation=no]
+)
+AC_SUBST([NATIVE_COMPILATION_AOT])
+
 AC_ARG_ENABLE([check-lisp-object-type],
   [AS_HELP_STRING([--enable-check-lisp-object-type],
      [Enable compile time checks for the Lisp_Object data type,
diff --git a/etc/NEWS b/etc/NEWS
index 8f9b0a0330..db7c675edb 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -24,6 +24,12 @@ applies, and please also update docstrings as needed.
 
 * Installation Changes in Emacs 29.1
 
+---
+** Ahead-of-time native compilation can now be specified via configure.
+Use --with-native-compilation=aot to specify that all the Lisp files
+in the Emacs tree should be natively compiled ahead of time.  (This is
+slow on most machines.)
+
 +++
 ** Emacs can be built with built-in support for accessing SQLite databases.
 This uses the popular sqlite3 library, and can be disabled by using
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 4c26e42370..256017f6c5 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -31,10 +31,16 @@ EXEEXT = @EXEEXT@
 XARGS_LIMIT = @XARGS_LIMIT@
 
 HAVE_NATIVE_COMP = @HAVE_NATIVE_COMP@
+NATIVE_COMPILATION_AOT = @NATIVE_COMPILATION_AOT@
 ifeq ($(HAVE_NATIVE_COMP),yes)
+# Environment variable to enable Ahead-Of-Time compilation.
 ifndef NATIVE_FULL_AOT
 NATIVE_SKIP_NONDUMP = 1
 endif
+# Configured for Ahead-Of-Time compilation.
+ifeq ($(NATIVE_COMPILATION_AOT),yes)
+NATIVE_SKIP_NONDUMP = ""
+endif
 endif
 
 -include ${top_builddir}/src/verbose.mk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]