2013-07-23 22:57:17 +00:00
|
|
|
### @configure_input@
|
|
|
|
|
2021-01-01 09:13:56 +00:00
|
|
|
# Copyright (C) 1985, 1987-1988, 1993-1994, 2001-2021 Free Software
|
2015-01-01 22:26:41 +00:00
|
|
|
# Foundation, Inc.
|
1994-04-16 04:46:43 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# This file is part of GNU Emacs.
|
1994-04-16 04:46:43 +00:00
|
|
|
|
2008-05-09 23:19:13 +00:00
|
|
|
# GNU Emacs is free software: you can redistribute it and/or modify
|
1994-05-05 04:11:17 +00:00
|
|
|
# it under the terms of the GNU General Public License as published by
|
2008-05-09 23:19:13 +00:00
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
1994-04-16 04:46:43 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# 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.
|
1994-04-16 04:46:43 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# You should have received a copy of the GNU General Public License
|
2017-09-13 22:52:52 +00:00
|
|
|
# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
2008-05-09 23:19:13 +00:00
|
|
|
|
2013-08-28 06:01:52 +00:00
|
|
|
SHELL = @SHELL@
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2007-02-20 04:08:17 +00:00
|
|
|
# Following ../lisp/Makefile.in.
|
2015-02-23 18:09:51 +00:00
|
|
|
EMACS = ../src/emacs${EXEEXT}
|
2011-01-08 02:53:50 +00:00
|
|
|
EMACSOPT = -batch --no-site-file --no-site-lisp
|
2007-02-20 04:08:17 +00:00
|
|
|
|
2015-09-16 23:06:29 +00:00
|
|
|
# ==================== Things 'configure' will edit ====================
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1993-09-28 10:04:53 +00:00
|
|
|
CC=@CC@
|
|
|
|
CFLAGS=@CFLAGS@
|
2014-06-15 17:45:38 +00:00
|
|
|
CPPFLAGS = @CPPFLAGS@
|
|
|
|
LDFLAGS = @LDFLAGS@
|
|
|
|
|
1993-09-28 10:04:53 +00:00
|
|
|
version=@version@
|
2010-05-11 03:00:32 +00:00
|
|
|
## Used in $archlibdir.
|
1994-05-01 06:43:34 +00:00
|
|
|
configuration=@configuration@
|
2003-02-08 17:27:58 +00:00
|
|
|
EXEEXT=@EXEEXT@
|
2010-05-04 02:56:19 +00:00
|
|
|
C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
|
|
|
|
C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
|
Properly handle C_WARNINGS_SWITCH, PROFILING_CFLAGS, PROFILING_LDFLAGS
* configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Substitute, don't add them to CFLAGS/LDFLAGS.
(C_OPTIMIZE_SWITCH): Remove.
(TEMACS_LDFLAGS2): Add ${PROFILING_LDFLAGS}.
* lib-src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(BASE_CFLAGS): Add ${C_WARNINGS_SWITCH}.
(ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}.
(LINK_CFLAGS): Add ${PROFILING_LDFLAGS}.
* lwlib/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
* src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(ALL_CFLAGS): Add C_WARNINGS_SWITCH and PROFILING_CFLAGS, put
CFLAGS last.
2010-07-12 14:16:38 +00:00
|
|
|
PROFILING_CFLAGS = @PROFILING_CFLAGS@
|
configure: new option --enable-gcc-warnings
I have been using this change for many months in my private copy
of Emacs, and have used it to find several bugs. It's mature
enough to publish now.
* Makefile.in (GNULIB_MODULES): Add warnings, manywarnings.
* configure.in: Support --enable-gcc-warnings, in the style of
other GNU packages such as coreutils.
(C_WARNINGS_SWITCH): Remove, replacing with...
(WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable.
(PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I,
when including system files with GCC.
* etc/NEWS: Mention --enable-gcc-warnings.
* lib/Makefile.am (AM_CFLAGS): New macro.
* m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
* lib-src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(BASE_CFLAGS): Use new macros rather than old.
* lwlib/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
* src/regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore
-Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
-Wunused-result, -Wunused-variable. This should go away once
the Emacs and Gnulib regex code is merged.
(xmalloc, xrealloc): Now static.
2012-04-09 07:45:59 +00:00
|
|
|
WARN_CFLAGS = @WARN_CFLAGS@
|
|
|
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
2001-11-15 20:37:20 +00:00
|
|
|
# Program name transformation.
|
|
|
|
TRANSFORM = @program_transform_name@
|
|
|
|
|
Simplify silent-rules build machinery
* src/verbose.mk.in: New file.
* configure.ac (AM_V, AM_DEFAULT_V): Remove output variables.
(src/verbose.mk): New output file.
* Makefile.in, admin/charsets/Makefile.in:
* admin/grammars/Makefile.in, admin/unidata/Makefile.in:
* doc/emacs/Makefile.in, doc/lispintro/Makefile.in:
* doc/lispref/Makefile.in, doc/misc/Makefile.in, leim/Makefile.in:
* lib-src/Makefile.in, lib/Makefile.in, lisp/Makefile.in:
* lwlib/Makefile.in, nt/Makefile.in, oldXMenu/Makefile.in:
* src/Makefile.in, src/verbose.mk.in, test/Makefile.in:
Include src/verbose.mk rather than repeatedly defining AM_V_at etc.
2021-03-07 00:28:46 +00:00
|
|
|
top_builddir = @top_builddir@
|
|
|
|
-include ${top_builddir}/src/verbose.mk
|
2015-01-24 00:08:12 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# ==================== Where To Install Things ====================
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
2016-11-06 07:33:43 +00:00
|
|
|
# Location to install Emacs.app under GNUstep / macOS.
|
2012-05-17 01:23:03 +00:00
|
|
|
# Later values may use this.
|
|
|
|
ns_appbindir=@ns_appbindir@
|
2021-08-29 12:07:54 +00:00
|
|
|
ns_applibexecdir=@ns_applibexecdir@
|
2012-05-17 01:23:03 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# The default location for installation. Everything is placed in
|
|
|
|
# subdirectories of this directory. The default values for many of
|
|
|
|
# the variables below are expressed in terms of this one, so you may
|
|
|
|
# not need to change them. This is set with the --prefix option to
|
2015-09-16 23:06:29 +00:00
|
|
|
# '../configure'.
|
1993-09-28 10:04:53 +00:00
|
|
|
prefix=@prefix@
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
2015-09-16 23:06:29 +00:00
|
|
|
# Like 'prefix', but used for architecture-specific files. This is
|
|
|
|
# set with the --exec-prefix option to '../configure'.
|
1993-09-28 10:04:53 +00:00
|
|
|
exec_prefix=@exec_prefix@
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# Where to install Emacs and other binaries that people will want to
|
|
|
|
# run directly (like etags). This is set with the --bindir option
|
2015-09-16 23:06:29 +00:00
|
|
|
# to '../configure'.
|
1993-09-28 10:04:53 +00:00
|
|
|
bindir=@bindir@
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# Where to install and expect executable files to be run by Emacs
|
|
|
|
# rather than directly by users, and other architecture-dependent
|
|
|
|
# data. ${archlibdir} is usually below this. This is set with the
|
2015-09-16 23:06:29 +00:00
|
|
|
# --libexecdir option to '../configure'.
|
1994-10-11 21:38:59 +00:00
|
|
|
libexecdir=@libexecdir@
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
2017-03-17 06:50:37 +00:00
|
|
|
# Nonempty if Emacs can assume Mailutils is installed.
|
|
|
|
with_mailutils=@with_mailutils@
|
|
|
|
|
2002-07-30 13:53:27 +00:00
|
|
|
# Directory for local state files for all programs.
|
|
|
|
localstatedir=@localstatedir@
|
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# Where to find the source code. This is set by the configure
|
2015-09-16 23:06:29 +00:00
|
|
|
# script's '--srcdir' option. However, the value of ${srcdir} in
|
1994-05-05 04:11:17 +00:00
|
|
|
# this makefile is not identical to what was specified with --srcdir,
|
2015-09-16 23:06:29 +00:00
|
|
|
# since the variable here has '/lib-src' added at the end.
|
1998-08-02 00:24:15 +00:00
|
|
|
|
|
|
|
# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
|
1993-09-28 10:04:53 +00:00
|
|
|
srcdir=@srcdir@
|
|
|
|
VPATH=@srcdir@
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1994-10-12 23:28:43 +00:00
|
|
|
# The top-level source directory, also set by configure.
|
|
|
|
top_srcdir=@top_srcdir@
|
2013-10-24 04:05:54 +00:00
|
|
|
# MinGW CPPFLAGS may use this.
|
|
|
|
abs_top_srcdir=@abs_top_srcdir@
|
1994-10-12 23:28:43 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# ==================== Emacs-specific directories ====================
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# These variables hold the values Emacs will actually use. They are
|
|
|
|
# based on the values of the standard Make variables above.
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# Where to put executables to be run by Emacs rather than the user.
|
|
|
|
# This path usually includes the Emacs version and configuration name,
|
|
|
|
# so that multiple configurations for multiple versions of Emacs may
|
|
|
|
# be installed at once. This can be set with the --archlibdir option
|
2015-09-16 23:06:29 +00:00
|
|
|
# to '../configure'.
|
1993-09-28 10:04:53 +00:00
|
|
|
archlibdir=@archlibdir@
|
1993-03-19 07:49:20 +00:00
|
|
|
|
2017-03-12 19:04:10 +00:00
|
|
|
# User or group of the auxiliary program update-game-score, which is
|
|
|
|
# installed on platforms with a game directory shared by multiple users.
|
|
|
|
# On other platforms Emacs can update the score files itself.
|
2002-04-10 19:05:44 +00:00
|
|
|
gameuser=@gameuser@
|
2015-01-16 08:25:25 +00:00
|
|
|
gamegroup=@gamegroup@
|
2017-03-12 19:04:10 +00:00
|
|
|
# Where to install game score files, if gameuser or gamegroup is nonempty.
|
|
|
|
gamedir=@gamedir@
|
|
|
|
# Nonempty if and only if a shared gamedir is used.
|
|
|
|
use_gamedir=$(gameuser)$(gamegroup)
|
2002-04-10 19:05:44 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# ==================== Utility Programs for the Build =================
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# ../configure figures out the correct values for these.
|
1993-09-28 10:04:53 +00:00
|
|
|
INSTALL = @INSTALL@
|
|
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
2006-11-03 14:10:50 +00:00
|
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
1996-08-28 15:52:48 +00:00
|
|
|
# By default, we uphold the dignity of our programs.
|
|
|
|
INSTALL_STRIP =
|
2012-05-12 01:19:47 +00:00
|
|
|
MKDIR_P = @MKDIR_P@
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# ========================== Lists of Files ===========================
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2013-04-01 13:51:33 +00:00
|
|
|
# emacsclientw.exe for MinGW, empty otherwise
|
|
|
|
CLIENTW = @CLIENTW@
|
|
|
|
|
2010-05-15 01:05:11 +00:00
|
|
|
# Things that a user might actually run, which should be installed in bindir.
|
2013-04-01 13:51:33 +00:00
|
|
|
INSTALLABLES = etags${EXEEXT} ctags${EXEEXT} emacsclient${EXEEXT} $(CLIENTW) \
|
2010-10-09 01:15:15 +00:00
|
|
|
ebrowse${EXEEXT}
|
2010-05-15 01:05:11 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# Things that Emacs runs internally, or during the build process,
|
|
|
|
# which should not be installed in bindir.
|
2019-04-26 12:54:02 +00:00
|
|
|
UTILITIES = hexl${EXEEXT} \
|
2017-03-17 06:50:37 +00:00
|
|
|
$(if $(with_mailutils), , movemail${EXEEXT}) \
|
2017-03-12 19:04:10 +00:00
|
|
|
$(and $(use_gamedir), update-game-score${EXEEXT})
|
1992-04-19 08:53:10 +00:00
|
|
|
|
Add portable dumper
Add a new portable dumper as an alternative to unexec. Use it by default.
* src/dmpstruct.awk: New file.
* src/doc.c (get_doc_string): use will_dump_p().
* src/editfns.c (styled_format): silence compiler warning
with UNINIT.
* src/emacs-module.c (syms_of_module): staticpro ltv_mark.
* src/emacs.c (gflags): new variable.
(init_cmdargs): unwrap
(string_starts_with_p, find_argument, dump_error_to_string)
(load_pdump): new functions.
(main): detect pdumper and --temacs invocation; actually load
portable dump when detected; set gflags as appropriate; changes to
init functions throughout to avoid passing explicit
'initialized' argument.
* src/eval.c (inhibit_lisp_code): remove unused variable.
(init_eval_once_for_pdumper): new function.
(init_eval_once): call it.
* src/filelock.c: CANNOT_DUMP -> will_dump_p()
* src/fingerprint-dummy.c: new file
* src/fingerprint.h: new file
* src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
(weak_hash_tables): remove
(hashfn_equal, hashfn_eql): un-staticify
(make_hash_table): set new 'next_weak' hash table field; drop
global weak_hash_tables logic.
(copy_hash_table): drop global weak_hash_tables logic.
(hash_table_rehash): new function.
(hash_lookup, hash_put, hash_remove_from_table, hash_clear):
rehash if needed.
(sweep_weak_table): un-staticify; explain logic; bool-ify.
(sweep_weak_hash_tables): remove function.
* src/font.c (syms_of_font): remember pdumper stuff.
* src/fontset.c (syms_of_fontset): remember pdumper stuff.
* src/frame.c (make_initial_frame): don't reset Vframe_list.
(init_frame_once_for_pdumper, init_frame_once): new functions.
(syms_of_frame): remove redundant staticpro.
* src/fringe.c (init_fringe_once_for_pdumper): new functin.
(init_fringe_once): call it.
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
(syms_of_ftcrfont): call it.
* src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
(syms_of_ftfont): call it.
* src/ftxont.c (syms_of_ftxfont_for_pdumper): new function.
(syms_of_ftxfont): call it.
* src/gmalloc.c: adjust for pdumper througout
(DUMPED): remove weird custom dumped indicator.
* src/gnutls.c (syms_of_gnutls): pdumper note for
gnutls_global_initialized.
* src/image.c (syms_of_image): add pdumper comment,
initializer note.
* src/insdel.c (prepare_to_modify_buffer_1): account
for buffer contents possibly being in dump image.
* src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
(syms_of_keyboard): staticpro more; call pdumper syms function.
* src/lisp.h: add comments throughout
(gflags): declare.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p, will_dump_with_unexec_p)
(dumped_with_unexec_p, definitely_will_not_unexec_p): new
functions.
(POWER_OF_2, ROUNDUP): move macros.
(PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
pointer instead of vector; constify.
(Lisp_Hash_Table): add comment about need to rehash on access; add
comment for next_weak.
(HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
(hash_table_rehash): declare.
(hash_rehash_needed_p, hash_rehash_if_needed): new functions.
(finalizers, doomed_finalizers): declare extern.
(SUBR_SECTION_ATTRIBUTE): new macro.
(staticvec, staticidx): un-static-ify.
(sweep_weak_hash_tables): remove declaration.
(sweep_weak_table): declare.
(hashfn_eql, hashfn_equal): declare.
(number_finalizers_run): new variable.
(Vdead): externify when ENABLE_CHECKING.
(gc_root_type): new enumeration.
(gc_root_visitor): new struct.
(visit_static_gc_roots): declare.
(vectorlike_nbytes): declare.
(vector_nbytes): define as trivial inline function wrapper for
vectorlike_nbytes.
(init_obarray_once): change signature.
(primary_thread): extern-ify.
(init_buffer): change signature.
(init_frame_once): declare.
* src/lread.c (readevalloop): adjust for new dumped predicates.
(init_obarray_once): new function.
(ndefsubr): new variable.
(defsubr): increment it.
(load_path_check): adjust for pdumper.
(load_path_default): use pdumper functions; adjust for
dump search.
* src/macfont.m (macfont_init_font_change_handler): avoid
shadowing global.
(syms_of_macfont_for_pdumper): new function.
(syms_of_macfont): call it.
* src/menu.c (syms_of_menu): staticpro more stuff.
* src/minibuf.c (Ftry_completion): rehash if needed.
(init_minibuf_once_for_pdumper): new function.
(init_minibuf_once): call it.
* src/nsfont.m (syms_of_nsfns): staticpro more.
* src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
(syms_of_nsfont): call it.
* src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
* src/pdumper.c: new file.
* src/pdumper.h: new file.
* src/process.c (init_process_emacs): use new pdumper functions
instead of CANNOT_DUMP.
* src/profiler.c (syms_of_profiler_for_pdumper): new function.
(syms_of_profiler_for_pdumper): call it.
* src/search.c (syms_of_search_for_pdumper): new function.
(syms_of_search_for_pdumper): call it.
* src/sheap.c (bss_sbrk_did_unexec): remove.
* src/sheap.h (bss_sbrk_did_unexec): remove.
* src/syntax.c (syms_of_syntax): don't redundantly staticpro
re_match_object.
* src/sysdep.c: use will_dump_with_unexec_p() instead of bss
hack thing.
* src/syssignals.h (init_sigsegv): declare.
* src/systime.h (init_timefns): remove bool from signature.
* src/textprop.c (syms_of_textprop): move staticpro.
* src/thread.c (main_thread_p): constify.
* src/thread.h (main_thread_p): constify.
* src/timefns.c (init_timefns): remove bool from signature.
(syms_of_timefns_for_pdumper): new function.
(syms_of_timefns): call it.
* src/w32.c: rearrange code.
* src/w32.h (w32_relocate): declare.
* src/w32fns.c (syms_of_w32fns): add pdumper note.
* src/w32font.c (syms_of_w32font_for_pdumper): new function.
(syms_of_w32font): call it.
* src/w32heap.c (using_dynamic_heap): new variable.
(init_heap): use it.
* src/w32menu.c (syms_of_w32menu): add pdumper note.
* src/w32proc.c
(ctrl_c_handler, mainCRTStartup, _start, open_input_file)
(rva_to_section, close_file_data): move here.
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
new function.
(syms_of_w32uniscribe): call it.
* src/window.c (init_window_once_for_pdumper): new function.
(init_window_once): call it; staticpro more stuff.
* src/xfont.c (syms_of_xfont_for_pdumper): new function.
(syms_of_xfont): call it.
* src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
(syms_of_xftfont): call it.
* src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
(syms_of_xmenu): call it.
* src/xselect.c (syms_of_xselect_for_pdumper): new function.
(syms_of_xselect): call it.
* src/xsettings.c (syms_of_xsettings): add more pdumper notes.
* src/term.c (syms_of_xterm): add pdumper note.
* src/dispnew.c (init_faces_initial): new function.
(init_display_interactive): rename from init_display; use
will_dump_p instead of !initialized. Initialize faces early for
pdumper if needed.
(init_display): new function.
(syms_of_display_for_pdumper): new function.
(syms_of_display): call it.
* src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
on pdumper load.
* src/data.c (Fdefalias): Use will_dump_p
instead of Vpurify_flag.
(Fmake_variable_buffer_local): silence compiler warning with -Og
by making valcontents UNINIT.
(arith_driver): silence compiler warning with UNINIT.
* src/conf_post.h (ATTRIBUTE_SECTION): new macro.
* src/composite.c (composition_gstring_put_cache): rehash hash
table if needed.
* src/coding.c (init_coding_once, syms_of_coding): remember
pdumper stuff.
* src/charset.h (charset_table_size, charset_table_user): declare.
* src/charset.c (charset_table_used, charset_table_size): un-static.
(init_charset_oncem, syms_of_charset): remember pdumper stuff.
* src/category.c (category_table_version): remove obsolete
variable.
* src/callint.c (syms_of_callint): staticpro 'preserved_fns'
(init_callproc): use will_dump_p instead of !CANNOT_DUMP.
* src/bytecode.c (exec_byte_code): rehash table tables if needed
* src/buffer.c (alloc_buffer_text, free_buffer_text): account for
pdumper
(init_buffer_once): add TODO; remember stuff for pdumper.
(init_buffer): don't take initialized argument; adjust
for pdumper.
* src/atimer.c (init_atimer): initialize subr only if
!initialized.
* src/alloc.c: (vector_marked_p, set_vector_marked)
(vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
(set_cons_marked, string_marked_p, set_string_marked)
(symbol_marked_p, set_symbol_marked, interval_marked_p)
(set_interval_marked): new accessor routines. Use them
instead of raw GC access throughout.
(Vdead): make non-static when ENABLE_CHECKING.
(vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
header as input instead of a vector.
(number_finalizers_run): new internal C variable.
(mark_maybe_object): check for pdumper objects.
(valid_pointer_p): don't be gratuitously inefficient under rr(1).
(make_pure_c_string): add support for size_byte = -2 mode
indicating that string data points into Emacs image rodata.
(visit_vectorlike_root): visits GC roots embedded in
vectorlike objects.
(visit_buffer_root): visits GC roots embedded in
our totally-not-a-buffer buffer global objects.
(visit_static_gc_roots): visit GC roots in the Emacs data section.
(mark_object_root_visitor): root callback used for conventional GC
marking
(weak_hash_tables): new internal variable for tracking found weak
hash tables during GC.
(mark_and_sweep_weak_table_contents): new weak hash table marking.
(garbage_collect_1): use new GC root visitor machinery.
(mark_vectorlike): accept a vectorlike_header instead of a
Lisp_Vector.
(mark_frame, mark_window, mark_hash_table): new functions.
(mark_object): initialize 'm'; check for pdumper objects and use
new mark-bit accessors throughout. Remove some object-specific
marking code and move to helper functions above.
(survives_gc_p): check for pdumper objects.
(gc-sweep): clear pdumper mark bits.
(init_alloc_once_for_pdumper): new helper function for early init
called both during normal init and pdumper load.
(init_alloc_once): pdumper integration.
* src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
invoke temacs with --temacs command line option; build dmpstruct.h
from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
intermediate files during build.
* nextstep/Makefile.in: build emacs.pdmp into NS packages
* lisp/startup.el: account for new '--temacs' and '--dump-file'
command line option.
* lisp/loadup.el: rewrite early init to account for pdumper; use
injected 'dump-mode' variable (set via the new '--temacs' option)
instead of parsing command line.
* lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
since the new 'dump-mode'
* lib-src/make-fingerprint.c: new program
* lib-src/Makefile.in: built make-fingerprint utility program
* configure.ac: Add --with-pdumper toggle to control pdumper
support; add --with-unexec toggle to control unexec support.
Add --with-dumping option to control which dumping strategy we use
by default. Adjust for pdumper throughout. Check for
posix_madvise.
* Makefile.in: Add @DUMPING@ substitution; add pdumper mode.
* .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
dmpstruct.h, and pdumper dump files.
2019-01-15 22:36:54 +00:00
|
|
|
DONT_INSTALL= make-docfile${EXEEXT} make-fingerprint${EXEEXT}
|
1994-09-23 05:42:40 +00:00
|
|
|
|
1994-05-05 04:11:17 +00:00
|
|
|
# Like UTILITIES, but they're not system-dependent, and should not be
|
|
|
|
# deleted by the distclean target.
|
2017-03-12 19:04:10 +00:00
|
|
|
SCRIPTS= rcs2log
|
1992-09-13 10:54:38 +00:00
|
|
|
|
2011-01-08 21:02:38 +00:00
|
|
|
# All files that are created by the linker, i.e., whose names end in ${EXEEXT}.
|
|
|
|
EXE_FILES = ${INSTALLABLES} ${UTILITIES} ${DONT_INSTALL}
|
|
|
|
|
Replace some cpp with autoconf.
* configure.in (--with-mmdf, --with-mail-unlink):
New options, off by default.
(--with-mailhost): New option to set default POP host.
(LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF, LIBGPM, LIBS_MAIL)
(LIBHESIOD, LIBRESOLV, COM_ERRLIB, CRYPTOLIB, KRB5LIB, DESLIB, KRB4LIB):
New variables, substituted in Makefiles.
(try_libungif, ac_gif_lib_name): Replace with HAVE_GIF=maybe, LIBGIF.
(LIBGIF): Use AC_SUBST rather than AC_DEFINE.
(HAVE_LIBMAIL, HAVE_LIBLOCKFILE, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB): New AC_DEFINEs.
* lib-src/Makefile.in (KRB4LIB, DESLIB, KRB5LIB, CRYPTOLIB, COM_ERRLIB)
(HESIODLIB, LIBS_MAIL): Set using autoconf rather than cpp.
(BASE_CFLAGS): Remove (identical to CPP_CFLAGS).
* src/Makefile.in (XFT_LIBS, LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF)
(LIBGPM, LIBRESOLV): Set using autoconf rather than cpp.
2010-03-18 05:49:31 +00:00
|
|
|
# Specify additional -D flags for movemail. Options:
|
|
|
|
# -DMAIL_USE_FLOCK or -DMAIL_USE_LOCKF (use flock or lockf for file locking).
|
|
|
|
# See the comments about locking in movemail.c. Normally the values
|
2010-05-11 03:00:32 +00:00
|
|
|
# set by configure should be correct and you should not need to do anything.
|
|
|
|
# If neither flag is set, you need to use blessmail.
|
1994-09-27 19:43:07 +00:00
|
|
|
MOVE_FLAGS=
|
|
|
|
|
2010-05-10 00:07:47 +00:00
|
|
|
## Empty if either MAIL_USE_FLOCK or MAIL_USE_LOCKF, else need-blessmail.
|
|
|
|
BLESSMAIL_TARGET=@BLESSMAIL_TARGET@
|
2010-05-06 08:03:27 +00:00
|
|
|
|
Remove some unused macros from 'configure'.
* configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
(HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
(HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
(HAVE_DEV_PTMX, DEVICE_SEP, USG5):
Remove these macros, as they are not used.
(sys_siglist): Remove macro; src/sysdep.c now does this.
* src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
Define to __sys_siglist.
2013-07-02 16:56:29 +00:00
|
|
|
## -lkrb or -lkrb4 if needed
|
2010-03-20 18:13:46 +00:00
|
|
|
KRB4LIB=@KRB4LIB@
|
Remove some unused macros from 'configure'.
* configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
(HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
(HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
(HAVE_DEV_PTMX, DEVICE_SEP, USG5):
Remove these macros, as they are not used.
(sys_siglist): Remove macro; src/sysdep.c now does this.
* src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
Define to __sys_siglist.
2013-07-02 16:56:29 +00:00
|
|
|
## -ldes or -ldes425 if needed
|
2010-03-20 18:13:46 +00:00
|
|
|
DESLIB=@DESLIB@
|
Remove some unused macros from 'configure'.
* configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
(HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
(HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
(HAVE_DEV_PTMX, DEVICE_SEP, USG5):
Remove these macros, as they are not used.
(sys_siglist): Remove macro; src/sysdep.c now does this.
* src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
Define to __sys_siglist.
2013-07-02 16:56:29 +00:00
|
|
|
## -lkrb5 if needed
|
2010-03-20 18:13:46 +00:00
|
|
|
KRB5LIB=@KRB5LIB@
|
Remove some unused macros from 'configure'.
* configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
(HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
(HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
(HAVE_DEV_PTMX, DEVICE_SEP, USG5):
Remove these macros, as they are not used.
(sys_siglist): Remove macro; src/sysdep.c now does this.
* src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
Define to __sys_siglist.
2013-07-02 16:56:29 +00:00
|
|
|
## -lk5crypto or -lcrypto if needed
|
2010-03-20 18:13:46 +00:00
|
|
|
CRYPTOLIB=@CRYPTOLIB@
|
Remove some unused macros from 'configure'.
* configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
(HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
(HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
(HAVE_DEV_PTMX, DEVICE_SEP, USG5):
Remove these macros, as they are not used.
(sys_siglist): Remove macro; src/sysdep.c now does this.
* src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
Define to __sys_siglist.
2013-07-02 16:56:29 +00:00
|
|
|
## -lcom_err if needed
|
2010-03-20 18:13:46 +00:00
|
|
|
COM_ERRLIB=@COM_ERRLIB@
|
Remove some unused macros from 'configure'.
* configure.ac (HAVE_SOUNDCARD_H, HAVE_LINUX_VERSION_H, HAVE_SPEED_T)
(HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY)
(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION, HAVE_UTIMES)
(HAVE_LIBHESIOD, HAVE_LIBRESOLV, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB, HAVE_DES_H, HAVE_KERBEROSIV_DES_H)
(HAVE_DEV_PTMX, DEVICE_SEP, USG5):
Remove these macros, as they are not used.
(sys_siglist): Remove macro; src/sysdep.c now does this.
* src/sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
Define to __sys_siglist.
2013-07-02 16:56:29 +00:00
|
|
|
## -lhesiod if needed
|
2010-03-20 18:13:46 +00:00
|
|
|
LIBHESIOD=@LIBHESIOD@
|
|
|
|
## -lresolv if HAVE_LIBRESOLV
|
|
|
|
LIBRESOLV=@LIBRESOLV@
|
|
|
|
## -llockfile if HAVE_LIBLOCKFILE or -lmail if HAVE_LIBMAIL
|
|
|
|
LIBS_MAIL=@LIBS_MAIL@
|
2012-06-22 21:17:42 +00:00
|
|
|
## empty or -lrt or -lposix4 if HAVE_CLOCK_GETTIME
|
|
|
|
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
2021-01-01 20:52:55 +00:00
|
|
|
## empty or -lbcrypt or -ladvapi32
|
|
|
|
LIB_GETRANDOM = @LIB_GETRANDOM@
|
2019-04-25 15:50:50 +00:00
|
|
|
## Whatever libraries are needed for euidaccess
|
|
|
|
LIB_EACCESS=@LIB_EACCESS@
|
2013-04-06 13:25:17 +00:00
|
|
|
## empty or -lwsock2 for MinGW
|
|
|
|
LIB_WSOCK32=@LIB_WSOCK32@
|
2010-03-20 18:13:46 +00:00
|
|
|
|
2021-01-01 20:52:55 +00:00
|
|
|
## Extra libraries for etags
|
|
|
|
LIBS_ETAGS = $(LIB_CLOCK_GETTIME) $(LIB_GETRANDOM)
|
|
|
|
|
2021-04-12 07:15:59 +00:00
|
|
|
HAVE_SECCOMP=@HAVE_SECCOMP@
|
2021-04-11 14:50:29 +00:00
|
|
|
HAVE_LIBSECCOMP=@HAVE_LIBSECCOMP@
|
|
|
|
LIBSECCOMP_LIBS=@LIBSECCOMP_LIBS@
|
|
|
|
LIBSECCOMP_CFLAGS=@LIBSECCOMP_CFLAGS@
|
2020-12-17 10:20:55 +00:00
|
|
|
|
2021-04-11 14:22:54 +00:00
|
|
|
# Currently, we can only generate seccomp filter files for x86-64.
|
2021-04-12 07:15:59 +00:00
|
|
|
ifeq ($(HAVE_SECCOMP),yes)
|
2021-04-11 14:50:29 +00:00
|
|
|
ifeq ($(HAVE_LIBSECCOMP),yes)
|
2021-04-11 14:22:54 +00:00
|
|
|
ifeq ($(shell uname -m),x86_64)
|
2021-04-11 17:35:39 +00:00
|
|
|
# We require SECCOMP_RET_KILL_PROCESS, which is only available in
|
|
|
|
# Linux 4.14 and later.
|
|
|
|
ifeq ($(shell { echo 4.14; uname -r | cut -d . -f 1-2; } | \
|
|
|
|
sort -C -t . -n -k 1,1 -k 2,2 && \
|
|
|
|
echo 1),1)
|
2021-04-11 14:22:54 +00:00
|
|
|
SECCOMP_FILTER=1
|
|
|
|
endif
|
|
|
|
endif
|
2021-04-11 17:35:39 +00:00
|
|
|
endif
|
2021-04-12 07:15:59 +00:00
|
|
|
endif
|
2021-04-11 14:22:54 +00:00
|
|
|
|
|
|
|
ifeq ($(SECCOMP_FILTER),1)
|
2020-12-17 10:20:55 +00:00
|
|
|
DONT_INSTALL += seccomp-filter$(EXEEXT)
|
|
|
|
endif
|
|
|
|
|
2010-03-20 18:13:46 +00:00
|
|
|
## Extra libraries to use when linking movemail.
|
2010-05-15 01:05:11 +00:00
|
|
|
LIBS_MOVE = $(LIBS_MAIL) $(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) \
|
2021-01-01 20:52:55 +00:00
|
|
|
$(COM_ERRLIB) $(LIBHESIOD) $(LIBRESOLV) $(LIB_WSOCK32) $(LIBS_ETAGS)
|
2010-03-20 18:13:46 +00:00
|
|
|
|
2013-04-06 13:25:17 +00:00
|
|
|
## Extra libraries when linking emacsclient
|
|
|
|
## (empty or -lcomctl32 for MinGW)
|
|
|
|
LIBS_ECLIENT = @LIBS_ECLIENT@
|
|
|
|
|
|
|
|
## Extra object files for linking for MinGW
|
2013-03-31 14:04:49 +00:00
|
|
|
NTLIB = @NTLIB@
|
2013-04-01 13:18:20 +00:00
|
|
|
CLIENTRES = @CLIENTRES@
|
|
|
|
WINDRES = @WINDRES@
|
2013-03-30 17:00:51 +00:00
|
|
|
|
2010-05-10 02:16:09 +00:00
|
|
|
## Some systems define this to request special libraries.
|
|
|
|
LIBS_SYSTEM = @LIBS_SYSTEM@
|
|
|
|
|
configure: new option --enable-gcc-warnings
I have been using this change for many months in my private copy
of Emacs, and have used it to find several bugs. It's mature
enough to publish now.
* Makefile.in (GNULIB_MODULES): Add warnings, manywarnings.
* configure.in: Support --enable-gcc-warnings, in the style of
other GNU packages such as coreutils.
(C_WARNINGS_SWITCH): Remove, replacing with...
(WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable.
(PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I,
when including system files with GCC.
* etc/NEWS: Mention --enable-gcc-warnings.
* lib/Makefile.am (AM_CFLAGS): New macro.
* m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
* lib-src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(BASE_CFLAGS): Use new macros rather than old.
* lwlib/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/Makefile.in (C_WARNINGS_SWITCH): Remove.
(WARN_CFLAGS, WERROR_CFLAGS): New macros.
(ALL_CFLAGS): Use new macros rather than old.
* src/process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
* src/regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore
-Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
-Wunused-result, -Wunused-variable. This should go away once
the Emacs and Gnulib regex code is merged.
(xmalloc, xrealloc): Now static.
2012-04-09 07:45:59 +00:00
|
|
|
BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \
|
|
|
|
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
|
2012-06-26 01:05:39 +00:00
|
|
|
-I. -I../src -I../lib \
|
2011-01-08 21:02:38 +00:00
|
|
|
-I${srcdir} -I${srcdir}/../src -I${srcdir}/../lib
|
2010-05-11 03:18:58 +00:00
|
|
|
|
Properly handle C_WARNINGS_SWITCH, PROFILING_CFLAGS, PROFILING_LDFLAGS
* configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Substitute, don't add them to CFLAGS/LDFLAGS.
(C_OPTIMIZE_SWITCH): Remove.
(TEMACS_LDFLAGS2): Add ${PROFILING_LDFLAGS}.
* lib-src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(BASE_CFLAGS): Add ${C_WARNINGS_SWITCH}.
(ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}.
(LINK_CFLAGS): Add ${PROFILING_LDFLAGS}.
* lwlib/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
* oldXMenu/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from
substitution.
(ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}.
* src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
(PROFILING_LDFLAGS): Set from substitution.
(ALL_CFLAGS): Add C_WARNINGS_SWITCH and PROFILING_CFLAGS, put
CFLAGS last.
2010-07-12 14:16:38 +00:00
|
|
|
ALL_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
|
|
|
|
CPP_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${CPPFLAGS} ${CFLAGS}
|
2010-03-20 18:13:46 +00:00
|
|
|
|
2012-08-01 17:54:06 +00:00
|
|
|
# Configuration files for .o files to depend on.
|
|
|
|
config_h = ../src/config.h $(srcdir)/../src/conf_post.h
|
|
|
|
|
2014-12-14 02:38:21 +00:00
|
|
|
all: ${EXE_FILES} ${SCRIPTS}
|
2011-11-14 22:54:16 +00:00
|
|
|
|
2021-04-11 14:22:54 +00:00
|
|
|
ifeq ($(SECCOMP_FILTER),1)
|
2021-04-11 17:47:36 +00:00
|
|
|
all: seccomp-filter.bpf seccomp-filter-exec.bpf
|
2020-12-17 10:20:55 +00:00
|
|
|
endif
|
|
|
|
|
2012-07-30 16:20:35 +00:00
|
|
|
.PHONY: all need-blessmail maybe-blessmail
|
|
|
|
|
2011-01-08 21:02:38 +00:00
|
|
|
LOADLIBES = ../lib/libgnu.a $(LIBS_SYSTEM)
|
|
|
|
$(EXE_FILES): ../lib/libgnu.a
|
1994-05-05 04:11:17 +00:00
|
|
|
|
2010-05-11 03:00:32 +00:00
|
|
|
## Only used if we need blessmail, but no harm in always defining.
|
|
|
|
## This makes the actual blessmail executable.
|
lib-src/Makefile trivial simplifications
* lib-src/Makefile.in (blessmail): Depend on lisp/mail/blessmail.el.
Use $<, $@.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT}, ntlib.o)
(hexl${EXEEXT}, update-game-score${EXEEXT}, emacsclient.res): Use $<.
(ctags${EXEEXT}): Add $srcdir to dependency rather than using VPATH.
2014-06-26 06:18:53 +00:00
|
|
|
blessmail: $(srcdir)/../lisp/mail/blessmail.el
|
2015-01-04 02:44:23 +00:00
|
|
|
$(AM_V_GEN)$(EMACS) $(EMACSOPT) -l $<
|
|
|
|
$(AM_V_at)chmod +x $@
|
1994-04-20 05:32:33 +00:00
|
|
|
|
2010-05-11 03:00:32 +00:00
|
|
|
## This checks if we need to run blessmail.
|
|
|
|
## Do not charge ahead and do it! Let the installer decide.
|
2010-05-06 08:03:27 +00:00
|
|
|
need-blessmail: blessmail
|
1994-05-04 05:15:00 +00:00
|
|
|
@if [ `wc -l <blessmail` != 2 ] ; then \
|
|
|
|
dir=`sed -n -e 's/echo mail directory = \(.*\)/\1/p' blessmail`; \
|
Progress towards allowing installation in directories with whitespace
* Makefile.in (COPYDESTS, write_subdir, install-arch-dep)
(install-arch-indep, install-etcdoc, install-info, install-man)
(install-etc, uninstall): Quote entities that might contain whitespace.
* build-aux/update-subdirs: Handle whitespace in argument.
Check cd return value.
* doc/emacs/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* doc/lispintro/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* doc/lispref/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* doc/misc/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install)
(uninstall): Quote entities that might contain whitespace.
* nt/Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall):
Quote entities that might contain whitespace.
2013-10-23 07:20:57 +00:00
|
|
|
echo "Assuming $$dir is really the mail spool directory, you should"; \
|
|
|
|
echo "run lib-src/blessmail $(DESTDIR)${archlibdir}/movemail${EXEEXT}"; \
|
|
|
|
echo "as root, to give movemail${EXEEXT} appropriate permissions."; \
|
|
|
|
echo "Do that after running make install."; \
|
1994-05-04 05:15:00 +00:00
|
|
|
fi
|
2010-05-06 08:03:27 +00:00
|
|
|
|
2010-05-11 03:00:32 +00:00
|
|
|
## This is the target invoked by the top-level Makefile.
|
2010-05-06 08:03:27 +00:00
|
|
|
maybe-blessmail: $(BLESSMAIL_TARGET)
|
1994-05-04 05:15:00 +00:00
|
|
|
|
2010-05-11 03:00:32 +00:00
|
|
|
## Install the internal utilities. Until they are installed, we can
|
2017-03-24 15:09:25 +00:00
|
|
|
## just run them directly from lib-src. When installing, do not give
|
|
|
|
## up if chown or chgrp fails, as the package responsible for
|
|
|
|
## installing Emacs can fix this problem later.
|
2006-03-03 12:02:31 +00:00
|
|
|
$(DESTDIR)${archlibdir}: all
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
@echo
|
|
|
|
@echo "Installing utilities run internally by Emacs."
|
2015-01-22 08:39:30 +00:00
|
|
|
umask 022 && ${MKDIR_P} "$(DESTDIR)${archlibdir}"
|
|
|
|
exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd` && \
|
2013-10-24 23:04:33 +00:00
|
|
|
if [ "$$exp_archlibdir" != "`/bin/pwd`" ]; then \
|
1993-09-30 23:25:30 +00:00
|
|
|
for file in ${UTILITIES}; do \
|
2015-01-22 08:39:30 +00:00
|
|
|
$(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file \
|
|
|
|
"$(DESTDIR)${archlibdir}/$$file" || exit; \
|
1993-09-30 23:25:30 +00:00
|
|
|
done ; \
|
1994-07-29 20:33:17 +00:00
|
|
|
fi
|
2017-03-12 19:04:10 +00:00
|
|
|
ifneq (,$(use_gamedir))
|
|
|
|
umask 022 && ${MKDIR_P} "$(DESTDIR)${gamedir}"
|
2015-01-22 08:39:30 +00:00
|
|
|
touch "$(DESTDIR)${gamedir}/snake-scores" \
|
|
|
|
"$(DESTDIR)${gamedir}/tetris-scores"
|
2017-03-12 19:04:10 +00:00
|
|
|
ifneq (,$(gameuser))
|
2017-03-24 15:09:25 +00:00
|
|
|
-chown ${gameuser} \
|
|
|
|
"$(DESTDIR)${archlibdir}/update-game-score${EXEEXT}" \
|
|
|
|
"$(DESTDIR)${gamedir}" && \
|
|
|
|
chmod u+s,go-r \
|
|
|
|
"$(DESTDIR)${archlibdir}/update-game-score${EXEEXT}" && \
|
|
|
|
chmod u=rwx,g=rx,o=rx "$(DESTDIR)${gamedir}"
|
2017-03-12 19:04:10 +00:00
|
|
|
else
|
2017-03-24 15:09:25 +00:00
|
|
|
-chgrp ${gamegroup} \
|
2017-03-25 00:09:58 +00:00
|
|
|
"$(DESTDIR)${archlibdir}/update-game-score${EXEEXT}" \
|
2017-03-24 15:09:25 +00:00
|
|
|
"$(DESTDIR)${gamedir}" && \
|
|
|
|
chmod g+s,o-r \
|
|
|
|
"$(DESTDIR)${archlibdir}/update-game-score${EXEEXT}" && \
|
|
|
|
chmod u=rwx,g=rwx,o=rx "$(DESTDIR)${gamedir}"
|
2017-03-12 19:04:10 +00:00
|
|
|
endif
|
|
|
|
endif
|
2015-01-22 08:39:30 +00:00
|
|
|
exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd` && \
|
2014-04-29 14:54:58 +00:00
|
|
|
if [ "$$exp_archlibdir" != "`cd ${srcdir} && /bin/pwd`" ]; then \
|
1993-09-30 23:25:30 +00:00
|
|
|
for file in ${SCRIPTS}; do \
|
2015-01-22 08:39:30 +00:00
|
|
|
$(INSTALL_SCRIPT) ${srcdir}/$$file \
|
|
|
|
"$(DESTDIR)${archlibdir}/$$file" || exit; \
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
done ; \
|
1993-06-17 02:59:21 +00:00
|
|
|
fi
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2012-07-30 16:20:35 +00:00
|
|
|
.PHONY: install uninstall mostlyclean clean distclean maintainer-clean
|
2021-05-10 01:14:12 +00:00
|
|
|
.PHONY: bootstrap-clean check tags
|
2012-07-30 16:20:35 +00:00
|
|
|
|
2006-03-03 12:02:31 +00:00
|
|
|
install: $(DESTDIR)${archlibdir}
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
@echo
|
|
|
|
@echo "Installing utilities for users to run."
|
2015-01-22 08:39:30 +00:00
|
|
|
umask 022 && ${MKDIR_P} "$(DESTDIR)${bindir}"
|
1993-05-28 00:55:10 +00:00
|
|
|
for file in ${INSTALLABLES} ; do \
|
2015-01-22 08:39:30 +00:00
|
|
|
$(INSTALL_PROGRAM) $(INSTALL_STRIP) $${file} \
|
|
|
|
"$(DESTDIR)${bindir}"/` \
|
|
|
|
echo $${file} | sed -e 's/${EXEEXT}$$//' -e '$(TRANSFORM)' \
|
|
|
|
`${EXEEXT} || exit; \
|
1993-06-17 02:59:21 +00:00
|
|
|
done
|
1992-04-19 08:53:10 +00:00
|
|
|
|
1993-06-16 23:49:07 +00:00
|
|
|
uninstall:
|
2012-10-26 07:39:47 +00:00
|
|
|
for file in ${INSTALLABLES}; do \
|
2015-01-22 08:39:30 +00:00
|
|
|
rm -f "$(DESTDIR)${bindir}"/` \
|
|
|
|
echo $${file} | sed -e 's/${EXEEXT}$$//' -e '$(TRANSFORM)' \
|
|
|
|
`${EXEEXT}; \
|
2012-10-26 07:39:47 +00:00
|
|
|
done
|
Progress towards allowing installation in directories with whitespace
* Makefile.in (COPYDESTS, write_subdir, install-arch-dep)
(install-arch-indep, install-etcdoc, install-info, install-man)
(install-etc, uninstall): Quote entities that might contain whitespace.
* build-aux/update-subdirs: Handle whitespace in argument.
Check cd return value.
* doc/emacs/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* doc/lispintro/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* doc/lispref/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* doc/misc/Makefile.in (install-dvi, install-html, install-pdf)
(install-ps, uninstall-dvi, uninstall-html, uninstall-ps)
(uninstall-pdf): Quote entities that might contain whitespace.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install)
(uninstall): Quote entities that might contain whitespace.
* nt/Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall):
Quote entities that might contain whitespace.
2013-10-23 07:20:57 +00:00
|
|
|
if [ -d "$(DESTDIR)${archlibdir}" ]; then \
|
2015-01-22 08:39:30 +00:00
|
|
|
cd "$(DESTDIR)${archlibdir}" && \
|
|
|
|
rm -f ${UTILITIES} ${SCRIPTS}; \
|
2010-03-18 05:17:11 +00:00
|
|
|
fi
|
1993-06-16 23:49:07 +00:00
|
|
|
|
1993-11-26 11:08:58 +00:00
|
|
|
mostlyclean:
|
2018-09-24 17:44:34 +00:00
|
|
|
rm -f core ./*.o ./*.res
|
1993-11-26 11:08:58 +00:00
|
|
|
|
|
|
|
clean: mostlyclean
|
2021-05-10 01:46:11 +00:00
|
|
|
-rm -f seccomp-filter.bpf seccomp-filter.pfc seccomp-filter-exec.bpf seccomp-filter-exec.pfc
|
2015-01-22 08:39:30 +00:00
|
|
|
rm -f ${EXE_FILES}
|
1992-04-19 08:53:10 +00:00
|
|
|
|
1993-06-16 23:49:07 +00:00
|
|
|
distclean: clean
|
2015-01-22 08:39:30 +00:00
|
|
|
rm -f TAGS Makefile blessmail
|
1992-04-19 08:53:10 +00:00
|
|
|
|
Parallelize clean rules using GNU make features
* Makefile.in: (submake_template): New definition.
(mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs):
New variables.
(mostlyclean, clean, distclean, bootstrap-clean, maintainer-clean)
(extraclean): Define using each subdirectory as a prequisite.
* lib/Makefile.am (bootstrap-clean):
* doc/emacs/Makefile.in (bootstrap-clean):
* doc/lispintro/Makefile.in (bootstrap-clean):
* doc/lispref/Makefile.in (bootstrap-clean):
* doc/misc/Makefile.in (bootstrap-clean):
* lib-src/Makefile.in (bootstrap-clean):
* lwlib/Makefile.in (bootstrap-clean):
* nextstep/Makefile.in (bootstrap-clean):
* nt/Makefile.in (bootstrap-clean):
* oldXMenu/Makefile.in (bootstrap-clean):
New rules, for symmetry/simplicity.
* lwlib/Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
* oldXMenu/Makefile.in (mostlyclean, clean, distclean, maintainer-clean, tags):
Declare as PHONY.
2014-06-15 00:17:21 +00:00
|
|
|
bootstrap-clean maintainer-clean: distclean
|
* Makefile.in (exec_prefix): New variable.
(bindir, libdir): Use it instead of `prefix'.
* Makefile.in (CFLAGS): #define HAVE_CONFIG_H, too.
* Makefile.in (libdir): Default to ${prefix}/lib.
(archlibdir): Adjusted to match.
* Makefile.in (distclean): Don't delete backup or autosave files.
(extraclean): Like realclean, but does delete backup and autosave
files.
* Makefile.in (realclean): Ignore errors from rm.
* Makefile.in (distclean): Don't bother to delete ../arch-lib;
that doesn't exist anymore.
* Makefile.in (prefix, bindir, libdir, srcdir): New variables, as
described in the top-level Makefile.
(UTILITIES): Add make-path to the list of utility programs.
(../arch-lib): Replaced by the ${archlibdir} target, which places
the executables in their permanent home.
(install, install.sysv, install.xenix): Consolidated into one
target which should work under all circumstances, modulo a few
ignored error messages.
1992-12-12 15:24:50 +00:00
|
|
|
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2010-05-11 03:00:32 +00:00
|
|
|
## Test the contents of the directory.
|
1992-04-19 08:53:10 +00:00
|
|
|
check:
|
2010-05-11 03:18:58 +00:00
|
|
|
@echo "We don't have any tests for the lib-src/ directory yet."
|
1992-04-19 08:53:10 +00:00
|
|
|
|
Build tweaks related to tags files.
* lib-src/Makefile.in (tagsfiles): New variable.
(TAGS): Also depend on the source files. Use our own etags program.
* lisp/Makefile.in (ETAGS): Add EXEEXT.
(lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
Remove.
(tagsfiles): New, replacing lisptagsfiles1 etc.
Remove irrelevant source files here rather than in the TAGS rule.
(${ETAGS}): New rule.
(TAGS): Also depend on the etags executable.
* lwlib/Makefile.in (EXEEXT): New, set by configure.
(ETAGS): Add EXEEXT.
(${ETAGS}): New rule.
(ctagsfiles): Use "wildcard".
(TAGS): Also depend on the etags executable.
* nt/Makefile.in (ETAGS, tagsfiles): New variables.
(${ETAGS}): New rule.
(TAGS): Fix dependencies.
* oldXMenu/Makefile.in (EXEEXT): New, set by configure.
(ETAGS): New variable, replacing $TAGS. Use our own etags program.
Remove "-t" argument.
(${ETAGS}): New rule.
(tagsfiles): New variable.
(TAGS): New rule, with proper dependencies.
* src/Makefile.in (ETAGS): Add EXEEXT. Add a build rule.
(ctagsfiles1, ctagsfiles2): Use "wildcard".
(ctagsfiles3): Remove.
(TAGS): Depend on etags.
(../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
directories decide if updates are needed.
2016-01-06 23:25:47 +00:00
|
|
|
tagsfiles = $(wildcard ${srcdir}/*.[ch])
|
|
|
|
|
|
|
|
.PHONY: tags
|
1995-07-17 21:55:53 +00:00
|
|
|
tags: TAGS
|
Build tweaks related to tags files.
* lib-src/Makefile.in (tagsfiles): New variable.
(TAGS): Also depend on the source files. Use our own etags program.
* lisp/Makefile.in (ETAGS): Add EXEEXT.
(lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
Remove.
(tagsfiles): New, replacing lisptagsfiles1 etc.
Remove irrelevant source files here rather than in the TAGS rule.
(${ETAGS}): New rule.
(TAGS): Also depend on the etags executable.
* lwlib/Makefile.in (EXEEXT): New, set by configure.
(ETAGS): Add EXEEXT.
(${ETAGS}): New rule.
(ctagsfiles): Use "wildcard".
(TAGS): Also depend on the etags executable.
* nt/Makefile.in (ETAGS, tagsfiles): New variables.
(${ETAGS}): New rule.
(TAGS): Fix dependencies.
* oldXMenu/Makefile.in (EXEEXT): New, set by configure.
(ETAGS): New variable, replacing $TAGS. Use our own etags program.
Remove "-t" argument.
(${ETAGS}): New rule.
(tagsfiles): New variable.
(TAGS): New rule, with proper dependencies.
* src/Makefile.in (ETAGS): Add EXEEXT. Add a build rule.
(ctagsfiles1, ctagsfiles2): Use "wildcard".
(ctagsfiles3): Remove.
(TAGS): Depend on etags.
(../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
directories decide if updates are needed.
2016-01-06 23:25:47 +00:00
|
|
|
TAGS: etags${EXEEXT} ${tagsfiles}
|
|
|
|
./etags ${tagsfiles}
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2012-08-01 17:54:06 +00:00
|
|
|
../lib/libgnu.a: $(config_h)
|
2015-06-25 06:34:26 +00:00
|
|
|
$(MAKE) -C ../lib all
|
2011-01-08 21:02:38 +00:00
|
|
|
|
Use Gnulib regex for lib-src
Emacs regular expressions forked from everyone else long ago.
This makes it official and should allow simplification later.
etags.c now uses the glibc regex API, falling back on a
Gnulib-supplied substitute lib/regex.c if necessary.
Emacs proper now uses its own regular expression module.
Although this patch may look dauntingly large, most of it
was generated automatically by admin/merge-gnulib
and contains an exact copy of the glibc regex source,
and the by-hand changes do not grow the Emacs source code.
* admin/merge-gnulib (GNULIB_MODULES): Add regex.
(AVOIDED_MODULES): Add btowc, langinfo, lock, mbrtowc, mbsinit,
nl_langinfo, wchar, wcrtomb, wctype-h.
* lib-src/Makefile.in (regex-emacs.o): Remove; Gnulib does it now.
(etags_deps, etags_libs): Remove regex-emacs.o.
* lib-src/etags.c: Go back to including regex.h.
(add_regex): Use unsigned char translation array,
since glibc regex requires that.
* lib/Makefile.in (not_emacs_OBJECTS, for_emacs_OBJECTS): New macros.
(libegnu_a_OBJECTS): Use them, to avoid building e-regex.o.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
* lib/regex_internal.h, lib/regexec.c, m4/builtin-expect.m4:
* m4/eealloc.m4, m4/glibc21.m4, m4/mbstate_t.m4, m4/regex.m4:
New files, copied from Gnulib.
* src/regex-emacs.h, src/conf_post.h:
(RE_TRANSLATE_TYPE, RE_TRANSLATE, RE_TRANSLATE_P):
Move from src/conf_post.h to src/regex-emacs.h,
so that they don’t interfere with compiling lib/regex.c.
2018-08-06 01:41:20 +00:00
|
|
|
etags_deps = ${srcdir}/etags.c $(NTLIB) $(config_h)
|
2021-01-01 20:52:55 +00:00
|
|
|
etags_libs = $(NTLIB) $(LOADLIBES) $(LIBS_ETAGS)
|
2014-03-22 23:08:41 +00:00
|
|
|
|
|
|
|
etags${EXEEXT}: ${etags_deps}
|
2019-06-20 15:56:22 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} -o $@ $< $(etags_libs)
|
2014-03-22 23:08:41 +00:00
|
|
|
|
2014-05-18 18:57:04 +00:00
|
|
|
## ctags.c is distinct from etags.c so that parallel makes do not write two
|
|
|
|
## etags.o files on top of each other.
|
2014-03-22 23:08:41 +00:00
|
|
|
## FIXME?
|
2014-05-18 18:57:04 +00:00
|
|
|
## Can't we use a wrapper that calls 'etags --ctags'?
|
lib-src/Makefile trivial simplifications
* lib-src/Makefile.in (blessmail): Depend on lisp/mail/blessmail.el.
Use $<, $@.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT}, ntlib.o)
(hexl${EXEEXT}, update-game-score${EXEEXT}, emacsclient.res): Use $<.
(ctags${EXEEXT}): Add $srcdir to dependency rather than using VPATH.
2014-06-26 06:18:53 +00:00
|
|
|
ctags${EXEEXT}: ${srcdir}/ctags.c ${etags_deps}
|
2019-06-20 15:56:22 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} -o $@ $< $(etags_libs)
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2013-04-06 13:25:17 +00:00
|
|
|
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
|
|
|
|
$(config_h)
|
2019-06-20 15:56:22 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} -o $@ $< $(NTLIB) $(LOADLIBES)
|
2000-04-09 10:53:05 +00:00
|
|
|
|
2013-04-06 13:25:17 +00:00
|
|
|
make-docfile${EXEEXT}: ${srcdir}/make-docfile.c $(NTLIB) $(config_h)
|
2014-12-27 19:46:03 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $< $(NTLIB) $(LOADLIBES) -o $@
|
1992-04-19 08:53:10 +00:00
|
|
|
|
Add portable dumper
Add a new portable dumper as an alternative to unexec. Use it by default.
* src/dmpstruct.awk: New file.
* src/doc.c (get_doc_string): use will_dump_p().
* src/editfns.c (styled_format): silence compiler warning
with UNINIT.
* src/emacs-module.c (syms_of_module): staticpro ltv_mark.
* src/emacs.c (gflags): new variable.
(init_cmdargs): unwrap
(string_starts_with_p, find_argument, dump_error_to_string)
(load_pdump): new functions.
(main): detect pdumper and --temacs invocation; actually load
portable dump when detected; set gflags as appropriate; changes to
init functions throughout to avoid passing explicit
'initialized' argument.
* src/eval.c (inhibit_lisp_code): remove unused variable.
(init_eval_once_for_pdumper): new function.
(init_eval_once): call it.
* src/filelock.c: CANNOT_DUMP -> will_dump_p()
* src/fingerprint-dummy.c: new file
* src/fingerprint.h: new file
* src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
(weak_hash_tables): remove
(hashfn_equal, hashfn_eql): un-staticify
(make_hash_table): set new 'next_weak' hash table field; drop
global weak_hash_tables logic.
(copy_hash_table): drop global weak_hash_tables logic.
(hash_table_rehash): new function.
(hash_lookup, hash_put, hash_remove_from_table, hash_clear):
rehash if needed.
(sweep_weak_table): un-staticify; explain logic; bool-ify.
(sweep_weak_hash_tables): remove function.
* src/font.c (syms_of_font): remember pdumper stuff.
* src/fontset.c (syms_of_fontset): remember pdumper stuff.
* src/frame.c (make_initial_frame): don't reset Vframe_list.
(init_frame_once_for_pdumper, init_frame_once): new functions.
(syms_of_frame): remove redundant staticpro.
* src/fringe.c (init_fringe_once_for_pdumper): new functin.
(init_fringe_once): call it.
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
(syms_of_ftcrfont): call it.
* src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
(syms_of_ftfont): call it.
* src/ftxont.c (syms_of_ftxfont_for_pdumper): new function.
(syms_of_ftxfont): call it.
* src/gmalloc.c: adjust for pdumper througout
(DUMPED): remove weird custom dumped indicator.
* src/gnutls.c (syms_of_gnutls): pdumper note for
gnutls_global_initialized.
* src/image.c (syms_of_image): add pdumper comment,
initializer note.
* src/insdel.c (prepare_to_modify_buffer_1): account
for buffer contents possibly being in dump image.
* src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
(syms_of_keyboard): staticpro more; call pdumper syms function.
* src/lisp.h: add comments throughout
(gflags): declare.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p, will_dump_with_unexec_p)
(dumped_with_unexec_p, definitely_will_not_unexec_p): new
functions.
(POWER_OF_2, ROUNDUP): move macros.
(PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
pointer instead of vector; constify.
(Lisp_Hash_Table): add comment about need to rehash on access; add
comment for next_weak.
(HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
(hash_table_rehash): declare.
(hash_rehash_needed_p, hash_rehash_if_needed): new functions.
(finalizers, doomed_finalizers): declare extern.
(SUBR_SECTION_ATTRIBUTE): new macro.
(staticvec, staticidx): un-static-ify.
(sweep_weak_hash_tables): remove declaration.
(sweep_weak_table): declare.
(hashfn_eql, hashfn_equal): declare.
(number_finalizers_run): new variable.
(Vdead): externify when ENABLE_CHECKING.
(gc_root_type): new enumeration.
(gc_root_visitor): new struct.
(visit_static_gc_roots): declare.
(vectorlike_nbytes): declare.
(vector_nbytes): define as trivial inline function wrapper for
vectorlike_nbytes.
(init_obarray_once): change signature.
(primary_thread): extern-ify.
(init_buffer): change signature.
(init_frame_once): declare.
* src/lread.c (readevalloop): adjust for new dumped predicates.
(init_obarray_once): new function.
(ndefsubr): new variable.
(defsubr): increment it.
(load_path_check): adjust for pdumper.
(load_path_default): use pdumper functions; adjust for
dump search.
* src/macfont.m (macfont_init_font_change_handler): avoid
shadowing global.
(syms_of_macfont_for_pdumper): new function.
(syms_of_macfont): call it.
* src/menu.c (syms_of_menu): staticpro more stuff.
* src/minibuf.c (Ftry_completion): rehash if needed.
(init_minibuf_once_for_pdumper): new function.
(init_minibuf_once): call it.
* src/nsfont.m (syms_of_nsfns): staticpro more.
* src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
(syms_of_nsfont): call it.
* src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
* src/pdumper.c: new file.
* src/pdumper.h: new file.
* src/process.c (init_process_emacs): use new pdumper functions
instead of CANNOT_DUMP.
* src/profiler.c (syms_of_profiler_for_pdumper): new function.
(syms_of_profiler_for_pdumper): call it.
* src/search.c (syms_of_search_for_pdumper): new function.
(syms_of_search_for_pdumper): call it.
* src/sheap.c (bss_sbrk_did_unexec): remove.
* src/sheap.h (bss_sbrk_did_unexec): remove.
* src/syntax.c (syms_of_syntax): don't redundantly staticpro
re_match_object.
* src/sysdep.c: use will_dump_with_unexec_p() instead of bss
hack thing.
* src/syssignals.h (init_sigsegv): declare.
* src/systime.h (init_timefns): remove bool from signature.
* src/textprop.c (syms_of_textprop): move staticpro.
* src/thread.c (main_thread_p): constify.
* src/thread.h (main_thread_p): constify.
* src/timefns.c (init_timefns): remove bool from signature.
(syms_of_timefns_for_pdumper): new function.
(syms_of_timefns): call it.
* src/w32.c: rearrange code.
* src/w32.h (w32_relocate): declare.
* src/w32fns.c (syms_of_w32fns): add pdumper note.
* src/w32font.c (syms_of_w32font_for_pdumper): new function.
(syms_of_w32font): call it.
* src/w32heap.c (using_dynamic_heap): new variable.
(init_heap): use it.
* src/w32menu.c (syms_of_w32menu): add pdumper note.
* src/w32proc.c
(ctrl_c_handler, mainCRTStartup, _start, open_input_file)
(rva_to_section, close_file_data): move here.
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
new function.
(syms_of_w32uniscribe): call it.
* src/window.c (init_window_once_for_pdumper): new function.
(init_window_once): call it; staticpro more stuff.
* src/xfont.c (syms_of_xfont_for_pdumper): new function.
(syms_of_xfont): call it.
* src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
(syms_of_xftfont): call it.
* src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
(syms_of_xmenu): call it.
* src/xselect.c (syms_of_xselect_for_pdumper): new function.
(syms_of_xselect): call it.
* src/xsettings.c (syms_of_xsettings): add more pdumper notes.
* src/term.c (syms_of_xterm): add pdumper note.
* src/dispnew.c (init_faces_initial): new function.
(init_display_interactive): rename from init_display; use
will_dump_p instead of !initialized. Initialize faces early for
pdumper if needed.
(init_display): new function.
(syms_of_display_for_pdumper): new function.
(syms_of_display): call it.
* src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
on pdumper load.
* src/data.c (Fdefalias): Use will_dump_p
instead of Vpurify_flag.
(Fmake_variable_buffer_local): silence compiler warning with -Og
by making valcontents UNINIT.
(arith_driver): silence compiler warning with UNINIT.
* src/conf_post.h (ATTRIBUTE_SECTION): new macro.
* src/composite.c (composition_gstring_put_cache): rehash hash
table if needed.
* src/coding.c (init_coding_once, syms_of_coding): remember
pdumper stuff.
* src/charset.h (charset_table_size, charset_table_user): declare.
* src/charset.c (charset_table_used, charset_table_size): un-static.
(init_charset_oncem, syms_of_charset): remember pdumper stuff.
* src/category.c (category_table_version): remove obsolete
variable.
* src/callint.c (syms_of_callint): staticpro 'preserved_fns'
(init_callproc): use will_dump_p instead of !CANNOT_DUMP.
* src/bytecode.c (exec_byte_code): rehash table tables if needed
* src/buffer.c (alloc_buffer_text, free_buffer_text): account for
pdumper
(init_buffer_once): add TODO; remember stuff for pdumper.
(init_buffer): don't take initialized argument; adjust
for pdumper.
* src/atimer.c (init_atimer): initialize subr only if
!initialized.
* src/alloc.c: (vector_marked_p, set_vector_marked)
(vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
(set_cons_marked, string_marked_p, set_string_marked)
(symbol_marked_p, set_symbol_marked, interval_marked_p)
(set_interval_marked): new accessor routines. Use them
instead of raw GC access throughout.
(Vdead): make non-static when ENABLE_CHECKING.
(vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
header as input instead of a vector.
(number_finalizers_run): new internal C variable.
(mark_maybe_object): check for pdumper objects.
(valid_pointer_p): don't be gratuitously inefficient under rr(1).
(make_pure_c_string): add support for size_byte = -2 mode
indicating that string data points into Emacs image rodata.
(visit_vectorlike_root): visits GC roots embedded in
vectorlike objects.
(visit_buffer_root): visits GC roots embedded in
our totally-not-a-buffer buffer global objects.
(visit_static_gc_roots): visit GC roots in the Emacs data section.
(mark_object_root_visitor): root callback used for conventional GC
marking
(weak_hash_tables): new internal variable for tracking found weak
hash tables during GC.
(mark_and_sweep_weak_table_contents): new weak hash table marking.
(garbage_collect_1): use new GC root visitor machinery.
(mark_vectorlike): accept a vectorlike_header instead of a
Lisp_Vector.
(mark_frame, mark_window, mark_hash_table): new functions.
(mark_object): initialize 'm'; check for pdumper objects and use
new mark-bit accessors throughout. Remove some object-specific
marking code and move to helper functions above.
(survives_gc_p): check for pdumper objects.
(gc-sweep): clear pdumper mark bits.
(init_alloc_once_for_pdumper): new helper function for early init
called both during normal init and pdumper load.
(init_alloc_once): pdumper integration.
* src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
invoke temacs with --temacs command line option; build dmpstruct.h
from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
intermediate files during build.
* nextstep/Makefile.in: build emacs.pdmp into NS packages
* lisp/startup.el: account for new '--temacs' and '--dump-file'
command line option.
* lisp/loadup.el: rewrite early init to account for pdumper; use
injected 'dump-mode' variable (set via the new '--temacs' option)
instead of parsing command line.
* lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
since the new 'dump-mode'
* lib-src/make-fingerprint.c: new program
* lib-src/Makefile.in: built make-fingerprint utility program
* configure.ac: Add --with-pdumper toggle to control pdumper
support; add --with-unexec toggle to control unexec support.
Add --with-dumping option to control which dumping strategy we use
by default. Adjust for pdumper throughout. Check for
posix_madvise.
* Makefile.in: Add @DUMPING@ substitution; add pdumper mode.
* .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
dmpstruct.h, and pdumper dump files.
2019-01-15 22:36:54 +00:00
|
|
|
make-fingerprint${EXEEXT}: ${srcdir}/make-fingerprint.c $(NTLIB) $(config_h)
|
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $< $(NTLIB) $(LOADLIBES) -o $@
|
|
|
|
|
2013-03-31 14:04:49 +00:00
|
|
|
movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(NTLIB) $(config_h)
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} $< pop.o \
|
2014-12-27 19:46:03 +00:00
|
|
|
$(NTLIB) $(LOADLIBES) $(LIBS_MOVE) -o $@
|
1994-09-27 19:43:07 +00:00
|
|
|
|
2013-04-06 13:25:17 +00:00
|
|
|
pop.o: ${srcdir}/pop.c ${srcdir}/pop.h ${srcdir}/../lib/min-max.h $(config_h)
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
$(AM_V_CC)$(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} $<
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2013-04-01 13:51:33 +00:00
|
|
|
emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(config_h)
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $< \
|
2019-06-20 15:56:22 +00:00
|
|
|
$(NTLIB) $(LOADLIBES) \
|
2019-04-25 15:50:50 +00:00
|
|
|
$(LIB_WSOCK32) $(LIB_EACCESS) $(LIBS_ECLIENT) -o $@
|
2013-03-30 17:00:51 +00:00
|
|
|
|
2013-04-01 13:51:33 +00:00
|
|
|
emacsclientw${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(CLIENTRES) $(config_h)
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $(CLIENTRES) -mwindows $< \
|
2019-06-20 15:56:22 +00:00
|
|
|
$(LOADLIBES) \
|
2019-04-25 15:50:50 +00:00
|
|
|
$(LIB_WSOCK32) $(LIB_EACCESS) $(LIBS_ECLIENT) -o $@
|
2013-04-06 13:25:17 +00:00
|
|
|
|
2013-04-06 14:03:08 +00:00
|
|
|
NTINC = ${srcdir}/../nt/inc
|
2013-04-06 13:25:17 +00:00
|
|
|
NTDEPS = $(NTINC)/ms-w32.h $(NTINC)/sys/stat.h $(NTINC)/inttypes.h \
|
|
|
|
$(NTINC)/stdint.h $(NTINC)/pwd.h $(NTINC)/sys/time.h $(NTINC)/stdbool.h \
|
|
|
|
$(NTINC)/sys/wait.h $(NTINC)/unistd.h $(NTINC)/sys/file.h $(NTINC)/netdb.h
|
2013-04-01 13:51:33 +00:00
|
|
|
|
2013-04-06 13:25:17 +00:00
|
|
|
# The dependency on $(NTDEPS) is a trick intended to cause recompile of
|
|
|
|
# programs on MinGW whenever some private header in nt/inc is modified.
|
|
|
|
ntlib.o: ${srcdir}/ntlib.c ${srcdir}/ntlib.h $(NTDEPS)
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
$(AM_V_CC)$(CC) -c ${CPP_CFLAGS} $<
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2013-04-06 13:25:17 +00:00
|
|
|
hexl${EXEEXT}: ${srcdir}/hexl.c $(NTLIB) $(config_h)
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} $< $(LOADLIBES) -o $@
|
1992-04-19 08:53:10 +00:00
|
|
|
|
2013-03-31 14:04:49 +00:00
|
|
|
update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h)
|
--enable-silent-warnings now suppresses more chatter.
* INSTALL, etc/NEWS: Document this.
* lib-src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(regex.o, etags${EXEEXT}, ctags${EXEEXT}, ebrowse${EXEEXT})
(profile${EXEEXT}, make-docfile${EXEEXT}, movemail${EXEEXT})
(pop.o, emacsclient${EXEEXT}, emacsclientw${EXEEXT})
(emacsclientw${EXEEXT}, ntlib.o, hexl${EXEEXT})
(update-game-score${EXEEXT}): Use them.
* lwlib/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* oldXMenu/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1): New macros, taken from Automake.
(.c.o): Use them.
* src/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
(am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
(am__v_CCLD_1): New macros, taken from Automake.
(.c.o, .m.o, temacs$(EXEEXT)): Use them.
2014-09-01 09:49:51 +00:00
|
|
|
$(AM_V_CCLD)$(CC) ${ALL_CFLAGS} \
|
|
|
|
-DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
|
2014-12-27 19:46:03 +00:00
|
|
|
$< $(NTLIB) $(LOADLIBES) -o $@
|
2010-05-11 03:00:32 +00:00
|
|
|
|
2014-11-23 19:33:56 +00:00
|
|
|
emacsclient.res: ../nt/emacsclient.rc $(NTINC)/../icons/emacs.ico
|
Support Make verbosity levels in w32 targets previously left out
nt/Makefile.in (AM_V_CC, am__v_CC_, am__v_CC_0, am__v_CC_1)
(AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0, am__v_CCLD_1, AM_V_RC)
(am__v_RC_, am__v_RC_0, am__v_RC_1): New macros.
(addpm${EXEEXT}, ddeclient${EXEEXT}, cmdproxy${EXEEXT})
(runemacs${EXEEXT}): Use $(AM_V_CCLD).
(emacs.res, ../src/emacs.res): Use $(AM_V_RC).
lib-src/Makefile.in (AM_V_RC, am__v_RC_, am__v_RC_0, am__v_RC_1): New
macros.
(emacsclient.res): Use $(AM_V_RC).
2015-01-16 09:33:08 +00:00
|
|
|
$(AM_V_RC)$(WINDRES) -O coff --include-dir=$(NTINC)/.. -o $@ $<
|
2013-04-01 13:18:20 +00:00
|
|
|
|
2021-04-11 14:22:54 +00:00
|
|
|
ifeq ($(SECCOMP_FILTER),1)
|
2020-12-17 10:20:55 +00:00
|
|
|
seccomp-filter$(EXEEXT): $(srcdir)/seccomp-filter.c $(config_h)
|
2021-04-11 14:50:29 +00:00
|
|
|
$(AM_V_CCLD)$(CC) $(ALL_CFLAGS) $(LIBSECCOMP_CFLAGS) $< \
|
|
|
|
$(LIBSECCOMP_LIBS) -o $@
|
2020-12-17 10:20:55 +00:00
|
|
|
|
2021-04-11 17:47:36 +00:00
|
|
|
seccomp-filter.bpf seccomp-filter.pfc seccomp-filter-exec.bpf seccomp-filter-exec.pfc: seccomp-filter$(EXEEXT)
|
2020-12-17 10:20:55 +00:00
|
|
|
$(AM_V_GEN)./seccomp-filter$(EXEEXT) \
|
2021-04-11 17:47:36 +00:00
|
|
|
seccomp-filter.bpf seccomp-filter.pfc \
|
|
|
|
seccomp-filter-exec.bpf seccomp-filter-exec.pfc
|
2020-12-17 10:20:55 +00:00
|
|
|
endif
|
|
|
|
|
2010-05-11 03:00:32 +00:00
|
|
|
## Makefile ends here.
|