From: Andrea Corallo Date: Fri, 12 Mar 2021 15:42:51 +0000 (+0100) Subject: Merge remote-tracking branch 'savannah/master' into native-comp X-Git-Tag: emacs-28.0.90~2727^2~75 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=82bd6d57d54d4cdb205d921c2476d1dbb17f4188;p=emacs.git Merge remote-tracking branch 'savannah/master' into native-comp --- 82bd6d57d54d4cdb205d921c2476d1dbb17f4188 diff --cc Makefile.in index 2c28c5c8b4d,4fa7c9ed5f1..6f09878331a --- a/Makefile.in +++ b/Makefile.in @@@ -95,21 -95,9 +95,11 @@@ configuration=@configuration ### The nt/ subdirectory gets built only for MinGW NTDIR=@NTDIR@ - # 'make' verbosity. - AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ - - AM_V_GEN = $(am__v_GEN_@AM_V@) - am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) - am__v_GEN_0 = @echo " GEN " $@; - am__v_GEN_1 = - - AM_V_at = $(am__v_at_@AM_V@) - am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) - am__v_at_0 = @ - am__v_at_1 = + top_builddir = @top_builddir@ + -include ${top_builddir}/src/verbose.mk +HAVE_NATIVE_COMP = @HAVE_NATIVE_COMP@ + # ==================== Where To Install Things ==================== # Location to install Emacs.app under GNUstep / macOS. diff --cc etc/NEWS index 2984c6edae1,fa8784db59c..86fa1ef9581 --- a/etc/NEWS +++ b/etc/NEWS @@@ -24,12 -24,7 +24,12 @@@ applies, and please also update docstri * Installation Changes in Emacs 28.1 +** Emacs now optionally supports native compilation of Lisp files. +To enable, configure Emacs with the '--with-native-compilation' option +to the 'configure' script. This requires to have the libgccjit +library to be installed and functional. + - -- + --- ** Support for building with Motif has been removed. ** Cairo graphics library is now used by default if found. diff --cc lib/Makefile.in index be398d13672,043ace29fd7..68a0247e9cb --- a/lib/Makefile.in +++ b/lib/Makefile.in @@@ -29,29 -29,8 +29,10 @@@ top_srcdir = @top_srcdir all: .PHONY: all - # 'make' verbosity. - AM_V_AR = $(am__v_AR_@AM_V@) - am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) - am__v_AR_0 = @echo " AR " $@; - am__v_AR_1 = - - AM_V_CC = $(am__v_CC_@AM_V@) - am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) - am__v_CC_0 = @echo " CC " $@; - am__v_CC_1 = - - AM_V_GEN = $(am__v_GEN_@AM_V@) - am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) - am__v_GEN_0 = @echo " GEN " $@; - am__v_GEN_1 = - - AM_V_at = $(am__v_at_@AM_V@) - am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) - am__v_at_0 = @ - am__v_at_1 = + -include ${top_builddir}/src/verbose.mk +HAVE_NATIVE_COMP = @HAVE_NATIVE_COMP@ + ALL_CFLAGS= \ $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) $(DEPFLAGS) \ $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) $(PROFILING_CFLAGS) $(CFLAGS) \ diff --cc lisp/Makefile.in index 94de5462f2f,8ea28415585..c9266489a95 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@@ -29,37 -30,7 +30,14 @@@ EXEEXT = @EXEEXT # limitation. XARGS_LIMIT = @XARGS_LIMIT@ - # 'make' verbosity. - AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ - +HAVE_NATIVE_COMP = @HAVE_NATIVE_COMP@ - - AM_V_ELC = $(am__v_ELC_@AM_V@) - am__v_ELC_ = $(am__v_ELC_@AM_DEFAULT_V@) +ifeq ($(HAVE_NATIVE_COMP),yes) - ifeq ($(NATIVE_DISABLED),1) - am__v_ELC_0 = @echo " ELC " $@; - else - am__v_ELC_0 = @echo " ELC+ELN " $@; - endif +ifndef NATIVE_FULL_AOT +NATIVE_SKIP_NONDUMP = 1 +endif - else - am__v_ELC_0 = @echo " ELC " $@; +endif - am__v_ELC_1 = - - AM_V_GEN = $(am__v_GEN_@AM_V@) - am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) - am__v_GEN_0 = @echo " GEN " $@; - am__v_GEN_1 = - - AM_V_at = $(am__v_at_@AM_V@) - am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) - am__v_at_0 = @ - am__v_at_1 = + + -include ${top_builddir}/src/verbose.mk FIND_DELETE = @FIND_DELETE@ diff --cc src/verbose.mk.in index 00000000000,e55fd63fc3c..085a05a2fa6 mode 000000,100644..100644 --- a/src/verbose.mk.in +++ b/src/verbose.mk.in @@@ -1,0 -1,42 +1,50 @@@ + ### verbose.mk --- Makefile fragment for GNU Emacs + + ## Copyright (C) 2021 Free Software Foundation, Inc. + + ## This file is part of GNU Emacs. + + ## GNU Emacs is free software: you can redistribute it and/or modify + ## it under the terms of the GNU General Public License as published by + ## the Free Software Foundation, either version 3 of the License, or + ## (at your option) any later version. + ## + ## GNU Emacs is distributed in the hope that it will be useful, + ## but WITHOUT ANY WARRANTY; without even the implied warranty of + ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ## GNU General Public License for more details. + ## + ## You should have received a copy of the GNU General Public License + ## along with GNU Emacs. If not, see . + + # 'make' verbosity. + V = @AM_DEFAULT_VERBOSITY@ + ifeq (${V},1) + AM_V_AR = + AM_V_at = + AM_V_CC = + AM_V_CCLD = + AM_V_ELC = + AM_V_GEN = + AM_V_GLOBALS = + AM_V_NO_PD = + AM_V_RC = + else + AM_V_AR = @echo " AR " $@; + AM_V_at = @ + AM_V_CC = @echo " CC " $@; + AM_V_CCLD = @echo " CCLD " $@; ++ifeq ($(HAVE_NATIVE_COMP),yes) ++ifeq ($(NATIVE_DISABLED),1) + AM_V_ELC = @echo " ELC " $@; ++else ++AM_V_ELC = @echo " ELC+ELN " $@; ++endif ++else ++AM_V_ELC = @echo " ELC " $@; ++endif + AM_V_GEN = @echo " GEN " $@; + AM_V_GLOBALS = @echo " GEN " globals.h; + AM_V_NO_PD = --no-print-directory + AM_V_RC = @echo " RC " $@; + endif diff --cc test/Makefile.in index c7501fa358b,ba354289e28..cb86f8e2973 --- a/test/Makefile.in +++ b/test/Makefile.in @@@ -46,32 -47,8 +47,10 @@@ SO = @MODULES_SUFFIX SEPCHAR = @SEPCHAR@ - - # 'make' verbosity. - AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ - - AM_V_CCLD = $(am__v_CCLD_@AM_V@) - am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) - am__v_CCLD_0 = @echo " CCLD " $@; - am__v_CCLD_1 = - - AM_V_ELC = $(am__v_ELC_@AM_V@) - am__v_ELC_ = $(am__v_ELC_@AM_DEFAULT_V@) - am__v_ELC_0 = @echo " ELC " $@; - am__v_ELC_1 = - - AM_V_GEN = $(am__v_GEN_@AM_V@) - am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) - am__v_GEN_0 = @echo " GEN " $@; - am__v_GEN_1 = - - AM_V_at = $(am__v_at_@AM_V@) - am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) - am__v_at_0 = @ - am__v_at_1 = - +HAVE_NATIVE_COMP = @HAVE_NATIVE_COMP@ + + -include ${top_builddir}/src/verbose.mk + # Load any GNU ELPA dependencies that are present, for optional tests. GNU_ELPA_DIRECTORY ?= $(srcdir)/../../elpa # Keep elpa_dependencies dependency-ordered.