aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2015-08-15 10:56:51 +0300
committerEli Zaretskii2015-08-15 10:56:51 +0300
commit8db2b2a7d3fc3e4475bc4137c11069a69a3234ec (patch)
tree9c3141edc2818d2e2909f2ad89a9620a0ec45937
parent8fa49a6786bd71aa91b1e82709bc1852a65c4646 (diff)
downloademacs-8db2b2a7d3fc3e4475bc4137c11069a69a3234ec.tar.gz
emacs-8db2b2a7d3fc3e4475bc4137c11069a69a3234ec.zip
Remove files used by the old MS-Windows specific build procedure
* nt/configure.bat: Remove everything except the blurb about the new build procedure. * make-dist: Remove references to makefile.w32-in in various directories, and to files in nt/ that were deleted. * etc/NEWS: Mention the fact that the files were dropped.
-rw-r--r--admin/unidata/makefile.w32-in56
-rw-r--r--doc/emacs/makefile.w32-in153
-rw-r--r--doc/lispintro/makefile.w32-in85
-rw-r--r--doc/lispref/makefile.w32-in128
-rw-r--r--doc/misc/makefile.w32-in431
-rw-r--r--etc/NEWS7
-rw-r--r--leim/makefile.w32-in237
-rw-r--r--lib-src/makefile.w32-in482
-rw-r--r--lib/makefile.w32-in347
-rw-r--r--lisp/makefile.w32-in728
-rwxr-xr-xmake-dist21
-rw-r--r--nt/INSTALL.OLD752
-rw-r--r--nt/config.nt1847
-rwxr-xr-xnt/configure.bat954
-rw-r--r--nt/emacs-src.tags6
-rw-r--r--nt/envadd.bat43
-rw-r--r--nt/gmake.defs333
-rw-r--r--nt/makefile.w32-in465
-rw-r--r--nt/multi-install-info.bat40
-rw-r--r--nt/nmake.defs294
-rw-r--r--nt/paths.h66
-rw-r--r--src/makefile.w32-in1725
22 files changed, 18 insertions, 9182 deletions
diff --git a/admin/unidata/makefile.w32-in b/admin/unidata/makefile.w32-in
deleted file mode 100644
index 0e9b9f0d2bd..00000000000
--- a/admin/unidata/makefile.w32-in
+++ /dev/null
@@ -1,56 +0,0 @@
1# makefile.w32-in -- W32 -*- Makefile -*- to generate character property tables.
2# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
3# National Institute of Advanced Industrial Science and Technology (AIST)
4# Registration Number H13PRO009
5#
6# This file is part of GNU Emacs.
7
8# GNU Emacs is free software: you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12
13# GNU Emacs is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17
18# You should have received a copy of the GNU General Public License
19# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
20
21
22EMACS = ../../src/$(BLD)/emacs.exe
23DSTDIR = ../../lisp/international
24lisp = $(CURDIR)/../../lisp
25# EMACSLOADPATH should include international, so Emacs finds encoded-kb.
26# It should include emacs-lisp, so Emacs finds bytecomp. This is because
27# lisp/subdirs.el is not generated yet when the commands below run.
28EMACSLOADPATH = $(lisp);$(lisp)/international;$(lisp)/emacs-lisp
29# Quote EMACS so it could be a file name with embedded whitespace
30RUNEMACS = "$(EMACS)" -Q -batch
31
32all: $(DSTDIR)/charprop.el
33
34.el.elc:
35 $(RUNEMACS) -f batch-byte-compile $<
36
37unidata.txt: UnicodeData.txt
38 sed -e \
39 $(ARGQUOTE)s/\([^;]*\);\(.*\)/(#x\1 $(DQUOTE)\2$(DQUOTE))/$(ARGQUOTE)\
40 -e $(ARGQUOTE)s/;/$(DQUOTE) $(DQUOTE)/g$(ARGQUOTE) < UnicodeData.txt > $@
41
42charprop-SH: unidata-gen.elc unidata.txt
43 ELC=$(CURDIR)/unidata-gen.elc; \
44 DATADIR=$(CURDIR); \
45 DATA=unidata.txt; \
46 cd $(DSTDIR); \
47 $(RUNEMACS) --load $${ELC} -f unidata-gen-files $${DATADIR} $${DATA}
48
49charprop-CMD: unidata-gen.elc unidata.txt
50 $(RUNEMACS) --eval $(ARGQUOTE)(cd $(DQUOTE)$(DSTDIR)$(DQUOTE))$(ARGQUOTE) --load $(CURDIR)/unidata-gen.elc -f unidata-gen-files $(CURDIR) unidata.txt
51
52${DSTDIR}/charprop.el: charprop-$(SHELLTYPE)
53
54clean:
55 - $(DEL) unidata-gen.elc unidata.txt
56
diff --git a/doc/emacs/makefile.w32-in b/doc/emacs/makefile.w32-in
deleted file mode 100644
index 99da4ab125c..00000000000
--- a/doc/emacs/makefile.w32-in
+++ /dev/null
@@ -1,153 +0,0 @@
1#### -*- Makefile -*- for the Emacs Manual
2
3# Copyright (C) 2003-2015 Free Software Foundation, Inc.
4
5# This file is part of GNU Emacs.
6
7# GNU Emacs is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version.
11
12# GNU Emacs is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16
17# You should have received a copy of the GNU General Public License
18# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19
20
21# Where to find the source code. The source code for Emacs's C kernel is
22# expected to be in $(srcdir)/src, and the source code for Emacs's
23# utility programs is expected to be in $(srcdir)/lib-src. This is
24# set by the configure script's '--srcdir' option.
25srcdir=.
26
27infodir = $(srcdir)/../../info
28
29# The makeinfo program is part of the Texinfo distribution.
30MAKEINFO = makeinfo
31MAKEINFO_OPTS = --force --enable-encoding -I$(srcdir)
32MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat
33INFO_EXT=.info
34INFO_OPTS=--no-split
35INFO_TARGETS = $(infodir)/emacs$(INFO_EXT)
36DVI_TARGETS = emacs.dvi
37INFOSOURCES = info.texi
38
39# The following rule does not work with all versions of 'make'.
40.SUFFIXES: .texi .dvi
41.texi.dvi:
42 texi2dvi $<
43
44TEXI2DVI = texi2dvi
45ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \
46 "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C
47
48EMACS_XTRA=\
49 $(srcdir)/arevert-xtra.texi \
50 $(srcdir)/cal-xtra.texi \
51 $(srcdir)/dired-xtra.texi \
52 $(srcdir)/picture-xtra.texi \
53 $(srcdir)/emerge-xtra.texi \
54 $(srcdir)/vc-xtra.texi \
55 $(srcdir)/vc1-xtra.texi \
56 $(srcdir)/fortran-xtra.texi \
57 $(srcdir)/msdos-xtra.texi
58
59EMACSSOURCES= \
60 $(srcdir)/emacs.texi \
61 $(srcdir)/emacsver.texi \
62 $(srcdir)/doclicense.texi \
63 $(srcdir)/screen.texi \
64 $(srcdir)/commands.texi \
65 $(srcdir)/entering.texi \
66 $(srcdir)/basic.texi \
67 $(srcdir)/mini.texi \
68 $(srcdir)/m-x.texi \
69 $(srcdir)/help.texi \
70 $(srcdir)/mark.texi \
71 $(srcdir)/killing.texi \
72 $(srcdir)/regs.texi \
73 $(srcdir)/display.texi \
74 $(srcdir)/search.texi \
75 $(srcdir)/fixit.texi \
76 $(srcdir)/files.texi \
77 $(srcdir)/buffers.texi \
78 $(srcdir)/windows.texi \
79 $(srcdir)/frames.texi \
80 $(srcdir)/mule.texi \
81 $(srcdir)/modes.texi \
82 $(srcdir)/indent.texi \
83 $(srcdir)/text.texi \
84 $(srcdir)/programs.texi \
85 $(srcdir)/building.texi \
86 $(srcdir)/maintaining.texi \
87 $(srcdir)/abbrevs.texi \
88 $(srcdir)/sending.texi \
89 $(srcdir)/rmail.texi \
90 $(srcdir)/dired.texi \
91 $(srcdir)/calendar.texi \
92 $(srcdir)/misc.texi \
93 $(srcdir)/package.texi \
94 $(srcdir)/custom.texi \
95 $(srcdir)/trouble.texi \
96 $(srcdir)/cmdargs.texi \
97 $(srcdir)/xresources.texi \
98 $(srcdir)/anti.texi \
99 $(srcdir)/macos.texi \
100 $(srcdir)/msdos.texi \
101 $(srcdir)/gnu.texi \
102 $(srcdir)/glossary.texi \
103 $(srcdir)/ack.texi \
104 $(srcdir)/kmacro.texi \
105 $(EMACS_XTRA)
106
107info: $(INFO_TARGETS)
108
109dvi: $(DVI_TARGETS)
110
111# Note that all the Info targets build the Info files
112# in srcdir. There is no provision for Info files
113# to exist in the build directory.
114# In a distribution of Emacs, the Info files should be up to date.
115
116$(infodir)/dir:
117 $(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS)
118
119$(infodir)/emacs$(INFO_EXT): $(EMACSSOURCES)
120 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ emacs.texi
121
122emacs.dvi: $(EMACSSOURCES)
123 $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs.texi
124
125emacs.html: $(EMACSSOURCES)
126 $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ emacs.texi
127
128emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA)
129 $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-xtra.texi
130
131mostlyclean:
132 - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.*
133
134## FIXME $(infodir)/emacs* deletes too much, eg emacs-mime.
135clean: mostlyclean
136 - $(DEL) *.dvi
137 - $(DEL) $(infodir)/emacs*
138 - $(DEL_TREE) emacs.html
139
140distclean: clean
141 - $(DEL) makefile
142
143maintainer-clean: distclean
144 - $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
145# Don't delete these, because they are outside the current directory.
146# for file in $(INFO_TARGETS); do rm -f $${file}*; done
147
148
149# Formerly this directory had texindex.c and getopt.c in it
150# and this makefile built them to make texindex.
151# That caused trouble because this is run entirely in the source directory.
152# Since we expect to get texi2dvi from elsewhere,
153# it is ok to expect texindex from elsewhere also.
diff --git a/doc/lispintro/makefile.w32-in b/doc/lispintro/makefile.w32-in
deleted file mode 100644
index 12e3a431569..00000000000
--- a/doc/lispintro/makefile.w32-in
+++ /dev/null
@@ -1,85 +0,0 @@
1#### -*- Makefile -*- for the Emacs Lisp Introduction manual.
2
3# Copyright (C) 2003-2015 Free Software Foundation, Inc.
4
5# This file is part of GNU Emacs.
6
7# GNU Emacs is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version.
11
12# GNU Emacs is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16
17# You should have received a copy of the GNU General Public License
18# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19
20
21srcdir = .
22
23infodir = $(srcdir)/../../info
24# Directory with the (customized) texinfo.tex file.
25texinfodir = $(srcdir)/../misc
26# Directory with emacsver.texi.
27emacsdir = $(srcdir)/../emacs
28
29INFO_EXT=.info
30INFO_OPTS=--no-split -I$(emacsdir)
31INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi $(emacsdir)/emacsver.texi \
32 $(srcdir)/doclicense.texi
33# The file name eintr must fit within 5 characters, to allow for
34# -NN extensions to fit into DOS 8+3 limits without clashing
35INFO_TARGETS = $(infodir)/eintr$(INFO_EXT)
36DVI_TARGETS = emacs-lisp-intro.dvi
37
38MAKEINFO = makeinfo
39INSTALL_INFO = install-info
40TEXI2DVI = texi2dvi
41TEXI2PDF = texi2pdf
42DVIPS = dvips
43ENVADD = $(srcdir)\..\..\nt\envadd.bat \
44 "TEXINPUTS=$(srcdir);$(texinfodir);$(emacsdir);$(TEXINPUTS)" \
45 "MAKEINFO=$(MAKEINFO) -I$(srcdir) -I$(emacsdir) -I$(texinfodir)" /C
46
47.SUFFIXES: .dvi .ps .texi
48
49info: $(INFO_TARGETS)
50
51$(infodir)/dir:
52 $(INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS)
53
54dvi: $(DVI_TARGETS)
55
56$(infodir)/eintr$(INFO_EXT): $(INFO_SOURCES)
57 $(MAKEINFO) $(INFO_OPTS) -o $@ $(srcdir)/emacs-lisp-intro.texi
58
59emacs-lisp-intro.dvi: $(INFO_SOURCES)
60 $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi
61
62emacs-lisp-intro.pdf: $(INFO_SOURCES)
63 $(ENVADD) $(TEXI2PDF) $(srcdir)/emacs-lisp-intro.texi
64
65emacs-lisp-intro.html: $(INFO_SOURCES)
66 $(MAKEINFO) --html -o $@ $(srcdir)/emacs-lisp-intro.texi
67
68.dvi.ps:
69 $(DVIPS) $< -o $@
70
71mostlyclean:
72 - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr *.tp
73
74clean: mostlyclean
75 - $(DEL) *.dvi $(infodir)/eintr$(INFO_EXT)*
76
77distclean: clean
78 - $(DEL) makefile
79
80maintainer-clean: distclean
81 - $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
82
83# Tell versions [3.59,3.63) of GNU make to not export all variables.
84# Otherwise a system limit (for SysV at least) may be exceeded.
85.NOEXPORT:
diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in
deleted file mode 100644
index c30d6e2d1a4..00000000000
--- a/doc/lispref/makefile.w32-in
+++ /dev/null
@@ -1,128 +0,0 @@
1# -*- Makefile -*- for the GNU Emacs Lisp Reference Manual.
2
3# Copyright (C) 2003-2015 Free Software Foundation, Inc.
4
5# This file is part of GNU Emacs.
6
7# GNU Emacs is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version.
11
12# GNU Emacs is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16
17# You should have received a copy of the GNU General Public License
18# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19
20
21# Standard configure variables.
22srcdir = .
23
24infodir = $(srcdir)/../../info
25
26# Directory with emacsver.texi.
27emacsdir = $(srcdir)/../emacs
28# Directory with the (customized) texinfo.tex file.
29texinfodir = $(srcdir)/../misc
30
31INFO_EXT=.info
32INFO_OPTS=--no-split
33
34# Redefine 'TEX' if 'tex' does not invoke plain TeX. For example:
35# TEX=platex
36TEX=tex
37INSTALL_INFO = install-info
38MAKEINFO = makeinfo
39MAKEINFO_OPTS = --force --enable-encoding -I$(srcdir) -I$(emacsdir)
40
41# The environment variable and its value to add $(srcdir) to the path
42# searched for TeX input files.
43texinputdir = $(srcdir)\..\..\nt\envadd.bat \
44 "TEXINPUTS=$(srcdir);$(texinfodir);$(emacsdir);$(TEXINPUTS)" \
45 "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C
46
47# List of all the texinfo files in the manual:
48
49srcs = \
50 $(emacsdir)/emacsver.texi \
51 $(srcdir)/abbrevs.texi \
52 $(srcdir)/anti.texi \
53 $(srcdir)/backups.texi \
54 $(srcdir)/buffers.texi \
55 $(srcdir)/commands.texi \
56 $(srcdir)/compile.texi \
57 $(srcdir)/control.texi \
58 $(srcdir)/customize.texi \
59 $(srcdir)/debugging.texi \
60 $(srcdir)/display.texi \
61 $(srcdir)/edebug.texi \
62 $(srcdir)/elisp.texi \
63 $(srcdir)/errors.texi \
64 $(srcdir)/eval.texi \
65 $(srcdir)/files.texi \
66 $(srcdir)/frames.texi \
67 $(srcdir)/functions.texi \
68 $(srcdir)/hash.texi \
69 $(srcdir)/help.texi \
70 $(srcdir)/hooks.texi \
71 $(srcdir)/internals.texi \
72 $(srcdir)/intro.texi \
73 $(srcdir)/keymaps.texi \
74 $(srcdir)/lists.texi \
75 $(srcdir)/loading.texi \
76 $(srcdir)/macros.texi \
77 $(srcdir)/maps.texi \
78 $(srcdir)/markers.texi \
79 $(srcdir)/minibuf.texi \
80 $(srcdir)/modes.texi \
81 $(srcdir)/nonascii.texi \
82 $(srcdir)/numbers.texi \
83 $(srcdir)/objects.texi \
84 $(srcdir)/os.texi \
85 $(srcdir)/package.texi \
86 $(srcdir)/positions.texi \
87 $(srcdir)/processes.texi \
88 $(srcdir)/searching.texi \
89 $(srcdir)/sequences.texi \
90 $(srcdir)/streams.texi \
91 $(srcdir)/strings.texi \
92 $(srcdir)/symbols.texi \
93 $(srcdir)/syntax.texi \
94 $(srcdir)/text.texi \
95 $(srcdir)/tips.texi \
96 $(srcdir)/variables.texi \
97 $(srcdir)/windows.texi \
98 $(srcdir)/index.texi \
99 $(srcdir)/gpl.texi \
100 $(srcdir)/doclicense.texi
101
102
103.PHONY: clean
104
105# The info file is named 'elisp'.
106
107info: $(infodir)/elisp$(INFO_EXT)
108
109$(infodir)/dir:
110 $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/elisp
111
112$(infodir)/elisp$(INFO_EXT): $(srcs)
113 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $(srcdir)/elisp.texi
114
115elisp.dvi: $(srcs)
116 $(texinputdir) $(TEX) $(srcdir)/elisp.texi
117
118clean:
119 - $(DEL) *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
120 *.vr *.vrs *.pg *.pgs *.ky *.kys
121 - $(DEL) make.out core
122 - $(DEL) $(infodir)/elisp*
123
124distclean: clean
125 - $(DEL) makefile
126
127maintainer-clean: distclean
128 - $(DEL) elisp$(INFO_EXT) elisp$(INFO_EXT)-? elisp$(INFO_EXT)-?? elisp.dvi elisp.oaux
diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in
deleted file mode 100644
index 398b774c481..00000000000
--- a/doc/misc/makefile.w32-in
+++ /dev/null
@@ -1,431 +0,0 @@
1#### -*- Makefile -*- for documentation other than the Emacs manual.
2
3# Copyright (C) 2003-2015 Free Software Foundation, Inc.
4
5# This file is part of GNU Emacs.
6
7# GNU Emacs is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version.
11
12# GNU Emacs is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16
17# You should have received a copy of the GNU General Public License
18# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19
20
21# Where to find the source code. The source code for Emacs's C kernel is
22# expected to be in $(srcdir)/src, and the source code for Emacs's
23# utility programs is expected to be in $(srcdir)/lib-src. This is
24# set by the configure script's '--srcdir' option.
25srcdir=.
26
27infodir = $(srcdir)/../../info
28
29## Directory with emacsver.texi.
30## Currently only used by efaq; could be added to MAKEINFO.
31emacsdir = $(srcdir)/../emacs
32
33INFO_EXT=.info
34INFO_OPTS=--no-split
35
36# The makeinfo program is part of the Texinfo distribution.
37MAKEINFO = makeinfo
38MAKEINFO_OPTS = --force -I$(emacsdir)
39MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat
40INFO_TARGETS = $(infodir)/ccmode$(INFO_EXT) \
41 $(infodir)/cl$(INFO_EXT) $(infodir)/dbus$(INFO_EXT) $(infodir)/dired-x$(INFO_EXT) \
42 $(infodir)/ediff$(INFO_EXT) $(infodir)/forms$(INFO_EXT) $(infodir)/gnus$(INFO_EXT) \
43 $(infodir)/message$(INFO_EXT) $(infodir)/sieve$(INFO_EXT) $(infodir)/pgg$(INFO_EXT) \
44 $(infodir)/emacs-mime$(INFO_EXT) $(infodir)/info$(INFO_EXT) $(infodir)/mh-e$(INFO_EXT) \
45 $(infodir)/reftex$(INFO_EXT) $(infodir)/sc$(INFO_EXT) $(infodir)/vip$(INFO_EXT) \
46 $(infodir)/viper$(INFO_EXT) $(infodir)/widget$(INFO_EXT) $(infodir)/efaq$(INFO_EXT) \
47 $(infodir)/ada-mode$(INFO_EXT) $(infodir)/autotype$(INFO_EXT) $(infodir)/calc$(INFO_EXT) \
48 $(infodir)/idlwave$(INFO_EXT) $(infodir)/eudc$(INFO_EXT) $(infodir)/ebrowse$(INFO_EXT) \
49 $(infodir)/pcl-cvs$(INFO_EXT) $(infodir)/woman$(INFO_EXT) $(infodir)/eshell$(INFO_EXT) \
50 $(infodir)/org$(INFO_EXT) $(infodir)/url$(INFO_EXT) $(infodir)/speedbar$(INFO_EXT) \
51 $(infodir)/tramp$(INFO_EXT) $(infodir)/ses$(INFO_EXT) $(infodir)/smtpmail$(INFO_EXT) \
52 $(infodir)/flymake$(INFO_EXT) $(infodir)/newsticker$(INFO_EXT) $(infodir)/rcirc$(INFO_EXT) \
53 $(infodir)/erc$(INFO_EXT) $(infodir)/ert$(INFO_EXT) \
54 $(infodir)/remember$(INFO_EXT) $(infodir)/nxml-mode$(INFO_EXT) \
55 $(infodir)/epa$(INFO_EXT) $(infodir)/mairix-el$(INFO_EXT) $(infodir)/sasl$(INFO_EXT) \
56 $(infodir)/auth$(INFO_EXT) $(infodir)/eieio$(INFO_EXT) $(infodir)/ede$(INFO_EXT) \
57 $(infodir)/semantic$(INFO_EXT) $(infodir)/edt$(INFO_EXT) $(infodir)/emacs-gnutls$(INFO_EXT) \
58 $(infodir)/srecode$(INFO_EXT) $(infodir)/bovine$(INFO_EXT) \
59 $(infodir)/wisent$(INFO_EXT) $(infodir)/htmlfontify$(INFO_EXT)
60DVI_TARGETS = calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi \
61 ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \
62 sieve.dvi pgg.dvi mh-e.dvi \
63 reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \
64 ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \
65 pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \
66 speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \
67 newsticker.dvi rcirc.dvi erc.dvi ert.dvi \
68 remember.dvi nxml-mode.dvi \
69 epa.dvi mairix-el.dvi sasl.dvi auth.dvi eieio.dvi ede.dvi \
70 semantic.dvi edt.dvi emacs-gnutls.dvi srecode.dvi bovine.dvi \
71 wisent.dvi htmlfontify.dvi
72INFOSOURCES = info.texi
73
74# The following rule does not work with all versions of 'make'.
75.SUFFIXES: .texi .dvi
76.texi.dvi:
77 texi2dvi $<
78
79TEXI2DVI = texi2dvi
80ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \
81 "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C
82
83
84info: $(INFO_TARGETS)
85
86dvi: $(DVI_TARGETS)
87
88# Note that all the Info targets build the Info files
89# in srcdir. There is no provision for Info files
90# to exist in the build directory.
91# In a distribution of Emacs, the Info files should be up to date.
92
93$(infodir)/dir:
94 $(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS)
95
96# The following target uses an explicit -o switch to work around
97# the @setfilename directive in info.texi, which is required for
98# the Texinfo distribution.
99# Some Windows ports of makeinfo seem to require -o to come before the
100# texi filename, contrary to GNU standards.
101
102$(infodir)/info$(INFO_EXT): $(INFOSOURCES)
103 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ info.texi
104
105info.dvi: $(INFOSOURCES)
106 $(ENVADD) $(TEXI2DVI) $(srcdir)/info.texi
107
108
109$(infodir)/ccmode$(INFO_EXT): cc-mode.texi
110 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ cc-mode.texi
111cc-mode.dvi: cc-mode.texi
112 $(ENVADD) $(TEXI2DVI) $(srcdir)/cc-mode.texi
113
114$(infodir)/ada-mode$(INFO_EXT): ada-mode.texi
115 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ada-mode.texi
116ada-mode.dvi: ada-mode.texi
117 $(ENVADD) $(TEXI2DVI) $(srcdir)/ada-mode.texi
118
119$(infodir)/pcl-cvs$(INFO_EXT): pcl-cvs.texi
120 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ pcl-cvs.texi
121pcl-cvs.dvi: pcl-cvs.texi
122 $(ENVADD) $(TEXI2DVI) $(srcdir)/pcl-cvs.texi
123
124$(infodir)/eshell$(INFO_EXT): eshell.texi
125 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eshell.texi
126eshell.dvi: eshell.texi
127 $(ENVADD) $(TEXI2DVI) $(srcdir)/eshell.texi
128
129$(infodir)/cl$(INFO_EXT): cl.texi
130 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ cl.texi
131cl.dvi: cl.texi
132 $(ENVADD) $(TEXI2DVI) $(srcdir)/cl.texi
133
134$(infodir)/dbus$(INFO_EXT): dbus.texi
135 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ dbus.texi
136dbus.dvi: dbus.texi
137 $(ENVADD) $(TEXI2DVI) $(srcdir)/dbus.texi
138
139$(infodir)/dired-x$(INFO_EXT): dired-x.texi $(emacsdir)/emacsver.texi
140 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ dired-x.texi
141dired-x.dvi: dired-x.texi $(emacsdir)/emacsver.texi
142 $(ENVADD) $(TEXI2DVI) $(srcdir)/dired-x.texi
143
144$(infodir)/ediff$(INFO_EXT): ediff.texi
145 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ediff.texi
146ediff.dvi: ediff.texi
147 $(ENVADD) $(TEXI2DVI) $(srcdir)/ediff.texi
148
149$(infodir)/flymake$(INFO_EXT): flymake.texi
150 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ flymake.texi
151flymake.dvi: flymake.texi
152 $(ENVADD) $(TEXI2DVI) $(srcdir)/flymake.texi
153
154$(infodir)/forms$(INFO_EXT): forms.texi
155 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ forms.texi
156forms.dvi: forms.texi
157 $(ENVADD) $(TEXI2DVI) $(srcdir)/forms.texi
158
159# gnus/message/emacs-mime/sieve/pgg are part of Gnus:
160$(infodir)/gnus$(INFO_EXT): gnus.texi gnus-overrides.texi message.texi emacs-mime.texi \
161 sieve.texi pgg.texi sasl.texi gnus-news.texi gnus-faq.texi
162 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ gnus.texi
163gnus.dvi: gnus.texi gnus-overrides.texi message.texi emacs-mime.texi \
164 sieve.texi pgg.texi sasl.texi gnus-news.texi gnus-faq.texi
165 sed -e "/@iflatex/,/@end iflatex/d" $(srcdir)/gnus.texi > gnustmp.texi
166 $(ENVADD) $(TEXI2DVI) gnustmp.texi
167 cp gnustmp.dvi $*.dvi
168 rm gnustmp.*
169#
170$(infodir)/message$(INFO_EXT): message.texi gnus-overrides.texi
171 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ message.texi
172message.dvi: message.texi gnus-overrides.texi
173 $(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi
174#
175$(infodir)/emacs-mime$(INFO_EXT): emacs-mime.texi gnus-overrides.texi
176 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ --enable-encoding emacs-mime.texi
177emacs-mime.dvi: emacs-mime.texi gnus-overrides.texi
178 $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi
179#
180$(infodir)/sieve$(INFO_EXT): sieve.texi gnus-overrides.texi
181 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sieve.texi
182sieve.dvi: sieve.texi gnus-overrides.texi
183 $(ENVADD) $(TEXI2DVI) $(srcdir)/sieve.texi
184#
185$(infodir)/pgg$(INFO_EXT): pgg.texi gnus-overrides.texi
186 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ pgg.texi
187pgg.dvi: pgg.texi gnus-overrides.texi
188 $(ENVADD) $(TEXI2DVI) $(srcdir)/pgg.texi
189
190$(infodir)/mh-e$(INFO_EXT): mh-e.texi gpl.texi
191 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ mh-e.texi
192mh-e.dvi: mh-e.texi gpl.texi
193 $(ENVADD) $(TEXI2DVI) $(srcdir)/mh-e.texi
194
195$(infodir)/reftex$(INFO_EXT): reftex.texi
196 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ reftex.texi
197reftex.dvi: reftex.texi
198 $(ENVADD) $(TEXI2DVI) $(srcdir)/reftex.texi
199
200$(infodir)/remember$(INFO_EXT): remember.texi
201 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ remember.texi
202remember.dvi: remember.texix
203 $(ENVADD) $(TEXI2DVI) $(srcdir)/remember.texi
204
205$(infodir)/sasl$(INFO_EXT): sasl.texi gnus-overrides.texi
206 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sasl.texi
207sasl.dvi: sasl.texi gnus-overrides.texi
208 $(ENVADD) $(TEXI2DVI) $(srcdir)/sasl.texi
209
210$(infodir)/sc$(INFO_EXT): sc.texi
211 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sc.texi
212sc.dvi: sc.texi
213 $(ENVADD) $(TEXI2DVI) $(srcdir)/sc.texi
214
215$(infodir)/vip$(INFO_EXT): vip.texi
216 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ vip.texi
217vip.dvi: vip.texi
218 $(ENVADD) $(TEXI2DVI) $(srcdir)/vip.texi
219
220$(infodir)/viper$(INFO_EXT): viper.texi
221 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ viper.texi
222viper.dvi: viper.texi
223 $(ENVADD) $(TEXI2DVI) $(srcdir)/viper.texi
224
225$(infodir)/widget$(INFO_EXT): widget.texi
226 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ widget.texi
227widget.dvi: widget.texi
228 $(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi
229
230$(infodir)/efaq$(INFO_EXT): faq.texi $(emacsdir)/emacsver.texi
231 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ faq.texi
232faq.dvi: faq.texi $(emacsdir)/emacsver.texi
233 $(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi
234
235$(infodir)/autotype$(INFO_EXT): autotype.texi
236 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ autotype.texi
237autotype.dvi: autotype.texi
238 $(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi
239
240$(infodir)/calc$(INFO_EXT): calc.texi $(emacsdir)/emacsver.texi gpl.texi
241 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ calc.texi
242calc.dvi: calc.texi $(emacsdir)/emacsver.texi gpl.texi
243 $(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi
244
245# This is produced with --no-split to avoid making files whose
246# names clash on DOS 8+3 filesystems
247$(infodir)/idlwave$(INFO_EXT): idlwave.texi
248 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ idlwave.texi
249idlwave.dvi: idlwave.texi
250 $(ENVADD) $(TEXI2DVI) $(srcdir)/idlwave.texi
251
252$(infodir)/eudc$(INFO_EXT): eudc.texi
253 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eudc.texi
254eudc.dvi: eudc.texi
255 $(ENVADD) $(TEXI2DVI) $(srcdir)/eudc.texi
256
257$(infodir)/ebrowse$(INFO_EXT): ebrowse.texi
258 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ebrowse.texi
259ebrowse.dvi: ebrowse.texi
260 $(ENVADD) $(TEXI2DVI) $(srcdir)/ebrowse.texi
261
262$(infodir)/woman$(INFO_EXT): woman.texi $(emacsdir)/emacsver.texi
263 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ woman.texi
264woman.dvi: woman.texi $(emacsdir)/emacsver.texi
265 $(ENVADD) $(TEXI2DVI) $(srcdir)/woman.texi
266
267$(infodir)/speedbar$(INFO_EXT): speedbar.texi
268 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ speedbar.texi
269speedbar.dvi: speedbar.texi
270 $(ENVADD) $(TEXI2DVI) $(srcdir)/speedbar.texi
271
272$(infodir)/tramp$(INFO_EXT): tramp.texi trampver.texi
273 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ tramp.texi
274tramp.dvi: tramp.texi trampver.texi
275 $(ENVADD) $(TEXI2DVI) $(srcdir)/tramp.texi
276
277$(infodir)/ses$(INFO_EXT): ses.texi
278 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ses.texi
279ses.dvi: ses.texi
280 $(ENVADD) $(TEXI2DVI) $(srcdir)/ses.texi
281
282$(infodir)/smtpmail$(INFO_EXT): smtpmail.texi
283 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ smtpmail.texi
284smtpmail.dvi: smtpmail.texi
285 $(ENVADD) $(TEXI2DVI) $(srcdir)/smtpmail.texi
286
287$(infodir)/org$(INFO_EXT): org.texi
288 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ org.texi
289org.dvi: org.texi
290 $(ENVADD) $(TEXI2DVI) $(srcdir)/org.texi
291
292$(infodir)/url$(INFO_EXT): url.texi
293 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ url.texi
294url.dvi: url.texi
295 $(ENVADD) $(TEXI2DVI) $(srcdir)/url.texi
296
297$(infodir)/newsticker$(INFO_EXT): newsticker.texi
298 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ newsticker.texi
299newsticker.dvi: newsticker.texi
300 $(ENVADD) $(TEXI2DVI) $(srcdir)/newsticker.texi
301
302$(infodir)/nxml-mode$(INFO_EXT): nxml-mode.texi
303 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ nxml-mode.texi
304nxml-mod.dvi: nxml-mode.texi
305 $(ENVADD) $(TEXI2DVI) $(srcdir)/nxml-mode.texi
306
307$(infodir)/rcirc$(INFO_EXT): rcirc.texi
308 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ rcirc.texi
309rcirc.dvi: rcirc.texi
310 $(ENVADD) $(TEXI2DVI) $(srcdir)/rcirc.texi
311
312$(infodir)/erc$(INFO_EXT): erc.texi
313 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ erc.texi
314erc.dvi: erc.texi
315 $(ENVADD) $(TEXI2DVI) $(srcdir)/erc.texi
316
317$(infodir)/ert$(INFO_EXT): ert.texi
318 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ert.texi
319ert.dvi: ert.texi
320 $(ENVADD) $(TEXI2DVI) $(srcdir)/ert.texi
321
322$(infodir)/epa$(INFO_EXT): epa.texi
323 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ epa.texi
324epa.dvi: epa.texi
325 $(ENVADD) $(TEXI2DVI) $(srcdir)/epa.texi
326
327$(infodir)/mairix-el$(INFO_EXT): mairix-el.texi
328 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ mairix-el.texi
329mairix-el.dvi: mairix-el.texi
330 $(ENVADD) $(TEXI2DVI) $(srcdir)/mairix-el.texi
331
332$(infodir)/auth$(INFO_EXT): auth.texi gnus-overrides.texi
333 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ auth.texi
334auth.dvi: auth.texi gnus-overrides.texi
335 $(ENVADD) $(TEXI2DVI) $(srcdir)/auth.texi
336
337$(infodir)/eieio$(INFO_EXT): eieio.texi
338 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eieio.texi
339eieio.dvi: eieio.texi
340 $(ENVADD) $(TEXI2DVI) $(srcdir)/eieio.texi
341
342$(infodir)/ede$(INFO_EXT): ede.texi
343 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ede.texi
344ede.dvi: ede.texi
345 $(ENVADD) $(TEXI2DVI) $(srcdir)/ede.texi
346
347$(infodir)/semantic$(INFO_EXT): semantic.texi sem-user.texi
348 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ semantic.texi
349semantic.dvi: semantic.texi sem-user.texi
350 $(ENVADD) $(TEXI2DVI) $(srcdir)/semantic.texi
351
352$(infodir)/edt$(INFO_EXT): edt.texi
353 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ edt.texi
354edt.dvi: edt.texi
355 $(ENVADD) $(TEXI2DVI) $(srcdir)/edt.texi
356
357$(infodir)/emacs-gnutls$(INFO_EXT): emacs-gnutls.texi
358 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ emacs-gnutls.texi
359emacs-gnutls.dvi: emacs-gnutls.texi
360 $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-gnutls.texi
361
362$(infodir)/srecode$(INFO_EXT): srecode.texi
363 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ srecode.texi
364srecode.dvi: srecode.texi
365 $(ENVADD) $(TEXI2DVI) $(srcdir)/srecode.texi
366
367$(infodir)/bovine$(INFO_EXT): bovine.texi
368 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ bovine.texi
369bovine.dvi: bovine.texi
370 $(ENVADD) $(TEXI2DVI) $(srcdir)/bovine.texi
371
372$(infodir)/wisent$(INFO_EXT): wisent.texi
373 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ wisent.texi
374wisent.dvi: wisent.texi
375 $(ENVADD) $(TEXI2DVI) $(srcdir)/wisent.texi
376
377$(infodir)/htmlfontify$(INFO_EXT): htmlfontify.texi
378 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ htmlfontify.texi
379htmlfontify.dvi: htmlfontify.texi
380 $(ENVADD) $(TEXI2DVI) $(srcdir)/htmlfontify.texi
381
382
383$(INFO_TARGETS): doclicense.texi
384$(DVI_TARGETS): doclicense.texi
385
386mostlyclean:
387 - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.*
388
389clean: mostlyclean
390 - $(DEL) *.dvi
391 - $(DEL) $(infodir)/ccmode* $(infodir)/cl* \
392 $(infodir)/dbus* $(infodir)/dired-x* \
393 $(infodir)/ediff* $(infodir)/forms* \
394 $(infodir)/gnus* $(infodir)/info* \
395 $(infodir)/message* $(infodir)/mh-e* \
396 $(infodir)/reftex* $(infodir)/sc* \
397 $(infodir)/vip* $(infodir)/widget* \
398 $(infodir)/efaq* $(infodir)/ada-mode* \
399 $(infodir)/autotype* $(infodir)/calc* \
400 $(infodir)/idlwave* $(infodir)/eudc* \
401 $(infodir)/ebrowse* $(infodir)/pcl-cvs* \
402 $(infodir)/woman* $(infodir)/eshell* \
403 $(infodir)/speedbar* $(infodir)/tramp* \
404 $(infodir)/ses* $(infodir)/smtpmail* \
405 $(infodir)/url* $(infodir)/org* \
406 $(infodir)/flymake* $(infodir)/newsticker* \
407 $(infodir)/sieve* $(infodir)/pgg* \
408 $(infodir)/erc* $(infodir)/ert* $(infodir)/rcirc* \
409 $(infodir)/remember* $(infodir)/nxml-mode* \
410 $(infodir)/epa* $(infodir)/sasl* \
411 $(infodir)/mairix-el* $(infodir)/auth* \
412 $(infodir)/eieio* $(infodir)/ede* \
413 $(infodir)/semantic* $(infodir)edt* \
414 $(infodir)/emacs-gnutls* $(infodir)/srecode* \
415 $(infodir)/bovine* $(infodir)/wisent* \
416 $(infodir)/htmlfontify*
417
418distclean: clean
419 - $(DEL) makefile
420
421maintainer-clean: distclean
422 - $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
423# Don't delete these, because they are outside the current directory.
424# for file in $(INFO_TARGETS); do rm -f $${file}*; done
425
426
427# Formerly this directory had texindex.c and getopt.c in it
428# and this makefile built them to make texindex.
429# That caused trouble because this is run entirely in the source directory.
430# Since we expect to get texi2dvi from elsewhere,
431# it is ok to expect texindex from elsewhere also.
diff --git a/etc/NEWS b/etc/NEWS
index bbcdc0c340a..ec3d25c4870 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1178,6 +1178,13 @@ qualified names by hand.
1178* Changes in Emacs 25.1 on Non-Free Operating Systems 1178* Changes in Emacs 25.1 on Non-Free Operating Systems
1179 1179
1180--- 1180---
1181** MS-Windows specific Emacs build scripts are no longer in the distribution
1182This includes the makefile.w32-in files in various subdirectories, and
1183the support files. The file nt/configure.bat now just tells the user
1184to use the procedure described in nt/INSTALL, by running the Posix
1185`configure' script in the top-level directory.
1186
1187---
1181** Building Emacs for MS-Windows requires at least Windows XP 1188** Building Emacs for MS-Windows requires at least Windows XP
1182or Windows Server 2003. The built binaries still run on all versions 1189or Windows Server 2003. The built binaries still run on all versions
1183of Windows starting with Windows 9X. 1190of Windows starting with Windows 9X.
diff --git a/leim/makefile.w32-in b/leim/makefile.w32-in
deleted file mode 100644
index c9bc4193b53..00000000000
--- a/leim/makefile.w32-in
+++ /dev/null
@@ -1,237 +0,0 @@
1# -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft Windows API.
2
3# Copyright (C) 2000-2015 Free Software Foundation, Inc.
4# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
5# 2006, 2007
6# National Institute of Advanced Industrial Science and Technology (AIST)
7# Registration Number H14PRO021
8
9# This file is part of GNU Emacs.
10
11# GNU Emacs is free software: you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation, either version 3 of the License, or
14# (at your option) any later version.
15
16# GNU Emacs is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20
21# You should have received a copy of the GNU General Public License
22# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
23
24
25srcdir=.
26
27# Where to install LEIM files.
28INSTALLDIR=$(INSTALL_DIR)/leim
29
30# On IBM RS6000, double-dot gets screwed up.
31dot = .
32
33# Which Emacs to use to convert TIT files to Emacs Lisp files,
34# byte-compile Emacs Lisp files, and generate the file leim-list.el.
35BUILT_EMACS = $(THISDIR)/$(dot)$(dot)/src/$(BLD)/emacs.exe
36
37buildlisppath=$(CURDIR)/$(dot)$(dot)/lisp
38
39# How to run Emacs.
40RUN_EMACS = "$(BUILT_EMACS)" -batch --no-site-file --no-site-lisp
41
42# Set EMACSLOADPATH correctly (already defined in environment).
43EMACSLOADPATH=$(buildlisppath)
44
45# Subdirectories to be made if $(srcdir) is different from the current
46# directory.
47SUBDIRS=quail
48
49# Files generated from TIT dictionaries for Chinese GB character set.
50TIT_GB=\
51 quail/CCDOSPY.elc \
52 quail/Punct.elc \
53 quail/QJ.elc \
54 quail/SW.elc \
55 quail/TONEPY.elc
56
57# Files generated from TIT dictionaries for Chinese BIG5 character set.
58TIT_BIG5=\
59 quail/4Corner.elc \
60 quail/ARRAY30.elc \
61 quail/ECDICT.elc \
62 quail/ETZY.elc \
63 quail/Punct-b5.elc \
64 quail/PY-b5.elc \
65 quail/QJ-b5.elc \
66 quail/ZOZY.elc
67
68CHINESE_TIT=$(TIT_GB) $(TIT_BIG5)
69
70NON_TIT_GB=$(srcdir)/quail/py-punct.elc
71
72NON_TIT_BIG5=$(srcdir)/quail/pypunct-b5.elc
73
74CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5)
75
76CHINESE_GB=$(TIT_GB) $(NON_TIT_GB)
77
78CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5)
79
80JAPANESE=$(srcdir)/quail/japanese.elc $(srcdir)/ja-dic/ja-dic.elc
81
82KOREAN= $(srcdir)/quail/hangul.elc \
83 $(srcdir)/quail/hanja.elc \
84 $(srcdir)/quail/hanja3.elc \
85 $(srcdir)/quail/hanja-jis.elc \
86 $(srcdir)/quail/symbol-ksc.elc
87
88THAI=$(srcdir)/quail/thai.elc
89
90VIETNAMESE=$(srcdir)/quail/viqr.elc $(srcdir)/quail/vntelex.elc
91
92LAO=$(srcdir)/quail/lao.elc $(srcdir)/quail/lrt.elc
93
94INDIAN=$(srcdir)/quail/indian.elc
95
96TIBETAN=$(srcdir)/quail/tibetan.elc
97
98LATIN= $(srcdir)/quail/latin-pre.elc \
99 $(srcdir)/quail/latin-post.elc \
100 $(srcdir)/quail/latin-alt.elc \
101 $(srcdir)/quail/latin-ltx.elc \
102 $(srcdir)/quail/welsh.elc
103
104UNICODE=$(srcdir)/quail/sgml-input.elc \
105 $(srcdir)/quail/rfc1345.elc \
106 $(srcdir)/quail/uni-input.elc
107
108SLAVIC= \
109 $(srcdir)/quail/czech.elc \
110 $(srcdir)/quail/croatian.elc \
111 $(srcdir)/quail/slovak.elc
112
113GREEK=$(srcdir)/quail/greek.elc
114
115RUSSIAN=$(srcdir)/quail/cyrillic.elc $(srcdir)/quail/cyril-jis.elc
116
117MISC= \
118 $(srcdir)/quail/arabic.elc \
119 $(srcdir)/quail/ethiopic.elc \
120 $(srcdir)/quail/ipa.elc \
121 $(srcdir)/quail/ipa-praat.elc \
122 $(srcdir)/quail/hebrew.elc \
123 $(srcdir)/quail/georgian.elc \
124 $(srcdir)/quail/persian.elc \
125 $(srcdir)/quail/sisheng.elc
126
127MISC_DIC=\
128 quail/tsang-b5.elc \
129 quail/quick-b5.elc \
130 quail/tsang-cns.elc \
131 quail/quick-cns.elc \
132 quail/PY.elc \
133 quail/ZIRANMA.elc \
134 quail/CTLau.elc \
135 quail/CTLau-b5.elc
136
137CHINESE=$(CHINESE_GB) $(CHINESE_BIG5)
138EASTASIA=$(CHINESE) $(JAPANESE) $(KOREAN)
139ASIA=$(EASTASIA) $(THAI) $(VIETNAMESE) $(LAO) $(INDIAN) $(TIBETAN)
140EUROPEAN=$(LATIN) $(SLAVIC) $(GREEK) $(RUSSIAN)
141WORLD=$(ASIA) $(EUROPEAN) $(MISC) $(MISC_DIC) $(UNICODE)
142
143TIT=$(CHINESE_TIT)
144NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC)
145
146.SUFFIXES: .elc .el
147
148.el.elc:
149 $(RUN_EMACS) -f batch-byte-compile $<
150
151all: $(BUILT_EMACS) $(SUBDIRS) $(WORLD) leim-list.el
152
153# To ensure that we can run Emacs. This target is ignored (never
154# being hit) if a user changes default value of EMACS.
155$(dot)$(dot)/src/emacs:
156 cd ../src; $(MAKE) $(MFLAGS) emacs
157
158$(SUBDIRS):
159 mkdir "$@"
160 echo stamp>stamp-subdir
161
162# The rules which generate $(TIT) and ${MISC_DIC) files create them all
163# in one go. So we need to prevent parallel execution for that target,
164# otherwise Emacs complains about files being locked. .NOTPARALLEL is
165# for GNU Make, .NO_PARALLEL is for other Make's.
166.NOTPARALLEL: $(TIT) $(MISC_DIC)
167
168.NO_PARALLEL: $(TIT) $(MISC_DIC)
169
170# Rule to generate quail/*.el from CXTERM-DIC/*.tit.
171#
172# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
173# this can break with GNU Make 3.81 and later if sh.exe is used.
174$(TIT):
175 $(RUN_EMACS) -l \
176 $(ARGQUOTE)$(buildlisppath)/international/titdic-cnv$(ARGQUOTE) \
177 --eval $(ARGQUOTE)(batch-titdic-convert t)$(ARGQUOTE) \
178 -dir quail $(srcdir)/CXTERM-DIC
179 $(RUN_EMACS) -l \
180 $(ARGQUOTE)$(buildlisppath)/international/quail$(ARGQUOTE) \
181 -f batch-byte-compile $(TIT:.elc=.el)
182
183# Rule to generate quail/*.el from MISC_DIC/*.tit.
184$(MISC_DIC):
185 $(RUN_EMACS) -l \
186 $(ARGQUOTE)$(buildlisppath)/international/titdic-cnv$(ARGQUOTE) \
187 -f batch-miscdic-convert -dir quail $(srcdir)/MISC-DIC
188 $(RUN_EMACS) -l \
189 $(ARGQUOTE)$(buildlisppath)/international/quail$(ARGQUOTE) \
190 -f batch-byte-compile $(MISC_DIC:.elc=.el)
191
192# Rule to generate ja-dic/ja-dic.el from SKK-DIC/SKK-JISYO.L.
193$(srcdir)/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L
194 - mkdir ja-dic
195 $(RUN_EMACS) -l \
196 $(ARGQUOTE)$(buildlisppath)/international/ja-dic-cnv$(ARGQUOTE) \
197 -f batch-skkdic-convert -dir ja-dic $(srcdir)/SKK-DIC/SKK-JISYO.L
198
199#
200# WARNING: Do NOT split the parts inside $(ARGQUOTE)s into multiple lines as
201# this can break with GNU Make 3.81 and later if sh.exe is used.
202leim-list.el: $(SUBDIRS) $(WORLD) $(srcdir)/leim-ext.el
203 - $(DEL) leim-list.el
204 $(RUN_EMACS) -l \
205 $(ARGQUOTE)$(buildlisppath)/international/quail$(ARGQUOTE) \
206 --eval $(ARGQUOTE)(update-leim-list-file $(DQUOTE).$(DQUOTE))$(ARGQUOTE)
207 $(RUN_EMACS) --eval $(ARGQUOTE)(w32-append-code-lines $(DQUOTE)$@$(DQUOTE) $(DQUOTE)$(srcdir)/leim-ext.el$(DQUOTE))$(ARGQUOTE)
208
209install: all
210 - mkdir "$(INSTALLDIR)"
211 - $(DEL) $(DIRNAME)_same-dir.tst
212 - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
213 echo SameDirTest > $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
214 $(IFNOTSAMEDIR) $(CP) leim-list.el $(INSTALLDIR) $(ENDIF)
215 $(IFNOTSAMEDIR) $(CP_DIR) quail $(INSTALLDIR) $(ENDIF)
216 $(IFNOTSAMEDIR) $(CP_DIR) ja-dic $(INSTALLDIR) $(ENDIF)
217 - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
218
219clean mostlyclean:
220 - $(FOREACH) $(TIT) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR)
221 - $(FOREACH) $(MISC_DIC) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR)
222 - $(FOREACH) $(TIT:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR)
223 - $(FOREACH) $(MISC_DIC:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR)
224 - $(DEL) leim-list.el
225 - $(DEL) leim-list.el~
226
227distclean: clean
228 - $(DEL) stamp-subdir
229 - $(DEL) makefile
230
231maintainer-clean: distclean
232 - $(FOREACH) $(WORLD) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR)
233
234# We used to delete *~ here, but that might inadvertently remove
235# precious files if it happens to match their short 8+3 aliases.
236extraclean: maintainer-clean
237 - $(FOREACH) *.el~ "#*" $(FORDO) $(DEL) $(FORVAR) $(ENDFOR)
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in
deleted file mode 100644
index a81a011084f..00000000000
--- a/lib-src/makefile.w32-in
+++ /dev/null
@@ -1,482 +0,0 @@
1# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
2# Copyright (C) 2000-2015 Free Software Foundation, Inc.
3
4# This file is part of GNU Emacs.
5
6# GNU Emacs is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# GNU Emacs is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18
19
20ALL = $(BLD)/test-distrib.exe $(BLD)/make-docfile.exe $(BLD)/hexl.exe\
21 $(BLD)/ctags.exe $(BLD)/etags.exe $(BLD)/movemail.exe $(BLD)/ebrowse.exe\
22 $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe $(BLD)/profile.exe
23
24.PHONY: make-docfile
25
26LOCAL_FLAGS = -DNO_LDAV=1 -DNO_ARCHIVES=1 -I../lib \
27 -I../nt/inc -I../src $(EMACS_EXTRA_C_FLAGS)
28
29LIBS = $(BASE_LIBS) $(ADVAPI32)
30LIB_SRC = .
31
32# The following target is used by makefile.w32-in files in other directories.
33make-docfile: $(BLD)/make-docfile.exe
34
35$(BLD)/make-docfile.exe: $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O)
36 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LIBS)
37$(BLD)/hexl.exe: $(BLD)/hexl.$(O)
38 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS)
39$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O)
40 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS)
41 "$(BLD)/test-distrib.exe" "$(LIB_SRC)/testfile"
42
43MOVEMAILOBJS = $(BLD)/movemail.$(O) \
44 $(BLD)/pop.$(O) \
45 ../lib/$(BLD)/libgnu.$(A) \
46 $(BLD)/ntlib.$(O)
47
48$(BLD)/movemail.exe: $(MOVEMAILOBJS) ../lib/getopt.h
49# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
50 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS)
51
52ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR
53ECLIENTOBJS = $(BLD)/emacsclient.$(O) \
54 $(BLD)/ntlib.$(O) \
55 ../lib/$(BLD)/libgnu.$(A)
56CLIENTRES = ../nt/$(BLD)/emacsclient.res
57
58$(CLIENTRES): ../nt/emacsclient.rc
59 @echo Emacsclient resource file must be built from nt directory
60 @exit -1
61
62$(BLD)/emacsclient.exe: $(ECLIENTOBJS)
63# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
64 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS)
65
66$(BLD)/emacsclientw.exe: $(ECLIENTOBJS) $(CLIENTRES)
67# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
68 $(LINK) $(LINK_OUT)$@ $(CLIENTRES) $(MWINDOWS) $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS)
69
70$(BLD)/emacsclient.$(O): emacsclient.c
71 $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c
72
73ETAGSOBJ = $(BLD)/etags.$(O) \
74 ../lib/$(BLD)/libgnu.$(A) \
75 $(BLD)/ntlib.$(O) \
76 $(BLD)/regex.$(O)
77
78$(BLD)/etags.exe: $(ETAGSOBJ)
79 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ETAGSOBJ) $(LIBS)
80
81
82EBROWSEOBJ = $(BLD)/ebrowse.$(O) \
83 ../lib/$(BLD)/libgnu.$(A) \
84 $(BLD)/ntlib.$(O)
85
86$(BLD)/ebrowse.exe: $(EBROWSEOBJ)
87 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(EBROWSEOBJ) $(LIBS)
88
89$(BLD)/regex.$(O): ../src/regex.c ../src/regex.h ../src/config.h
90 $(CC) $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \
91 ../src/regex.c $(CC_OUT)$@
92
93ETAGS_CFLAGS = -DHAVE_GETCWD -DEMACS_NAME="\"GNU Emacs\""
94$(BLD)/etags.$(O): etags.c
95 $(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c
96
97CTAGSOBJ = $(BLD)/ctags.$(O) \
98 ../lib/$(BLD)/libgnu.$(A) \
99 $(BLD)/ntlib.$(O) \
100 $(BLD)/regex.$(O)
101
102$(BLD)/ctags.exe: $(CTAGSOBJ)
103 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(CTAGSOBJ) $(LIBS)
104
105ctags.c: etags.c
106 - $(DEL) ctags.c
107 $(CP) etags.c ctags.c
108
109CTAGS_CFLAGS = -DCTAGS $(ETAGS_CFLAGS)
110$(BLD)/ctags.$(O): ctags.c
111 $(CC) $(CFLAGS) $(CTAGS_CFLAGS) $(CC_OUT)$@ ctags.c
112
113PROFILEOBJS = $(BLD)/profile.$(O) \
114 ../lib/$(BLD)/libgnu.$(A) \
115 $(BLD)/ntlib.$(O)
116$(BLD)/profile.exe: $(PROFILEOBJS)
117 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(PROFILEOBJS) $(LIBS)
118
119#
120# From ..\src\Makefile.in
121# It doesn't matter if the real name is *.obj for the files in this list,
122# make-docfile blindly replaces .o with .c anyway. Keep .o in this list
123# as it is required by code in doc.c.
124#
125obj = dosfns.o msdos.o \
126 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
127 fontset.o menu.o dbusbind.o cygw32.o \
128 nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
129 w32.o w32console.o w32fns.o w32heap.o w32inevt.o w32notify.o \
130 w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \
131 w16select.o widget.o xfont.o ftfont.o xftfont.o ftxfont.o gtkutil.o \
132 xsettings.o xgselect.o termcap.o \
133 font.o w32font.o w32uniscribe.o w32notify.o \
134 dispnew.o frame.o scroll.o xdisp.o window.o bidi.o \
135 charset.o coding.o category.o ccl.o character.o chartab.o \
136 cm.o term.o terminal.o xfaces.o \
137 emacs.o keyboard.o macros.o keymap.o sysdep.o \
138 buffer.o filelock.o insdel.o marker.o \
139 minibuf.o fileio.o dired.o \
140 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
141 alloc.o data.o doc.o editfns.o callint.o \
142 eval.o floatfns.o fns.o print.o lread.o \
143 syntax.o bytecode.o \
144 process.o callproc.o unexw32.o \
145 region-cache.o sound.o atimer.o \
146 doprnt.o intervals.o textprop.o composite.o \
147 gnutls.o xml.o profiler.o
148
149#
150# These are the lisp files that are loaded up in loadup.el
151#
152lispsource = ../lisp/
153
154MOUSE_SUPPORT = \
155 $(lispsource)select.elc \
156 $(lispsource)scroll-bar.elc \
157 $(lispsource)mouse.elc
158WINNT_SUPPORT = \
159 $(lispsource)ls-lisp.elc \
160 $(lispsource)disp-table.elc \
161 $(lispsource)w32-fns.elc \
162 $(lispsource)dos-w32.elc \
163 $(lispsource)w32-vars.elc \
164 $(lispsource)term/common-win.elc \
165 $(lispsource)term/w32-win.elc
166TOOLTIP_SUPPORT = $(lispsource)tooltip.elc
167WINDOW_SUPPORT = \
168 $(lispsource)fringe.elc \
169 $(lispsource)image.elc \
170 $(lispsource)international/fontset.elc \
171 $(lispsource)dnd.elc \
172 $(lispsource)tool-bar.elc \
173 $(lispsource)mwheel.elc
174
175# lisp files that are loaded up on other platforms
176OTHER_PLATFORM_SUPPORT = \
177 $(lispsource)dos-fns.elc \
178 $(lispsource)dos-vars.elc \
179 $(lispsource)term/internal.elc \
180 $(lispsource)term/pc-win.elc \
181 $(lispsource)x-dnd.elc \
182 $(lispsource)term/x-win.elc \
183 $(lispsource)term/ns-win.elc
184
185
186lisp1= \
187 $(lispsource)abbrev.elc \
188 $(lispsource)buff-menu.elc \
189 $(lispsource)button.elc \
190 $(lispsource)emacs-lisp/byte-run.elc \
191 $(lispsource)composite.elc \
192 $(lispsource)cus-face.elc \
193 $(lispsource)cus-start.elc \
194 $(lispsource)custom.elc \
195 $(lispsource)emacs-lisp/backquote.elc \
196 $(lispsource)emacs-lisp/lisp-mode.elc \
197 $(lispsource)emacs-lisp/lisp.elc \
198 $(lispsource)env.elc \
199 $(lispsource)faces.elc \
200 $(lispsource)files.elc \
201 $(lispsource)format.elc \
202 $(lispsource)facemenu.elc \
203 $(MOUSE_SUPPORT) \
204 $(lispsource)emacs-lisp/float-sup.elc \
205 $(lispsource)frame.elc \
206 $(lispsource)help.elc \
207 $(lispsource)indent.elc \
208 $(lispsource)isearch.elc \
209 $(lispsource)rfn-eshadow.elc \
210 $(lispsource)loadup.el \
211 $(lispsource)loaddefs.el \
212 $(lispsource)bindings.elc \
213 $(lispsource)emacs-lisp/map-ynp.elc \
214 $(lispsource)menu-bar.elc \
215 $(lispsource)international/mule.elc \
216 $(lispsource)international/mule-conf.elc \
217 $(lispsource)international/mule-cmds.elc \
218 $(lispsource)international/characters.elc \
219 $(lispsource)international/charprop.el \
220 $(lispsource)case-table.elc \
221 $(lispsource)emacs-lisp/macroexp.elc
222
223lisp2 = \
224 $(lispsource)language/chinese.elc \
225 $(lispsource)language/cyrillic.elc \
226 $(lispsource)language/indian.elc \
227 $(lispsource)language/sinhala.elc \
228 $(lispsource)language/english.elc \
229 $(lispsource)language/ethiopic.elc \
230 $(lispsource)language/european.elc \
231 $(lispsource)language/czech.elc \
232 $(lispsource)language/slovak.elc \
233 $(lispsource)language/romanian.elc \
234 $(lispsource)language/greek.elc \
235 $(lispsource)language/hebrew.elc \
236 $(lispsource)language/japanese.elc \
237 $(lispsource)international/cp51932.el \
238 $(lispsource)international/eucjp-ms.el \
239 $(lispsource)language/korean.elc \
240 $(lispsource)language/lao.elc \
241 $(lispsource)language/cham.elc \
242 $(lispsource)language/tai-viet.elc \
243 $(lispsource)language/thai.elc \
244 $(lispsource)language/tibetan.elc \
245 $(lispsource)language/vietnamese.elc \
246 $(lispsource)language/misc-lang.elc \
247 $(lispsource)language/utf-8-lang.elc \
248 $(lispsource)language/georgian.elc \
249 $(lispsource)language/khmer.elc \
250 $(lispsource)language/burmese.elc \
251 $(lispsource)register.elc \
252 $(lispsource)replace.elc \
253 $(lispsource)simple.elc \
254 $(lispsource)emacs-lisp/nadvice.elc \
255 $(lispsource)minibuffer.elc \
256 $(lispsource)startup.elc \
257 $(lispsource)subr.elc \
258 $(lispsource)term/tty-colors.elc \
259 $(lispsource)font-core.elc \
260 $(lispsource)emacs-lisp/syntax.elc \
261 $(lispsource)font-lock.elc \
262 $(lispsource)jit-lock.elc \
263 $(lispsource)textmodes/fill.elc \
264 $(lispsource)textmodes/page.elc \
265 $(lispsource)textmodes/paragraphs.elc \
266 $(lispsource)textmodes/text-mode.elc \
267 $(lispsource)emacs-lisp/timer.elc \
268 $(lispsource)jka-cmpr-hook.elc \
269 $(lispsource)vc/vc-hooks.elc \
270 $(lispsource)vc/ediff-hook.elc \
271 $(lispsource)epa-hook.elc \
272 $(TOOLTIP_SUPPORT) \
273 $(WINNT_SUPPORT) \
274 $(WINDOW_SUPPORT) \
275 $(lispsource)widget.elc \
276 $(lispsource)window.elc \
277 $(lispsource)version.elc
278
279# This is needed the first time we build the tree, since temacs.exe
280# does not exist yet, and the DOC rule needs it to rebuild DOC whenever
281# Emacs is rebuilt.
282../src/$(BLD)/temacs.exe:
283 - mkdir "../src/$(OBJDIR)"
284 - mkdir "../src/$(BLD)"
285 @echo temacs > temacs.exe
286 $(CP) temacs.exe ../src/$(BLD)
287 - $(DEL) temacs.exe
288
289DOC = DOC
290$(DOC): stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2) $(OTHER_PLATFORM_SUPPORT)
291 - $(DEL) $(DOC)
292 "$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj)
293 "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1)
294 "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp2)
295 "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(OTHER_PLATFORM_SUPPORT)
296 $(CP) $(DOC) ../etc/DOC
297 - mkdir "../src/$(OBJDIR)"
298 - mkdir "../src/$(OBJDIR)/etc"
299 $(CP) $(DOC) ../src/$(OBJDIR)/etc/DOC
300
301{$(BLD)}.$(O){$(BLD)}.exe:
302 $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $*.$(O) $(LIBS)
303
304#
305# Build the executables
306#
307all: $(ALL) $(DOC)
308
309#
310# Assuming INSTALL_DIR is defined, build and install emacs in it.
311#
312INSTALL_FILES = $(ALL)
313install: $(INSTALL_FILES)
314 - mkdir "$(INSTALL_DIR)/bin"
315 $(CP) $(BLD)/etags.exe $(INSTALL_DIR)/bin
316 $(CP) $(BLD)/ebrowse.exe $(INSTALL_DIR)/bin
317 $(CP) $(BLD)/ctags.exe $(INSTALL_DIR)/bin
318 $(CP) $(BLD)/hexl.exe $(INSTALL_DIR)/bin
319 $(CP) $(BLD)/movemail.exe $(INSTALL_DIR)/bin
320 $(CP) $(BLD)/emacsclient.exe $(INSTALL_DIR)/bin
321 $(CP) $(BLD)/emacsclientw.exe $(INSTALL_DIR)/bin
322 $(CP) $(BLD)/profile.exe $(INSTALL_DIR)/bin
323 - mkdir "$(INSTALL_DIR)/etc"
324 $(CP) $(DOC) $(INSTALL_DIR)/etc
325
326#
327# Maintenance
328#
329# We used to delete *~ here, but that might inadvertently remove
330# precious files if it happens to match their short 8+3 aliases.
331clean:
332 - $(DEL) DOC* $(COMPILER_TEMP_FILES)
333 - $(DEL) ctags.c
334 - $(DEL_TREE) $(OBJDIR)
335 - $(DEL) stamp_BLD
336
337distclean: cleanall
338 - $(DEL) TAGS
339 - $(DEL) Makefile
340
341maintainer-clean: distclean
342
343cleanall: clean
344 - $(DEL_TREE) obj
345 - $(DEL_TREE) obj-spd
346 - $(DEL_TREE) oo
347 - $(DEL_TREE) oo-spd
348
349#
350# Headers we would preprocess if we could.
351#
352../src/config.h: ../nt/$(CONFIG_H)
353 $(DEL) $@
354 echo $(CONFIG_H) has changed. Re-run configure.bat.
355 exit -1
356
357### TAGS ###
358
359TAGS: $(BLD)/etags.exe *.c *.h
360 $(BLD)/etags.exe *.c *.h
361
362### DEPENDENCIES ###
363
364EMACS_ROOT = ..
365SRC = $(EMACS_ROOT)/src
366NT_INC = $(EMACS_ROOT)/nt/inc
367GNU_LIB = $(EMACS_ROOT)/lib
368
369MS_W32_H = $(NT_INC)/ms-w32.h \
370 $(NT_INC)/sys/stat.h
371CONF_POST_H = $(SRC)/conf_post.h \
372 $(MS_W32_H)
373CONFIG_H = $(SRC)/config.h \
374 $(CONF_POST_H)
375INTTYPES_H = $(NT_INC)/inttypes.h \
376 $(NT_INC)/stdint.h
377NTLIB_H = $(LIB_SRC)/ntlib.h \
378 $(NT_INC)/pwd.h
379SYSTIME_H = $(SRC)/systime.h \
380 $(NT_INC)/sys/time.h \
381 $(GNU_LIB)/timespec.h
382SYSWAIT_H = $(SRC)/syswait.h \
383 $(NT_INC)/stdbool.h \
384 $(NT_INC)/sys/wait.h
385
386$(BLD)/ctags.$(O) : \
387 $(LIB_SRC)/ctags.c \
388 $(SRC)/regex.h \
389 $(NT_INC)/sys/stat.h \
390 $(NT_INC)/unistd.h \
391 $(GNU_LIB)/c-strcase.h \
392 $(GNU_LIB)/getopt.h \
393 $(CONFIG_H)
394
395$(BLD)/ebrowse.$(O) : \
396 $(LIB_SRC)/ebrowse.c \
397 $(GNU_LIB)/getopt.h \
398 $(GNU_LIB)/min-max.h \
399 $(CONFIG_H)
400
401$(BLD)/emacsclient.$(O) : \
402 $(LIB_SRC)/emacsclient.c \
403 $(NT_INC)/pwd.h \
404 $(NT_INC)/sys/stat.h \
405 $(NT_INC)/unistd.h \
406 $(GNU_LIB)/getopt.h \
407 $(CONFIG_H)
408
409$(BLD)/etags.$(O) : \
410 $(LIB_SRC)/etags.c \
411 $(SRC)/regex.h \
412 $(NT_INC)/sys/stat.h \
413 $(NT_INC)/unistd.h \
414 $(GNU_LIB)/c-strcase.h \
415 $(GNU_LIB)/getopt.h \
416 $(CONFIG_H)
417
418$(BLD)/hexl.$(O) : \
419 $(LIB_SRC)/hexl.c \
420 $(CONFIG_H)
421
422$(BLD)/make-docfile.$(O) : \
423 $(LIB_SRC)/make-docfile.c \
424 $(NT_INC)/unistd.h \
425 $(CONFIG_H)
426
427$(BLD)/movemail.$(O) : \
428 $(LIB_SRC)/movemail.c \
429 $(LIB_SRC)/pop.h \
430 $(NT_INC)/pwd.h \
431 $(NT_INC)/sys/file.h \
432 $(NT_INC)/sys/stat.h \
433 $(NT_INC)/unistd.h \
434 $(GNU_LIB)/getopt.h \
435 $(CONFIG_H) \
436 $(NTLIB_H) \
437 $(SYSWAIT_H)
438
439$(BLD)/ntlib.$(O) : \
440 $(LIB_SRC)/ntlib.c \
441 $(NT_INC)/sys/stat.h \
442 $(NTLIB_H)
443
444$(BLD)/pop.$(O) : \
445 $(LIB_SRC)/pop.c \
446 $(LIB_SRC)/pop.h \
447 $(NT_INC)/netdb.h \
448 $(NT_INC)/pwd.h \
449 $(NT_INC)/unistd.h \
450 $(GNU_LIB)/min-max.h \
451 $(CONFIG_H) \
452 $(NTLIB_H)
453
454$(BLD)/profile.$(O) : \
455 $(LIB_SRC)/profile.c \
456 $(GNU_LIB)/intprops.h \
457 $(CONFIG_H) \
458 $(INTTYPES_H) \
459 $(SYSTIME_H)
460
461$(BLD)/regex.$(O) : \
462 $(SRC)/regex.c \
463 $(SRC)/regex.h \
464 $(NT_INC)/stdbool.h \
465 $(NT_INC)/unistd.h \
466 $(CONFIG_H)
467
468$(BLD)/test-distrib.$(O) : \
469 $(LIB_SRC)/test-distrib.c \
470 $(NT_INC)/unistd.h \
471 $(CONFIG_H)
472
473# The following dependencies are for supporting parallel builds, where
474# we must make sure $(BLD) exists before any compilation starts.
475#
476$(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O): stamp_BLD
477
478$(BLD)/test-distrib.$(O) $(MOVEMAILOBJS): stamp_BLD
479
480$(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD
481
482$(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O) $(BLD)/profile.$(O): stamp_BLD
diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in
deleted file mode 100644
index 8424fd64587..00000000000
--- a/lib/makefile.w32-in
+++ /dev/null
@@ -1,347 +0,0 @@
1# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
2# Copyright (C) 2011-2015 Free Software Foundation, Inc.
3
4# This file is part of GNU Emacs.
5
6# GNU Emacs is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# GNU Emacs is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18
19ALL = gnulib
20
21.PHONY: $(ALL)
22
23LOCAL_FLAGS = -I. -I../nt/inc -I../src
24LIBS =
25
26GNULIBOBJS = $(BLD)/acl-errno-valid.$(O) \
27 $(BLD)/c-ctype.$(O) \
28 $(BLD)/c-strcasecmp.$(O) \
29 $(BLD)/c-strncasecmp.$(O) \
30 $(BLD)/close-stream.$(O) \
31 $(BLD)/dtoastr.$(O) \
32 $(BLD)/dtotimespec.$(O) \
33 $(BLD)/execinfo.$(O) \
34 $(BLD)/fpending.$(O) \
35 $(BLD)/getopt.$(O) \
36 $(BLD)/getopt1.$(O) \
37 $(BLD)/gettime.$(O) \
38 $(BLD)/memrchr.$(O) \
39 $(BLD)/strftime.$(O) \
40 $(BLD)/time_r.$(O) \
41 $(BLD)/timespec-add.$(O) \
42 $(BLD)/timespec-sub.$(O) \
43 $(BLD)/md5.$(O) \
44 $(BLD)/sha1.$(O) \
45 $(BLD)/sha256.$(O) \
46 $(BLD)/sha512.$(O) \
47 $(BLD)/sig2str.$(O) \
48 $(BLD)/stat-time.$(O) \
49 $(BLD)/timespec.$(O) \
50 $(BLD)/u64.$(O) \
51 $(BLD)/filemode.$(O)
52
53#
54# Build the library
55#
56$(BLD)/libgnu.$(A): $(GNULIBOBJS)
57 - $(DEL) $@
58 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
59
60gnulib: $(BLD)/libgnu.$(A)
61
62#
63# Build everything
64#
65all: $(ALL)
66
67### TAGS ###
68
69FRC:
70
71TAGS: FRC
72 ../lib-src/$(BLD)/etags.exe *.c *.h
73
74### DEPENDENCIES ###
75
76EMACS_ROOT = ..
77GNU_LIB = .
78SRC = $(EMACS_ROOT)/src
79NT_INC = $(EMACS_ROOT)/nt/inc
80
81ACL_H = $(GNU_LIB)/acl.h \
82 $(NT_INC)/sys/stat.h \
83 $(NT_INC)/stdbool.h
84C_CTYPE_H = $(GNU_LIB)/c-ctype.h \
85 $(NT_INC)/stdbool.h
86MS_W32_H = $(NT_INC)/ms-w32.h \
87 $(NT_INC)/sys/stat.h
88CONF_POST_H = $(SRC)/conf_post.h \
89 $(MS_W32_H)
90CONFIG_H = $(SRC)/config.h \
91 $(CONF_POST_H)
92FILEMODE_H = $(GNU_LIB)/filemode.h \
93 $(NT_INC)/sys/stat.h
94FTOASTR_H = $(GNU_LIB)/ftoastr.h \
95 $(GNU_LIB)/intprops.h
96FTOASTR_C = $(GNU_LIB)/ftoastr.c \
97 $(CONFIG_H) \
98 $(FTOASTR_H)
99GETOPT_INT_H = $(GNU_LIB)/getopt_int.h \
100 $(GNU_LIB)/getopt.h
101MD5_H = $(GNU_LIB)/md5.h \
102 $(NT_INC)/stdint.h
103SHA1_H = $(GNU_LIB)/sha1.h \
104 $(NT_INC)/stdint.h
105SHA256_H = $(GNU_LIB)/sha256.h \
106 $(NT_INC)/stdint.h
107U64_H = $(GNU_LIB)/u64.h \
108 $(NT_INC)/stdint.h
109SHA512_H = $(GNU_LIB)/sha512.h \
110 $(U64_H)
111SIG2STR_H = $(GNU_LIB)/sig2str.h \
112 $(GNU_LIB)/intprops.h
113STAT_TIME_H = $(GNU_LIB)/stat-time.h \
114 $(NT_INC)/sys/stat.h
115
116$(BLD)/acl-errno-valid.$(O) : \
117 $(GNU_LIB)/acl-errno-valid.c \
118 $(ACL_H) \
119 $(CONFIG_H)
120
121$(BLD)/c-ctype.$(O) : \
122 $(GNU_LIB)/c-ctype.c \
123 $(CONFIG_H) \
124 $(C_CTYPE_H)
125
126$(BLD)/c-strcasecmp.$(O) : \
127 $(GNU_LIB)/c-strcasecmp.c \
128 $(GNU_LIB)/c-strcase.h \
129 $(CONFIG_H) \
130 $(C_CTYPE_H)
131
132$(BLD)/c-strncasecmp.$(O) : \
133 $(GNU_LIB)/c-strncasecmp.c \
134 $(GNU_LIB)/c-strcase.h \
135 $(CONFIG_H) \
136 $(C_CTYPE_H)
137
138$(BLD)/close-stream.$(O) : \
139 $(GNU_LIB)/close-stream.c \
140 $(GNU_LIB)/close-stream.h \
141 $(GNU_LIB)/fpending.h \
142 $(NT_INC)/stdbool.h \
143 $(CONFIG_H)
144
145$(BLD)/dtoastr.$(O) : \
146 $(GNU_LIB)/dtoastr.c \
147 $(FTOASTR_C)
148
149$(BLD)/dtotimespec.$(O) : \
150 $(GNU_LIB)/dtotimespec.c \
151 $(GNU_LIB)/intprops.h \
152 $(GNU_LIB)/timespec.h \
153 $(CONFIG_H)
154
155$(BLD)/execinfo.$(O) : \
156 $(GNU_LIB)/execinfo.c \
157 $(GNU_LIB)/execinfo.h \
158 $(CONFIG_H)
159
160$(BLD)/fpending.$(O) : \
161 $(GNU_LIB)/fpending.c \
162 $(GNU_LIB)/fpending.h \
163 $(CONFIG_H)
164
165$(BLD)/getopt.$(O) : \
166 $(GNU_LIB)/getopt.c \
167 $(GNU_LIB)/getopt.h \
168 $(GNU_LIB)/gettext.h \
169 $(NT_INC)/unistd.h \
170 $(CONFIG_H) \
171 $(GETOPT_INT_H)
172
173$(BLD)/getopt1.$(O) : \
174 $(GNU_LIB)/getopt1.c \
175 $(GNU_LIB)/getopt.h \
176 $(CONFIG_H) \
177 $(GETOPT_INT_H)
178
179$(BLD)/gettime.$(O) : \
180 $(GNU_LIB)/gettime.c \
181 $(GNU_LIB)/timespec.h \
182 $(NT_INC)/sys/time.h \
183 $(CONFIG_H)
184
185$(BLD)/strftime.$(O) : \
186 $(GNU_LIB)/strftime.c \
187 $(GNU_LIB)/strftime.h \
188 $(NT_INC)/stdbool.h \
189 $(CONFIG_H)
190
191$(BLD)/time_r.$(O) : \
192 $(GNU_LIB)/time_r.c \
193 $(CONFIG_H)
194
195$(BLD)/timespec-add.$(O) : \
196 $(GNU_LIB)/timespec-add.c \
197 $(GNU_LIB)/intprops.h \
198 $(GNU_LIB)/timespec.h \
199 $(CONFIG_H)
200
201$(BLD)/timespec-sub.$(O) : \
202 $(GNU_LIB)/timespec-sub.c \
203 $(GNU_LIB)/intprops.h \
204 $(GNU_LIB)/timespec.h \
205 $(CONFIG_H)
206
207$(BLD)/md5.$(O) : \
208 $(GNU_LIB)/md5.c \
209 $(NT_INC)/stdalign.h \
210 $(NT_INC)/stdint.h \
211 $(CONFIG_H) \
212 $(MD5_H)
213
214$(BLD)/memrchr.$(O) : \
215 $(GNU_LIB)/memrchr.c \
216 $(CONFIG_H)
217
218$(BLD)/sha1.$(O) : \
219 $(GNU_LIB)/sha1.c \
220 $(NT_INC)/stdalign.h \
221 $(NT_INC)/stdint.h \
222 $(CONFIG_H) \
223 $(SHA1_H)
224
225$(BLD)/sha256.$(O) : \
226 $(GNU_LIB)/sha256.c \
227 $(NT_INC)/stdalign.h \
228 $(NT_INC)/stdint.h \
229 $(CONFIG_H) \
230 $(SHA256_H)
231
232$(BLD)/sha512.$(O) : \
233 $(GNU_LIB)/sha512.c \
234 $(NT_INC)/stdalign.h \
235 $(NT_INC)/stdint.h \
236 $(CONFIG_H) \
237 $(SHA512_H)
238
239$(BLD)/stat-time.$(O) : \
240 $(GNU_LIB)/stat-time.c \
241 $(CONFIG_H) \
242 $(STAT_TIME_H)
243
244$(BLD)/timespec.$(O) : \
245 $(GNU_LIB)/timespec.c \
246 $(GNU_LIB)/timespec.h \
247 $(CONFIG_H)
248
249$(BLD)/u64.$(O) : \
250 $(GNU_LIB)/u64.c \
251 $(CONFIG_H) \
252 $(U64_H)
253
254$(BLD)/filemode.$(O) : \
255 $(GNU_LIB)/filemode.c \
256 $(CONFIG_H) \
257 $(FILEMODE_H)
258
259$(BLD)/sig2str.$(O) : \
260 $(GNU_LIB)/sig2str.c \
261 $(CONFIG_H) \
262 $(SIG2STR_H)
263
264
265# The following dependencies are for supporting parallel builds, where
266# we must make sure $(BLD) exists before any compilation starts.
267#
268$(GNULIBOBJS): stamp_BLD
269
270#
271# Headers we would preprocess if we could.
272#
273getopt.h: getopt_.h
274 $(CP) $(ALL_DEPS) $@
275
276#
277# Maintenance
278#
279clean:
280 - $(DEL) $(COMPILER_TEMP_FILES)
281 - $(DEL) getopt.h
282 - $(DEL_TREE) $(OBJDIR)
283 - $(DEL) stamp_BLD
284
285distclean: cleanall
286 - $(DEL) TAGS
287 - $(DEL) Makefile
288
289maintainer-clean: distclean
290 - $(DEL) getopt_.h
291
292cleanall: clean
293 - $(DEL_TREE) obj
294 - $(DEL_TREE) obj-spd
295 - $(DEL_TREE) oo
296 - $(DEL_TREE) oo-spd
297
298# A dummy target to force other targets to be evaluated.
299doit:
300
301getopt_.h: getopt.in.h $(ARG_NONNULL_H)
302 $(MAKE) $(MFLAGS) getopt_.h-$(SHELLTYPE)
303
304getopt_.h-CMD: doit
305 @echo getopt.in.h or $(ARG_NONNULL_H) is newer than getopt_.h.
306 @echo Run "$(MAKETYPE) getopt_h" in the lib/ subdirectory.
307 @echo You will need GNU Sed to be installed.
308 exit -1
309
310getopt_.h-SH: doit
311 @echo getopt.in.h or $(ARG_NONNULL_H) is newer than getopt_.h.
312 @echo Run '"$(MAKETYPE) getopt_h"' in the lib/ subdirectory.
313 @echo You will need GNU Sed to be installed.
314 exit -1
315
316# Generating getopt_.h from getopt.in.h.
317#
318# To avoid requiring all end users to install Sed, we have below
319# a maintainer-only target that produces getopt_.h from getopt.in.h.
320# For easier maintenance, all the strings that replace the @FOO@
321# placeholder are defined as Make macros below.
322
323HAVE_GETOPT_H = HAVE_GETOPT_H
324INCLUDE_NEXT = include_next
325PRAGMA_COLUMNS =
326NEXT_GETOPT_H = <getopt.h>
327ARG_NONNULL_H = ../build-aux/snippet/arg-nonnull.h
328
329getopt_h:
330 - $(DEL) getopt_.h-t getopt_.h
331 sed -e "s!@GUARD_PREFIX@!GL!g" \
332 -e "s!@HAVE_GETOPT_H@!$(HAVE_GETOPT_H)!g" \
333 -e "s!@INCLUDE_NEXT@!$(INCLUDE_NEXT)!g" \
334 -e "s!@PRAGMA_SYSTEM_HEADER@!$(PRAGMA_SYSTEM_HEADER)!g" \
335 -e "s!@PRAGMA_COLUMNS@!$(PRAGMA_COLUMNS)!g" \
336 -e "s!@NEXT_GETOPT_H@!$(NEXT_GETOPT_H)!g" \
337 -e "/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)" \
338 -e "/^\# include_next/i # ifndef __GNUC__" \
339 -e "/^\# include_next/i # include <next_getopt.h>" \
340 -e "/^\# include_next/i # else" \
341 -e "/^\# include_next/a # endif" \
342 < getopt.in.h > getopt_.h-t
343 $(CP) getopt_.h-t getopt_.h
344 - $(DEL) getopt_.h-t
345
346execinfo.h: execinfo.in.h
347 $(CP) execinfo.in.h $@
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in
deleted file mode 100644
index 8f4104162d8..00000000000
--- a/lisp/makefile.w32-in
+++ /dev/null
@@ -1,728 +0,0 @@
1# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
2# Copyright (C) 2000-2015 Free Software Foundation, Inc.
3
4# This file is part of GNU Emacs.
5
6# GNU Emacs is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# GNU Emacs is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18
19ALL =
20
21all: $(ALL)
22
23SQUOTE='
24# '
25
26lisp = $(CURDIR)
27srcdir = $(CURDIR)/..
28
29# You can specify a different executable on the make command line,
30# e.g. "make EMACS=../bin/emacs ...".
31
32EMACS = ../src/$(BLD)/emacs.exe
33
34# Command line flags for Emacs.
35
36EMACSOPT = -batch --no-site-file --no-site-lisp
37
38# Extra flags to pass to the byte compiler
39BYTE_COMPILE_EXTRA_FLAGS =
40# For example to not display the undefined function warnings you can use this:
41# BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))'
42# The example above is just for developers, it should not be used by default.
43
44# Set EMACSLOADPATH correctly (already defined in environment).
45EMACSLOADPATH=$(lisp)
46
47# Use C locale
48LC_ALL = C
49
50lisptagsfiles1 = $(lisp)/*.el
51lisptagsfiles2 = $(lisp)/*/*.el
52lisptagsfiles3 = $(lisp)/*/*/*.el
53lisptagsfiles4 = $(lisp)/*/*/*/*.el
54ETAGS = "../lib-src/$(BLD)/etags.exe"
55## $(DEST) is overridden by ../src/makefile.w32-in.
56DEST=$(lisp)
57
58# Automatically generated autoload files, apart from lisp/loaddefs.el.
59LOADDEFS = $(lisp)/calendar/cal-loaddefs.el \
60 $(lisp)/calendar/diary-loaddefs.el $(lisp)/calendar/hol-loaddefs.el \
61 $(lisp)/mh-e/mh-loaddefs.el $(lisp)/net/tramp-loaddefs.el
62
63AUTOGENEL = $(lisp)/loaddefs.el $(LOADDEFS) $(lisp)/cus-load.el \
64 $(lisp)/finder-inf.el $(lisp)/subdirs.el $(lisp)/eshell/esh-groups.el \
65 $(lisp)/calc/calc-loaddefs.el $(lisp)/nxml/subdirs.el \
66 $(lisp)/cedet/semantic/loaddefs.el $(lisp)/cedet/ede/loaddefs.el \
67 $(lisp)/cedet/srecode/loaddefs.el
68
69# Value of max-lisp-eval-depth when compiling initially.
70# During bootstrapping the byte-compiler is run interpreted when compiling
71# itself, and uses more stack than usual.
72#
73BIG_STACK_DEPTH = 2200
74BIG_STACK_OPTS = --eval "(setq max-lisp-eval-depth $(BIG_STACK_DEPTH))"
75
76BYTE_COMPILE_FLAGS = $(BIG_STACK_OPTS) $(BYTE_COMPILE_EXTRA_FLAGS)
77
78# Files to compile before others during a bootstrap. This is done to
79# speed up the bootstrap process.
80
81COMPILE_FIRST = \
82 $(lisp)/emacs-lisp/macroexp.el \
83 $(lisp)/emacs-lisp/cconv.el \
84 $(lisp)/emacs-lisp/byte-opt.el \
85 $(lisp)/emacs-lisp/bytecomp.el \
86 $(lisp)/emacs-lisp/autoload.el
87
88# The actual Emacs command run in the targets below.
89# The quotes around $(EMACS) are here because the user could type
90# it with forward slashes and without quotes, which will fail if
91# the shell is cmd.exe.
92
93emacs = "$(EMACS)" $(EMACSOPT)
94
95# Have to define the list of subdirs manually when not using sh.
96WINS_CEDET=\
97 cedet \
98 cedet/ede \
99 cedet/semantic \
100 cedet/srecode \
101 cedet/semantic/analyze \
102 cedet/semantic/bovine \
103 cedet/semantic/decorate \
104 cedet/semantic/symref \
105 cedet/semantic/wisent
106
107# The list of subdirectories is subdivided into 4 more or less equal
108# parts so that we could have 4-way parallelism while compiling Lisp
109# files, which helps to slash bootstrap times. See the 'compile'
110# target below.
111WINS_BASIC1=\
112 calc \
113 calendar \
114 emacs-lisp \
115 erc \
116 net \
117 url
118
119WINS_BASIC2=\
120 gnus \
121 international \
122 language \
123 mail
124
125WINS_BASIC3=\
126 emulation \
127 mh-e \
128 nxml \
129 org \
130 play \
131 textmodes \
132 vc
133
134WINS_BASIC4=\
135 eshell \
136 progmodes
137
138WINS_BASIC= $(WINS_BASIC1) $(WINS_BASIC2) $(WINS_BASIC3) $(WINS_BASIC4)
139
140# Directories with lisp files to compile, and to extract data from
141# (customs, autoloads, etc.)
142WINS_UPDATES=$(WINS_BASIC) \
143 $(WINS_CEDET)
144
145# Directories to add to subdirs.el
146WINS_SUBDIR=$(WINS_BASIC) \
147 obsolete
148
149# All directories
150WINS= $(WINS_UPDATES) \
151 term \
152 obsolete
153
154doit:
155
156cus-load.el-SH:
157 echo ";;; cus-load.el --- automatically extracted custom dependencies" > $@
158 echo ";;" >> $@; echo ";;; Code:" >> $@
159 echo " " >> $@
160 echo ";; Local Variables:" >> $@
161 echo ";; version-control: never" >> $@
162 echo ";; no-byte-compile: t" >> $@
163 echo ";; no-update-autoloads: t" >> $@
164 echo ";; End:" >> $@
165
166cus-load.el-CMD:
167 echo ;;; cus-load.el --- automatically extracted custom dependencies> $@
168 echo ;;>> $@
169 echo ;;; Code:>> $@
170 echo. >> $@
171 echo ;; Local Variables:>> $@
172 echo ;; version-control: never>> $@
173 echo ;; no-byte-compile: t>> $@
174 echo ;; no-update-autoloads: t>> $@
175 echo ;; End:>> $@
176
177$(lisp)/cus-load.el:
178 $(MAKE) $(MFLAGS) cus-load.el-$(SHELLTYPE)
179 mv cus-load.el-$(SHELLTYPE) $@
180
181# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
182# this can break with GNU Make 3.81 and later if sh.exe is used.
183custom-deps: $(lisp)/cus-load.el $(lisp)/loaddefs.el $(lisp)/subdirs.el doit
184 @echo Directories: $(WINS_UPDATES)
185 -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) \
186 -f custom-make-dependencies $(lisp) $(WINS_UPDATES)
187
188finder-data: $(lisp)/loaddefs.el $(lisp)/subdirs.el doit
189 @echo Directories: $(WINS_UPDATES)
190 $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS_UPDATES)
191
192$(lisp)/loaddefs.el:
193 $(MAKE) $(MFLAGS) loaddefs.el-$(SHELLTYPE)
194 cp loaddefs.el-$(SHELLTYPE) $@
195 rm loaddefs.el-$(SHELLTYPE)
196
197loaddefs.el-SH:
198 echo ";;; loaddefs.el --- automatically extracted autoloads" > $@
199 echo ";;" >> $@; echo ";;; Code:" >> $@
200 echo " " >> $@
201 echo ";; Local Variables:" >> $@
202 echo ";; version-control: never" >> $@
203 echo ";; no-byte-compile: t" >> $@
204 echo ";; no-update-autoloads: t" >> $@
205 echo ";; coding: utf-8" >> $@
206 echo ";; End:" >> $@
207 echo ";;; loaddefs.el ends here" >> $@
208
209loaddefs.el-CMD:
210 echo ;;; loaddefs.el --- automatically extracted autoloads> $@
211 echo ;;>> $@
212 echo ;;; Code:>> $@
213 echo. >> $@
214 echo ;; Local Variables:>> $@
215 echo ;; version-control: never>> $@
216 echo ;; no-byte-compile: t>> $@
217 echo ;; no-update-autoloads: t>> $@
218 echo ;; coding: utf-8>> $@
219 echo ;; End:>> $@
220 echo ;;; loaddefs.el ends here>> $@
221
222# Use . instead of $(lisp) because $(lisp) is an absolute file name,
223# including a drive letter and any leading directories, so the generated
224# loaddefs.el will mention file names that on other machine reference
225# possibly non-existent directories.
226#
227# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
228# this can break with GNU Make 3.81 and later if sh.exe is used.
229autoloads: $(lisp)/loaddefs.el $(LOADDEFS) doit
230 @echo Directories: . $(WINS_UPDATES)
231 $(emacs) -l autoload \
232 --eval $(ARGQUOTE)(setq find-file-hook nil find-file-suppress-same-file-warnings t)$(ARGQUOTE) \
233 -f w32-batch-update-autoloads "$(lisp)/loaddefs.el" $(MAKE) . $(WINS_UPDATES)
234
235$(lisp)/subdirs.el:
236 $(MAKE) $(MFLAGS) update-subdirs
237
238# Need separate version for sh and native cmd.exe
239update-subdirs: update-subdirs-$(SHELLTYPE)
240
241update-subdirs-CMD: doit
242 echo ;; In load-path, after this directory should come> $(lisp)/subdirs.el
243 echo ;; certain of its subdirectories. Here we specify them.>> $(lisp)/subdirs.el
244 echo (normal-top-level-add-to-load-path $(SQUOTE)(>> $(lisp)/subdirs.el
245 @for %%d in ($(WINS_SUBDIR) cedet) do echo "%%d">> $(lisp)/subdirs.el
246 echo ))>> $(lisp)/subdirs.el
247 echo ;; Local Variables:>> $(lisp)/subdirs.el
248 echo ;; version-control: never>> $(lisp)/subdirs.el
249 echo ;; no-byte-compile: t>> $(lisp)/subdirs.el
250 echo ;; End:>> $(lisp)/subdirs.el
251
252update-subdirs-SH: doit
253 $(srcdir)/build-aux/update-subdirs $(lisp); \
254 for file in $(WINS_SUBDIR); do \
255 $(srcdir)/build-aux/update-subdirs $$file; \
256 done;
257
258updates: $(lisp)/subdirs.el autoloads mh-autoloads finder-data custom-deps
259
260# This is useful after a repository fetch.
261repo-update: recompile autoloads finder-data custom-deps
262
263# For backwards compatibility:
264cvs-update: repo-update
265
266# Update the AUTHORS file.
267
268update-authors:
269 $(emacs) -l authors -f batch-update-authors $(srcdir)/etc/AUTHORS $(srcdir)
270
271TAGS: TAGS-$(MAKETYPE)
272
273TAGS-LISP: TAGS-LISP-$(MAKETYPE)
274
275TAGS-nmake:
276 echo This target is not supported with NMake
277 exit -1
278
279TAGS-LISP-nmake:
280 echo This target is not supported with NMake
281 exit -1
282
283TAGS-gmake: TAGS-$(SHELLTYPE)
284
285TAGS-LISP-gmake: TAGS-LISP-$(SHELLTYPE)
286
287TAGS-SH: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4)
288 - $(DEL) TAGS
289 for dir in . $(WINS_UPDATES); do \
290 $(ETAGS) -a $(lisp)/$$dir/*.el; \
291 done
292
293TAGS-LISP-SH: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4)
294 - $(DEL) $(DEST)/TAGS-LISP
295 for dir in . $(WINS_UPDATES); do \
296 $(ETAGS) -a -o $(DEST)/TAGS-LISP $(lisp)/$$dir/*.el; \
297 done
298
299TAGS-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4)
300 - $(DEL) TAGS
301 for %%d in (. $(WINS_UPDATES)) do $(ETAGS) -a $(lisp)/%%d/*.el
302
303TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4)
304 - $(DEL) $(DEST)/TAGS-LISP
305 for %%d in (. $(WINS_UPDATES)) do \
306 $(ETAGS) -a -o $(DEST)/TAGS-LISP $(lisp)/%%d/*.el
307
308.SUFFIXES: .elc .el
309
310.el.elc:
311 -$(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $<
312
313# Compile all Lisp files, but don't recompile those that are up to
314# date. Some files don't actually get compiled because they set the
315# local variable no-byte-compile.
316
317# All .elc files are made writable before compilation in case we
318# checked out read-only (CVS option -r). Files MUST be compiled one by
319# one. If we compile several files in a row we can't make sure that
320# the compilation environment is clean. We also set the load-path of
321# the Emacs used for compilation to the current directory and its
322# subdirectories, to make sure require's and load's in the files being
323# compiled find the right files.
324
325# Need separate version for sh and native cmd.exe
326compile: $(lisp)/subdirs.el compile0-$(SHELLTYPE) compile1-$(SHELLTYPE) compile2-$(SHELLTYPE) compile3-$(SHELLTYPE) compile4-$(SHELLTYPE) doit
327
328compile0-CMD: autoloads
329# -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g
330 for %%f in ($(COMPILE_FIRST)) do \
331 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f
332
333compile1-CMD: autoloads compile0-CMD
334 for %%f in (. $(WINS_BASIC1)) do for %%g in (%%f/*.el) do \
335 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g
336
337compile2-CMD: autoloads compile0-CMD
338 for %%f in ($(WINS_BASIC2)) do for %%g in (%%f/*.el) do \
339 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g
340
341compile3-CMD: autoloads compile0-CMD
342 for %%f in ($(WINS_BASIC3)) do for %%g in (%%f/*.el) do \
343 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g
344
345compile4-CMD: autoloads compile0-CMD
346 for %%f in ($(WINS_BASIC4) $(WINS_CEDET) term obsolete) do for %%g in (%%f/*.el) do \
347 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g
348
349compile0-SH: autoloads
350# for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done
351 for el in $(COMPILE_FIRST); do \
352 echo Compiling $$el; \
353 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \
354 done
355
356compile1-SH: autoloads compile0-SH
357 for dir in $(lisp) $(WINS_BASIC1); do \
358 for el in $$dir/*.el; do \
359 if test -f $$el; \
360 then \
361 echo Compiling $$el; \
362 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \
363 fi \
364 done; \
365 done
366
367compile2-SH: autoloads compile0-SH
368 for dir in $(WINS_BASIC2); do \
369 for el in $$dir/*.el; do \
370 if test -f $$el; \
371 then \
372 echo Compiling $$el; \
373 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \
374 fi \
375 done; \
376 done
377
378compile3-SH: autoloads compile0-SH
379 for dir in $(WINS_BASIC3); do \
380 for el in $$dir/*.el; do \
381 if test -f $$el; \
382 then \
383 echo Compiling $$el; \
384 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \
385 fi \
386 done; \
387 done
388
389compile4-SH: autoloads compile0-SH
390 for dir in $(WINS_BASIC4) $(WINS_CEDET) term obsolete; do \
391 for el in $$dir/*.el; do \
392 if test -f $$el; \
393 then \
394 echo Compiling $$el; \
395 $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \
396 fi \
397 done; \
398 done
399
400# Compile all Lisp files. This is like `compile' but compiles files
401# unconditionally. Some files don't actually get compiled because they
402# set the local variable no-byte-compile.
403
404compile-always: $(lisp)/subdirs.el compile-always-$(SHELLTYPE) doit
405
406compile-always-CMD:
407# -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g
408 for %%f in ($(COMPILE_FIRST)) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f
409 for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f/%%g
410
411compile-always-SH:
412# for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done
413 for el in $(COMPILE_FIRST); do \
414 echo Compiling $$el; \
415 $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $$el || exit 1; \
416 done
417 for dir in $(lisp) $(WINS); do \
418 for el in $$dir/*.el; do \
419 echo Compiling $$el; \
420 $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $$el || exit 1; \
421 done; \
422 done
423
424compile-calc: compile-calc-$(SHELLTYPE)
425
426compile-calc-CMD:
427 for %%f in ($(lisp)/calc/*.el) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f
428
429compile-calc-SH:
430 for el in $(lisp)/calc/*.el; do \
431 echo Compiling $$el; \
432 $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $$el || exit 1; \
433 done
434
435# Backup compiled Lisp files in elc.tar.gz. If that file already
436# exists, make a backup of it.
437
438backup-compiled-files:
439 -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~
440 -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc
441
442# Compile Lisp files, but save old compiled files first.
443
444compile-after-backup: backup-compiled-files compile-always
445
446compile-first: $(lisp)/emacs-lisp/bytecomp.elc $(lisp)/emacs-lisp/byte-opt.elc \
447 $(lisp)/emacs-lisp/autoload.elc $(lisp)/subdirs.el
448
449# Recompile all Lisp files which are newer than their .elc files.
450# Note that this doesn't create .elc files. It only recompiles if an
451# .elc is present.
452# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
453# this can break with GNU Make 3.81 and later if sh.exe is used.
454recompile: compile-first autoloads doit $(lisp)/progmodes/cc-mode.elc
455 $(emacs) --eval $(ARGQUOTE)(batch-byte-recompile-directory 0)$(ARGQUOTE) $(lisp)
456
457$(lisp)/calendar/cal-loaddefs.el: $(lisp)/subdirs.el
458 "$(EMACS)" $(EMACSOPT) -l autoload \
459 --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \
460 --eval "(setq find-file-suppress-same-file-warnings t)" \
461 --eval "(setq make-backup-files nil)" \
462 -f w32-batch-update-autoloads "$(lisp)/calendar/cal-loaddefs.el" \
463 $(MAKE) ./calendar
464
465$(lisp)/calendar/diary-loaddefs.el: $(lisp)/subdirs.el
466 "$(EMACS)" $(EMACSOPT) -l autoload \
467 --eval "(setq generate-autoload-cookie \";;;###diary-autoload\")" \
468 --eval "(setq find-file-suppress-same-file-warnings t)" \
469 --eval "(setq make-backup-files nil)" \
470 -f w32-batch-update-autoloads $(lisp)/calendar/diary-loaddefs.el \
471 $(MAKE) ./calendar
472
473$(lisp)/calendar/hol-loaddefs.el: $(lisp)/subdirs.el
474 "$(EMACS)" $(EMACSOPT) -l autoload \
475 --eval "(setq generate-autoload-cookie \";;;###holiday-autoload\")" \
476 --eval "(setq find-file-suppress-same-file-warnings t)" \
477 --eval "(setq make-backup-files nil)" \
478 -f w32-batch-update-autoloads $(lisp)/calendar/hol-loaddefs.el \
479 $(MAKE) ./calendar
480
481# Update MH-E internal autoloads. These are not to be confused with
482# the autoloads for the MH-E entry points, which are already in
483# loaddefs.el.
484MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \
485 $(lisp)/mh-e/mh-buffers.el $(lisp)/mh-e/mh-compat.el \
486 $(lisp)/mh-e/mh-comp.el $(lisp)/mh-e/mh-e.el \
487 $(lisp)/mh-e/mh-folder.el $(lisp)/mh-e/mh-funcs.el \
488 $(lisp)/mh-e/mh-gnus.el $(lisp)/mh-e/mh-identity.el \
489 $(lisp)/mh-e/mh-inc.el $(lisp)/mh-e/mh-junk.el \
490 $(lisp)/mh-e/mh-letter.el $(lisp)/mh-e/mh-limit.el \
491 $(lisp)/mh-e/mh-mime.el $(lisp)/mh-e/mh-print.el \
492 $(lisp)/mh-e/mh-scan.el $(lisp)/mh-e/mh-search.el \
493 $(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-show.el \
494 $(lisp)/mh-e/mh-speed.el $(lisp)/mh-e/mh-thread.el \
495 $(lisp)/mh-e/mh-tool-bar.el $(lisp)/mh-e/mh-utils.el \
496 $(lisp)/mh-e/mh-xface.el
497
498# See the commentary for autoloads above for why we use ./mh-e below
499# instead of $(lisp)/mh-e.
500mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el
501$(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) $(lisp)/subdirs.el
502 "$(EMACS)" $(EMACSOPT) \
503 -l autoload \
504 --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###mh-autoload$(DQUOTE))$(ARGQUOTE) \
505 --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \
506 --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \
507 -f w32-batch-update-autoloads \
508 $(ARGQUOTE)$(lisp)/mh-e/mh-loaddefs.el$(ARGQUOTE) $(MAKE) ./mh-e
509
510# Update TRAMP internal autoloads. Maybe we could move tramp*.el into
511# an own subdirectory. OTOH, it does not hurt to keep them in
512# lisp/net.
513TRAMP_DIR = $(lisp)/net
514TRAMP_SRC = $(TRAMP_DIR)/tramp.el $(TRAMP_DIR)/tramp-adb.el \
515 $(TRAMP_DIR)/tramp-cache.el $(TRAMP_DIR)/tramp-cmds.el \
516 $(TRAMP_DIR)/tramp-compat.el $(TRAMP_DIR)/tramp-ftp.el \
517 $(TRAMP_DIR)/tramp-gvfs.el $(TRAMP_DIR)/tramp-gw.el \
518 $(TRAMP_DIR)/tramp-sh.el $(TRAMP_DIR)/tramp-smb.el \
519 $(TRAMP_DIR)/tramp-uu.el $(TRAMP_DIR)/trampver.el
520
521$(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC) $(lisp)/subdirs.el
522 "$(EMACS)" $(EMACSOPT) \
523 -l autoload \
524 --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###tramp-autoload$(DQUOTE))$(ARGQUOTE) \
525 --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \
526 --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \
527 -f w32-batch-update-autoloads \
528 $(ARGQUOTE)$(TRAMP_DIR)/tramp-loaddefs.el$(ARGQUOTE) $(MAKE) ./net
529
530# Prepare a bootstrap in the lisp subdirectory.
531#
532# Build loaddefs.el to make sure it's up-to-date. If it's not, that
533# might lead to errors during the bootstrap because something fails to
534# autoload as expected. If there is no emacs binary, then we can't
535# build autoloads yet. In that case we have to use ldefs-boot.el;
536# bootstrap should always work with ldefs-boot.el. (Because
537# loaddefs.el is an automatically generated file, we don't want to
538# store it in the source repository).
539#
540# Remove compiled Lisp files so that bootstrap-emacs will be built from
541# sources only.
542
543# Need separate version for sh and native cmd.exe
544bootstrap-clean:
545 - $(DEL) $(lisp)/loaddefs.el
546 - $(DEL) $(lisp)/subdirs.el
547 $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE)
548
549bootstrap-clean-CMD:
550# if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads
551 -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g
552
553bootstrap-clean-SH:
554# if test -f "$(EMACS)"; then $(MAKE) $(MFLAGS) autoloads; fi
555# -rm -f $(lisp)/*.elc $(lisp)/*/*.elc
556 -for dir in . $(WINS); do rm -f $$dir/*.elc $$dir/*/*.elc $$dir/*/*/*.elc; done
557
558# Generate/update files for the bootstrap process.
559# When done, remove bootstrap-emacs from ../bin, so that
560# it will not be mistaken for an installed binary.
561
562bootstrap: $(lisp)/subdirs.el compile finder-data custom-deps
563 - $(DEL) "$(EMACS)"
564
565#
566# Assuming INSTALL_DIR is defined, copy the elisp files to it
567# Windows 95 makes this harder than it should be.
568#
569install:
570 - mkdir "$(INSTALL_DIR)/lisp"
571 - $(DEL) ../$(DIRNAME)_same-dir.tst
572 - $(DEL) "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"
573 echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"
574#ifdef COPY_LISP_SOURCE
575 $(IFNOTSAMEDIR) $(MAKE) $(MFLAGS) install-lisp-$(SHELLTYPE) $(ENDIF)
576#else
577# $(IFNOTSAMEDIR) $(CP_DIR) *.elc "$(INSTALL_DIR)/lisp" $(ENDIF)
578# $(IFNOTSAMEDIR) $(CP) cus-load.el "$(INSTALL_DIR)/lisp" $(ENDIF)
579# $(IFNOTSAMEDIR) $(CP) forms*.el "$(INSTALL_DIR)/lisp" $(ENDIF)
580# $(IFNOTSAMEDIR) $(CP) patcomp.el "$(INSTALL_DIR)/lisp" $(ENDIF)
581# $(IFNOTSAMEDIR) $(CP) subdirs.el "$(INSTALL_DIR)/lisp" $(ENDIF)
582# $(IFNOTSAMEDIR) $(CP) version.el "$(INSTALL_DIR)/lisp" $(ENDIF)
583# $(IFNOTSAMEDIR) $(CP) mail/blessmail.el "$(INSTALL_DIR)/lisp/mail" $(ENDIF)
584# $(IFNOTSAMEDIR) $(CP) mail/sc.el "$(INSTALL_DIR)/lisp/mail" $(ENDIF)
585# $(IFNOTSAMEDIR) $(CP) play/bruce.el "$(INSTALL_DIR)/lisp/play" $(ENDIF)
586# $(IFNOTSAMEDIR) $(CP) international/latin-*.el "$(INSTALL_DIR)/lisp/international" $(ENDIF)
587# $(IFNOTSAMEDIR) $(CP) international/mule-conf.el "$(INSTALL_DIR)/lisp/international" $(ENDIF)
588#endif
589 - $(DEL) ../$(DIRNAME)_same-dir.tst
590 - $(DEL) "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"
591
592# Need to copy *.el files first, to avoid "source file is newer" annoyance
593# since cp does not preserve time stamps
594install-lisp-SH:
595 cp -f *.el "$(INSTALL_DIR)/lisp"
596 for dir in $(WINS); do [ -d "$(INSTALL_DIR)/lisp/$$dir" ] || mkdir "$(INSTALL_DIR)/lisp/$$dir"; done
597 for dir in $(WINS); do cp -f $$dir/*.el "$(INSTALL_DIR)/lisp/$$dir"; done
598 for dir in . $(WINS); do cp $$dir/*.elc "$(INSTALL_DIR)/lisp/$$dir"; done
599
600install-lisp-CMD:
601 cp -f *.el "$(INSTALL_DIR)/lisp"
602 for %%f in ($(WINS)) do if not exist "$(INSTALL_DIR)/lisp/%%f" mkdir "$(INSTALL_DIR)/lisp/%%f"
603 for %%f in ($(WINS)) do cp -f %%f/*.el "$(INSTALL_DIR)/lisp/%%f"
604 for %%f in (. $(WINS)) do cp -f %%f/*.elc "$(INSTALL_DIR)/lisp/%%f"
605
606# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
607# this can break with GNU Make 3.81 and later if sh.exe is used.
608check-declare:
609 $(emacs) -l $(lisp)/emacs-lisp/check-declare --eval $(ARGQUOTE)(check-declare-directory $(DQUOTE)$(lisp)$(DQUOTE))$(ARGQUOTE)
610
611#
612# Maintenance
613#
614# We used to delete *~ here, but that might inadvertently remove
615# precious files if it happens to match their short 8+3 aliases.
616clean:
617 - $(DEL) *.el~
618 - $(DEL) calc/calc-loaddefs.el~
619 - $(DEL) eshell/esh-groups.el~
620
621distclean: clean
622 - $(DEL) $(lisp)/Makefile
623
624maintainer-clean: bootstrap-clean distclean
625 - $(DEL) $(AUTOGENEL)
626
627# Dependencies
628
629# CC Mode uses a compile time macro system which causes a compile time
630# dependency in cc-*.elc files on the macros in other cc-*.el and the
631# version string in cc-defs.el.
632$(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-awk.elc\
633 $(lisp)/progmodes/cc-cmds.elc $(lisp)/progmodes/cc-compat.elc\
634 $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-fonts.elc\
635 $(lisp)/progmodes/cc-langs.elc $(lisp)/progmodes/cc-menus.elc\
636 $(lisp)/progmodes/cc-mode.elc $(lisp)/progmodes/cc-styles.elc\
637 $(lisp)/progmodes/cc-vars.elc: \
638 $(lisp)/progmodes/cc-bytecomp.elc $(lisp)/progmodes/cc-defs.elc
639
640$(lisp)/progmodes/cc-align.elc: \
641 $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc
642
643$(lisp)/progmodes/cc-cmds.elc: \
644 $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc
645
646$(lisp)/progmodes/cc-compat.elc: \
647 $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-styles.elc \
648 $(lisp)/progmodes/cc-engine.elc
649
650$(lisp)/progmodes/cc-defs.elc: $(lisp)/progmodes/cc-bytecomp.elc \
651 $(lisp)/emacs-lisp/cl.elc $(lisp)/emacs-lisp/regexp-opt.elc
652
653$(lisp)/progmodes/cc-engine.elc: $(lisp)/progmodes/cc-langs.elc \
654 $(lisp)/progmodes/cc-vars.elc
655
656$(lisp)/progmodes/cc-fonts.elc: $(lisp)/progmodes/cc-langs.elc \
657 $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \
658 $(lisp)/font-lock.elc
659
660$(lisp)/progmodes/cc-langs.elc: $(lisp)/progmodes/cc-vars.elc \
661 $(lisp)/emacs-lisp/cl.elc
662
663$(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.elc \
664 $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \
665 $(lisp)/progmodes/cc-styles.elc $(lisp)/progmodes/cc-cmds.elc \
666 $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-menus.elc \
667 $(lisp)/subdirs.el
668
669$(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \
670 $(lisp)/progmodes/cc-align.elc
671
672$(lisp)/progmodes/cc-vars.elc: $(lisp)/custom.elc $(lisp)/widget.elc
673
674# MH-E dependencies, mainly to prevent failures with parallel
675# compilation, due to race conditions between writing a given FOO.elc
676# file and another file being compiled that says "(require FOO)",
677# which causes Emacs to try to read FOO.elc.
678MH_E_DIR = ./mh-e
679$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-comp.elc $(MH_E_DIR)/mh-folder.elc\
680 $(MH_E_DIR)/mh-funcs.elc $(MH_E_DIR)/mh-identity.elc $(MH_E_DIR)/mh-inc.elc\
681 $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-limit.elc\
682 $(MH_E_DIR)/mh-mime.elc $(MH_E_DIR)/mh-print.elc $(MH_E_DIR)/mh-scan.elc\
683 $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc\
684 $(MH_E_DIR)/mh-speed.elc $(MH_E_DIR)/mh-thread.elc $(MH_E_DIR)/mh-tool-bar.elc\
685 $(MH_E_DIR)/mh-utils.elc $(MH_E_DIR)/mh-xface.elc:\
686 $(MH_E_DIR)/mh-e.elc
687
688$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-e.elc $(MH_E_DIR)/mh-folder.elc\
689 $(MH_E_DIR)/mh-inc.elc $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-limit.elc\
690 $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-speed.elc\
691 $(MH_E_DIR)/mh-utils.elc $(MH_E_DIR)/mh-xface.elc:\
692 $(lisp)/emacs-lisp/cl.elc
693
694$(MH_E_DIR)/mh-comp.elc $(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-funcs.elc\
695 $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-limit.elc $(MH_E_DIR)/mh-print.elc\
696 $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc $(MH_E_DIR)/mh-thread.elc:\
697 $(MH_E_DIR)/mh-scan.elc
698
699$(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-mime.elc\
700 $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-show.elc $(MH_E_DIR)/mh-speed.elc:\
701 $(lisp)/gnus/gnus-util.elc
702
703$(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-search.elc:\
704 $(lisp)/progmodes/which-func.elc
705
706$(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc\
707 $(MH_E_DIR)/mh-utils.elc:\
708 $(lisp)/font-lock.elc
709
710$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-show.elc: $(lisp)/net/goto-addr.elc
711
712$(MH_E_DIR)/mh-comp.elc: $(lisp)/mail/sendmail.elc
713
714$(MH_E_DIR)/mh-e.elc: $(MH_E_DIR)/mh-buffers.elc $(lisp)/gnus/gnus.elc \
715 $(lisp)/cus-face.elc
716
717$(MH_E_DIR)/mh-letter.elc: $(lisp)/gnus/mailcap.elc $(lisp)/gnus/mm-decode.elc \
718 $(lisp)/gnus/mm-view.elc $(lisp)/gnus/mml.elc $(lisp)/gnus/message.elc
719
720$(MH_E_DIR)/mh-print.elc: $(lisp)/ps-print.elc
721
722$(MH_E_DIR)/mh-search.elc: $(lisp)/imenu.elc
723
724$(MH_E_DIR)/mh-show.elc: $(lisp)/gnus/gnus-cite.elc
725
726$(MH_E_DIR)/mh-speed.elc: $(lisp)/speedbar.elc $(lisp)/emacs-lisp/timer.elc
727
728$(MH_E_DIR)/mh-tool-bar.elc: $(lisp)/tool-bar.elc
diff --git a/make-dist b/make-dist
index 6bf01ffa11b..79db904a2c8 100755
--- a/make-dist
+++ b/make-dist
@@ -338,7 +338,7 @@ files=`find lisp \( -name '*.el' -o -name '*.elc' -o -name 'ChangeLog*' \
338 -o -name 'README' \)` 338 -o -name 'README' \)`
339 339
340### Don't distribute site-init.el, site-load.el, or default.el. 340### Don't distribute site-init.el, site-load.el, or default.el.
341for file in lisp/Makefile.in lisp/makefile.w32-in $files; do 341for file in lisp/Makefile.in $files; do
342 case $file in 342 case $file in
343 */site-init*|*/site-load*|*/default*) continue ;; 343 */site-init*|*/site-load*|*/default*) continue ;;
344 esac 344 esac
@@ -347,7 +347,6 @@ done
347 347
348echo "Making links to 'leim' and its subdirectories" 348echo "Making links to 'leim' and its subdirectories"
349(cd leim 349(cd leim
350 ln makefile.w32-in ../${tempdir}/leim
351 ln ChangeLog.*[0-9] README ../${tempdir}/leim 350 ln ChangeLog.*[0-9] README ../${tempdir}/leim
352 ln CXTERM-DIC/README CXTERM-DIC/*.tit ../${tempdir}/leim/CXTERM-DIC 351 ln CXTERM-DIC/README CXTERM-DIC/*.tit ../${tempdir}/leim/CXTERM-DIC
353 ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/leim/SKK-DIC 352 ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/leim/SKK-DIC
@@ -377,7 +376,6 @@ echo "Making links to 'src'"
377 ln [a-zA-Z]*.in ../${tempdir}/src 376 ln [a-zA-Z]*.in ../${tempdir}/src
378 ln deps.mk ../${tempdir}/src 377 ln deps.mk ../${tempdir}/src
379 ln README ChangeLog.*[0-9] ../${tempdir}/src 378 ln README ChangeLog.*[0-9] ../${tempdir}/src
380 ln makefile.w32-in ../${tempdir}/src
381 ln .gdbinit .dbxinit ../${tempdir}/src 379 ln .gdbinit .dbxinit ../${tempdir}/src
382 cd ../${tempdir}/src 380 cd ../${tempdir}/src
383 rm -f globals.h config.h epaths.h Makefile buildobj.h) 381 rm -f globals.h config.h epaths.h Makefile buildobj.h)
@@ -390,7 +388,7 @@ echo "Making links to 'lib'"
390(snippet_h=`(cd build-aux/snippet && ls *.h)` 388(snippet_h=`(cd build-aux/snippet && ls *.h)`
391 cd lib 389 cd lib
392 ln [a-zA-Z]*.[ch] ../${tempdir}/lib 390 ln [a-zA-Z]*.[ch] ../${tempdir}/lib
393 ln gnulib.mk Makefile.am Makefile.in makefile.w32-in ../${tempdir}/lib 391 ln gnulib.mk Makefile.am Makefile.in ../${tempdir}/lib
394 cd ../${tempdir}/lib 392 cd ../${tempdir}/lib
395 script='/[*]/d; s/\.in\.h$/.h/' 393 script='/[*]/d; s/\.in\.h$/.h/'
396 rm -f `(echo "$snippet_h"; ls *.in.h) | sed "$script"`) 394 rm -f `(echo "$snippet_h"; ls *.in.h) | sed "$script"`)
@@ -400,7 +398,6 @@ echo "Making links to 'lib-src'"
400 ln [a-zA-Z]*.[ch] ../${tempdir}/lib-src 398 ln [a-zA-Z]*.[ch] ../${tempdir}/lib-src
401 ln ChangeLog.*[0-9] Makefile.in README ../${tempdir}/lib-src 399 ln ChangeLog.*[0-9] Makefile.in README ../${tempdir}/lib-src
402 ln rcs2log ../${tempdir}/lib-src 400 ln rcs2log ../${tempdir}/lib-src
403 ln makefile.w32-in ../${tempdir}/lib-src
404 ln update-game-score.exe.manifest ../${tempdir}/lib-src) 401 ln update-game-score.exe.manifest ../${tempdir}/lib-src)
405 402
406echo "Making links to 'm4'" 403echo "Making links to 'm4'"
@@ -410,11 +407,10 @@ echo "Making links to 'm4'"
410echo "Making links to 'nt'" 407echo "Making links to 'nt'"
411(cd nt 408(cd nt
412 ln emacs-x86.manifest emacs-x64.manifest ../${tempdir}/nt 409 ln emacs-x86.manifest emacs-x64.manifest ../${tempdir}/nt
413 ln config.nt emacs-src.tags ../${tempdir}/nt 410 ln subdirs.el [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt
414 ln nmake.defs gmake.defs subdirs.el [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt
415 ln *.in gnulib.mk ../${tempdir}/nt 411 ln *.in gnulib.mk ../${tempdir}/nt
416 ln mingw-cfg.site epaths.nt INSTALL.OLD ../${tempdir}/nt 412 ln mingw-cfg.site epaths.nt INSTALL.OLD ../${tempdir}/nt
417 ln ChangeLog.*[0-9] INSTALL README README.W32 makefile.w32-in ../${tempdir}/nt) 413 ln ChangeLog.*[0-9] INSTALL README README.W32 ../${tempdir}/nt)
418 414
419echo "Making links to 'nt/inc' and its subdirectories" 415echo "Making links to 'nt/inc' and its subdirectories"
420for f in `find nt/inc -type f -name '[a-z]*.h'`; do 416for f in `find nt/inc -type f -name '[a-z]*.h'`; do
@@ -500,23 +496,22 @@ ln `find info -type f -print` ${tempdir}/info
500 496
501echo "Making links to 'doc/emacs'" 497echo "Making links to 'doc/emacs'"
502(cd doc/emacs 498(cd doc/emacs
503 ln *.texi *.in makefile.w32-in ChangeLog.*[0-9] ../../${tempdir}/doc/emacs) 499 ln *.texi *.in ChangeLog.*[0-9] ../../${tempdir}/doc/emacs)
504 500
505echo "Making links to 'doc/misc'" 501echo "Making links to 'doc/misc'"
506(cd doc/misc 502(cd doc/misc
507 ln *.texi *.tex *.in makefile.w32-in gnus-news.el ChangeLog.*[0-9] \ 503 ln *.texi *.tex *.in gnus-news.el ChangeLog.*[0-9] \
508 ../../${tempdir}/doc/misc) 504 ../../${tempdir}/doc/misc)
509 505
510echo "Making links to 'doc/lispref'" 506echo "Making links to 'doc/lispref'"
511(cd doc/lispref 507(cd doc/lispref
512 ln *.texi *.in makefile.w32-in README ChangeLog.*[0-9] \ 508 ln *.texi *.in README ChangeLog.*[0-9] ../../${tempdir}/doc/lispref
513 ../../${tempdir}/doc/lispref
514 ln spellfile ../../${tempdir}/doc/lispref 509 ln spellfile ../../${tempdir}/doc/lispref
515 ln two-volume.make two-volume-cross-refs.txt ../../${tempdir}/doc/lispref) 510 ln two-volume.make two-volume-cross-refs.txt ../../${tempdir}/doc/lispref)
516 511
517echo "Making links to 'doc/lispintro'" 512echo "Making links to 'doc/lispintro'"
518(cd doc/lispintro 513(cd doc/lispintro
519 ln *.texi *.in makefile.w32-in *.eps *.pdf ../../${tempdir}/doc/lispintro 514 ln *.texi *.in *.eps *.pdf ../../${tempdir}/doc/lispintro
520 ln README ChangeLog.*[0-9] ../../${tempdir}/doc/lispintro 515 ln README ChangeLog.*[0-9] ../../${tempdir}/doc/lispintro
521 cd ../../${tempdir}/doc/lispintro) 516 cd ../../${tempdir}/doc/lispintro)
522 517
diff --git a/nt/INSTALL.OLD b/nt/INSTALL.OLD
deleted file mode 100644
index 89e87b2d896..00000000000
--- a/nt/INSTALL.OLD
+++ /dev/null
@@ -1,752 +0,0 @@
1 Building and Installing Emacs on Windows
2 (from 95 to 7 and beyond)
3
4 Copyright (C) 2001-2015 Free Software Foundation, Inc.
5 See the end of the file for license conditions.
6
7*** This method of building Emacs is no longer supported. ***
8 It may fail to produce a correctly working Emacs.
9 Do not report bugs associated with this build method.
10 Instead, follow the new instructions in INSTALL.
11
12* For the impatient
13
14 Here are the concise instructions for configuring and building the
15 native Windows binary of Emacs, for those who want to skip the
16 complex explanations and ``just do it'':
17
18 Do not use this recipe with Cygwin. For building on Cygwin,
19 use the normal installation instructions, ../INSTALL.
20
21 Do not use these instructions with MSYS environment. For building
22 the native Windows binary with MinGW and MSYS, follow the
23 instructions in the file INSTALL in this directory.
24
25 For building without MSYS, if you have a Cygwin or MSYS port of Bash
26 on your Path, you will be better off removing it from PATH. (For
27 details, search for "MSYS sh.exe" below.)
28
29 1. Change to the `nt' directory (the directory of this file):
30
31 cd nt
32
33 2. Run configure.bat.
34
35 2a.If you use MSVC, set up the build environment by running the
36 SetEnv.cmd batch file from the appropriate SDK directory. (Skip
37 this step if you are using MinGW.) For example:
38
39 "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Debug
40
41 if you are going to compile a debug version, or
42
43 "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Release
44
45 if you are going to compile an optimized version.
46
47 2b.From the COMMAND.COM/CMD.EXE command prompt type:
48
49 configure
50
51 From a Unixy shell prompt:
52
53 cmd /c configure.bat
54 or
55 command.com /c configure.bat
56
57 3. Run the Make utility suitable for your environment. If you build
58 with the Microsoft's Visual C compiler:
59
60 nmake
61
62 For the development environments based on GNU GCC (MinGW, MSYS,
63 Cygwin - but see notes about Cygwin make below), depending on how
64 Make is called, it could be:
65
66 make
67 or
68 mingw32-make
69 or
70 gnumake
71 or
72 gmake
73
74 (If you are building from Bazaar, say "make bootstrap" or "nmake
75 bootstrap" instead, and avoid using Cygwin make.)
76
77 With GNU Make, you can use the -j command-line option to have
78 Make execute several commands at once, like this:
79
80 gmake -j 2
81
82 (With versions of GNU Make before 3.82, you need also set the
83 XMFLAGS variable, like this:
84
85 gmake -j 2 XMFLAGS="-j 2"
86
87 The XMFLAGS variable overrides the default behavior of version
88 3.82 and older of GNU Make on Windows, whereby recursive Make
89 invocations reset the maximum number of simultaneous commands to
90 1. The above command allows up to 4 simultaneous commands at
91 once in the top-level Make, and up to 3 in each one of the
92 recursive Make's.)
93
94 4. Generate the Info manuals (only if you are building out of Bazaar,
95 and if you have makeinfo.exe installed):
96
97 make info
98
99 (change "make" to "nmake" if you use MSVC).
100
101 5. Install the produced binaries:
102
103 make install
104
105 That's it!
106
107 If these short instructions somehow fail, read the rest of this
108 file.
109
110* Preliminaries
111
112 If you want to build a Cygwin port of Emacs, use the instructions in
113 the INSTALL file in the main Emacs directory (the parent of this
114 directory). These instructions are for building a native Windows
115 binary of Emacs.
116
117 If you used WinZip to unpack the distribution, we suggest to
118 remove the files and unpack again with a different program!
119 WinZip is known to create some subtle and hard to debug problems,
120 such as converting files to DOS CR-LF format, not creating empty
121 directories, etc. We suggest to use djtarnt.exe from the GNU FTP
122 site. For modern formats, such as .tar.xz, we suggest bsdtar.exe
123 from the libarchive package; its precompiled Windows binaries are
124 available from this site:
125
126 http://sourceforge.net/projects/ezwinports/files/
127
128 In addition to this file, if you build a development snapshot, you
129 should also read INSTALL.REPO in the parent directory.
130
131* Supported development environments
132
133 To compile Emacs, you will need either Microsoft Visual C++ 2.0, or
134 later and nmake, or a Windows port of GCC 2.95 or later with MinGW
135 and Windows API support and a port of GNU Make. You can use the Cygwin
136 ports of GCC, but Emacs requires the MinGW headers and libraries to
137 build (latest versions of the Cygwin toolkit, at least since v1.3.3,
138 include the MinGW headers and libraries as an integral part).
139
140 The rest of this file assumes you have a working development
141 environment. If you just installed such an environment, try
142 building a trivial C "Hello world" program, and see if it works. If
143 it doesn't work, resolve that problem first! If you use Microsoft
144 Visual Studio .NET 2003, don't forget to run the VCVARS32.BAT batch
145 file from the `Bin' subdirectory of the directory where you have
146 installed VS.NET. With other versions of MSVC, run the SetEnv.cmd
147 batch file from the `Bin' subdirectory of the directory where you
148 have the SDK installed.
149
150 If you use the MinGW port of GCC and GNU Make to build Emacs, there
151 are some compatibility issues wrt Make and the shell that is run by
152 Make, either the standard COMMAND.COM/CMD.EXE supplied with Windows
153 or sh.exe, a port of a Unixy shell. For reference, below is a list
154 of which builds of GNU Make are known to work or not, and whether
155 they work in the presence and/or absence of sh.exe, the Cygwin port
156 of Bash. Note that any version of Make that is compiled with Cygwin
157 will only work with Cygwin tools, due to the use of Cygwin style
158 paths. This means Cygwin Make is unsuitable for building parts of
159 Emacs that need to invoke Emacs itself (leim and "make bootstrap",
160 for example). Also see the Trouble-shooting section below if you
161 decide to go ahead and use Cygwin make.
162
163 In addition, using 4NT or TCC as your shell is known to fail the
164 build process, at least since 4NT version 3.01. Use CMD.EXE, the
165 default Windows shell, instead. MSYS sh.exe also appears to cause
166 various problems, e.g., it is known to cause failures in commands
167 like "cmd /c FOO" in the Makefiles, because it thinks "/c" is a
168 Unix-style file name that needs conversion to the Windows format.
169 If you have MSYS installed, try "make SHELL=cmd.exe" to force the
170 use of cmd.exe instead of the MSYS sh.exe.
171
172 sh exists no sh
173
174 cygwin b20.1 make (3.75): fails[1, 5] fails[2, 5]
175 MSVC compiled gmake 3.77: okay okay
176 MSVC compiled gmake 3.78.1: okay okay
177 MSVC compiled gmake 3.79.1: okay okay
178 mingw32/gcc-2.92.2 make (3.77): okay okay[4]
179 cygwin compiled gmake 3.77: fails[1, 5] fails[2, 5]
180 cygwin compiled make 3.78.1: fails[5] fails[2, 5]
181 cygwin compiled make 3.79.1: fails[3, 5] fails[2?, 5]
182 cygwin compiled make 3.80: okay[6] fails?[7]
183 cygwin compiled make 3.81: fails fails?[7]
184 mingw32 compiled make 3.79.1: okay okay
185 mingw32 compiled make 3.80: okay okay[7]
186 mingw32 compiled make 3.81: okay okay[8]
187
188 Notes:
189
190 [1] doesn't cope with makefiles with DOS line endings, so must mount
191 emacs source with text!=binary.
192 [2] fails when needs to invoke shell commands; okay invoking gcc etc.
193 [3] requires LC_MESSAGES support to build; cannot build with early
194 versions of Cygwin.
195 [4] may fail on Windows 9X and Windows ME; if so, install Bash.
196 [5] fails when building leim due to the use of cygwin style paths.
197 May work if building emacs without leim.
198 [6] need to uncomment 3 lines in nt/gmake.defs that invoke `cygpath'
199 (look for "cygpath" near line 85 of gmake.defs).
200 [7] not recommended; please report if you try this combination.
201 [8] tested only on Windows XP.
202
203 Other compilers may work, but specific reports from people that have
204 tried suggest that the Intel C compiler (for example) may produce an
205 Emacs executable with strange filename completion behavior. Unless
206 you would like to assist by finding and fixing the cause of any bugs
207 like this, we recommend the use of the supported compilers mentioned
208 in the previous paragraph.
209
210 You will also need a copy of the POSIX cp, rm and mv programs. These
211 and other useful POSIX utilities can be obtained from one of several
212 projects:
213
214 * http://gnuwin32.sourceforge.net/ ( GnuWin32 )
215 * http://www.mingw.org/ ( MinGW )
216 * http://www.cygwin.com/ ( Cygwin )
217 * http://unxutils.sourceforge.net/ ( UnxUtils )
218
219 If you build Emacs on 16-bit versions of Windows (9X or ME), we
220 suggest to install the Cygwin port of Bash. That is because the
221 native Windows shell COMMAND.COM is too limited; the Emacs build
222 procedure tries very hard to support even such limited shells, but
223 as none of the Windows developers of Emacs work on Windows 9X, we
224 cannot guarantee that it works without a more powerful shell.
225
226 Additional instructions and help for building Emacs on Windows can be
227 found at the Emacs Wiki:
228
229 http://www.emacswiki.org/cgi-bin/wiki/WThirtyTwoInstallationKit
230
231 and on these URLs:
232
233 http://ourcomments.org/Emacs/w32-build-emacs.html
234 http://derekslager.com/blog/posts/2007/01/emacs-hack-3-compile-emacs-from-cvs-on-windows.ashx
235
236 Both of those pages were written before Emacs switched from CVS to
237 Bazaar, but the parts about building Emacs still apply in Bazaar.
238 The second URL has instructions for building with MSVC, as well as
239 with MinGW, while the first URL covers only MinGW, but has more
240 details about it.
241
242* Configuring
243
244 Configuration of Emacs is now handled by running configure.bat in the
245 `nt' subdirectory. It will detect which compiler you have available,
246 and generate makefiles accordingly. You can override the compiler
247 detection, and control optimization and debug settings, by specifying
248 options on the command line when invoking configure.
249
250 To configure Emacs to build with GCC or MSVC, whichever is available,
251 simply change to the `nt' subdirectory and run `configure.bat' with no
252 options. To see what options are available, run `configure --help'.
253 Do NOT use the --no-debug option to configure.bat unless you are
254 absolutely sure the produced binaries will never need to be run under
255 a debugger.
256
257 Because of limitations of the stock Windows command shells, special
258 care is needed to pass some characters in the arguments of the
259 --cflags and --ldflags options. Backslashes should not be used in
260 file names passed to the compiler and linker via these options. Use
261 forward slashes instead. If the arguments to these two options
262 include the `=' character, like when passing a -DFOO=bar preprocessor
263 option, the argument with the `=' character should be enclosed in
264 quotes, like this:
265
266 configure --cflags "-DFOO=bar"
267
268 Support for options that include the `=' character require "command
269 extensions" to be enabled. (They are enabled by default, but your
270 system administrator could have changed that. See "cmd /?" for
271 details.) If command extensions are disabled, a warning message might
272 be displayed informing you that "using parameters that include the =
273 character by enclosing them in quotes will not be supported."
274
275 You may also use the --cflags and --ldflags options to pass
276 additional parameters to the compiler and linker, respectively; they
277 are frequently used to pass -I and -L flags to specify supplementary
278 include and library directories. If a directory name includes
279 spaces, you will need to enclose it in quotes, as follows
280 -I"C:/Program Files/GnuTLS-2.10.1/include". Note that only the
281 directory name is enclosed in quotes, not the entire argument. Also
282 note that this functionality is only supported if command extensions
283 are available. If command extensions are disabled and you attempt to
284 use this functionality you may see the following warning message
285 "Error in --cflags argument: ... Backslashes and quotes cannot be
286 used with --cflags. Please use forward slashes for filenames and
287 paths (e.g. when passing directories to -I)."
288
289 N.B. It is normal to see a few error messages output while configure
290 is running, when gcc support is being tested. These cannot be
291 suppressed because of limitations in the Windows 9X command.com shell.
292
293 You are encouraged to look at the file config.log which shows details
294 for failed tests, after configure.bat finishes. Any unexplained failure
295 should be investigated and perhaps reported as a bug (see the section
296 about reporting bugs in the file README in this directory and in the
297 Emacs manual).
298
299* Optional image library support
300
301 In addition to its "native" image formats (pbm and xbm), Emacs can
302 handle other image types: xpm, tiff, gif, png, jpeg and experimental
303 support for svg.
304
305 To build Emacs with support for them, the corresponding headers must
306 be in the include path when the configure script is run. This can
307 be setup using environment variables, or by specifying --cflags
308 -I... options on the command-line to configure.bat. The configure
309 script will report whether it was able to detect the headers. If
310 the results of this testing appear to be incorrect, please look for
311 details in the file config.log: it will show the failed test
312 programs and compiler error messages that should explain what is
313 wrong. (Usually, any such failures happen because some headers are
314 missing due to bad packaging of the image support libraries.)
315
316 Note that any file path passed to the compiler or linker must use
317 forward slashes; using backslashes will cause compiler warnings or
318 errors about unrecognized escape sequences.
319
320 To use the external image support, the DLLs implementing the
321 functionality must be found when Emacs first needs them, either on the
322 PATH, or in the same directory as emacs.exe. Failure to find a
323 library is not an error; the associated image format will simply be
324 unavailable. Note that once Emacs has determined that a library can
325 not be found, there's no way to force it to try again, other than
326 restarting. See the variable `dynamic-library-alist' to configure the
327 expected names of the libraries.
328
329 Some image libraries have dependencies on one another, or on zlib.
330 For example, tiff support depends on the jpeg library. If you did not
331 compile the libraries yourself, you must make sure that any dependency
332 is in the PATH or otherwise accessible and that the binaries are
333 compatible (for example, that they were built with the same compiler).
334
335 Binaries for the image libraries (among many others) can be found at
336 the GnuWin32 project. PNG, JPEG and TIFF libraries are also
337 included with GTK, which is installed along with other Free Software
338 that requires it. These are built with MinGW, but they can be used
339 with both GCC/MinGW and MSVC builds of Emacs. See the info on
340 http://ourcomments.org/Emacs/w32-build-emacs.html, under "How to Get
341 Images Support", for more details about installing image support
342 libraries. Note specifically that, due to some packaging snafus in
343 the GnuWin32-supplied image libraries, you will need to download
344 _source_ packages for some of the libraries in order to get the
345 header files necessary for building Emacs with image support.
346
347 If GTK 2.0 is installed, addpm will arrange for its image libraries
348 to be on the DLL search path for Emacs.
349
350 For PNG images, we recommend to use versions 1.4.x and later of
351 libpng, because previous versions had security issues. You can find
352 precompiled libraries and headers on the GTK download page for
353 Windows (http://www.gtk.org/download/win32.php).
354
355 Versions 1.4.0 and later of libpng are binary incompatible with
356 earlier versions, so Emacs will only look for libpng libraries which
357 are compatible with the version it was compiled against. That
358 version is given by the value of the Lisp variable `libpng-version';
359 e.g., 10403 means version 1.4.3. The variable `dynamic-library-alist'
360 is automatically set to name only those DLL names that are known to
361 be compatible with the version given by `libpng-version'. If PNG
362 support does not work for you even though you have the support DLL
363 installed, check the name of the installed DLL against
364 `dynamic-library-alist' and the value of `libpng-version', and
365 download compatible DLLs if needed.
366
367* Optional GnuTLS support
368
369 If configure.bat finds the gnutls/gnutls.h file in the include path,
370 Emacs is built with GnuTLS support by default; to avoid that you can
371 pass the argument --without-gnutls.
372
373 In order to support GnuTLS at runtime, a GnuTLS-enabled Emacs must
374 be able to find the relevant DLLs during startup; failure to do so
375 is not an error, but GnuTLS won't be available to the running
376 session.
377
378 You can get pre-built binaries (including any required DLL and the
379 header files) at http://sourceforge.net/projects/ezwinports/files/.
380
381* Optional libxml2 support
382
383 If configure.bat finds the libxml/HTMLparser.h file in the include path,
384 Emacs is built with libxml2 support by default; to avoid that you can
385 pass the argument --without-libxml2.
386
387 In order to support libxml2 at runtime, a libxml2-enabled Emacs must
388 be able to find the relevant DLLs during startup; failure to do so
389 is not an error, but libxml2 features won't be available to the
390 running session.
391
392 One place where you can get pre-built Windows binaries of libxml2
393 (including any required DLL and the header files) is here:
394
395 http://sourceforge.net/projects/ezwinports/files/
396
397 To compile Emacs with libxml2 from that site, you will need to pass
398 the "--cflags -I/path/to/include/libxml2" option to configure.bat,
399 because libxml2 header files are installed in the include/libxml2
400 subdirectory of the directory where you unzip the binary
401 distribution. Other binary distributions might use other
402 directories, although include/libxml2 is the canonical place where
403 libxml2 headers are installed on Posix platforms.
404
405 You will also need to install the libiconv "development" tarball,
406 because the libiconv headers need to be available to the compiler
407 when you compile with libxml2 support. A MinGW port of libiconv can
408 be found on the MinGW site:
409
410 http://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/
411
412 You need the libiconv-X.Y.Z-N-mingw32-dev.tar.lzma tarball from that
413 site.
414
415* Experimental SVG support
416
417 SVG support is currently experimental, and not built by default.
418 Specify --with-svg and ensure you have all the dependencies in your
419 include path. Unless you have built a minimalist librsvg yourself
420 (untested), librsvg depends on a significant chunk of GTK+ to build,
421 plus a few Gnome libraries, libxml2, libbz2 and zlib at runtime. The
422 easiest way to obtain the dependencies required for building is to
423 download a pre-bundled GTK+ development environment for Windows.
424 GTK puts its header files all over the place, so you will need to
425 run pkgconfig to list the include path you will need (either passed
426 to configure.bat as --cflags options, or set in the environment).
427
428 To use librsvg at runtime, ensure that librsvg and its dependencies
429 are on your PATH. If you didn't build librsvg yourself, you will
430 need to check with where you downloaded it from for the
431 dependencies, as there are different build options. If it is a
432 short list, then it most likely only lists the immediate
433 dependencies of librsvg, but the dependencies themselves have
434 dependencies - so don't download individual libraries from GTK+,
435 download and install the whole thing. If you think you've got all
436 the dependencies and SVG support is still not working, check your
437 PATH for other libraries that shadow the ones you downloaded.
438 Libraries of the same name from different sources may not be
439 compatible, this problem was encountered with libbzip2 from GnuWin32
440 with libcroco from gnome.org.
441
442 If you can see etc/images/splash.svg, then you have managed to get
443 SVG support working. Congratulations for making it through DLL hell
444 to this point. You'll probably find that some SVG images crash
445 Emacs. Problems have been observed in some images that contain
446 text, they seem to be a problem in the Windows port of Pango, or
447 maybe a problem with the way Cairo or librsvg is using it that
448 doesn't show up on other platforms.
449
450* Optional extra runtime checks
451
452 The configure.bat option --enable-checking builds Emacs with some
453 optional extra runtime checks and assertions enabled. This may be
454 useful for debugging.
455
456* Optional extra libraries
457
458 You can pass --lib LIBNAME option to configure.bat to cause Emacs to
459 link with the specified library. You can use this option more than once.
460
461* Building
462
463 After running configure, simply run the appropriate `make' program for
464 your compiler to build Emacs. For MSVC, this is nmake; for GCC, it is
465 GNU make. (If you are building out of Bazaar, say "make bootstrap" or
466 "nmake bootstrap" instead.)
467
468 As the files are compiled, you will see some warning messages
469 declaring that some functions don't return a value, or that some data
470 conversions will be lossy, etc. You can safely ignore these messages.
471 The warnings may be fixed in the main FSF source at some point, but
472 until then we will just live with them.
473
474 With GNU Make, you can use the -j command-line option to have Make
475 execute several commands at once, like this:
476
477 gmake -j 4 XMFLAGS="-j 3"
478
479 The XMFLAGS variable overrides the default behavior of GNU Make on
480 Windows, whereby recursive Make invocations reset the maximum number
481 of simultaneous commands to 1. The above command allows up to 4
482 simultaneous commands at once in the top-level Make, and up to 3 in
483 each one of the recursive Make's; you can use other numbers of jobs,
484 if you wish.
485
486 If you are building from Bazaar, the following commands will produce
487 the Info manuals (which are not part of the Bazaar sources):
488
489 make info
490 or
491 nmake info
492
493 Note that you will need makeinfo.exe (from the GNU Texinfo package)
494 in order for this command to succeed.
495
496* Installing
497
498 To install Emacs after it has compiled, simply run `nmake install'
499 or `make install', depending on which version of the Make utility
500 do you have.
501
502 By default, Emacs will be installed in the location where it was
503 built, but a different location can be specified either using the
504 --prefix option to configure, or by setting INSTALL_DIR when running
505 make, like so:
506
507 make install INSTALL_DIR=D:/emacs
508
509 (for `nmake', type "nmake install INSTALL_DIR=D:/emacs" instead).
510
511 The install process will run addpm to setup the registry entries, and
512 to create a Start menu icon for Emacs.
513
514* Make targets
515
516 The following make targets may be used by users building the source
517 distribution, or users who have checked out of Bazaar after
518 an initial bootstrapping.
519
520 make
521 Builds Emacs from the available sources and pre-compiled lisp files.
522
523 make install
524 Installs programs to the bin directory, and runs addpm to create
525 Start Menu icons.
526
527 make clean
528 Removes object and executable files produced by the build process in
529 the current configuration. After make clean, you can rebuild with
530 the same configuration using make.
531
532 make distclean
533 In addition to the files removed by make clean, this also removes
534 Makefiles and other generated files to get back to the state of a
535 freshly unpacked source distribution. Note that this will not remove
536 installed files, or the results of builds performed with different
537 compiler or optimization options than the current configuration.
538 After make distclean, it is necessary to run configure.bat followed
539 by make to rebuild.
540
541 make cleanall
542 Removes object and executable files that may have been created by
543 previous builds with different configure options, in addition to
544 the files produced by the current configuration.
545
546 make realclean
547 Removes the installed files in the bin subdirectory in addition to
548 the files removed by make cleanall.
549
550 make dist
551 Builds Emacs from the available sources and pre-compiled lisp files.
552 Packages Emacs binaries as full distribution and barebin distribution.
553
554 The following targets are intended only for use with the Bazaar sources.
555
556 make bootstrap
557 Creates a temporary emacs binary with lisp source files and
558 uses it to compile the lisp files. Once the lisp files are built,
559 emacs is redumped with the compiled lisp.
560
561 make recompile
562 Recompiles any changed lisp files after an update. This saves
563 doing a full bootstrap after every update. If this or a subsequent
564 make fail, you probably need to perform a full bootstrap, though
565 running this target multiple times may eventually sort out the
566 interdependencies.
567
568 make maintainer-clean
569 Removes everything that can be recreated, including compiled lisp
570 files, to get back to the state of a fresh Bazaar tree. After make
571 maintainer-clean, it is necessary to run configure.bat and make
572 bootstrap to rebuild. Occasionally it may be necessary to run this
573 target after an update.
574
575* Creating binary distributions
576
577 Binary distributions (full and barebin distributions) can be
578 automatically built and packaged from source tarballs or a repository
579 checkout.
580
581 When building Emacs binary distributions, the --distfiles argument
582 to configure.bat specifies files to be included in the bin directory
583 of the binary distributions. This is intended for libraries that are
584 not built as part of Emacs, e.g. image libraries.
585
586 For example, specifying
587
588 --distfiles D:\distfiles\libXpm.dll
589
590 results in libXpm.dll being copied from D:\distfiles to the
591 bin directory before packaging starts.
592
593 Multiple files can be specified using multiple --distfiles arguments:
594
595 --distfiles D:\distfiles\libXpm.dll --distfiles C:\jpeglib\jpeg.dll
596
597 For packaging the binary distributions, the 'dist' make target uses
598 7-Zip (http://www.7-zip.org), which must be installed and available
599 on the Windows Path.
600
601
602* Trouble-shooting
603
604 The main problems that are likely to be encountered when building
605 Emacs stem from using an old version of GCC, or old MinGW or Windows API
606 headers. Additionally, Cygwin ports of GNU make may require the Emacs
607 source tree to be mounted with text!=binary, because the makefiles
608 generated by configure.bat necessarily use DOS line endings. Also,
609 Cygwin ports of make must run in UNIX mode, either by specifying
610 --unix on the command line, or MAKE_MODE=UNIX in the environment.
611
612 When configure runs, it attempts to detect when GCC itself, or the
613 headers it is using, are not suitable for building Emacs. GCC version
614 2.95 or later is needed, because that is when the Windows port gained
615 sufficient support for anonymous structs and unions to cope with some
616 definitions from winnt.h that are used by addsection.c.
617 Older versions of the Windows API headers that come with Cygwin and MinGW
618 may be missing some definitions required by Emacs, or broken in other
619 ways. In particular, uniscribe APIs were added to MinGW CVS only on
620 2006-03-26, so releases from before then cannot be used.
621
622 When in doubt about correctness of what configure did, look at the file
623 config.log, which shows all the failed test programs and compiler
624 messages associated with the failures. If that doesn't give a clue,
625 please report the problems, together with the relevant fragments from
626 config.log, as bugs.
627
628 If configure succeeds, but make fails, install the Cygwin port of
629 Bash, even if the table above indicates that Emacs should be able to
630 build without sh.exe. (Some versions of Windows shells are too dumb
631 for Makefile's used by Emacs.)
632
633 If you are using certain Cygwin builds of GCC, such as Cygwin version
634 1.1.8, you may need to specify some extra compiler flags like so:
635
636 configure --with-gcc --cflags -mwin32 --cflags -D__MSVCRT__
637 --ldflags -mwin32
638
639 However, the latest Cygwin versions, such as 1.3.3, don't need those
640 switches; you can simply use "configure --with-gcc".
641
642 We will attempt to auto-detect the need for these flags in a future
643 release.
644
645* Debugging
646
647 You should be able to debug Emacs using the debugger that is
648 appropriate for the compiler you used, namely DevStudio or Windbg if
649 compiled with MSVC, or GDB if compiled with GCC. (GDB for Windows
650 is available from the MinGW site, http://www.mingw.org/download.shtml.)
651
652 When Emacs aborts due to a fatal internal error, Emacs on Windows
653 pops up an Emacs Abort Dialog asking you whether you want to debug
654 Emacs or terminate it. If Emacs was built with MSVC, click YES
655 twice, and Windbg or the DevStudio debugger will start up
656 automatically. If Emacs was built with GCC, first start GDB and
657 attach it to the Emacs process with the "gdb -p EMACS-PID" command,
658 where EMACS-PID is the Emacs process ID (which you can see in the
659 Windows Task Manager), type the "continue" command inside GDB, and
660 only then click YES on the abort dialog. This will pass control to
661 the debugger, and you will be able to debug the cause of the fatal
662 error.
663
664 The single most important thing to find out when Emacs aborts or
665 crashes is where did that happen in the Emacs code. This is called
666 "backtrace".
667
668 Emacs on Windows uses more than one thread. When Emacs aborts due
669 to a fatal error, the current thread may not be the application
670 thread running Emacs code. Therefore, to produce a meaningful
671 backtrace from a debugger, you need to instruct it to show the
672 backtrace for every thread. With GDB, you do it like this:
673
674 (gdb) thread apply all backtrace
675
676 To run Emacs under a debugger to begin with, simply start it from
677 the debugger. With GDB, chdir to the `src' directory (if you have
678 the source tree) or to a directory with the `.gdbinit' file (if you
679 don't have the source tree), and type these commands:
680
681 C:\whatever\src> gdb x:\path\to\emacs.exe
682 (gdb) run <ARGUMENTS TO EMACS>
683
684 Thereafter, use Emacs as usual; you can minimize the debugger
685 window, if you like. The debugger will take control if and when
686 Emacs crashes.
687
688 Emacs functions implemented in C use a naming convention that reflects
689 their names in lisp. The names of the C routines are the lisp names
690 prefixed with 'F', and with dashes converted to underscores. For
691 example, the function call-process is implemented in C by
692 Fcall_process. Similarly, lisp variables are prefixed with 'V', again
693 with dashes converted to underscores. These conventions enable you to
694 easily set breakpoints or examine familiar lisp variables by name.
695
696 Since Emacs data is often in the form of a lisp object, and the
697 Lisp_Object type is difficult to examine manually in a debugger,
698 Emacs provides a helper routine called debug_print that prints out a
699 readable representation of a Lisp_Object. If you are using GDB,
700 there is a .gdbinit file in the src directory which provides
701 definitions that are useful for examining lisp objects. Therefore,
702 the following tips are mainly of interest when using MSVC.
703
704 The output from debug_print is sent to stderr, and to the debugger
705 via the OutputDebugString routine. The output sent to stderr should
706 be displayed in the console window that was opened when the
707 emacs.exe executable was started. The output sent to the debugger
708 should be displayed in its "Debug" output window.
709
710 When you are in the process of debugging Emacs and you would like to
711 examine the contents of a Lisp_Object variable, pop up the QuickWatch
712 window (QuickWatch has an eyeglass symbol on its button in the
713 toolbar). In the text field at the top of the window, enter
714 debug_print(<variable>) and hit return. For example, start and run
715 Emacs in the debugger until it is waiting for user input. Then click
716 on the Break button in the debugger to halt execution. Emacs should
717 halt in ZwUserGetMessage waiting for an input event. Use the Call
718 Stack window to select the procedure w32_msp_pump up the call stack
719 (see below for why you have to do this). Open the QuickWatch window
720 and enter debug_print(Vexec_path). Evaluating this expression will
721 then print out the contents of the lisp variable exec-path.
722
723 If QuickWatch reports that the symbol is unknown, then check the call
724 stack in the Call Stack window. If the selected frame in the call
725 stack is not an Emacs procedure, then the debugger won't recognize
726 Emacs symbols. Instead, select a frame that is inside an Emacs
727 procedure and try using debug_print again.
728
729 If QuickWatch invokes debug_print but nothing happens, then check the
730 thread that is selected in the debugger. If the selected thread is
731 not the last thread to run (the "current" thread), then it cannot be
732 used to execute debug_print. Use the Debug menu to select the current
733 thread and try using debug_print again. Note that the debugger halts
734 execution (e.g., due to a breakpoint) in the context of the current
735 thread, so this should only be a problem if you've explicitly switched
736 threads.
737
738
739This file is part of GNU Emacs.
740
741GNU Emacs is free software: you can redistribute it and/or modify
742it under the terms of the GNU General Public License as published by
743the Free Software Foundation, either version 3 of the License, or
744(at your option) any later version.
745
746GNU Emacs is distributed in the hope that it will be useful,
747but WITHOUT ANY WARRANTY; without even the implied warranty of
748MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
749GNU General Public License for more details.
750
751You should have received a copy of the GNU General Public License
752along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
diff --git a/nt/config.nt b/nt/config.nt
deleted file mode 100644
index aa4a8bc8cf0..00000000000
--- a/nt/config.nt
+++ /dev/null
@@ -1,1847 +0,0 @@
1/* GNU Emacs site configuration template file.
2
3Copyright (C) 1988, 1993-1994, 2001-2015 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* NOTE:
21 *** WARNING This file is no longer being updated ***
22 Please do not remove non-Windows related stuff
23 unless strictly necessary. Also, before adding anything here
24 consider whether inc/ms-w32.h would be a better place; this is
25 particularly true for gcc vs. MSVC conditional defines, MinGW or
26 MSVC specific code, and macros not already defined in config.in. */
27
28/* No code in Emacs #includes config.h twice, but some bits of code
29 intended to work with other packages as well (like gmalloc.c)
30 think they can include it as many times as they like. */
31#ifndef EMACS_CONFIG_H
32#define EMACS_CONFIG_H
33
34
35/* Define if building universal (internal helper macro) */
36#undef AC_APPLE_UNIVERSAL_BUILD
37
38/* Define to use the convention that & in the full name stands for the login
39 id. */
40#undef AMPERSAND_FULL_NAME
41
42/* Define to the number of bits in type 'ptrdiff_t'. */
43#undef BITSIZEOF_PTRDIFF_T
44
45/* Define to the number of bits in type 'sig_atomic_t'. */
46#undef BITSIZEOF_SIG_ATOMIC_T
47
48/* Define to the number of bits in type 'size_t'. */
49#undef BITSIZEOF_SIZE_T
50
51/* Define to the number of bits in type 'wchar_t'. */
52#undef BITSIZEOF_WCHAR_T
53
54/* Define to the number of bits in type 'wint_t'. */
55#undef BITSIZEOF_WINT_T
56
57/* Define if get_current_dir_name should not be used. */
58#undef BROKEN_GET_CURRENT_DIR_NAME
59
60/* Define on FreeBSD to work around an issue when reading from a PTY. */
61#undef BROKEN_PTY_READ_AFTER_EAGAIN
62
63/* Define if Emacs cannot be dumped on your system. */
64#undef CANNOT_DUMP
65
66/* Define this to enable compile time checks for the Lisp_Object data type. */
67/* #undef CHECK_LISP_OBJECT_TYPE */
68
69/* Define if you want lock files to be written, so that Emacs can tell
70 instantly when you try to modify a file that someone else has modified in
71 his/her Emacs. */
72#define CLASH_DETECTION 1
73
74/* Short copyright string for this version of Emacs. */
75#define COPYRIGHT "Copyright (C) 2015 Free Software Foundation, Inc."
76
77/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP
78 systems. This function is required for 'alloca.c' support on those systems.
79 */
80#undef CRAY_STACKSEG_END
81
82/* Define if the system is Cygwin. */
83#undef CYGWIN
84
85/* Define to 1 if using 'alloca.c'. */
86#undef C_ALLOCA
87
88/* Define if the system is Darwin. */
89#undef DARWIN_OS
90
91/* Extra bits to be or'd in with any pointers stored in a Lisp_Object. */
92#undef DATA_SEG_BITS
93
94/* Name of the default sound device. */
95#undef DEFAULT_SOUND_DEVICE
96
97/* Character that separates a device in a file name. */
98#define DEVICE_SEP ':'
99
100/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
101#undef DGUX
102
103/* Character that separates directories in a file name. */
104#define DIRECTORY_SEP '/'
105
106/* Define if process.c does not need to close a pty to make it a controlling
107 terminal (it is already a controlling terminal of the subprocess, because
108 we did ioctl TIOCSCTTY). */
109#undef DONT_REOPEN_PTY
110
111/* Define if the system is MS DOS or MS Windows. */
112#define DOS_NT
113
114/* Define to 1 if you are using the GNU C Library. */
115#undef DOUG_LEA_MALLOC
116
117/* Define to the canonical Emacs configuration name. */
118#undef EMACS_CONFIGURATION
119
120/* Define to the options passed to configure. */
121#undef EMACS_CONFIG_OPTIONS
122
123/* Define to 1 if expensive run-time data type and consistency checks are
124 enabled. */
125#undef ENABLE_CHECKING
126
127/* Letter to use in finding device name of first PTY, if PTYs are supported.
128 */
129#define FIRST_PTY_LETTER 'a'
130
131/* Enable compile-time and run-time bounds-checking, and some warnings,
132 without upsetting glibc 2.15+. */
133 #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__
134 # define _FORTIFY_SOURCE 2
135 #endif
136
137
138/* Define to 1 if futimesat mishandles a NULL file name. */
139#undef FUTIMESAT_NULL_BUG
140
141/* Define this to check for errors in cons list. */
142#undef GC_CHECK_CONS_LIST
143
144/* Define this temporarily to hunt a bug. If defined, the size of strings is
145 redundantly recorded in sdata structures so that it can be compared to the
146 sizes recorded in Lisp strings. */
147#undef GC_CHECK_STRING_BYTES
148
149/* Define this to check the string free list. */
150#undef GC_CHECK_STRING_FREE_LIST
151
152/* Define this to check for short string overrun. */
153#undef GC_CHECK_STRING_OVERRUN
154
155/* Mark a secondary stack, like the register stack on the ia64. */
156#undef GC_MARK_SECONDARY_STACK
157
158/* Define if setjmp is known to save all registers relevant for conservative
159 garbage collection in the jmp_buf.
160 MSVC ignores the "register" keyword, so test fails even though
161 setjmp does work. */
162#define GC_SETJMP_WORKS 1
163
164/* Define to the type of elements in the array set by `getgroups'. Usually
165 this is either `int' or `gid_t'. */
166#undef GETGROUPS_T
167
168/* Define this to 1 if getgroups(0,NULL) does not return the number of groups.
169 */
170#undef GETGROUPS_ZERO_BUG
171
172/* Define if gettimeofday clobbers the localtime buffer. */
173#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME
174
175/* Define this to 'void' or 'struct timezone' to match the system's
176 declaration of the second argument to gettimeofday. */
177#undef GETTIMEOFDAY_TIMEZONE
178
179/* Define this to enable glyphs debugging code. */
180/* #undef GLYPH_DEBUG */
181
182/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
183 whether the gnulib module close-stream shall be considered present. */
184#undef GNULIB_CLOSE_STREAM
185
186/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
187 whether the gnulib module faccessat shall be considered present. */
188#undef GNULIB_FACCESSAT
189
190/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
191 whether the gnulib module fdopendir shall be considered present. */
192#undef GNULIB_FDOPENDIR
193
194/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
195 whether the gnulib module fscanf shall be considered present. */
196#undef GNULIB_FSCANF
197
198/* enable some gnulib portability checks */
199#undef GNULIB_PORTCHECK
200
201/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
202 whether the gnulib module scanf shall be considered present. */
203#undef GNULIB_SCANF
204
205/* Define if ths system is compatible with GNU/Linux. */
206#undef GNU_LINUX
207
208/* Define to 1 if you want to use the GNU memory allocator. */
209#define GNU_MALLOC 1
210
211/* Define to set the G_SLICE environment variable to "always-malloc" at
212 startup, if using GTK. */
213#undef G_SLICE_ALWAYS_MALLOC
214
215/* Define to 1 if you have the `access' function. */
216#undef HAVE_ACCESS
217
218/* Define to 1 if you have the `aclsort' function. */
219#undef HAVE_ACLSORT
220
221/* Define to 1 if you have the <aclv.h> header file. */
222#undef HAVE_ACLV_H
223
224/* Define to 1 if you have the `aclx_get' function. */
225#undef HAVE_ACLX_GET
226
227/* Define to 1 if you have the `acl_copy_ext_native' function. */
228#undef HAVE_ACL_COPY_EXT_NATIVE
229
230/* Define to 1 if you have the `acl_create_entry_np' function. */
231#undef HAVE_ACL_CREATE_ENTRY_NP
232
233/* Define to 1 if you have the `acl_delete_def_file' function. */
234#undef HAVE_ACL_DELETE_DEF_FILE
235
236/* Define to 1 if you have the `acl_delete_fd_np' function. */
237#undef HAVE_ACL_DELETE_FD_NP
238
239/* Define to 1 if you have the `acl_delete_file_np' function. */
240#undef HAVE_ACL_DELETE_FILE_NP
241
242/* Define to 1 if you have the `acl_entries' function. */
243#undef HAVE_ACL_ENTRIES
244
245/* Define to 1 if you have the `acl_extended_file' function. */
246#undef HAVE_ACL_EXTENDED_FILE
247
248/* Define to 1 if the constant ACL_FIRST_ENTRY exists. */
249#undef HAVE_ACL_FIRST_ENTRY
250
251/* Define to 1 if you have the `acl_free' function. */
252#define HAVE_ACL_FREE 1
253
254/* Define to 1 if you have the `acl_free_text' function. */
255#undef HAVE_ACL_FREE_TEXT
256
257/* Define to 1 if you have the `acl_from_mode' function. */
258#undef HAVE_ACL_FROM_MODE
259
260/* Define to 1 if you have the `acl_from_text' function. */
261#define HAVE_ACL_FROM_TEXT 1
262
263/* Define to 1 if you have the `acl_get_fd' function. */
264#undef HAVE_ACL_GET_FD
265
266/* Define to 1 if you have the `acl_get_file' function. */
267#define HAVE_ACL_GET_FILE 1
268
269/* Define to 1 if you have the <acl/libacl.h> header file. */
270#undef HAVE_ACL_LIBACL_H
271
272/* Define to 1 if you have the `acl_set_fd' function. */
273#undef HAVE_ACL_SET_FD
274
275/* Define to 1 if you have the `acl_set_file' function. */
276#define HAVE_ACL_SET_FILE 1
277
278/* Define to 1 if you have the `acl_to_short_text' function. */
279#undef HAVE_ACL_TO_SHORT_TEXT
280
281/* Define to 1 if you have the `acl_trivial' function. */
282#undef HAVE_ACL_TRIVIAL
283
284/* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */
285#undef HAVE_ACL_TYPE_EXTENDED
286
287/* Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists. */
288#undef HAVE_AIX_SMT_EXP
289
290/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
291 may be supplied by this distribution. */
292#undef HAVE_ALLOCA
293
294/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
295 */
296#undef HAVE_ALLOCA_H
297
298/* Define to 1 if ALSA is available. */
299#undef HAVE_ALSA
300
301/* Define to 1 if strtold conforms to C99. */
302#undef HAVE_C99_STRTOLD
303
304/* Define to 1 if you have the `cfmakeraw' function. */
305#undef HAVE_CFMAKERAW
306
307/* Define to 1 if you have the `cfsetspeed' function. */
308#undef HAVE_CFSETSPEED
309
310/* Define to 1 if you have the `clock_gettime' function. */
311#undef HAVE_CLOCK_GETTIME
312
313/* Define to 1 if you have the `clock_settime' function. */
314#undef HAVE_CLOCK_SETTIME
315
316/* Define to 1 if you have the <coff.h> header file. */
317#undef HAVE_COFF_H
318
319/* Define to 1 if you have the <com_err.h> header file. */
320#undef HAVE_COM_ERR_H
321
322/* Define to 1 if you have the `copysign' function. */
323#define HAVE_COPYSIGN 1
324
325/* Define to 1 if data_start is the address of the start of the main data
326 segment. */
327#undef HAVE_DATA_START
328
329/* Define to 1 if using D-Bus. */
330#undef HAVE_DBUS
331
332/* Define to 1 if you have the `dbus_type_is_valid' function. */
333#undef HAVE_DBUS_TYPE_IS_VALID
334
335/* Define to 1 if you have the `dbus_validate_bus_name' function. */
336#undef HAVE_DBUS_VALIDATE_BUS_NAME
337
338/* Define to 1 if you have the `dbus_validate_interface' function. */
339#undef HAVE_DBUS_VALIDATE_INTERFACE
340
341/* Define to 1 if you have the `dbus_validate_member' function. */
342#undef HAVE_DBUS_VALIDATE_MEMBER
343
344/* Define to 1 if you have the `dbus_validate_path' function. */
345#undef HAVE_DBUS_VALIDATE_PATH
346
347/* Define to 1 if you have the `dbus_watch_get_unix_fd' function. */
348#undef HAVE_DBUS_WATCH_GET_UNIX_FD
349
350/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't.
351 */
352#undef HAVE_DECL_ALARM
353
354/* Define to 1 if you have the declaration of `fdatasync', and to 0 if you
355 don't. */
356#undef HAVE_DECL_FDATASYNC
357
358/* Define to 1 if you have the declaration of `fdopendir', and to 0 if you
359 don't. */
360#undef HAVE_DECL_FDOPENDIR
361
362/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
363 */
364#define HAVE_DECL_GETENV 1
365
366/* Define to 1 if you have the declaration of `localtime_r', and to 0 if you
367 don't. */
368#undef HAVE_DECL_LOCALTIME_R
369
370/* Define to 1 if you have the declaration of `memrchr', and to 0 if you
371 don't. */
372#undef HAVE_DECL_MEMRCHR
373
374/* Define to 1 if you have the declaration of `strmode', and to 0 if you
375 don't. */
376#undef HAVE_DECL_STRMODE
377
378/* Define to 1 if you have the declaration of `strtoimax', and to 0 if you
379 don't. */
380#undef HAVE_DECL_STRTOIMAX
381
382/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
383 don't. */
384#define HAVE_DECL_STRTOLL 1
385
386/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
387 don't. */
388#define HAVE_DECL_STRTOULL 1
389
390/* Define to 1 if you have the declaration of `strtoumax', and to 0 if you
391 don't. */
392#define HAVE_DECL_STRTOUMAX 1
393
394/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
395 don't. */
396#undef HAVE_DECL_SYS_SIGLIST
397
398/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
399 */
400#define HAVE_DECL_TZNAME 1
401
402/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you
403 don't. */
404#undef HAVE_DECL_UNSETENV
405
406/* Define to 1 if you have the declaration of `_putenv', and to 0 if you
407 don't. */
408#undef HAVE_DECL__PUTENV
409
410/* Define to 1 if you have the declaration of `__fpending', and to 0 if you
411 don't. */
412#undef HAVE_DECL___FPENDING
413
414/* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you
415 don't. */
416#undef HAVE_DECL___SYS_SIGLIST
417
418/* Define to 1 if you have the <des.h> header file. */
419#undef HAVE_DES_H
420
421/* Define to 1 if dynamic ptys are supported. */
422#undef HAVE_DEV_PTMX
423
424/* Define to 1 if you have the `difftime' function. */
425#undef HAVE_DIFFTIME
426
427/* Define to 1 if you have the <dirent.h> header file. */
428#undef HAVE_DIRENT_H
429
430/* Define to 1 if you have the 'dup2' function. */
431#define HAVE_DUP2 1
432
433/* Define to 1 if you have the `eaccess' function. */
434#undef HAVE_EACCESS
435
436/* Define to 1 if you have the `endgrent' function. */
437#undef HAVE_ENDGRENT
438
439/* Define to 1 if you have the `endpwent' function. */
440#undef HAVE_ENDPWENT
441
442/* Define if you have the declaration of environ. */
443#undef HAVE_ENVIRON_DECL
444
445/* Define to 1 if you have the `euidaccess' function. */
446#undef HAVE_EUIDACCESS
447
448/* Define to 1 if you have the <execinfo.h> header file. */
449#define HAVE_EXECINFO_H 1
450
451/* Define to 1 if you have the `faccessat' function. */
452#undef HAVE_FACCESSAT
453
454/* Define to 1 if you have the `facl' function. */
455#undef HAVE_FACL
456
457/* Define to 1 if you have the `fdatasync' function. */
458#undef HAVE_FDATASYNC
459
460/* Define to 1 if you have the `fdopendir' function. */
461#undef HAVE_FDOPENDIR
462
463/* Define to 1 if you have the `fork' function. */
464#undef HAVE_FORK
465
466/* Define to 1 if you have the `freeifaddrs' function. */
467#undef HAVE_FREEIFADDRS
468
469/* Define to 1 if using the freetype and fontconfig libraries. */
470#undef HAVE_FREETYPE
471
472/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
473#undef HAVE_FSEEKO
474
475/* Define to 1 if you have the `fstatat' function. */
476#undef HAVE_FSTATAT
477
478/* Define to 1 if you have the `fsync' function. */
479#define HAVE_FSYNC 1
480
481/* Define to 1 if you have the `futimens' function. */
482#undef HAVE_FUTIMENS
483
484/* Define to 1 if you have the `futimes' function. */
485#undef HAVE_FUTIMES
486
487/* Define to 1 if you have the `futimesat' function. */
488#undef HAVE_FUTIMESAT
489
490/* Define to 1 if you have the `gai_strerror' function. */
491#undef HAVE_GAI_STRERROR
492
493/* Define to 1 if using GConf. */
494#undef HAVE_GCONF
495
496/* Define to 1 if you have the `getacl' function. */
497#undef HAVE_GETACL
498
499/* Define to 1 if you have the `getaddrinfo' function. */
500#undef HAVE_GETADDRINFO
501
502/* Define to 1 if you have the `getdelim' function. */
503#undef HAVE_GETDELIM
504
505/* Define to 1 if you have the `getgrent' function. */
506#undef HAVE_GETGRENT
507
508/* Define to 1 if your system has a working `getgroups' function. */
509#undef HAVE_GETGROUPS
510
511/* Define to 1 if you have the `gethostname' function. */
512#define HAVE_GETHOSTNAME 1
513
514/* Define to 1 if you have the `getifaddrs' function. */
515#undef HAVE_GETIFADDRS
516
517/* Define to 1 if you have the `getline' function. */
518#undef HAVE_GETLINE
519
520/* Define to 1 if you have the <getopt.h> header file. */
521#undef HAVE_GETOPT_H
522
523/* Define to 1 if you have the `getopt_long_only' function. */
524#undef HAVE_GETOPT_LONG_ONLY
525
526/* Define to 1 if you have the `getpagesize' function. */
527#define HAVE_GETPAGESIZE 1
528
529/* Define to 1 if you have the `getpeername' function. */
530#define HAVE_GETPEERNAME 1
531
532/* Define to 1 if you have the `getpt' function. */
533#undef HAVE_GETPT
534
535/* Define to 1 if you have the `getpwent' function. */
536#undef HAVE_GETPWENT
537
538/* Define to 1 if you have the `getrlimit' function. */
539#undef HAVE_GETRLIMIT
540
541/* Define to 1 if you have the `getrusage' function. */
542#undef HAVE_GETRUSAGE
543
544/* Define to 1 if you have the `getsockname' function. */
545#define HAVE_GETSOCKNAME 1
546
547/* Define to 1 if you have the `gettimeofday' function. */
548#define HAVE_GETTIMEOFDAY 1
549
550/* Define to 1 if using GFile. */
551#undef HAVE_GFILENOTIFY
552
553/* Define to 1 if you have the `get_current_dir_name' function. */
554#undef HAVE_GET_CURRENT_DIR_NAME
555
556/* Define to 1 if you have a gif (or ungif) library. */
557#undef HAVE_GIF
558
559/* Define if using GnuTLS. */
560#undef HAVE_GNUTLS
561
562/* Define if using GnuTLS certificate verification callbacks. */
563#undef HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY
564
565/* Define to 1 if you have the `gnutls_certificate_set_verify_function'
566 function. */
567#undef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
568
569/* Define to 1 if you have the gpm library (-lgpm). */
570#undef HAVE_GPM
571
572/* Define to 1 if you have the `grantpt' function. */
573#undef HAVE_GRANTPT
574
575/* Define to 1 if using GSettings. */
576#undef HAVE_GSETTINGS
577
578/* Define to 1 if using GTK 3 or later. */
579#undef HAVE_GTK3
580
581/* Define to 1 if you have the `gtk_adjustment_get_page_size' function. */
582#undef HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE
583
584/* Define to 1 if you have the `gtk_dialog_get_action_area' function. */
585#undef HAVE_GTK_DIALOG_GET_ACTION_AREA
586
587/* Define to 1 if you have the `gtk_file_selection_new' function. */
588#undef HAVE_GTK_FILE_SELECTION_NEW
589
590/* Define to 1 if you have the `gtk_handle_box_new' function. */
591#undef HAVE_GTK_HANDLE_BOX_NEW
592
593/* Define to 1 if you have the `gtk_main' function. */
594#undef HAVE_GTK_MAIN
595
596/* Define to 1 if you have the `gtk_orientable_set_orientation' function. */
597#undef HAVE_GTK_ORIENTABLE_SET_ORIENTATION
598
599/* Define to 1 if you have the `gtk_tearoff_menu_item_new' function. */
600#undef HAVE_GTK_TEAROFF_MENU_ITEM_NEW
601
602/* Define to 1 if you have the `gtk_widget_get_mapped' function. */
603#undef HAVE_GTK_WIDGET_GET_MAPPED
604
605/* Define to 1 if you have the `gtk_widget_get_sensitive' function. */
606#undef HAVE_GTK_WIDGET_GET_SENSITIVE
607
608/* Define to 1 if you have the `gtk_widget_get_window' function. */
609#undef HAVE_GTK_WIDGET_GET_WINDOW
610
611/* Define to 1 if you have the `gtk_widget_set_has_window' function. */
612#undef HAVE_GTK_WIDGET_SET_HAS_WINDOW
613
614/* Define to 1 if you have the `gtk_window_set_has_resize_grip' function. */
615#undef HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
616
617/* Define to 1 if you have the `g_type_init' function. */
618#undef HAVE_G_TYPE_INIT
619
620/* Define to 1 if netdb.h declares h_errno. */
621#define HAVE_H_ERRNO 1
622
623/* Define to 1 if you have the <ifaddrs.h> header file. */
624#undef HAVE_IFADDRS_H
625
626/* Define to 1 if using imagemagick. */
627#undef HAVE_IMAGEMAGICK
628
629/* Define to 1 if you have inet sockets. */
630#define HAVE_INET_SOCKETS 1
631
632/* Define to 1 to use inotify. */
633#undef HAVE_INOTIFY
634
635/* Define to 1 if you have the <inttypes.h> header file. */
636#undef HAVE_INTTYPES_H
637
638/* Define to 1 if you have the jpeg library (-ljpeg). */
639#undef HAVE_JPEG
640
641/* Define to 1 if you have the <kerberosIV/des.h> header file. */
642#undef HAVE_KERBEROSIV_DES_H
643
644/* Define to 1 if you have the <kerberosIV/krb.h> header file. */
645#undef HAVE_KERBEROSIV_KRB_H
646
647/* Define to 1 if you have the <kerberos/des.h> header file. */
648#undef HAVE_KERBEROS_DES_H
649
650/* Define to 1 if you have the <kerberos/krb.h> header file. */
651#undef HAVE_KERBEROS_KRB_H
652
653/* Define to 1 if `e_text' is a member of `krb5_error'. */
654#undef HAVE_KRB5_ERROR_E_TEXT
655
656/* Define to 1 if `text' is a member of `krb5_error'. */
657#undef HAVE_KRB5_ERROR_TEXT
658
659/* Define to 1 if you have the <krb5.h> header file. */
660#undef HAVE_KRB5_H
661
662/* Define to 1 if you have the <krb.h> header file. */
663#undef HAVE_KRB_H
664
665/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
666#define HAVE_LANGINFO_CODESET 1
667
668/* Define to 1 if you have the `com_err' library (-lcom_err). */
669#undef HAVE_LIBCOM_ERR
670
671/* Define to 1 if you have the `crypto' library (-lcrypto). */
672#undef HAVE_LIBCRYPTO
673
674/* Define to 1 if you have the `des' library (-ldes). */
675#undef HAVE_LIBDES
676
677/* Define to 1 if you have the `des425' library (-ldes425). */
678#undef HAVE_LIBDES425
679
680/* Define to 1 if you have the `dgc' library (-ldgc). */
681#undef HAVE_LIBDGC
682
683/* Define to 1 if you have the `dnet' library (-ldnet). */
684#undef HAVE_LIBDNET
685
686/* Define to 1 if you have the <libgen.h> header file. */
687#undef HAVE_LIBGEN_H
688
689/* Define to 1 if you have the hesiod library (-lhesiod). */
690#undef HAVE_LIBHESIOD
691
692/* Define to 1 if you have the `k5crypto' library (-lk5crypto). */
693#undef HAVE_LIBK5CRYPTO
694
695/* Define to 1 if you have the `krb' library (-lkrb). */
696#undef HAVE_LIBKRB
697
698/* Define to 1 if you have the `krb4' library (-lkrb4). */
699#undef HAVE_LIBKRB4
700
701/* Define to 1 if you have the `krb5' library (-lkrb5). */
702#undef HAVE_LIBKRB5
703
704/* Define to 1 if you have the `kstat' library (-lkstat). */
705#undef HAVE_LIBKSTAT
706
707/* Define to 1 if you have the `lockfile' library (-llockfile). */
708#undef HAVE_LIBLOCKFILE
709
710/* Define to 1 if you have the `m' library (-lm). */
711#undef HAVE_LIBM
712
713/* Define to 1 if you have the `mail' library (-lmail). */
714#undef HAVE_LIBMAIL
715
716/* Define to 1 if using libotf. */
717#undef HAVE_LIBOTF
718
719/* Define to 1 if you have the `perfstat' library (-lperfstat). */
720#undef HAVE_LIBPERFSTAT
721
722/* Define to 1 if you have the <libpng/png.h> header file. */
723#undef HAVE_LIBPNG_PNG_H
724
725/* Define to 1 if you have the `pthreads' library (-lpthreads). */
726#undef HAVE_LIBPTHREADS
727
728/* Define to 1 if you have the resolv library (-lresolv). */
729#undef HAVE_LIBRESOLV
730
731/* Define to 1 if using SELinux. */
732#undef HAVE_LIBSELINUX
733
734/* Define to 1 if you have the `Xext' library (-lXext). */
735#undef HAVE_LIBXEXT
736
737/* Define to 1 if you have the libxml library (-lxml2). */
738#undef HAVE_LIBXML2
739
740/* Define to 1 if you have the `Xmu' library (-lXmu). */
741#undef HAVE_LIBXMU
742
743/* Define to 1 if you have the <linux/version.h> header file. */
744#undef HAVE_LINUX_VERSION_H
745
746/* Define to 1 if you have the `localtime_r' function. */
747#undef HAVE_LOCALTIME_R
748
749/* Define to 1 if you support file names longer than 14 characters. */
750#define HAVE_LONG_FILE_NAMES 1
751
752/* Define to 1 if the system has the type 'long long int'. */
753#undef HAVE_LONG_LONG_INT
754
755/* Define to 1 if you have the `lrand48' function. */
756#undef HAVE_LRAND48
757
758/* Define to 1 if you have the `lstat' function. */
759#undef HAVE_LSTAT
760
761/* Define to 1 if you have the `lutimes' function. */
762#undef HAVE_LUTIMES
763
764/* Define to 1 if using libm17n-flt. */
765#undef HAVE_M17N_FLT
766
767/* Define to 1 if you have the <machine/soundcard.h> header file. */
768#undef HAVE_MACHINE_SOUNDCARD_H
769
770/* Define to 1 if you have the <mach/mach.h> header file. */
771#undef HAVE_MACH_MACH_H
772
773/* Define to 1 if you have the `MagickExportImagePixels' function. */
774#undef HAVE_MAGICKEXPORTIMAGEPIXELS
775
776/* Define to 1 if you have the `MagickMergeImageLayers' function. */
777#undef HAVE_MAGICKMERGEIMAGELAYERS
778
779/* Define to 1 if you have the <maillock.h> header file. */
780#undef HAVE_MAILLOCK_H
781
782/* Define to 1 if you have the <malloc/malloc.h> header file. */
783#undef HAVE_MALLOC_MALLOC_H
784
785/* Define to 1 if <wchar.h> declares mbstate_t. */
786#undef HAVE_MBSTATE_T
787
788/* Define to 1 if you have the <memory.h> header file. */
789#undef HAVE_MEMORY_H
790
791/* Define to 1 if you have the `memrchr' function. */
792#undef HAVE_MEMRCHR
793
794/* Define to 1 if you have mouse menus. (This is automatic if you use X, but
795 the option to specify it remains.) It is also defined with other window
796 systems that support xmenu.c. */
797#undef HAVE_MENUS
798
799/* Define to 1 if you have the `mkostemp' function. */
800#define HAVE_MKOSTEMP 1
801
802/* Define to 1 if you have the `mkstemp' function. */
803#undef HAVE_MKSTEMP
804
805/* Define to 1 if you have a working `mmap' system call. */
806#undef HAVE_MMAP
807
808/* Define to 1 if you have the `nanotime' function. */
809#undef HAVE_NANOTIME
810
811/* Define to 1 if you have the <net/if_dl.h> header file. */
812#undef HAVE_NET_IF_DL_H
813
814/* Define to 1 if you have the <net/if.h> header file. */
815#undef HAVE_NET_IF_H
816
817/* Define to 1 if you have the <nlist.h> header file. */
818#undef HAVE_NLIST_H
819
820/* Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on
821 Mac OS X. */
822#undef HAVE_NS
823
824/* Define to use native MS Windows GUI. */
825#define HAVE_NTGUI 1
826
827/* Define to 1 if libotf has OTF_get_variation_glyphs. */
828#undef HAVE_OTF_GET_VARIATION_GLYPHS
829
830/* Define to 1 if personality LINUX32 can be set. */
831#undef HAVE_PERSONALITY_LINUX32
832
833/* Define to 1 if you have the png library (-lpng). */
834#undef HAVE_PNG
835
836/* Define to 1 if you have the <png.h> header file. */
837#undef HAVE_PNG_H
838
839/* Define to 1 if you have the `posix_memalign' function. */
840#undef HAVE_POSIX_MEMALIGN
841
842/* Define to 1 if you have the `posix_openpt' function. */
843#undef HAVE_POSIX_OPENPT
844
845/* Define if you have the /proc filesystem. */
846#undef HAVE_PROCFS
847
848/* Define to 1 if you have the `pselect' function. */
849#undef HAVE_PSELECT
850
851/* Define to 1 if you have the `pstat_getdynamic' function. */
852#undef HAVE_PSTAT_GETDYNAMIC
853
854/* Define to 1 if you have pthread (-lpthread). */
855#undef HAVE_PTHREAD
856
857/* Define to 1 if you have the <pthread.h> header file. */
858#undef HAVE_PTHREAD_H
859
860/* Define to 1 if the pthread_sigmask function can be used (despite bugs). */
861#undef HAVE_PTHREAD_SIGMASK
862
863/* Define if the system supports pty devices. */
864#undef HAVE_PTYS
865
866/* Define to 1 if you have the <pty.h> header file. */
867#undef HAVE_PTY_H
868
869/* Define to 1 if you have the <pwd.h> header file. */
870#define HAVE_PWD_H 1
871
872/* Define to 1 if you have the `random' function. */
873#define HAVE_RANDOM 1
874
875/* Define to 1 if you have the `readlink' function. */
876#undef HAVE_READLINK
877
878/* Define to 1 if you have the `readlinkat' function. */
879#undef HAVE_READLINKAT
880
881/* Define to 1 if you have the `recvfrom' function. */
882#define HAVE_RECVFROM 1
883
884/* Define to 1 if res_init is available. */
885#undef HAVE_RES_INIT
886
887/* Define to 1 if you have the `rint' function. */
888#undef HAVE_RINT
889
890/* Define to 1 if using librsvg. */
891#undef HAVE_RSVG
892
893/* Define to 1 if you have the `select' function. */
894#define HAVE_SELECT 1
895
896/* Define to 1 if you have the `sendto' function. */
897#define HAVE_SENDTO 1
898
899/* Define to 1 if you have the `setitimer' function. */
900#define HAVE_SETITIMER 1
901
902/* Define to 1 if you have the `setlocale' function. */
903#define HAVE_SETLOCALE 1
904
905/* Define to 1 if you have the `setrlimit' function. */
906#undef HAVE_SETRLIMIT
907
908/* Define to 1 if you have the `shutdown' function. */
909#define HAVE_SHUTDOWN 1
910
911/* Define to 1 if you have the `sig2str' function. */
912#undef HAVE_SIG2STR
913
914/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
915#undef HAVE_SIGNED_SIG_ATOMIC_T
916
917/* Define to 1 if 'wchar_t' is a signed integer type. */
918#undef HAVE_SIGNED_WCHAR_T
919
920/* Define to 1 if 'wint_t' is a signed integer type. */
921#undef HAVE_SIGNED_WINT_T
922
923/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is
924 irrelevant if HAVE__SETJMP is defined. */
925#undef HAVE_SIGSETJMP
926
927/* Define to 1 if the system has the type `sigset_t'. */
928#undef HAVE_SIGSET_T
929
930/* Define to 1 if you have the `snprintf' function. */
931#define HAVE_SNPRINTF 1
932
933/* Define if the system supports 4.2-compatible sockets.
934 NT supports Winsock which is close enough (with some hacks). */
935#define HAVE_SOCKETS 1
936
937/* Define to 1 if you have sound support. */
938#define HAVE_SOUND 1
939
940/* Define to 1 if you have the <soundcard.h> header file. */
941#undef HAVE_SOUNDCARD_H
942
943/* Define to 1 if `speed_t' is declared by <termios.h>. */
944#undef HAVE_SPEED_T
945
946/* Define to 1 if you have the `statacl' function. */
947#undef HAVE_STATACL
948
949/* Define to 1 if you have the <stdint.h> header file. */
950#undef HAVE_STDINT_H
951
952/* Define to 1 if you have the <stdio_ext.h> header file. */
953#undef HAVE_STDIO_EXT_H
954
955/* Define to 1 if you have the <stdlib.h> header file. */
956#undef HAVE_STDLIB_H
957
958/* Define to 1 if you have the <strings.h> header file. */
959#undef HAVE_STRINGS_H
960
961/* Define to 1 if you have the <string.h> header file. */
962#undef HAVE_STRING_H
963
964/* Define to 1 if you have the `strsignal' function. */
965#undef HAVE_STRSIGNAL
966
967/* Define to 1 if you have the `strtoimax' function. */
968#undef HAVE_STRTOIMAX
969
970/* Define to 1 if you have the `strtoll' function. */
971#undef HAVE_STRTOLL
972
973/* Define to 1 if you have the `strtoull' function. */
974#define HAVE_STRTOULL 1
975
976/* Define to 1 if you have the `strtoumax' function. */
977#define HAVE_STRTOUMAX 1
978
979/* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */
980#undef HAVE_STRUCT_IFREQ_IFR_ADDR
981
982/* Define to 1 if `ifr_addr.sa_len' is a member of `struct ifreq'. */
983#undef HAVE_STRUCT_IFREQ_IFR_ADDR_SA_LEN
984
985/* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */
986#undef HAVE_STRUCT_IFREQ_IFR_BROADADDR
987
988/* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */
989#undef HAVE_STRUCT_IFREQ_IFR_FLAGS
990
991/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */
992#undef HAVE_STRUCT_IFREQ_IFR_HWADDR
993
994/* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */
995#undef HAVE_STRUCT_IFREQ_IFR_NETMASK
996
997/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */
998#undef HAVE_STRUCT_NLIST_N_UN_N_NAME
999
1000/* Define to 1 if `st_atimensec' is a member of `struct stat'. */
1001#undef HAVE_STRUCT_STAT_ST_ATIMENSEC
1002
1003/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */
1004#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
1005
1006/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */
1007#undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
1008
1009/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
1010#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
1011
1012/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */
1013#undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
1014
1015/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
1016#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
1017
1018/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */
1019#undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
1020
1021/* Define to 1 if `tm_zone' is a member of `struct tm'. */
1022#undef HAVE_STRUCT_TM_TM_ZONE
1023
1024/* Define if struct utimbuf is declared -- usually in <utime.h>. Some systems
1025 have utime.h but don't declare the struct anywhere. */
1026#undef HAVE_STRUCT_UTIMBUF
1027
1028/* Define if struct stat has an st_dm_mode member. */
1029#undef HAVE_ST_DM_MODE
1030
1031/* Define to 1 if you have the `symlink' function. */
1032#undef HAVE_SYMLINK
1033
1034/* Define to 1 if you have the `sync' function. */
1035#undef HAVE_SYNC
1036
1037/* Define to 1 if you have the <sys/acl.h> header file. */
1038#define HAVE_SYS_ACL_H 1
1039
1040/* Define to 1 if you have the <sys/bitypes.h> header file. */
1041#undef HAVE_SYS_BITYPES_H
1042
1043/* Define to 1 if you have the <sys/inotify.h> header file. */
1044#undef HAVE_SYS_INOTIFY_H
1045
1046/* Define to 1 if you have the <sys/inttypes.h> header file. */
1047#undef HAVE_SYS_INTTYPES_H
1048
1049/* Define to 1 if you have the <sys/loadavg.h> header file. */
1050#undef HAVE_SYS_LOADAVG_H
1051
1052/* Define to 1 if you have the <sys/param.h> header file. */
1053#undef HAVE_SYS_PARAM_H
1054
1055/* Define to 1 if you have the <sys/resource.h> header file. */
1056#undef HAVE_SYS_RESOURCE_H
1057
1058/* Define to 1 if you have the <sys/select.h> header file. */
1059#undef HAVE_SYS_SELECT_H
1060
1061/* Define to 1 if you have the <sys/socket.h> header file. */
1062#undef HAVE_SYS_SOCKET_H
1063
1064/* Define to 1 if you have the <sys/soundcard.h> header file. */
1065#undef HAVE_SYS_SOUNDCARD_H
1066
1067/* Define to 1 if you have the <sys/stat.h> header file. */
1068#undef HAVE_SYS_STAT_H
1069
1070/* Define to 1 if you have the <sys/systeminfo.h> header file. */
1071#undef HAVE_SYS_SYSTEMINFO_H
1072
1073/* Define to 1 if you have the <sys/timeb.h> header file. */
1074#define HAVE_SYS_TIMEB_H 1
1075
1076/* Define to 1 if you have the <sys/time.h> header file. */
1077#define HAVE_SYS_TIME_H 1
1078
1079/* Define to 1 if you have the <sys/types.h> header file. */
1080#undef HAVE_SYS_TYPES_H
1081
1082/* Define to 1 if you have the <sys/un.h> header file. */
1083#undef HAVE_SYS_UN_H
1084
1085/* Define to 1 if you have the <sys/utsname.h> header file. */
1086#undef HAVE_SYS_UTSNAME_H
1087
1088/* Define to 1 if you have the <sys/vlimit.h> header file. */
1089#undef HAVE_SYS_VLIMIT_H
1090
1091/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
1092#define HAVE_SYS_WAIT_H 1
1093
1094/* Define to 1 if you have the <term.h> header file. */
1095#undef HAVE_TERM_H
1096
1097/* Define to 1 if you have the tiff library (-ltiff). */
1098#undef HAVE_TIFF
1099
1100/* Define to 1 if you have the `timer_settime' function. */
1101#undef HAVE_TIMER_SETTIME
1102
1103/* Define if struct tm has the tm_gmtoff member. */
1104#undef HAVE_TM_GMTOFF
1105
1106/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
1107 `HAVE_STRUCT_TM_TM_ZONE' instead. */
1108#undef HAVE_TM_ZONE
1109
1110/* Define to 1 if you have the `touchlock' function. */
1111#undef HAVE_TOUCHLOCK
1112
1113/* Define to 1 if you don't have `tm_zone' but do have the external array
1114 `tzname'. */
1115#define HAVE_TZNAME 1
1116
1117/* Define to 1 if you have the `tzset' function. */
1118#define HAVE_TZSET 1
1119
1120/* Define to 1 if you have the <unistd.h> header file. */
1121#define HAVE_UNISTD_H 1
1122
1123/* Define to 1 if you have the `unsetenv' function. */
1124#define HAVE_UNSETENV 1
1125
1126/* Define to 1 if the system has the type 'unsigned long long int'. */
1127#undef HAVE_UNSIGNED_LONG_LONG_INT
1128
1129/* Define to 1 if you have the <util.h> header file. */
1130#undef HAVE_UTIL_H
1131
1132/* Define to 1 if you have the `utimensat' function. */
1133#undef HAVE_UTIMENSAT
1134
1135/* Define to 1 if you have the `utimes' function. */
1136#undef HAVE_UTIMES
1137
1138/* Define to 1 if you have the <utime.h> header file. */
1139#undef HAVE_UTIME_H
1140
1141/* Define to 1 if you have the <utmp.h> header file. */
1142#undef HAVE_UTMP_H
1143
1144/* Define to 1 if you have the `vfork' function. */
1145#undef HAVE_VFORK
1146
1147/* Define to 1 if you have the <vfork.h> header file. */
1148#undef HAVE_VFORK_H
1149
1150/* Define to 1 to use w32notify. */
1151#define HAVE_W32NOTIFY 1
1152
1153/* Define to 1 if you have the <wchar.h> header file. */
1154#undef HAVE_WCHAR_H
1155
1156/* Define if you have the 'wchar_t' type. */
1157#define HAVE_WCHAR_T 1
1158
1159/* Define if you have a window system. */
1160#undef HAVE_WINDOW_SYSTEM
1161
1162/* Define to 1 if you have the <winsock2.h> header file. */
1163#undef HAVE_WINSOCK2_H
1164
1165/* Define to 1 if `fork' works. */
1166#undef HAVE_WORKING_FORK
1167
1168/* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX
1169 7.1. */
1170#undef HAVE_WORKING_FSTATAT_ZERO_FLAG
1171
1172/* Define if utimes works properly. */
1173#undef HAVE_WORKING_UTIMES
1174
1175/* Define to 1 if `vfork' works. */
1176#undef HAVE_WORKING_VFORK
1177
1178/* Define to 1 if you have the <ws2tcpip.h> header file. */
1179#undef HAVE_WS2TCPIP_H
1180
1181/* Define to 1 if you want to use version 11 of X windows. Otherwise, Emacs
1182 expects to use version 10. */
1183#undef HAVE_X11
1184
1185/* Define to 1 if you have the X11R6 or newer version of Xlib. */
1186#undef HAVE_X11R6
1187
1188/* Define if you have usable X11R6-style XIM support. */
1189#undef HAVE_X11R6_XIM
1190
1191/* Define to 1 if you have the X11R6 or newer version of Xt. */
1192#undef HAVE_X11XTR6
1193
1194/* Define to 1 if you have the Xaw3d library (-lXaw3d). */
1195#undef HAVE_XAW3D
1196
1197/* Define to 1 if you have the Xft library. */
1198#undef HAVE_XFT
1199
1200/* Define to 1 if XIM is available */
1201#undef HAVE_XIM
1202
1203/* Define to 1 if you have the Xinerama extension. */
1204#undef HAVE_XINERAMA
1205
1206/* Define to 1 if you have the Xkb extension. */
1207#undef HAVE_XKB
1208
1209/* Define to 1 if you have the Xpm library (-lXpm). */
1210#undef HAVE_XPM
1211
1212/* Define to 1 if you have the XRandr extension. */
1213#undef HAVE_XRANDR
1214
1215/* Define to 1 if you have the `XrmSetDatabase' function. */
1216#undef HAVE_XRMSETDATABASE
1217
1218/* Define to 1 if you have the `XRRGetOutputPrimary' function. */
1219#undef HAVE_XRRGETOUTPUTPRIMARY
1220
1221/* Define to 1 if you have the `XRRGetScreenResourcesCurrent' function. */
1222#undef HAVE_XRRGETSCREENRESOURCESCURRENT
1223
1224/* Define to 1 if you have the `XScreenNumberOfScreen' function. */
1225#undef HAVE_XSCREENNUMBEROFSCREEN
1226
1227/* Define to 1 if you have the `XScreenResourceString' function. */
1228#undef HAVE_XSCREENRESOURCESTRING
1229
1230/* Define if you have usable i18n support. */
1231#undef HAVE_X_I18N
1232
1233/* Define to 1 if you have the SM library (-lSM). */
1234#undef HAVE_X_SM
1235
1236/* Define to 1 if you want to use the X window system. */
1237#undef HAVE_X_WINDOWS
1238
1239/* Define to 1 if the system has the type `_Bool'. */
1240#undef HAVE__BOOL
1241
1242/* Define to 1 if you have the `_ftime' function. */
1243#undef HAVE__FTIME
1244
1245/* Define to 1 if _setjmp and _longjmp work. */
1246#define HAVE__SETJMP 1
1247
1248/* Define to 1 if you have the `__builtin_unwind_init' function. */
1249#undef HAVE___BUILTIN_UNWIND_INIT
1250
1251/* Define to 1 if you have the `__executable_start' function. */
1252#undef HAVE___EXECUTABLE_START
1253
1254/* Define to 1 if you have the `__fpending' function. */
1255#undef HAVE___FPENDING
1256
1257/* Define to support using a Hesiod database to find the POP server. */
1258#undef HESIOD
1259
1260/* Define if the system is HPUX. */
1261#undef HPUX
1262
1263/* This is substituted when $TERM is "internal". */
1264#undef INTERNAL_TERMINAL
1265
1266/* Define to read input using SIGIO. */
1267#undef INTERRUPT_INPUT
1268
1269/* Define if the system is IRIX. */
1270#undef IRIX6_5
1271
1272/* Returns true if character is any form of separator. */
1273#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
1274
1275/* Returns true if character is a device separator. */
1276#define IS_DEVICE_SEP(_c_) ((_c_) == DEVICE_SEP)
1277
1278/* Returns true if character is a directory separator. */
1279#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\')
1280
1281/* Define to support Kerberos-authenticated POP mail retrieval. */
1282#undef KERBEROS
1283
1284/* Define to use Kerberos 5 instead of Kerberos 4. */
1285#undef KERBEROS5
1286
1287/* Define to 1 if localtime caches TZ. */
1288#define LOCALTIME_CACHE 1
1289
1290/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
1291 slash. */
1292#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
1293
1294/* String giving fallback POP mail host. */
1295#undef MAILHOST
1296
1297/* Define to unlink, rather than empty, mail spool after reading. */
1298#undef MAIL_UNLINK_SPOOL
1299
1300/* Define if the mailer uses flock to interlock the mail spool. */
1301#undef MAIL_USE_FLOCK
1302
1303/* Define if the mailer uses lockf to interlock the mail spool. */
1304#undef MAIL_USE_LOCKF
1305
1306/* Define to support MMDF mailboxes in movemail. */
1307#undef MAIL_USE_MMDF
1308
1309/* Define to support POP mail retrieval. */
1310#define MAIL_USE_POP 1
1311
1312/* Define if the system is MS DOS. */
1313#undef MSDOS
1314
1315/* Define if system's imake configuration file defines `NeedWidePrototypes' as
1316 `NO'. */
1317#undef NARROWPROTO
1318
1319/* Define if XEditRes should not be used. */
1320#undef NO_EDITRES
1321
1322/* Define to 1 if your C compiler doesn't accept -c and -o together. */
1323#undef NO_MINUS_C_MINUS_O
1324
1325/* Minimum value of NSIG. */
1326#undef NSIG_MINIMUM
1327
1328/* Define to 1 if `NSInteger' is defined. */
1329#undef NS_HAVE_NSINTEGER
1330
1331/* Define to 1 if you are using NS windowing under MacOS X. */
1332#undef NS_IMPL_COCOA
1333
1334/* Define to 1 if you are using NS windowing under GNUstep. */
1335#undef NS_IMPL_GNUSTEP
1336
1337/* Name of the file to open to get a null file, or a data sink. */
1338#define NULL_DEVICE "NUL:"
1339
1340/* Define to 1 if the nlist n_name member is a pointer */
1341#undef N_NAME_POINTER
1342
1343/* Name of package */
1344#define PACKAGE "emacs"
1345
1346/* Define to the address where bug reports for this package should be sent. */
1347#undef PACKAGE_BUGREPORT
1348
1349/* Define to the full name of this package. */
1350#undef PACKAGE_NAME
1351
1352/* Define to the full name and version of this package. */
1353#undef PACKAGE_STRING
1354
1355/* Define to the one symbol short name of this package. */
1356#undef PACKAGE_TARNAME
1357
1358/* Define to the home page for this package. */
1359#undef PACKAGE_URL
1360
1361/* Define to the version of this package. */
1362#undef PACKAGE_VERSION
1363
1364/* the number of pending output bytes on stream 'fp' */
1365#define PENDING_OUTPUT_N_BYTES (fp->_ptr - fp->_base)
1366
1367/* Define to empty to suppress deprecation warnings when building with
1368 --enable-gcc-warnings and with libpng versions before 1.5, which lack
1369 png_longjmp. */
1370#undef PNG_DEPSTRUCT
1371
1372/* Define if process_send_signal should use VSUSP instead of VSWTCH. */
1373#undef PREFER_VSUSP
1374
1375/* Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.
1376 */
1377#undef PTHREAD_SIGMASK_FAILS_WITH_ERRNO
1378
1379/* Define to 1 if pthread_sigmask() may returns 0 and have no effect. */
1380#undef PTHREAD_SIGMASK_INEFFECTIVE
1381
1382/* Define to 1 if pthread_sigmask() unblocks signals incorrectly. */
1383#undef PTHREAD_SIGMASK_UNBLOCK_BUG
1384
1385/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1386 'ptrdiff_t'. */
1387#undef PTRDIFF_T_SUFFIX
1388
1389/* How to iterate over PTYs. */
1390#undef PTY_ITERATION
1391
1392/* How to get the device name of the control end of a PTY, if non-standard. */
1393#undef PTY_NAME_SPRINTF
1394
1395/* How to open a PTY, if non-standard. */
1396#undef PTY_OPEN
1397
1398/* How to get device name of the tty end of a PTY, if non-standard. */
1399#undef PTY_TTY_NAME_SPRINTF
1400
1401/* Define to 1 if readlink fails to recognize a trailing slash. */
1402#undef READLINK_TRAILING_SLASH_BUG
1403
1404/* Define REL_ALLOC if you want to use the relocating allocator for buffer
1405 space. */
1406#define REL_ALLOC 1
1407
1408/* Define to 1 if stat needs help when passed a directory name with a trailing
1409 slash */
1410#undef REPLACE_FUNC_STAT_DIR
1411
1412/* Define to 1 if stat needs help when passed a file name with a trailing
1413 slash */
1414#undef REPLACE_FUNC_STAT_FILE
1415
1416/* Define if emacs.c needs to call run_time_remap; for HPUX. */
1417#undef RUN_TIME_REMAP
1418
1419/* Character that separates PATH elements. */
1420#define SEPCHAR ';'
1421
1422/* How to set up a slave PTY, if needed. */
1423#undef SETUP_SLAVE_PTY
1424
1425/* Make process_send_signal work by "typing" a signal character on the pty. */
1426#undef SIGNALS_VIA_CHARACTERS
1427
1428/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1429 'sig_atomic_t'. */
1430#undef SIG_ATOMIC_T_SUFFIX
1431
1432/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1433 'size_t'. */
1434#undef SIZE_T_SUFFIX
1435
1436/* Define if the system is Solaris. */
1437#undef SOLARIS2
1438
1439/* If using the C implementation of alloca, define if you know the
1440 direction of stack growth for your system; otherwise it will be
1441 automatically deduced at runtime.
1442 STACK_DIRECTION > 0 => grows toward higher addresses
1443 STACK_DIRECTION < 0 => grows toward lower addresses
1444 STACK_DIRECTION = 0 => direction of growth unknown */
1445#undef STACK_DIRECTION
1446
1447/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
1448#undef STAT_MACROS_BROKEN
1449
1450/* Define to 1 if you have the ANSI C header files. */
1451#undef STDC_HEADERS
1452
1453/* Define to 1 on System V Release 4. */
1454#undef SVR4
1455
1456/* Define to use system malloc. */
1457#undef SYSTEM_MALLOC
1458
1459/* The type of system you are compiling for; sets `system-type'. */
1460#define SYSTEM_TYPE "windows-nt"
1461
1462/* Undocumented. */
1463#undef TAB3
1464
1465/* Undocumented. */
1466#undef TABDLY
1467
1468/* Define to 1 if you use terminfo instead of termcap. */
1469#undef TERMINFO
1470
1471/* Define to the header for the built-in window system. */
1472#define TERM_HEADER "w32term.h"
1473
1474/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
1475#define TIME_WITH_SYS_TIME 1
1476
1477/* Some platforms redefine this. */
1478#undef TIOCSIGSEND
1479
1480/* Define to 1 if your <sys/time.h> declares `struct tm'. */
1481#undef TM_IN_SYS_TIME
1482
1483/* Define to 1 if the type of the st_atim member of a struct stat is struct
1484 timespec. */
1485#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
1486
1487/* Define to 1 for Encore UMAX. */
1488#undef UMAX
1489
1490/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
1491 <sys/cpustats.h>. */
1492#undef UMAX4_3
1493
1494/* Define if the system has Unix98 PTYs. */
1495#undef UNIX98_PTYS
1496
1497/* Define to 1 if FIONREAD is usable. */
1498#define USABLE_FIONREAD 1
1499
1500/* Define to 1 if SIGIO is usable. */
1501#undef USABLE_SIGIO
1502
1503/* How to get a user's full name. */
1504#define USER_FULL_NAME pw->pw_gecos
1505
1506/* Define to nonzero if you want access control list support. */
1507#undef USE_ACL
1508
1509/* Define to 1 if using file notifications. */
1510#define USE_FILE_NOTIFY 1
1511
1512/* Define to 1 if using GTK. */
1513#undef USE_GTK
1514
1515/* Define to 1 if using the Lucid X toolkit. */
1516#undef USE_LUCID
1517
1518/* Define to use mmap to allocate buffer text. */
1519#undef USE_MMAP_FOR_BUFFERS
1520
1521/* Define to 1 if using the Motif X toolkit. */
1522#undef USE_MOTIF
1523
1524/* Enable extensions on AIX 3, Interix. */
1525#ifndef _ALL_SOURCE
1526# undef _ALL_SOURCE
1527#endif
1528/* Enable general extensions on OS X. */
1529#ifndef _DARWIN_C_SOURCE
1530# undef _DARWIN_C_SOURCE
1531#endif
1532/* Enable GNU extensions on systems that have them. */
1533#ifndef _GNU_SOURCE
1534# undef _GNU_SOURCE
1535#endif
1536/* Enable threading extensions on Solaris. */
1537#ifndef _POSIX_PTHREAD_SEMANTICS
1538# undef _POSIX_PTHREAD_SEMANTICS
1539#endif
1540/* Enable extensions on HP NonStop. */
1541#ifndef _TANDEM_SOURCE
1542# undef _TANDEM_SOURCE
1543#endif
1544/* Enable X/Open extensions if necessary. HP-UX 11.11 defines
1545 mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of
1546 whether compiling with -Ae or -D_HPUX_SOURCE=1. */
1547#ifndef _XOPEN_SOURCE
1548# undef _XOPEN_SOURCE
1549#endif
1550/* Enable general extensions on Solaris. */
1551#ifndef __EXTENSIONS__
1552# undef __EXTENSIONS__
1553#endif
1554
1555
1556/* Define to 1 if we should use toolkit scroll bars. */
1557#define USE_TOOLKIT_SCROLL_BARS 1
1558
1559/* Define to 1 if we should use XIM, if it is available. */
1560#undef USE_XIM
1561
1562/* Define to 1 if using an X toolkit. */
1563#undef USE_X_TOOLKIT
1564
1565/* Define if the system is compatible with System III. */
1566#undef USG
1567
1568/* Define if the system is compatible with System V. */
1569#undef USG5
1570
1571/* Define if the system is compatible with System V Release 4. */
1572#undef USG5_4
1573
1574/* Define for USG systems where it works to open a pty's tty in the parent
1575 process, then close and reopen it in the child. */
1576#undef USG_SUBTTY_WORKS
1577
1578/* Version number of package */
1579#define VERSION "25.0.50"
1580
1581/* Define to 1 if unsetenv returns void instead of int. */
1582#undef VOID_UNSETENV
1583
1584/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1585 'wchar_t'. */
1586#undef WCHAR_T_SUFFIX
1587
1588/* Use long long for EMACS_INT if available. */
1589/* #undef WIDE_EMACS_INT */
1590
1591/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1592 'wint_t'. */
1593#undef WINT_T_SUFFIX
1594
1595/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
1596 significant byte first (like Motorola and SPARC, unlike Intel). */
1597#if defined AC_APPLE_UNIVERSAL_BUILD
1598# if defined __BIG_ENDIAN__
1599# define WORDS_BIGENDIAN 1
1600# endif
1601#else
1602# ifndef WORDS_BIGENDIAN
1603# undef WORDS_BIGENDIAN
1604# endif
1605#endif
1606
1607/* Define this to check for malloc buffer overrun. */
1608#undef XMALLOC_OVERRUN_CHECK
1609
1610/* Compensate for a bug in Xos.h on some systems, where it requires time.h. */
1611#undef XOS_NEEDS_TIME_H
1612
1613/* Define to the type of the 6th arg of XRegisterIMInstantiateCallback, either
1614 XPointer or XPointer*. */
1615#undef XRegisterIMInstantiateCallback_arg6
1616
1617/* Define if the system is AIX. */
1618#undef _AIX
1619
1620/* Enable large inode numbers on Mac OS X 10.5. */
1621#undef _DARWIN_USE_64_BIT_INODE
1622
1623/* Number of bits in a file offset, on hosts where this is settable. */
1624#undef _FILE_OFFSET_BITS
1625
1626/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct
1627 stat.st_size becomes 64-bit. */
1628#undef _GL_WINDOWS_64_BIT_ST_SIZE
1629
1630/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
1631#undef _LARGEFILE_SOURCE
1632
1633/* Define for large files, on AIX-style hosts. */
1634#undef _LARGE_FILES
1635
1636/* Define to 1 if on MINIX. */
1637#undef _MINIX
1638
1639/* Define if GNUstep uses ObjC exceptions. */
1640#undef _NATIVE_OBJC_EXCEPTIONS
1641
1642/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */
1643#undef _NETBSD_SOURCE
1644
1645/* The _Noreturn keyword of C11. */
1646#if ! (defined _Noreturn \
1647 || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
1648# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__))
1649# define _Noreturn __attribute__ ((__noreturn__))
1650# elif defined _MSC_VER && 1200 <= _MSC_VER
1651# define _Noreturn __declspec (noreturn)
1652# else
1653# define _Noreturn
1654# endif
1655#endif
1656
1657
1658/* Define to 2 if the system does not provide POSIX.1 features except with
1659 this defined. */
1660#undef _POSIX_1_SOURCE
1661
1662/* Define to 1 if you need to in order for 'stat' and other things to work. */
1663#undef _POSIX_SOURCE
1664
1665/* Needed for system_process_attributes on Solaris. */
1666#undef _STRUCTURED_PROC
1667
1668/* Define to rpl_ if the getopt replacement functions and variables should be
1669 used. */
1670#undef __GETOPT_PREFIX
1671
1672/* Define to compiler's equivalent of C99 restrict keyword in array
1673 declarations. Define as empty for no equivalent. */
1674#undef __restrict_arr
1675
1676/* Some platforms that do not use configure define this to include extra
1677 configuration information. */
1678#define config_opsysfile <ms-w32.h>
1679
1680/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'.
1681 _GL_EXTERN_INLINE is a portable alternative to 'extern inline'.
1682 _GL_INLINE_HEADER_BEGIN contains useful stuff to put
1683 in an include file, before uses of _GL_INLINE.
1684 It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic,
1685 when FOO is an inline function in the header; see
1686 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.
1687 _GL_INLINE_HEADER_END contains useful stuff to put
1688 in the same include file, after uses of _GL_INLINE.
1689
1690 Suppress extern inline with HP-UX cc, as it appears to be broken; see
1691 <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
1692
1693 Suppress extern inline with Sun C in standards-conformance mode, as it
1694 mishandles inline functions that call each other. E.g., for 'inline void f
1695 (void) { } inline void g (void) { f (); }', c99 incorrectly complains
1696 'reference to static identifier "f" in extern inline function'.
1697 This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
1698
1699 Suppress the use of extern inline on Apple's platforms, as Libc at least
1700 through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
1701 <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1702 Perhaps Apple will fix this some day. */
1703#if ((__GNUC__ \
1704 ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
1705 : (199901L <= __STDC_VERSION__ \
1706 && !defined __HP_cc \
1707 && !(defined __SUNPRO_C && __STDC__))) \
1708 && !defined __APPLE__)
1709# define _GL_INLINE inline
1710# define _GL_EXTERN_INLINE extern inline
1711#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__
1712# if __GNUC_GNU_INLINE__
1713 /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
1714# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
1715# else
1716# define _GL_INLINE extern inline
1717# endif
1718# define _GL_EXTERN_INLINE extern
1719#else
1720# define _GL_INLINE static _GL_UNUSED
1721# define _GL_EXTERN_INLINE static _GL_UNUSED
1722#endif
1723
1724#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
1725# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
1726# define _GL_INLINE_HEADER_CONST_PRAGMA
1727# else
1728# define _GL_INLINE_HEADER_CONST_PRAGMA \
1729 _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
1730# endif
1731# define _GL_INLINE_HEADER_BEGIN \
1732 _Pragma ("GCC diagnostic push") \
1733 _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
1734 _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
1735 _GL_INLINE_HEADER_CONST_PRAGMA
1736# define _GL_INLINE_HEADER_END \
1737 _Pragma ("GCC diagnostic pop")
1738#else
1739# define _GL_INLINE_HEADER_BEGIN
1740# define _GL_INLINE_HEADER_END
1741#endif
1742
1743/* A replacement for va_copy, if needed. */
1744#define gl_va_copy(a,b) ((a) = (b))
1745
1746/* Define to rpl_gmtime if the replacement function should be used. */
1747#undef gmtime
1748
1749/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
1750 the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
1751 earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
1752 __APPLE__ && __MACH__ test for Mac OS X.
1753 __APPLE_CC__ tests for the Apple compiler and its version.
1754 __STDC_VERSION__ tests for the C99 mode. */
1755#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
1756# define __GNUC_STDC_INLINE__ 1
1757#endif
1758
1759/* Define to 1 if the compiler is checking for lint. */
1760#undef lint
1761
1762/* Define to rpl_localtime if the replacement function should be used. */
1763#undef localtime
1764
1765/* Define to a type if <wchar.h> does not define. */
1766#undef mbstate_t
1767
1768/* Define to `int' if <sys/types.h> does not define. */
1769#undef mode_t
1770
1771/* Define to the name of the strftime replacement function. */
1772#define my_strftime nstrftime
1773
1774/* Define to the type of st_nlink in struct stat, or a supertype. */
1775#define nlink_t short
1776
1777/* Define to `int' if <sys/types.h> does not define. */
1778#undef pid_t
1779
1780/* Define to the equivalent of the C99 'restrict' keyword, or to
1781 nothing if this is not supported. Do not define if restrict is
1782 supported directly. */
1783#undef restrict
1784/* Work around a bug in Sun C++: it does not support _Restrict or
1785 __restrict__, even though the corresponding Sun C compiler ends up with
1786 "#define restrict _Restrict" or "#define restrict __restrict__" in the
1787 previous line. Perhaps some future version of Sun C++ will work with
1788 restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
1789#if defined __SUNPRO_CC && !defined __RESTRICT
1790# define _Restrict
1791# define __restrict__
1792#endif
1793
1794/* type to use in place of socklen_t if not defined */
1795#undef socklen_t
1796
1797/* Define as a signed type of the same size as size_t. */
1798#undef ssize_t
1799
1800/* Define to enable asynchronous subprocesses. */
1801#define subprocesses
1802
1803/* Define to any substitute for sys_siglist. */
1804#undef sys_siglist
1805
1806/* Define as a marker that can be attached to declarations that might not
1807 be used. This helps to reduce warnings, such as from
1808 GCC -Wunused-parameter. */
1809#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
1810# define _GL_UNUSED __attribute__ ((__unused__))
1811#else
1812# define _GL_UNUSED
1813#endif
1814/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
1815 is a misnomer outside of parameter lists. */
1816#define _UNUSED_PARAMETER_ _GL_UNUSED
1817
1818/* The __pure__ attribute was added in gcc 2.96. */
1819#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
1820# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
1821#else
1822# define _GL_ATTRIBUTE_PURE /* empty */
1823#endif
1824
1825/* The __const__ attribute was added in gcc 2.95. */
1826#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
1827# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
1828#else
1829# define _GL_ATTRIBUTE_CONST /* empty */
1830#endif
1831
1832
1833/* Define as a macro for copying va_list variables. */
1834#undef va_copy
1835
1836/* Define as `fork' if `vfork' does not work. */
1837#undef vfork
1838
1839#include <conf_post.h>
1840
1841#endif /* EMACS_CONFIG_H */
1842
1843/*
1844Local Variables:
1845mode: c
1846End:
1847*/
diff --git a/nt/configure.bat b/nt/configure.bat
index f6ac8fccc77..629bcc84498 100755
--- a/nt/configure.bat
+++ b/nt/configure.bat
@@ -1,6 +1,6 @@
1@echo off 1@echo off
2rem ---------------------------------------------------------------------- 2rem ----------------------------------------------------------------------
3rem Configuration script for MS Windows operating systems 3rem This was the old configuration script for MS Windows operating systems
4rem Copyright (C) 1999-2015 Free Software Foundation, Inc. 4rem Copyright (C) 1999-2015 Free Software Foundation, Inc.
5 5
6rem This file is part of GNU Emacs. 6rem This file is part of GNU Emacs.
@@ -19,956 +19,8 @@ rem You should have received a copy of the GNU General Public License
19rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/. 19rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
20 20
21rem ---------------------------------------------------------------------- 21rem ----------------------------------------------------------------------
22rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
23rem
24rem + MS Windows 95, NT or later
25rem + either MSVC 2.x or later, or gcc-2.95 or later (with GNU make 3.75
26rem or later) and the Mingw32 and Windows API headers and libraries.
27rem + Visual Studio 2005 is not supported at this time.
28rem
29rem For reference, here is a list of which builds of GNU make are known to
30rem work or not, and whether they work in the presence and/or absence of
31rem sh.exe.
32rem
33rem sh exists no sh
34rem cygwin b20.1 make (3.75): fails[1,5] fails[2,5]
35rem MSVC compiled gmake 3.77: okay okay
36rem MSVC compiled gmake 3.78.1: okay okay
37rem MSVC compiled gmake 3.79.1: okay okay
38rem mingw32/gcc-2.92.2 make (3.77): okay okay[4]
39rem cygwin compiled gmake 3.77: fails[1,5] fails[2,5]
40rem cygwin compiled gmake 3.78.1: fails[5] fails[2,5]
41rem cygwin compiled gmake 3.79.1: fails[3,5] fails[2?,5]
42rem cygwin compiled make 3.80: okay[6] fails?[7]
43rem cygwin compiled make 3.81: fails fails?[7]
44rem mingw32 compiled make 3.79.1: okay okay
45rem mingw32 compiled make 3.80: okay okay?[7]
46rem mingw32 compiled make 3.81: okay okay[8]
47rem
48rem [1] doesn't cope with makefiles with DOS line endings, so must mount
49rem emacs source with text!=binary.
50rem [2] fails when needs to invoke shell commands; okay invoking gcc etc.
51rem [3] requires LC_MESSAGES support to build; cannot build with early
52rem versions of cygwin.
53rem [4] may fail on Windows 9X and Windows ME; if so, install Bash.
54rem [5] fails when building leim due to the use of cygwin style paths.
55rem May work if building emacs without leim.
56rem [6] need to uncomment 3 lines in nt/gmake.defs that invoke `cygpath';
57rem look for "cygpath" near line 85 of gmake.defs.
58rem [7] not recommended; please report if you try this combination.
59rem [8] tested only on Windows XP.
60rem
61echo **************************************************************** 22echo ****************************************************************
62echo *** THIS METHOD OF BUILDING EMACS IS NO LONGER SUPPORTED. ** 23echo *** THIS METHOD OF BUILDING EMACS IS NO LONGER SUPPORTED. **
63echo *** INSTEAD, FOLLOW THE INSTRUCTIONS FROM INSTALL. ** 24echo *** INSTEAD, FOLLOW THE INSTRUCTIONS IN THE FILE INSTALL. **
25echo *** IN THE SAME DIRECTORY AS THIS BATCH FILE. **
64echo **************************************************************** 26echo ****************************************************************
65:confirm_continue
66set /p answer=Continue running this script at your own risks ? (Y/N)
67if x%answer% == xy (goto confirm_continue_y)
68if x%answer% == xY (goto confirm_continue_y)
69if x%answer% == xn (goto end)
70if x%answer% == xN (goto end)
71echo Please answer by Y or N
72goto confirm_continue
73
74:confirm_continue_y
75if exist config.log del config.log
76
77rem ----------------------------------------------------------------------
78rem See if the environment is large enough. We need 43 (?) bytes.
79set $foo$=123456789_123456789_123456789_123456789_123
80if not "%$foo$%" == "123456789_123456789_123456789_123456789_123" goto SmallEnv
81set $foo$=
82
83rem ----------------------------------------------------------------------
84rem Make sure we are running in the nt subdir
85if exist configure.bat goto start
86echo You must run configure from the nt subdirectory.
87goto end
88
89:start
90rem ----------------------------------------------------------------------
91rem Attempt to enable command extensions. Set use_extensions to 1 if
92rem they are available and 0 if they are not available.
93set use_extensions=1
94setlocal ENABLEEXTENSIONS
95if "%CMDEXTVERSION%" == "" set use_extensions=0
96if "%use_extensions%" == "1" goto afterext
97
98echo. Command extensions are not available. Using parameters that include the =
99echo. character by enclosing them in quotes will not be supported.
100
101:afterext
102
103rem ----------------------------------------------------------------------
104rem Default settings.
105set prefix=
106set nodebug=N
107set noopt=N
108set enablechecking=N
109set profile=N
110set nocygwin=N
111set COMPILER=
112set usercflags=
113set escusercflags=
114set docflags=
115set userldflags=
116set escuserldflags=
117set extrauserlibs=
118set doldflags=
119set doextralibs=
120set sep1=
121set sep2=
122set sep3=
123set sep4=
124set distfiles=
125
126rem ----------------------------------------------------------------------
127rem Handle arguments.
128:again
129if "%1" == "-h" goto usage
130if "%1" == "--help" goto usage
131if "%1" == "--prefix" goto setprefix
132if "%1" == "--with-gcc" goto withgcc
133if "%1" == "--with-msvc" goto withmsvc
134if "%1" == "--no-debug" goto nodebug
135if "%1" == "--no-opt" goto noopt
136if "%1" == "--enable-checking" goto enablechecking
137if "%1" == "--profile" goto profile
138if "%1" == "--no-cygwin" goto nocygwin
139if "%1" == "--cflags" goto usercflags
140if "%1" == "--ldflags" goto userldflags
141if "%1" == "--lib" goto extrauserlibs
142if "%1" == "--without-png" goto withoutpng
143if "%1" == "--without-jpeg" goto withoutjpeg
144if "%1" == "--without-gif" goto withoutgif
145if "%1" == "--without-tiff" goto withouttiff
146if "%1" == "--without-gnutls" goto withoutgnutls
147if "%1" == "--without-libxml2" goto withoutlibxml2
148if "%1" == "--without-xpm" goto withoutxpm
149if "%1" == "--with-svg" goto withsvg
150if "%1" == "--distfiles" goto distfiles
151if "%1" == "" goto checkutils
152
153:usage
154echo Usage: configure [options]
155echo Options:
156echo. --prefix PREFIX install Emacs in directory PREFIX
157echo. --with-gcc use GCC to compile Emacs
158echo. --with-msvc use MSVC to compile Emacs
159echo. --no-debug exclude debug info from executables
160echo. --no-opt disable optimization
161echo. --enable-checking enable additional run-time checks
162echo. --profile enable profiling
163echo. --no-cygwin use -mno-cygwin option with GCC
164echo. --cflags FLAG pass FLAG to compiler
165echo. --ldflags FLAG pass FLAG to compiler when linking
166echo. --lib LIB link to extra library LIB
167echo. --without-png do not use PNG library even if it is installed
168echo. --without-jpeg do not use JPEG library even if it is installed
169echo. --without-gif do not use GIF library even if it is installed
170echo. --without-tiff do not use TIFF library even if it is installed
171echo. --without-xpm do not use XPM library even if it is installed
172echo. --without-gnutls do not use GnuTLS library even if it is installed
173echo. --without-libxml2 do not use libxml2 library even if it is installed
174echo. --with-svg use the RSVG library (experimental)
175echo. --distfiles path to files for make dist, e.g. libXpm.dll
176if "%use_extensions%" == "0" goto end
177echo.
178echo. The cflags and ldflags arguments support parameters that include the =
179echo. character. However, since the = character is normally treated as a
180echo. separator character you will need to enclose any parameter that includes
181echo. the = character in quotes. For example, to include
182echo. -DSITELOAD_PURESIZE_EXTRA=100000 as one of the cflags you would run
183echo. configure.bat as follows:
184echo. configure.bat --cflags "-DSITELOAD_PURESIZE_EXTRA=100000"
185echo.
186echo. Note that this capability of processing parameters that include the =
187echo. character depends on command extensions. This batch file attempts to
188echo. enable command extensions. If command extensions cannot be enabled, a
189echo. warning message will be displayed.
190echo.
191echo. IMPORTANT: This method of building Emacs for MS-Windows is deprecated,
192echo. and could be removed in a future version of Emacs. The preferred way
193echo to build Emacs for MS-Windows from now on is using the MSYS environment
194echo. and MinGW development tools. Please see nt/INSTALL for details.
195goto end
196
197rem ----------------------------------------------------------------------
198
199:setprefix
200shift
201set prefix=%1
202shift
203goto again
204
205rem ----------------------------------------------------------------------
206
207:withgcc
208set COMPILER=gcc
209shift
210goto again
211
212rem ----------------------------------------------------------------------
213
214:withmsvc
215set COMPILER=cl
216shift
217goto again
218
219rem ----------------------------------------------------------------------
220
221:nodebug
222set nodebug=Y
223shift
224goto again
225
226rem ----------------------------------------------------------------------
227
228:noopt
229set noopt=Y
230shift
231goto again
232
233rem ----------------------------------------------------------------------
234
235:enablechecking
236set enablechecking=Y
237shift
238goto again
239
240rem ----------------------------------------------------------------------
241
242:profile
243set profile=Y
244shift
245goto again
246
247rem ----------------------------------------------------------------------
248
249:nocygwin
250set nocygwin=Y
251shift
252goto again
253
254rem ----------------------------------------------------------------------
255
256:usercflags
257if "%use_extensions%" == "1" goto ucflagex
258goto ucflagne
259
260:ucflagex
261shift
262set usercflags=%usercflags%%sep1%%~1
263set escusercflags=%usercflags:"=\"%
264set sep1= %nothing%
265shift
266goto again
267
268:ucflagne
269shift
270set usercflags=%usercflags%%sep1%%1
271set escusercflags=%usercflags%
272set sep1= %nothing%
273shift
274goto again
275
276:extrauserlibs
277shift
278echo. extrauserlibs: %extrauserlibs%
279set extrauserlibs=%extrauserlibs%%sep4%%1
280set sep4= %nothing%
281shift
282goto again
283
284rem ----------------------------------------------------------------------
285
286:userldflags
287if "%use_extensions%" == "1" goto ulflagex
288goto ulflagne
289
290:ulflagex
291shift
292set userldflags=%userldflags%%sep2%%~1
293set escuserldflags=%userldflags:"=\"%
294set sep2= %nothing%
295shift
296goto again
297
298:ulflagne
299shift
300set userldflags=%userldflags%%sep2%%1
301set escuserldflags=%userldflags%
302set sep2= %nothing%
303shift
304goto again
305
306rem ----------------------------------------------------------------------
307
308:withoutpng
309set pngsupport=N
310set HAVE_PNG=
311shift
312goto again
313
314rem ----------------------------------------------------------------------
315
316:withoutjpeg
317set jpegsupport=N
318set HAVE_JPEG=
319shift
320goto again
321
322rem ----------------------------------------------------------------------
323
324:withoutgif
325set gifsupport=N
326set HAVE_GIF=
327shift
328goto again
329
330rem ----------------------------------------------------------------------
331
332:withoutgnutls
333set tlssupport=N
334set HAVE_GNUTLS=
335shift
336goto again
337
338rem ----------------------------------------------------------------------
339
340:withoutlibxml2
341set libxml2support=N
342set HAVE_LIBXML2=
343shift
344goto again
345
346rem ----------------------------------------------------------------------
347
348:withouttiff
349set tiffsupport=N
350set HAVE_TIFF=
351shift
352goto again
353
354rem ----------------------------------------------------------------------
355
356:withoutxpm
357set xpmsupport=N
358set HAVE_XPM=
359shift
360goto again
361
362:withsvg
363shift
364set svgsupport=Y
365goto again
366
367rem ----------------------------------------------------------------------
368
369:distfiles
370set HAVE_DISTFILES=1
371shift
372set distfiles=%distfiles%%sep3%%1
373set sep3= %nothing%
374shift
375goto again
376
377rem ----------------------------------------------------------------------
378rem Check that necessary utilities (cp and rm) are present.
379
380:checkutils
381echo Checking for 'cp'...
382cp configure.bat junk.bat
383if not exist junk.bat goto needcp
384echo Checking for 'rm'...
385rm junk.bat
386if exist junk.bat goto needrm
387goto checkcompiler
388
389:needcp
390echo You need 'cp' (the Unix file copy program) to build Emacs.
391goto end
392
393:needrm
394del junk.bat
395echo You need 'rm' (the Unix file delete program) to build Emacs.
396goto end
397
398rem ----------------------------------------------------------------------
399rem Auto-detect compiler if not specified, and validate GCC if chosen.
400
401:checkcompiler
402if (%COMPILER%)==(cl) goto compilercheckdone
403if (%COMPILER%)==(gcc) goto checkgcc
404
405echo Checking whether 'gcc' is available...
406echo main(){} >junk.c
407gcc -c junk.c
408if exist junk.o goto checkgcc
409
410echo Checking whether 'cl' is available...
411cl -nologo -c junk.c
412if exist junk.obj goto clOK
413goto nocompiler
414
415:checkgcc
416if exist junk.o del junk.o
417Rem WARNING -- COMMAND.COM on some systems only looks at the first
418Rem 8 characters of a label. So do NOT be tempted to change
419Rem chkapi* into something fancier like checkw32api
420Rem You HAVE been warned!
421if (%nocygwin%) == (Y) goto chkapiN
422echo Checking whether gcc requires '-mno-cygwin'...
423echo #include "cygwin/version.h" >junk.c
424echo main(){} >>junk.c
425echo gcc -c junk.c >>config.log
426gcc -c junk.c >>config.log 2>&1
427if not exist junk.o goto chkapi
428echo gcc -mno-cygwin -c junk.c >>config.log
429gcc -mno-cygwin -c junk.c >>config.log 2>&1
430if exist junk.o set nocygwin=Y
431
432:chkapi
433echo The failed program was: >>config.log
434type junk.c >>config.log
435
436:chkapiN
437rm -f junk.c junk.o
438rem ----------------------------------------------------------------------
439rem Older versions of the Windows API headers either don't have any of
440rem the IMAGE_xxx definitions (the headers that come with Cygwin b20.1
441rem are like this), or have a typo in the definition of
442rem IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this
443rem problem). The gcc/mingw32 2.95.2 headers are okay, as are distros
444rem of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.
445rem Beginning with Emacs 23, we need usp10.h.
446rem
447echo Checking whether Windows API headers are too old...
448echo #include "windows.h" >junk.c
449echo #include "usp10.h" >>junk.c
450echo void test(PIMAGE_NT_HEADERS pHeader) >>junk.c
451echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c
452if (%nocygwin%) == (Y) goto chkapi1
453set cf=%usercflags%
454goto chkapi2
455
456:chkapi1
457set cf=%usercflags% -mno-cygwin
458
459:chkapi2
460echo on
461gcc %cf% -c junk.c
462@echo off
463@echo gcc %cf% -c junk.c >>config.log
464gcc %cf% -c junk.c >>config.log 2>&1
465set cf=
466if exist junk.o goto chkuser
467echo The failed program was: >>config.log
468type junk.c >>config.log
469goto nocompiler
470
471:chkuser
472rm -f junk.o
473echo int main (int argc, char *argv[]) {>junk.c
474echo char *usercflags = "%escusercflags%";>>junk.c
475echo }>>junk.c
476echo gcc -Werror -c junk.c >>config.log
477gcc -Werror -c junk.c >>config.log 2>&1
478if exist junk.o goto gccOk
479echo.
480echo Error in --cflags argument: %usercflags%
481echo Backslashes and quotes cannot be used with --cflags. Please use forward
482echo slashes for filenames and paths (e.g. when passing directories to -I).
483rm -f junk.c
484goto end
485
486:nocompiler
487echo.
488echo Configure failed.
489echo To configure Emacs for Windows, you need to have either
490echo gcc-2.95 or later with Mingw32 and the Windows API headers,
491echo or MSVC 2.x or later.
492del junk.c
493goto end
494
495:gccOk
496set COMPILER=gcc
497echo Using 'gcc'
498rm -f junk.c junk.o
499Rem It is not clear what GCC version began supporting -mtune
500Rem and pentium4 on x86, so check this explicitly.
501echo main(){} >junk.c
502echo gcc -c -O2 -mtune=pentium4 junk.c >>config.log
503gcc -c -O2 -mtune=pentium4 junk.c >>config.log 2>&1
504if not errorlevel 1 goto gccMtuneOk
505echo The failed program was: >>config.log
506type junk.c >>config.log
507set mf=-mcpu=i686
508rm -f junk.c junk.o
509goto gccdebug
510
511:gccMtuneOk
512echo GCC supports -mtune=pentium4 >>config.log
513set mf=-mtune=pentium4
514rm -f junk.c junk.o
515
516:gccdebug
517rem Check for DWARF-2 debug info support, else default to stabs
518echo main(){} >junk.c
519echo gcc -c -gdwarf-2 -g3 junk.c >>config.log
520gcc -c -gdwarf-2 -g3 junk.c >>config.log 2>&1
521if not errorlevel 1 goto gccdwarf
522echo The failed program was: >>config.log
523type junk.c >>config.log
524set dbginfo=-gstabs+
525rm -f junk.c junk.o
526goto compilercheckdone
527
528:gccdwarf
529echo GCC supports DWARF-2 >>config.log
530set dbginfo=-gdwarf-2 -g3
531rm -f junk.c junk.o
532goto compilercheckdone
533
534:clOk
535set COMPILER=cl
536rm -f junk.c junk.obj
537echo Using 'MSVC'
538
539:compilercheckdone
540
541rem ----------------------------------------------------------------------
542rem Check for external image libraries. Since they are loaded
543rem dynamically, the libraries themselves do not need to be present
544rem at compile time, but the header files are required.
545
546set mingwflag=
547
548if (%nocygwin%) == (N) goto flagsOK
549set mingwflag=-mno-cygwin
550
551:flagsOK
552
553if (%pngsupport%) == (N) goto pngDone
554
555echo Checking for libpng...
556echo #include "png.h" >junk.c
557echo main (){} >>junk.c
558rem -o option is ignored with cl, but allows result to be consistent.
559echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
560%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
561if exist junk.obj goto havePng
562
563echo ...png.h not found, building without PNG support.
564echo The failed program was: >>config.log
565type junk.c >>config.log
566set HAVE_PNG=
567goto :pngDone
568
569:havePng
570echo ...PNG header available, building with PNG support.
571set HAVE_PNG=1
572
573:pngDone
574rm -f junk.c junk.obj
575
576if (%tlssupport%) == (N) goto tlsDone
577
578rem this is a copy of the PNG detection
579echo Checking for libgnutls...
580echo #include "gnutls/gnutls.h" >junk.c
581echo main (){} >>junk.c
582rem -o option is ignored with cl, but allows result to be consistent.
583echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
584%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
585if exist junk.obj goto haveTls
586
587echo ...gnutls.h not found, building without TLS support.
588echo The failed program was: >>config.log
589type junk.c >>config.log
590set HAVE_GNUTLS=
591goto :tlsDone
592
593:haveTls
594echo ...GnuTLS header available, building with GnuTLS support.
595set HAVE_GNUTLS=1
596
597:tlsDone
598rm -f junk.c junk.obj
599
600if (%libxml2support%) == (N) goto xml2Done
601
602echo Checking for libxml2....
603echo #include "libxml/HTMLparser.h" >junk.c
604echo main(){} >>junk.c
605echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
606%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
607if exist junk.obj goto havelibxml2
608
609echo ...libxml/HTMLparser.h not found, building without libxml2 support
610echo The failed program was: >>config.log
611type junk.c >>config.log
612set HAVE_LIBXML2=
613goto xml2Done
614
615:havelibxml2
616echo ...libxml2 header available, building with libxml2 support
617set HAVE_LIBXML2=1
618
619:xml2Done
620rm -f junk.c junk.obj
621
622if (%jpegsupport%) == (N) goto jpegDone
623
624echo Checking for jpeg-6b...
625echo #include "jconfig.h" >junk.c
626echo main (){} >>junk.c
627rem -o option is ignored with cl, but allows result to be consistent.
628echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
629%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
630if exist junk.obj goto haveJpeg
631
632echo ...jconfig.h not found, building without JPEG support.
633echo The failed program was: >>config.log
634type junk.c >>config.log
635set HAVE_JPEG=
636goto :jpegDone
637
638:haveJpeg
639echo ...JPEG header available, building with JPEG support.
640set HAVE_JPEG=1
641
642:jpegDone
643rm -f junk.c junk.obj
644
645if (%gifsupport%) == (N) goto gifDone
646
647echo Checking for libgif...
648rem giflib-5.0.0 needs size_t defined before gif_lib.h is included
649rem redirection characters need to be protected from the shell
650echo #include ^<stddef.h^> >junk.c
651echo #include "gif_lib.h" >>junk.c
652echo main (){} >>junk.c
653rem -o option is ignored with cl, but allows result to be consistent.
654echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
655%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
656if exist junk.obj goto haveGif
657
658echo ...gif_lib.h not found, building without GIF support.
659echo The failed program was: >>config.log
660type junk.c >>config.log
661set HAVE_GIF=
662goto :gifDone
663
664:haveGif
665echo ...GIF header available, building with GIF support.
666set HAVE_GIF=1
667
668:gifDone
669rm -f junk.c junk.obj
670
671if (%tiffsupport%) == (N) goto tiffDone
672
673echo Checking for tiff...
674echo #include "tiffio.h" >junk.c
675echo main (){} >>junk.c
676rem -o option is ignored with cl, but allows result to be consistent.
677echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
678%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
679if exist junk.obj goto haveTiff
680
681echo ...tiffio.h not found, building without TIFF support.
682echo The failed program was: >>config.log
683type junk.c >>config.log
684set HAVE_TIFF=
685goto :tiffDone
686
687:haveTiff
688echo ...TIFF header available, building with TIFF support.
689set HAVE_TIFF=1
690
691:tiffDone
692rm -f junk.c junk.obj
693
694if (%xpmsupport%) == (N) goto xpmDone
695
696echo Checking for libXpm...
697echo #define FOR_MSW 1 >junk.c
698echo #include "X11/xpm.h" >>junk.c
699echo main (){} >>junk.c
700rem -o option is ignored with cl, but allows result to be consistent.
701echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
702%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
703if exist junk.obj goto haveXpm
704
705echo ...X11/xpm.h not found, building without XPM support.
706echo The failed program was: >>config.log
707type junk.c >>config.log
708set HAVE_XPM=
709goto :xpmDone
710
711:haveXpm
712echo ...XPM header available, building with XPM support.
713set HAVE_XPM=1
714
715:xpmDone
716rm -f junk.c junk.obj
717
718if not (%svgsupport%) == (Y) goto :svgDone
719echo Checking for librsvg...
720echo #include "librsvg/rsvg.h" >junk.c
721echo main (){} >>junk.c
722rem -o option is ignored with cl, but allows result to be consistent.
723echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
724%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
725if exist junk.obj goto haveSvg
726
727echo ...librsvg/rsvg.h or dependencies not found, building without SVG support.
728echo The failed program was: >>config.log
729type junk.c >>config.log
730set HAVE_RSVG=
731goto :svgDone
732
733:haveSvg
734echo ...librsvg header available, building with SVG support (EXPERIMENTAL).
735set HAVE_RSVG=1
736
737:svgDone
738rm -f junk.c junk.obj junk.err junk.out
739
740rem Any distfiles provided for building distribution? If no, we're done.
741if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone
742
743rem Any arguments to --distfiles specified? If no, we're done.
744if not "%distfiles%"=="" goto :checkDistFiles
745set distFilesOk=0
746echo No arguments specified for option --distfiles!
747goto distfilesDone
748
749:checkDistFiles
750echo Checking for distfiles...
751rem Check if all specified distfiles exist
752set fileNotFound=
753for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d
754if not "%fileNotFound%"=="" goto distFilesNotFound
755
756set distFilesOK=1
757echo ...all distfiles found.
758goto :distFilesDone
759
760:distFilesNotFound
761set distFilesOk=0
762echo ...%fileNotFound% not found.
763set distfiles=
764goto :distfilesDone
765
766:distFilesDone
767set fileNotFound=
768
769rem ----------------------------------------------------------------------
770
771:genmakefiles
772echo Generating makefiles
773if %COMPILER% == gcc set MAKECMD=gmake
774if %COMPILER% == cl set MAKECMD=nmake
775
776rem Pass on chosen settings to makefiles.
777rem
778rem The weird place we put the redirection is to make sure no extra
779rem whitespace winds up at the end of the Make variables, since some
780rem variables, e.g. INSTALL_DIR, cannot stand that. Yes, echo will
781rem write the blanks between the end of command arguments and the
782rem redirection symbol to the file. OTOH, we cannot put the
783rem redirection immediately after the last character of the command,
784rem because environment variable expansion can yield a digit there,
785rem which will then be misinterpreted as the file descriptor to
786rem redirect...
787echo # Start of settings from configure.bat >config.settings
788>>config.settings echo COMPILER=%COMPILER%
789if not "(%mf%)" == "()" >>config.settings echo MCPU_FLAG=%mf%
790if not "(%dbginfo%)" == "()" >>config.settings echo DEBUG_INFO=%dbginfo%
791if (%nodebug%) == (Y) >>config.settings echo NODEBUG=1
792if (%noopt%) == (Y) >>config.settings echo NOOPT=1
793if (%profile%) == (Y) >>config.settings echo PROFILE=1
794if (%nocygwin%) == (Y) >>config.settings echo NOCYGWIN=1
795if not "(%prefix%)" == "()" >>config.settings echo INSTALL_DIR=%prefix%
796if not "(%distfiles%)" == "()" >>config.settings echo DIST_FILES=%distfiles%
797rem We go thru docflags because usercflags could be "-DFOO=bar" -something
798rem and the if command cannot cope with this
799for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
800if (%docflags%)==(Y) >>config.settings echo USER_CFLAGS=%usercflags%
801if (%docflags%)==(Y) >>config.settings echo ESC_USER_CFLAGS=%escusercflags%
802for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y
803if (%doldflags%)==(Y) >>config.settings echo USER_LDFLAGS=%userldflags%
804for %%v in (%extrauserlibs%) do if not (%%v)==() set doextralibs=Y
805if (%doextralibs%)==(Y) >>config.settings echo USER_LIBS=%extrauserlibs%
806echo # End of settings from configure.bat>>config.settings
807echo. >>config.settings
808
809copy config.nt config.tmp
810echo. >>config.tmp
811echo /* Start of settings from configure.bat. */ >>config.tmp
812rem We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify
813rem processing of compiler options in w32.c:get_emacs_configuration_options
814if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%" >>config.tmp
815if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%" >>config.tmp
816if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp
817if (%enablechecking%) == (Y) echo #define ENABLE_CHECKING 1 >>config.tmp
818if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp
819if not "(%HAVE_GNUTLS%)" == "()" echo #define HAVE_GNUTLS 1 >>config.tmp
820if not "(%HAVE_LIBXML2%)" == "()" echo #define HAVE_LIBXML2 1 >>config.tmp
821if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp
822if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp
823if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp
824if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp
825if "(%HAVE_RSVG%)" == "(1)" echo #define HAVE_RSVG 1 >>config.tmp
826
827echo /* End of settings from configure.bat. */ >>config.tmp
828
829Rem See if fc.exe returns a meaningful exit status. If it does, we
830Rem might as well avoid unnecessary overwriting of config.h and epaths.h,
831Rem since this forces recompilation of every source file.
832if exist foo.bar del foo.bar
833fc /b foo.bar foo.bar >nul 2>&1
834if not errorlevel 2 goto doCopy
835fc /b config.tmp ..\src\config.h >nul 2>&1
836if errorlevel 1 goto doCopy
837fc /b paths.h ..\src\epaths.h >nul 2>&1
838if not errorlevel 1 goto dontCopy
839
840:doCopy
841copy config.tmp ..\src\config.h
842copy paths.h ..\src\epaths.h
843
844:dontCopy
845if exist config.tmp del config.tmp
846copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile
847if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile
848copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile
849copy /b config.settings+%MAKECMD%.defs+..\lib\makefile.w32-in ..\lib\makefile
850copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile
851copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile
852copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile
853copy /b config.settings+%MAKECMD%.defs+..\doc\lispref\makefile.w32-in ..\doc\lispref\makefile
854copy /b config.settings+%MAKECMD%.defs+..\doc\lispintro\makefile.w32-in ..\doc\lispintro\makefile
855if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile
856copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile
857rem Use the default (no-op) Makefile.in if the nt version is not present.
858if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile
859if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile
860del config.settings
861
862Rem Some people use WinZip which doesn't create empty directories!
863if not exist ..\site-lisp\nul mkdir ..\site-lisp\
864Rem Update subdirs.el only if it is different or fc.exe doesn't work.
865if exist foo.bar del foo.bar
866fc /b foo.bar foo.bar >nul 2>&1
867if not errorlevel 2 goto doUpdateSubdirs
868fc /b subdirs.el ..\site-lisp\subdirs.el >nul 2>&1
869if not errorlevel 1 goto dontUpdateSubdirs
870
871:doUpdateSubdirs
872if exist ..\site-lisp\subdirs.el del ..\site-lisp\subdirs.el
873copy subdirs.el ..\site-lisp\subdirs.el
874
875:dontUpdateSubdirs
876echo.
877
878rem check that we have all the libraries we need.
879set libsOK=1
880
881if not "(%HAVE_XPM%)" == "()" goto checkpng
882if (%xpmsupport%) == (N) goto checkpng
883 set libsOK=0
884 echo XPM support is missing. It is required for color icons in the toolbar.
885 echo Install libXpm development files or use --without-xpm
886
887:checkpng
888if not "(%HAVE_PNG%)" == "()" goto checkjpeg
889if (%pngsupport%) == (N) goto checkjpeg
890 set libsOK=0
891 echo PNG support is missing.
892 echo Install libpng development files or use --without-png
893
894:checkjpeg
895if not "(%HAVE_JPEG%)" == "()" goto checktiff
896if (%jpegsupport%) == (N) goto checktiff
897 set libsOK=0
898 echo JPEG support is missing.
899 echo Install jpeg development files or use --without-jpeg
900
901:checktiff
902if not "(%HAVE_TIFF%)" == "()" goto checkgif
903if (%tiffsupport%) == (N) goto checkgif
904 set libsOK=0
905 echo TIFF support is missing.
906 echo Install libtiff development files or use --without-tiff
907
908:checkgif
909if not "(%HAVE_GIF%)" == "()" goto checkdistfiles
910if (%gifsupport%) == (N) goto checkdistfiles
911 set libsOK=0
912 echo GIF support is missing.
913 echo Install giflib or libungif development files or use --without-gif
914
915:checkdistfiles
916if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks
917if (%distFilesOk%) == (1) goto donelibchecks
918echo.
919echo Files specified with option --distfiles could not be found.
920echo Fix these issues before running make dist
921
922:donelibchecks
923if (%libsOK%) == (1) goto success
924echo.
925echo Important libraries are missing. Fix these issues before running make.
926goto end
927
928:success
929echo Emacs successfully configured.
930echo Emacs successfully configured. >>config.log
931if (%MAKECMD%) == (gmake) set MAKECMD=make
932echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.
933goto end
934
935:SmallEnv
936echo Your environment size is too small. Please enlarge it and rerun configure.
937echo For example, type "command.com /e:2048" to have 2048 bytes available.
938set $foo$=
939
940:end
941set prefix=
942set nodebug=
943set noopt=
944set enablechecking=
945set profile=
946set nocygwin=
947set COMPILER=
948set MAKECMD=
949set usercflags=
950set docflags=
951set userldflags=
952set doldflags=
953set mingwflag=
954set mf=
955set distfiles=
956set HAVE_DISTFILES=
957set distFilesOk=
958set pngsupport=
959set tlssupport=
960set libxml2support=
961set jpegsupport=
962set gifsupport=
963set tiffsupport=
964set xpmsupport=
965set svgsupport=
966set libsOK=
967set HAVE_GIF=
968set HAVE_JPEG=
969set HAVE_PNG=
970set HAVE_TIFF=
971set HAVE_XPM=
972set dbginfo=
973endlocal
974set use_extensions=
diff --git a/nt/emacs-src.tags b/nt/emacs-src.tags
deleted file mode 100644
index 8c187133454..00000000000
--- a/nt/emacs-src.tags
+++ /dev/null
@@ -1,6 +0,0 @@
1 This file defines the regular expressions for etags to look for
2 in the src directory. It is used by the w32 build to work around
3 the annoyances of quoting command-line arguments with various
4 w32 shell.
5
6/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/
diff --git a/nt/envadd.bat b/nt/envadd.bat
deleted file mode 100644
index 21f0f4b08f0..00000000000
--- a/nt/envadd.bat
+++ /dev/null
@@ -1,43 +0,0 @@
1rem Hack to change/add environment variables in the makefiles for the
2rem Windows platform.
3
4rem Copyright (C) 2003-2015 Free Software Foundation, Inc.
5
6rem This file is part of GNU Emacs.
7
8rem GNU Emacs is free software: you can redistribute it and/or modify
9rem it under the terms of the GNU General Public License as published by
10rem the Free Software Foundation, either version 3 of the License, or
11rem (at your option) any later version.
12
13rem GNU Emacs is distributed in the hope that it will be useful,
14rem but WITHOUT ANY WARRANTY; without even the implied warranty of
15rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16rem GNU General Public License for more details.
17
18rem You should have received a copy of the GNU General Public License
19rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
20
21
22rem Usage:
23rem envadd "ENV1=VAL1" "ENV2=VAL2" ... /C <command line>
24rem
25rem The "/C" switch marks the end of environment variables, and the
26rem beginning of the command line.
27rem
28rem By Peter 'Luna' Runestig <peter@runestig.com> 2003
29
30:Loop
31if .%1% == ./C goto EndLoop
32rem just to avoid an endless loop:
33if .%1% == . goto EndLoop
34set %1
35shift
36goto Loop
37:EndLoop
38
39rem Eat the "/C"
40shift
41rem Now, run the command line
42%1 %2 %3 %4 %5 %6 %7 %8 %9
43
diff --git a/nt/gmake.defs b/nt/gmake.defs
deleted file mode 100644
index 90a3709da4a..00000000000
--- a/nt/gmake.defs
+++ /dev/null
@@ -1,333 +0,0 @@
1# -*- Makefile -*- definition file for building GNU Emacs on Windows NT.
2# Copyright (C) 2000-2015 Free Software Foundation, Inc.
3
4# This file is part of GNU Emacs.
5
6# GNU Emacs is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# GNU Emacs is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18
19# Ensure 'all' is the default target
20all:
21
22# NOTES
23#
24# I tried to force gmake to use the native shell for simplicity, by
25# setting SHELL as below, but this didn't work reliably because of
26# various case sensitivity niggles. Specifically, COMSPEC (which is in
27# fact usually spelled ComSpec on NT, to make life difficult) typically
28# references "cmd.exe" (on NT) when the file is actually called
29# "CMD.EXE" on disk for hysterical raisons. As a result, GNU make
30# thinks it doesn't exist (unless compiled with a switch to ignore
31# case), and so doesn't change which shell it will invoke to execute
32# commands.
33#
34# It would be possible, though very tedious using just gmake facilities,
35# to convert the COMSPEC value to uppercase to solve this problem, but
36# it isn't worth it. That is partly because, even when using the native
37# shell, gmake tends to not be happy with backslashes in command
38# strings. The obvious solution is to use forward slashes as much as
39# possible, which can be made to work most of the time (putting
40# filenames in quotes often helps), but there are still some internal
41# cmd.exe commands like `del' and `copy' that won't work with them.
42# Although it is possible to convert slashes to backslashes when
43# necessary, gmake requires explicitly calling its subst function, which
44# nmake does not understand). For this reason, it is simplest to
45# mandate that rm and cp be available, so we can use Unix-format file
46# names everywhere. (Fortunately both MS and GNU make, and the
47# respective compilers, are happy with Unix-format names.)
48#
49# Since we cannot easily force the choice of a particular shell, we must
50# make the effort to cope with whichever shell is being used.
51# Fortunately, the only command we need to use that is shell specific is
52# the testing of a file's existence for the purpose of working out when
53# we are copying files to their original location. That particular
54# requirement is abstracted easily enough.
55#
56# The only other problem area was the change of directory when running
57# temacs to dump emacs.exe (where gmake doesn't support cd foo in any
58# useful way), but that has been resolved by modifying the Windows
59# unexec function slightly to not require the directory change while
60# still allowing objects and binaries to be in subdirectories.
61
62# This doesn't work.
63#SHELL:=$(COMSPEC)
64
65# Determine whether make is using sh or cmd/command as shell; cmd.exe
66# will output "ECHO is on" when echo is given by itself, while sh will
67# not produce any output.
68sh_output := $(shell echo)
69ifeq "$(findstring ECHO, $(sh_output))" "ECHO"
70THE_SHELL = $(COMSPEC)$(ComSpec)
71SHELLTYPE=CMD
72SWITCHCHAR=/
73else
74USING_SH = 1
75THE_SHELL = $(SHELL)
76SHELLTYPE=SH
77# MSYS needs to double the slash in cmd-style switches to avoid
78# interpreting /x as a Posix style file name reference
79ifneq ($(MSYSTEM),)
80SWITCHCHAR=//
81else
82SWITCHCHAR=/
83endif
84endif
85
86MAKETYPE=gmake
87
88# The following "ifeq" does not appear to DTRT, and therefore breaks
89# the build on mingw32. Also the -m option does not exist in many
90# (reasonably recent even) versions of Cygwin. These issues need to be
91# remedied before putting this cygpath kludge back in.
92
93# Convert CURDIR to native file name, if in Cygwin format
94#ifeq "$(shell cygpath $(CURDIR))" "$(CURDIR)"
95#CURDIR := $(shell cygpath -m $(CURDIR))
96#endif
97
98THISDIR = .
99
100# Cygwin has changed quoting rules somewhat since b20, in a way that
101# affects makefiles using sh as the command processor, so we need to
102# detect which rules to use.
103ifdef USING_SH
104sh_output := $(shell echo [Please ignore a syntax error on the next line - it is intentional] 1>&2)
105sh_output := $(shell echo foo")
106# This single quote " is to fix fontification due to previous line
107ifeq "$(sh_output)" ""
108NEW_CYGWIN = 1
109endif
110
111# By default, newer versions of Cygwin mess with NTFS ACLs in an
112# attempt to emulate traditional posix file permissions. This can
113# cause bad effects, such as .exe files that are missing the
114# FILE_EXECUTE/FILE_GENERIC_EXECUTE permissions when they are created
115# with Cygwin commands that don't expect to be creating executable
116# files. Then when we later use a non-Cygwin program to create the
117# real .exe, the previous Cygwin defined ACL sticks.
118CYGWIN=nontsec
119export CYGWIN
120endif
121
122ALL_DEPS = $^
123EMPTY =
124SPACE = $(EMPTY) $(EMPTY)
125
126SUBSYSTEM_WINDOWS=-Wl,-subsystem,windows
127SUBSYSTEM_CONSOLE=-Wl,-subsystem,console
128
129# INSTALL_DIR is the directory into which emacs will be installed.
130#
131ifndef INSTALL_DIR
132INSTALL_DIR = $(CURDIR)/..
133endif
134
135export EMACSLOADPATH
136
137# Determine the architecture we're running on.
138# Define ARCH for our purposes;
139# Define CPU for use by ntwin32.mak;
140# Define CONFIG_H to the appropriate config.h for the system;
141#
142ifdef PROCESSOR_ARCHITECTURE
143# We're on Windows NT
144CPU = $(PROCESSOR_ARCHITECTURE)
145CONFIG_H = config.nt
146OS_TYPE = windowsnt
147 ifeq "$(PROCESSOR_ARCHITECTURE)" "x86"
148ARCH = i386
149CPU = i386
150EMACS_HEAPSIZE = 27
151EMACS_PURESIZE = 5000000
152EMACS_MANIFEST = emacs-x86.manifest
153 else
154 ifeq "$(PROCESSOR_ARCHITECTURE)" "MIPS"
155ARCH = mips
156EMACS_HEAPSIZE = 27
157EMACS_PURESIZE = 5000000
158EMACS_MANIFEST = emacs-mips.manifest
159 else
160 ifeq "$(PROCESSOR_ARCHITECTURE)" "ALPHA"
161ARCH = alpha
162EMACS_HEAPSIZE = 27
163EMACS_PURESIZE = 5000000
164EMACS_MANIFEST = emacs-alpha.manifest
165 else
166 ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC"
167ARCH = ppc
168EMACS_HEAPSIZE = 27
169EMACS_PURESIZE = 5000000
170EMACS_MANIFEST = emacs-ppc.manifest
171 else
172 $(error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)")
173 endif
174 endif
175 endif
176 endif
177else
178# We're on Windows 95
179ARCH = i386
180CPU = i386
181CONFIG_H = config.nt
182OS_TYPE = windows95
183endif
184
185AR = ar -rsc
186AR_OUT =
187CC = gcc
188CC_OUT = -o$(SPACE)
189LINK = gcc
190LINK_OUT = -o$(SPACE)
191RC = windres -O coff
192RC_OUT = -o$(SPACE)
193RC_INCLUDE = --include-dir$(SPACE)
194
195libc =
196baselibs =
197O = o
198A = a
199
200BASE_LIBS = $(libc) $(baselibs)
201
202ADVAPI32 = -ladvapi32
203COMCTL32 = -lcomctl32
204COMDLG32 = -lcomdlg32
205GDI32 = -lgdi32
206MPR = -lmpr
207SHELL32 = -lshell32
208USER32 = -luser32
209WSOCK32 = -lwsock32
210WINMM = -lwinmm
211WINSPOOL = -lwinspool
212OLE32 = -lole32
213UNISCRIBE = -lusp10
214UUID = -luuid
215
216# Used by src/makefile.w32-in, since Nmake barfs on $(func SOMETHING)
217OBJ0_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ0))
218OBJ1_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1))
219OBJ2_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ2))
220
221ifdef NOOPT
222DEBUG_CFLAGS = -DEMACSDEBUG -fno-crossjumping -std=gnu99
223else
224DEBUG_CFLAGS =
225endif
226
227MWINDOWS = -mwindows
228
229CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(PROFILE_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
230ESC_CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(PROFILE_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)
231EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1
232
233ifdef PROFILE
234PROFILE_CFLAGS = -pg
235PROFILE_LDFLAGS = -pg
236else
237PROFILE_CFLAGS =
238PROFILE_LDFLAGS =
239endif
240
241
242# see comments in allocate_heap in w32heap.c before changing any of the
243# -stack, -heap, or -image-base settings.
244TEMACS_EXTRA_LINK = -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 $(SUBSYSTEM_CONSOLE) -Wl,-entry,__start -Wl,-Map,$(BLD)/temacs.map
245
246ifdef NOOPT
247OBJDIR = oo
248else
249OBJDIR = oo-spd
250endif
251$(OBJDIR):; -mkdir "$(OBJDIR)"
252BLD = $(OBJDIR)/$(ARCH)
253stamp_BLD: $(OBJDIR)
254 -mkdir "$(BLD)"
255 echo $(BLD) > $@
256
257COMPILER_TEMP_FILES =
258
259CP = cp -f
260CP_DIR = cp -rf
261DEL = rm
262DEL_TREE = rm -r
263
264DIRNAME = $(notdir $(CURDIR))
265
266ifdef USING_SH
267
268IFNOTSAMEDIR = if [ ! -s ../$(DIRNAME)_same-dir.tst ] ; then
269FOREACH = for f in
270FORVAR = $${f}
271FORDO = ; do
272ENDFOR = ; done
273ENDIF = ; fi
274ARGQUOTE = '
275ifdef NEW_CYGWIN
276DQUOTE = "
277else
278DQUOTE = ""
279endif
280
281else
282
283IFNOTSAMEDIR = if not exist ../$(DIRNAME)_same-dir.tst
284FOREACH = for %%f in (
285FORVAR = %%f
286FORDO = ) do
287ENDFOR =
288ENDIF =
289ARGQUOTE = "
290DQUOTE = \"
291
292endif
293
294ifdef NODEBUG
295DEBUG_FLAG =
296DEBUG_LINK =
297else
298DEBUG_FLAG = $(DEBUG_INFO)
299DEBUG_LINK = $(DEBUG_INFO)
300endif
301
302ifdef NOCYGWIN
303NOCYGWIN = -mno-cygwin
304endif
305
306ifdef USER_LIBS
307USER_LIBS := $(patsubst %,-l%,$(USER_LIBS))
308endif
309
310PRAGMA_SYSTEM_HEADER = \#pragma GCC system_header
311
312ifeq "$(ARCH)" "i386"
313ifdef NOOPT
314ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN)
315else
316ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN) $(MCPU_FLAG) -O2 \
317 # -fbuiltin \
318 # -finline-functions \
319 # -fomit-frame-pointer
320endif
321ARCH_LDFLAGS = $(SYS_LDFLAGS)
322else
323ERROR Unknown architecture type "$(ARCH)".
324endif
325
326LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(PROFILE_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS)
327
328export XMFLAGS
329
330.DEFAULT:
331
332$(BLD)/%.o: %.c
333 $(CC) $(CFLAGS) $(CC_OUT)$@ $<
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
deleted file mode 100644
index ff2bf27cde8..00000000000
--- a/nt/makefile.w32-in
+++ /dev/null
@@ -1,465 +0,0 @@
1# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
2# Copyright (C) 2000-2015 Free Software Foundation, Inc.
3#
4# Top level makefile for building GNU Emacs on Windows NT
5#
6# This file is part of GNU Emacs.
7
8# GNU Emacs is free software: you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12
13# GNU Emacs is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17
18# You should have received a copy of the GNU General Public License
19# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
20
21
22# FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out
23# (and remove or replace this comment).
24
25VERSION = 25.0.50
26
27TMP_DIST_DIR = emacs-$(VERSION)
28
29TRES = $(BLD)/emacs.res
30CLIENTRES = $(BLD)/emacsclient.res
31
32LOCAL_FLAGS = -DOLD_PATHS=1
33
34XMFLAGS =
35
36ALL = $(BLD)/addpm.exe $(BLD)/ddeclient.exe $(BLD)/runemacs.exe \
37 $(BLD)/cmdproxy.exe $(BLD)/addsection.exe $(BLD)/preprep.exe
38
39$(BLD)/addpm.exe: $(BLD)/addpm.$(O)
40 $(LINK) $(LINK_OUT)$@ \
41 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \
42 $(USER32) $(OLE32) $(UUID) $(SHELL32)
43
44$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
45 $(LINK) $(LINK_OUT)$@ \
46 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
47
48$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
49 $(LINK) $(LINK_OUT)$@ \
50 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
51
52$(BLD)/addsection.exe: $(BLD)/addsection.$(O)
53 $(LINK) $(LINK_OUT)$@ \
54 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
55
56$(BLD)/preprep.exe: $(BLD)/preprep.$(O)
57 $(LINK) $(LINK_OUT)$@ \
58 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
59
60#
61# The resource file. NT 3.10 requires the use of cvtres; even though
62# it is not necessary on later versions, it is still ok to use it.
63#
64$(TRES): emacs.rc icons/emacs.ico $(EMACS_MANIFEST) stamp_BLD
65 $(RC) $(RC_OUT)$(TRES) emacs.rc
66
67$(CLIENTRES): emacsclient.rc stamp_BLD
68 $(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc
69
70$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
71 $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
72 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
73
74which-sh:
75 @echo Using $(THE_SHELL) as shell.
76
77# These depend on stamp_BLD to make sure the $(BLD) directory is created
78# before the compilation begins, even if Make runs several commands
79# in parallel under "make -j".
80#
81$(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O) $(BLD)/addsection.$(O) $(BLD)/preprep.$(O): stamp_BLD
82
83#
84# Build emacs
85#
86all: which-sh $(ALL) $(CLIENTRES) all-other-dirs-$(MAKETYPE)
87
88all-other-dirs-$(MAKETYPE): maybe-bootstrap
89
90all-other-dirs-nmake: $(BLD)/addsection.exe
91 cd ..\lib
92 $(MAKE) $(MFLAGS) all
93 cd ..\lib-src
94 $(MAKE) $(MFLAGS) all
95 cd ..\src
96 $(MAKE) $(MFLAGS) all
97 cd ..\lisp
98 $(MAKE) $(MFLAGS) all
99 cd ..\leim
100 $(MAKE) $(MFLAGS) all
101 cd ..\nt
102
103all-other-dirs-gmake: $(BLD)/addsection.exe
104 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all
105 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all
106 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all
107 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all
108 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim all
109
110recompile: recompile-$(MAKETYPE)
111
112recompile-nmake:
113 cd ..\lisp
114 $(MAKE) $(MFLAGS) recompile
115 cd ..\nt
116
117recompile-gmake:
118 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp recompile
119
120#### Bootstrapping.
121
122### This is meant for Emacs maintainers only. It first cleans the
123### lisp subdirectory, removing all compiled Lisp files. Then a
124### special emacs executable is built from Lisp sources, which is then
125### used to compile Lisp files. The last step is a "normal" make.
126
127maybe-bootstrap: maybe-bootstrap-$(SHELLTYPE)
128
129# dummy target to force other targets to be evaluated.
130doit:
131
132maybe-bootstrap-CMD: doit
133 @echo .
134 @if not EXIST ..\lisp\abbrev.elc echo Essential Lisp files seem to be missing. You should either
135 @if not EXIST ..\lisp\abbrev.elc echo do 'make bootstrap' or create 'lisp/abbrev.elc' somehow
136 @echo .
137 @if not EXIST ..\lisp\abbrev.elc exit -1
138
139maybe-bootstrap-SH: doit
140 @if [ ! -f ../lisp/abbrev.elc ] ; then \
141 echo; \
142 echo "Essential Lisp files seem to be missing. You should either"; \
143 echo "do \`make bootstrap' or create \`lisp/abbrev.elc' somehow."; \
144 echo; \
145 exit -1; \
146 fi
147
148# Bootstrap depends on cmdproxy because some Lisp functions
149# loaded during bootstrap may need to run shell commands.
150bootstrap: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe bootstrap-$(MAKETYPE)
151 $(MAKE) $(MFLAGS) $(XMFLAGS) all
152
153bootstrap-nmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe
154 cd ..\lisp
155 $(MAKE) $(MFLAGS) bootstrap-clean
156 cd ..\src
157 $(MAKE) $(MFLAGS) clean
158 cd ..\lib-src
159 $(MAKE) $(MFLAGS) clean make-docfile
160 cd ..\lib
161 $(MAKE) $(MFLAGS) clean all
162 cd ..\src
163 $(MAKE) $(MFLAGS) bootstrap
164 $(MAKE) $(MFLAGS) bootstrap-clean
165 cd ..\nt
166 $(CP) $(BLD)/cmdproxy.exe ../bin
167 cd ..\lisp
168 $(MAKE) $(MFLAGS) SHELL=$(SHELLTYPE) bootstrap
169 cd ..\lib-src
170 $(MAKE) $(MFLAGS) DOC
171 cd ..\nt
172
173bootstrap-gmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe
174 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
175 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
176 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
177 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src make-docfile
178 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean
179 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all
180 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap
181 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean
182 $(CP) $(BLD)/cmdproxy.exe ../bin
183 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap
184 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src DOC
185
186bootstrap-clean: bootstrap-clean-$(MAKETYPE)
187
188bootstrap-clean-nmake:
189 cd ..\src
190 $(MAKE) $(MFLAGS) bootstrap-clean
191 cd ..\lib
192 $(MAKE) $(MFLAGS) clean
193 cd ..\lisp
194 $(MAKE) $(MFLAGS) bootstrap-clean
195
196bootstrap-clean-gmake:
197 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean
198 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean
199 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
200
201$(INSTALL_DIR):
202 - mkdir "$(INSTALL_DIR)"
203
204$(INSTALL_DIR)/bin: $(INSTALL_DIR)
205 - mkdir "$(INSTALL_DIR)/bin"
206
207#
208# Build and install emacs in INSTALL_DIR
209#
210.PHONY: install-bin install-shortcuts
211
212install: install-bin install-shortcuts
213
214install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
215 - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
216 - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
217 - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
218 - $(CP) README.W32 $(INSTALL_DIR)
219 - $(DEL) ../$(DIRNAME)_same-dir.tst
220 - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
221 echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst"
222 - mkdir "$(INSTALL_DIR)/etc"
223 - mkdir "$(INSTALL_DIR)/info"
224 - mkdir "$(INSTALL_DIR)/lock"
225 - mkdir "$(INSTALL_DIR)/data"
226 - mkdir "$(INSTALL_DIR)/site-lisp"
227 - mkdir "$(INSTALL_DIR)/etc/icons"
228 $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)
229 $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)
230 - $(CP_DIR) icons $(INSTALL_DIR)/etc
231 $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)
232 $(IFNOTSAMEDIR) $(CP) ../COPYING $(INSTALL_DIR) $(ENDIF)
233 - $(CP) ../COPYING $(INSTALL_DIR)/bin
234 - $(DEL) ../$(DIRNAME)_same-dir.tst
235 - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst
236
237install-other-dirs-nmake: all
238 cd ..\lib-src
239 $(MAKE) $(MFLAGS) install
240 cd ..\src
241 $(MAKE) $(MFLAGS) install
242 cd ..\lisp
243 $(MAKE) $(MFLAGS) install
244 cd ..\leim
245 $(MAKE) $(MFLAGS) install
246 cd ..\nt
247
248install-other-dirs-gmake: all
249 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src install
250 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src install
251 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
252 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
253
254install-addpm: $(INSTALL_DIR)/bin $(BLD)/addpm.exe
255 - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
256
257install-shortcuts: install-addpm
258 "$(INSTALL_DIR)/bin/addpm" -q
259
260maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE)
261
262maybe-copy-distfiles-CMD: create-tmp-dist-dir doit
263 @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
264
265maybe-copy-distfiles-SH: create-tmp-dist-dir doit
266 @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" ] ; then \
267 $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \
268 fi
269
270create-tmp-dist-dir:
271 mkdir "$(TMP_DIST_DIR)"
272# Also create bin directory for dist files.
273 mkdir "$(TMP_DIST_DIR)/bin"
274
275dist: install-bin install-addpm maybe-copy-distfiles
276 $(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)
277 $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)
278 $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)
279 $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR)
280 $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR)
281 $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR)
282 $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR)
283 $(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR)
284 $(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR)
285 $(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR)
286 $(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE)
287 $(DEL_TREE) $(TMP_DIST_DIR)
288
289force-info:
290# Note that doc/emacs/makefile knows how to
291# put the info files in $(infodir),
292# so we can do ok running make in the build dir.
293info: force-info info-$(MAKETYPE)
294
295info-nmake:
296 cd ..\doc\emacs
297 $(MAKE) $(MFLAGS) info
298 cd ..\misc
299 $(MAKE) $(MFLAGS) info
300 cd ..\lispref
301 $(MAKE) $(MFLAGS) info
302 cd ..\lispintro
303 $(MAKE) $(MFLAGS) info
304 cd $(MAKEDIR)
305
306info-gmake: emacs misc lispref lispintro
307
308emacs misc lispref lispintro:
309 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/$@ info
310
311#
312# Maintenance
313#
314clean: clean-other-dirs-$(MAKETYPE)
315 - $(DEL) $(COMPILER_TEMP_FILES)
316 - $(DEL_TREE) $(OBJDIR)
317 - $(DEL) stamp_BLD
318 - $(DEL) ../etc/DOC
319
320clean-other-dirs-nmake:
321 cd ..\lib
322 $(MAKE) $(MFLAGS) clean
323 cd ..\lib-src
324 $(MAKE) $(MFLAGS) clean
325 cd ..\src
326 $(MAKE) $(MFLAGS) clean
327 cd ..\doc\lispintro
328 $(MAKE) $(MFLAGS) clean
329 cd ..\lispref
330 $(MAKE) $(MFLAGS) clean
331 cd ..\..\leim
332 $(MAKE) $(MFLAGS) clean
333 cd ..\doc\emacs
334 $(MAKE) $(MFLAGS) clean
335 cd ..\misc
336 $(MAKE) $(MFLAGS) clean
337 cd ..\..\nt
338
339clean-other-dirs-gmake:
340 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean
341 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
342 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
343 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean
344 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs clean
345 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc clean
346 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro clean
347 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean
348
349cleanall-other-dirs-nmake:
350 cd ..\lib
351 $(MAKE) $(MFLAGS) cleanall
352 cd ..\lib-src
353 $(MAKE) $(MFLAGS) cleanall
354 cd ..\src
355 $(MAKE) $(MFLAGS) cleanall
356 cd ..\nt
357
358cleanall-other-dirs-gmake:
359 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib cleanall
360 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall
361 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall
362
363# We used to delete *~ here, but that might inadvertently remove
364# precious files if it happens to match their short 8+3 aliases.
365cleanall: clean cleanall-other-dirs-$(MAKETYPE)
366 - $(DEL_TREE) obj
367 - $(DEL_TREE) obj-spd
368 - $(DEL_TREE) oo
369 - $(DEL_TREE) oo-spd
370
371top-distclean:
372 - $(DEL) $(COMPILER_TEMP_FILES)
373 - $(DEL_TREE) obj
374 - $(DEL_TREE) obj-spd
375 - $(DEL_TREE) oo
376 - $(DEL_TREE) oo-spd
377 - $(DEL) stamp_BLD
378 - $(DEL) ../etc/DOC
379 - $(DEL) config.log Makefile
380 - $(DEL) ../README.W32
381
382distclean: distclean-other-dirs-$(MAKETYPE) top-distclean
383
384distclean-other-dirs-nmake:
385 cd ..\lib
386 $(MAKE) $(MFLAGS) distclean
387 cd ..\lib-src
388 $(MAKE) $(MFLAGS) distclean
389 cd ..\src
390 $(MAKE) $(MFLAGS) distclean
391 cd ..\lisp
392 $(MAKE) $(MFLAGS) distclean
393 cd ..\leim
394 $(MAKE) $(MFLAGS) distclean
395 cd ..\doc\emacs
396 $(MAKE) $(MFLAGS) distclean
397 cd ..\misc
398 $(MAKE) $(MFLAGS) distclean
399 cd ..\lispintro
400 $(MAKE) $(MFLAGS) distclean
401 cd ..\lispref
402 $(MAKE) $(MFLAGS) distclean
403 cd ..\..\nt
404
405distclean-other-dirs-gmake:
406 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib distclean
407 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean
408 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean
409 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean
410 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim distclean
411 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs distclean
412 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc distclean
413 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro distclean
414 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref distclean
415
416maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean
417
418maintainer-clean-other-dirs-nmake:
419 cd ..\lib
420 $(MAKE) $(MFLAGS) maintainer-clean
421 cd ..\lib-src
422 $(MAKE) $(MFLAGS) maintainer-clean
423 cd ..\src
424 $(MAKE) $(MFLAGS) maintainer-clean
425 cd ..\lisp
426 $(MAKE) $(MFLAGS) maintainer-clean
427 cd ..\leim
428 $(MAKE) $(MFLAGS) maintainer-clean
429 cd ..\doc\emacs
430 $(MAKE) $(MFLAGS) maintainer-clean
431 cd ..\misc
432 $(MAKE) $(MFLAGS) maintainer-clean
433 cd ..\lispintro
434 $(MAKE) $(MFLAGS) maintainer-clean
435 cd ..\lispref
436 $(MAKE) $(MFLAGS) maintainer-clean
437 cd ..\..\nt
438
439maintainer-clean-other-dirs-gmake:
440 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib maintainer-clean
441 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean
442 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean
443 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean
444 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim maintainer-clean
445 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs maintainer-clean
446 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc maintainer-clean
447 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro maintainer-clean
448 $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref maintainer-clean
449
450realclean: cleanall
451 - $(DEL_TREE) ../bin
452
453TAGS: TAGS-$(MAKETYPE)
454
455frc:
456TAGS-gmake: frc
457 ../lib-src/$(BLD)/etags $(CURDIR)/*.c
458 $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP
459 $(MAKE) $(MFLAGS) -C ../lib-src TAGS
460 $(MAKE) $(MFLAGS) -C ../lib TAGS
461
462TAGS-nmake:
463 echo This target is not supported with NMake
464
465.PHONY: frc
diff --git a/nt/multi-install-info.bat b/nt/multi-install-info.bat
deleted file mode 100644
index f69ee485c11..00000000000
--- a/nt/multi-install-info.bat
+++ /dev/null
@@ -1,40 +0,0 @@
1@echo off
2
3rem Hack to run install-info with multiple info files on the command
4rem line on the Windows platform.
5
6rem Copyright (C) 2003-2015 Free Software Foundation, Inc.
7
8rem This file is part of GNU Emacs.
9
10rem GNU Emacs is free software: you can redistribute it and/or modify
11rem it under the terms of the GNU General Public License as published by
12rem the Free Software Foundation, either version 3 of the License, or
13rem (at your option) any later version.
14
15rem GNU Emacs is distributed in the hope that it will be useful,
16rem but WITHOUT ANY WARRANTY; without even the implied warranty of
17rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18rem GNU General Public License for more details.
19
20rem You should have received a copy of the GNU General Public License
21rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
22
23
24rem Usage:
25rem multi-install-info <switch passed to install-info> FILE1 FILE2 ...
26rem
27rem By Peter 'Luna' Runestig <peter@runestig.com> 2003
28
29set INSTALL_INFO=install-info
30set II_SWITCH=%1=%2
31rem Eat the install-info switch:
32shift
33
34:Loop
35shift
36if .%1% == . goto EndLoop
37%INSTALL_INFO% %II_SWITCH% %1
38goto Loop
39:EndLoop
40
diff --git a/nt/nmake.defs b/nt/nmake.defs
deleted file mode 100644
index 5424b9d9125..00000000000
--- a/nt/nmake.defs
+++ /dev/null
@@ -1,294 +0,0 @@
1# -*- Makefile -*- definition file for building GNU Emacs on Windows NT.
2# Copyright (C) 2000-2015 Free Software Foundation, Inc.
3
4# This file is part of GNU Emacs.
5
6# GNU Emacs is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# GNU Emacs is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18
19
20# Ensure 'all' is the default target
21all:
22
23THE_SHELL = $(COMSPEC)
24SHELLTYPE=CMD
25SWITCHCHAR=/
26
27MAKETYPE=nmake
28
29CURDIR = $(MAKEDIR:\=/)
30THISDIR = $(MAKEDIR)
31DIRNAME =
32
33ALL_DEPS = $**
34
35SUBSYSTEM_WINDOWS=-subsystem:windows
36SUBSYSTEM_CONSOLE=-subsystem:console
37
38# INSTALL_DIR is the directory into which emacs will be installed.
39#
40!ifndef INSTALL_DIR
41INSTALL_DIR = $(CURDIR)/..
42!endif
43
44# Ensure EMACSLOADPATH is defined in the environment.
45#
46!if [set EMACSLOADPATH=foo]
47!endif
48
49# Allow detection of builds with MSVC 5 or later, so we can
50# speed up compiles (see rule at end).
51#
52_NMAKE_VER_5=162
53_NMAKE_VER_4=0
54
55!IFNDEF _NMAKE_VER
56_NMAKE_VER=$(_NMAKE_VER_4)
57!ENDIF
58
59# Check that the INCLUDE and LIB environment variables are set.
60#
61!ifndef INCLUDE
62!error The INCLUDE environment variable needs to be set.
63!endif
64!ifndef LIB
65!error The LIB environment variable needs to be set.
66!endif
67
68# Determine the architecture we're running on.
69# Define ARCH for our purposes;
70# Define CPU for use by ntwin32.mak;
71# Define CONFIG_H to the appropriate config.h for the system;
72#
73!ifdef PROCESSOR_ARCHITECTURE
74# We're on Windows NT
75CPU = $(PROCESSOR_ARCHITECTURE)
76CONFIG_H = config.nt
77OS_TYPE = windowsnt
78! if "$(PROCESSOR_ARCHITECTURE)" == "x86"
79ARCH = i386
80CPU = i386
81! else
82! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
83ARCH = mips
84! else
85! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
86ARCH = alpha
87! else
88! if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
89ARCH = ppc
90! else
91! if "$(PROCESSOR_ARCHITECTURE)" == "AMD64"
92ARCH = AMD64
93! else
94! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
95! endif
96! endif
97! endif
98! endif
99! endif
100!else
101# We're on Windows 95
102ARCH = i386
103CPU = i386
104CONFIG_H = config.nt
105OS_TYPE = windows95
106!endif
107
108AR = lib
109AR_OUT = -out:
110CC = cl
111CC_OUT = -Fo
112LINK = link
113LINK_OUT = -out:
114RC = rc $(ARCH_RCFLAGS)
115RC_OUT = -Fo
116RC_INCLUDE = -i
117
118USE_CRT_DLL = 1
119
120!if $(USE_CRT_DLL)
121libc = msvcrt$(D).lib
122EMACS_EXTRA_C_FLAGS= -D_DLL -D_MT -DUSE_CRT_DLL=1
123!else
124libc = libcmt$(D).lib
125EMACS_EXTRA_C_FLAGS= -D_MT
126!endif
127baselibs =
128O = obj
129A = lib
130
131BASE_LIBS = $(libc) $(baselibs) oldnames.lib
132
133ADVAPI32 = advapi32.lib
134COMCTL32 = comctl32.lib
135COMDLG32 = comdlg32.lib
136GDI32 = gdi32.lib
137MPR = mpr.lib
138SHELL32 = shell32.lib
139USER32 = user32.lib
140WSOCK32 = wsock32.lib
141WINMM = winmm.lib
142WINSPOOL = winspool.lib
143OLE32 = ole32.lib
144UNISCRIBE = usp10.lib
145UUID = uuid.lib
146
147!ifdef NOOPT
148DEBUG_CFLAGS = -DEMACSDEBUG
149!else
150DEBUG_CFLAGS =
151!endif
152
153MWINDOWS = -subsystem:windows -entry:mainCRTStartup
154
155CFLAGS = -I. $(ARCH_CFLAGS) -D_CRT_SECURE_NO_WARNINGS \
156 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
157ESC_CFLAGS = -I. $(ARCH_CFLAGS) -D_CRT_SECURE_NO_WARNINGS \
158 $(DEBUG_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)
159
160#SYS_LDFLAGS = -nologo -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj
161SYS_LDFLAGS = -nologo -manifest -dynamicbase:no -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj
162
163# see comments in allocate_heap in w32heap.c before changing any of the
164# -stack, -heap, or -base settings.
165!if "$(ARCH)" == "i386"
166TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -pdb:$(BLD)\temacs.pdb -machine:x86 $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)
167!elseif "$(ARCH)" == "AMD64"
168TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x400000000 -pdb:$(BLD)\temacs.pdb -machine:x64 $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)
169!endif
170
171!ifdef NOOPT
172OBJDIR = obj
173!else
174OBJDIR = obj-spd
175!endif
176$(OBJDIR):; -mkdir $(OBJDIR)
177BLD = $(OBJDIR)/$(ARCH)
178stamp_BLD: $(OBJDIR)
179 -mkdir "$(BLD)"
180 echo $(BLD) > $@
181
182COMPILER_TEMP_FILES = *.pdb
183
184CP = cp -f
185CP_DIR = cp -rf
186IFNOTSAMEDIR = if not exist ..\$(DIRNAME)_same-dir.tst
187ENDIF =
188FOREACH = for %%f in (
189FORVAR = %%f
190FORDO = ) do
191ENDFOR =
192ARGQUOTE = "
193# "
194DQUOTE = \"
195DEL = rm
196DEL_TREE = rm -r
197
198!ifdef NODEBUG
199DEBUG_FLAG =
200DEBUG_LINK =
201D =
202!else
203DEBUG_FLAG = -Zi
204DEBUG_LINK = -debug
205D = d
206!endif
207
208# gcc-specific pragma (ignore for MSVC)
209PRAGMA_SYSTEM_HEADER =
210
211!if "$(ARCH)" == "i386"
212!ifdef NOOPT
213#ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)
214ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Od -Gd $(DEBUG_FLAG)
215!else
216#ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)
217ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Oi -Ot -Oy- -Ob2 -GF -Gy -Gd $(DEBUG_FLAG)
218!endif
219ARCH_LDFLAGS = $(SYS_LDFLAGS)
220EMACS_HEAPSIZE = 27
221EMACS_PURESIZE = 5000000
222EMACS_MANIFEST = emacs-x86.manifest
223
224!else
225!if "$(ARCH)" == "mips"
226ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0
227ARCH_LDFLAGS = $(SYS_LDFLAGS)
228EMACS_HEAPSIZE = 27
229EMACS_PURESIZE = 5000000
230EMACS_MANIFEST = emacs-mips.manifest
231
232!else
233!if "$(ARCH)" == "alpha"
234!if "$(BUILD_TYPE)" == "spd"
235ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
236!else
237ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=
238!endif
239ARCH_LDFLAGS = $(SYS_LDFLAGS)
240EMACS_HEAPSIZE = 27
241EMACS_PURESIZE = 5000000
242EMACS_MANIFEST = emacs-alpha.manifest
243
244!else
245!if "$(ARCH)" == "ppc"
246# These flags are a guess...if they don't work, please send me mail.
247ARCH_LDFLAGS = $(SYS_LDFLAGS)
248EMACS_HEAPSIZE = 27
249EMACS_PURESIZE = 5000000
250EMACS_MANIFEST = emacs-ppc.manifest
251
252!else
253!if "$(ARCH)" == "AMD64"
254!ifdef NOOPT
255ARCH_CFLAGS = -nologo -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -c -Zl -Zp8 -W2 -Od -Gd -Wp64 $(DEBUG_FLAG)
256!else
257ARCH_CFLAGS = -nologo -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -c -Zl -Zp8 -W2 -O2x -GF -Gy -Gd $(DEBUG_FLAG)
258!endif
259ARCH_LDFLAGS = $(SYS_LDFLAGS) -machine:x64
260ARCH_RCFLAGS = -DWIN64
261EMACS_HEAPSIZE = 42
262EMACS_PURESIZE = 10000000
263EMACS_MANIFEST = emacs-x64.manifest
264
265!else
266!ERROR Unknown architecture type "$(ARCH)".
267!endif
268!endif
269!endif
270!endif
271!endif
272
273LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(USER_LDFLAGS)
274
275# From MSVC 5.0 onwards, it seem base relocation information is not included,
276# at least in release builds. We need to ensure the reloc info is included
277# in order to use the MSVC profiler.
278!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
279EXTRA_LINK =
280!ELSE
281EXTRA_LINK = -profile
282!ENDIF
283
284#
285# If the compiler supports compiling multiple .c files to .o files at
286# one time, use this feature.
287#
288!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
289.c{$(BLD)}.obj:
290 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
291!ELSE
292.c{$(BLD)}.obj::
293 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
294!ENDIF
diff --git a/nt/paths.h b/nt/paths.h
deleted file mode 100644
index d6dfaad8f4e..00000000000
--- a/nt/paths.h
+++ /dev/null
@@ -1,66 +0,0 @@
1/* paths.h file for MS Windows
2
3Copyright (C) 1993, 1995, 1997, 1999, 2001-2015 Free Software
4Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21/* Relative file names in this file that begin with "%emacs_dir%/" are
22 treated specially by decode_env_path: they are expanded relative to
23 the value of the emacs_dir environment variable, which points to
24 the root of the Emacs tree. */
25
26/* The default search path for Lisp function "load".
27 Together with PATH_SITELOADSEARCH, this sets load-path. */
28/* #define PATH_LOADSEARCH "/usr/local/lib/emacs/lisp" */
29#define PATH_LOADSEARCH "%emacs_dir%/lisp"
30
31/* Like PATH_LOADSEARCH, but contains the non-standard pieces. */
32#define PATH_SITELOADSEARCH "%emacs_dir%/site-lisp;%emacs_dir%/../site-lisp"
33
34/* Like PATH_LOADSEARCH, but used only when Emacs is dumping. This
35 path is usually identical to PATH_LOADSEARCH except that the entry
36 for the directory containing the installed lisp files has been
37 replaced with ../lisp. */
38#define PATH_DUMPLOADSEARCH "../lisp"
39
40/* The extra search path for programs to invoke. This is appended to
41 whatever the PATH environment variable says to set the Lisp
42 variable exec-path and the first file name in it sets the Lisp
43 variable exec-directory. exec-directory is used for finding
44 executables and other architecture-dependent files. */
45/* #define PATH_EXEC "/usr/local/lib/emacs/etc" */
46#define PATH_EXEC "%emacs_dir%/bin;%emacs_dir%/lib-src/oo-spd/i386;%emacs_dir%/lib-src/oo/i386;%emacs_dir%/nt/oo-spd/i386;%emacs_dir%/nt/oo/i386"
47
48/* Where Emacs should look for its architecture-independent data
49 files, like the NEWS file. The lisp variable data-directory
50 is set to this value. */
51/* #define PATH_DATA "/usr/local/lib/emacs/data" */
52#define PATH_DATA "%emacs_dir%/etc"
53
54/* Where Emacs should look for X bitmap files.
55 The lisp variable x-bitmap-file-path is set based on this value. */
56#define PATH_BITMAPS ""
57
58/* Where Emacs should look for its docstring file. The lisp variable
59 doc-directory is set to this value. */
60#define PATH_DOC "%emacs_dir%/etc"
61
62/* Where the configuration process believes the info tree lives. The
63 lisp variable configure-info-directory gets its value from this
64 macro, and is then used to set the Info-default-directory-list. */
65/* #define PATH_INFO "/usr/local/info" */
66#define PATH_INFO "C:/emacs/info"
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
deleted file mode 100644
index 795b55a7c43..00000000000
--- a/src/makefile.w32-in
+++ /dev/null
@@ -1,1725 +0,0 @@
1# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
2# Copyright (C) 2000-2015 Free Software Foundation, Inc.
3
4# This file is part of GNU Emacs.
5
6# GNU Emacs is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# GNU Emacs is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18
19
20ALL = emacs
21
22.PHONY: $(ALL)
23
24# Set EMACSLOADPATH correctly (in case already defined in environment).
25EMACSLOADPATH=$(CURDIR)/../lisp
26
27# Size in MBs of the static heap in temacs.exe.
28HEAPSIZE = $(EMACS_HEAPSIZE)
29
30LOCAL_FLAGS = -Demacs=1 -I../lib -I../nt/inc $(EMACS_EXTRA_C_FLAGS)
31
32SRC = .
33EMACS = $(BLD)/emacs.exe
34TEMACS = $(BLD)/temacs.exe
35TEMACS_TMP = $(BLD)/temacs.bin
36TLIB0 = $(BLD)/temacs0.$(A)
37TLIB1 = $(BLD)/temacs1.$(A)
38TLIB2 = $(BLD)/temacs2.$(A)
39TOBJ = $(BLD)/firstfile.$(O)
40TRES = $(BLD)/emacs.res
41TLASTLIB = $(BLD)/lastfile.$(A)
42GNULIB = ../lib/$(BLD)/libgnu.$(A)
43
44DOC = $(OBJDIR)/etc/DOC
45
46FULL_LINK_FLAGS = $(LINK_FLAGS) $(TEMACS_EXTRA_LINK)
47
48#
49# Split up the objects into two sets so that we don't run out of
50# command line space when we link them into a library.
51#
52# Put emacs.$(O) in a separate lib, since we need to have firstfile.$(O)
53# as the "main" object file when linking.
54#
55OBJ0 = $(BLD)/emacs.$(O)
56
57OBJ1 = $(BLD)/alloc.$(O) \
58 $(BLD)/atimer.$(O) \
59 $(BLD)/buffer.$(O) \
60 $(BLD)/bytecode.$(O) \
61 $(BLD)/callint.$(O) \
62 $(BLD)/callproc.$(O) \
63 $(BLD)/casefiddle.$(O) \
64 $(BLD)/cmds.$(O) \
65 $(BLD)/data.$(O) \
66 $(BLD)/dired.$(O) \
67 $(BLD)/dispnew.$(O) \
68 $(BLD)/doc.$(O) \
69 $(BLD)/doprnt.$(O) \
70 $(BLD)/editfns.$(O) \
71 $(BLD)/eval.$(O) \
72 $(BLD)/fileio.$(O) \
73 $(BLD)/filelock.$(O) \
74 $(BLD)/fns.$(O) \
75 $(BLD)/indent.$(O) \
76 $(BLD)/insdel.$(O) \
77 $(BLD)/keyboard.$(O) \
78 $(BLD)/keymap.$(O) \
79 $(BLD)/lread.$(O) \
80 $(BLD)/macros.$(O) \
81 $(BLD)/marker.$(O) \
82 $(BLD)/minibuf.$(O) \
83 $(BLD)/w32.$(O) \
84 $(BLD)/w32heap.$(O) \
85 $(BLD)/w32inevt.$(O) \
86 $(BLD)/w32proc.$(O) \
87 $(BLD)/w32console.$(O) \
88 $(BLD)/print.$(O) \
89 $(BLD)/process.$(O) \
90 $(BLD)/regex.$(O) \
91 $(BLD)/scroll.$(O) \
92 $(BLD)/search.$(O) \
93 $(BLD)/sound.$(O) \
94 $(BLD)/syntax.$(O)
95
96OBJ2 = $(BLD)/sysdep.$(O) \
97 $(BLD)/term.$(O) \
98 $(BLD)/tparam.$(O) \
99 $(BLD)/undo.$(O) \
100 $(BLD)/unexw32.$(O) \
101 $(BLD)/window.$(O) \
102 $(BLD)/xdisp.$(O) \
103 $(BLD)/casetab.$(O) \
104 $(BLD)/floatfns.$(O) \
105 $(BLD)/frame.$(O) \
106 $(BLD)/gmalloc.$(O) \
107 $(BLD)/gnutls.$(O) \
108 $(BLD)/intervals.$(O) \
109 $(BLD)/composite.$(O) \
110 $(BLD)/ralloc.$(O) \
111 $(BLD)/textprop.$(O) \
112 $(BLD)/vm-limit.$(O) \
113 $(BLD)/region-cache.$(O) \
114 $(BLD)/bidi.$(O) \
115 $(BLD)/charset.$(O) \
116 $(BLD)/character.$(O) \
117 $(BLD)/chartab.$(O) \
118 $(BLD)/coding.$(O) \
119 $(BLD)/category.$(O) \
120 $(BLD)/ccl.$(O) \
121 $(BLD)/font.$(O) \
122 $(BLD)/fontset.$(O) \
123 $(BLD)/fringe.$(O) \
124 $(BLD)/image.$(O) \
125 $(BLD)/terminal.$(O) \
126 $(BLD)/menu.$(O) \
127 $(BLD)/xml.$(O) \
128 $(BLD)/profiler.$(O) \
129 $(BLD)/w32term.$(O) \
130 $(BLD)/w32xfns.$(O) \
131 $(BLD)/w32fns.$(O) \
132 $(BLD)/xfaces.$(O) \
133 $(BLD)/w32select.$(O) \
134 $(BLD)/w32menu.$(O) \
135 $(BLD)/w32reg.$(O) \
136 $(BLD)/w32font.$(O) \
137 $(BLD)/w32notify.$(O) \
138 $(BLD)/w32uniscribe.$(O)
139
140LIBS = $(TLIB0) \
141 $(TLIB1) \
142 $(TLIB2) \
143 $(TLASTLIB) \
144 $(GNULIB) \
145 $(WINMM) \
146 $(ADVAPI32) \
147 $(GDI32) \
148 $(COMDLG32) \
149 $(USER32) \
150 $(MPR) \
151 $(SHELL32) \
152 $(WINSPOOL) \
153 $(OLE32) \
154 $(COMCTL32) \
155 $(UNISCRIBE) \
156 $(USER_LIBS) \
157 $(libc)
158
159#
160# Build the executable and dump it.
161#
162all: $(ALL)
163
164#
165# The dumped executable
166#
167emacs: stamp_BLD $(EMACS)
168$(EMACS): $(DOC) $(TEMACS)
169 "$(THISDIR)/$(BLD)/temacs.exe" -batch -l loadup dump
170 -"$(THISDIR)/$(BLD)/emacs.exe" -batch -f list-load-path-shadows
171
172#
173# The undumped executable
174# Note the extra post-link step to insert a static preload heap section.
175# If preload runs out of memory, increase the last argument to addsection
176# (it is the preload heap size in MB).
177#
178temacs: stamp_BLD $(TEMACS)
179$(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \
180 ../nt/$(BLD)/addsection.exe $(GNULIB)
181 $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
182 "$(THISDIR)/../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP $(HEAPSIZE)
183
184# These omit firstfile.${O}, but there's no documentation in there
185# anyways.
186buildobj.h: $(SRC)/makefile.w32-in
187 $(MAKE) $(MFLAGS) make-buildobj-$(SHELLTYPE)
188
189# Cannot have blanks between the backslash and the redirection
190# characters, because CMD's `echo' will put them in buildobj.h.
191make-buildobj-CMD:
192 echo #define BUILDOBJ ^"\> buildobj.h
193 echo $(OBJ0) \>> buildobj.h
194 echo $(OBJ1) \>> buildobj.h
195 echo $(OBJ2) \>> buildobj.h
196 echo ^">> buildobj.h
197
198# "
199# The above line is here to countermand the single quote
200# on the last "echo" command above, wrt font-lock.
201make-buildobj-SH:
202 echo '#define BUILDOBJ $(DQUOTE)\' > buildobj.h
203 echo $(OBJ0) '\' >> buildobj.h
204 echo $(OBJ1) '\' >> buildobj.h
205 echo $(OBJ2) '\' >> buildobj.h
206 echo '$(DQUOTE)' >> buildobj.h
207
208GLOBAL_SOURCES = dosfns.c msdos.c \
209 xterm.c xfns.c xmenu.c xselect.c xrdb.c xsmfns.c fringe.c image.c \
210 fontset.c menu.c dbusbind.c \
211 w32.c w32console.c w32fns.c w32heap.c w32inevt.c cygw32.c \
212 w32menu.c w32proc.c w32reg.c w32select.c w32term.c w32xfns.c \
213 font.c w32font.c w32uniscribe.c w32notify.c \
214 dispnew.c frame.c scroll.c xdisp.c window.c bidi.c \
215 charset.c coding.c category.c ccl.c character.c chartab.c \
216 cm.c term.c terminal.c xfaces.c \
217 emacs.c keyboard.c macros.c keymap.c sysdep.c \
218 buffer.c filelock.c insdel.c marker.c \
219 minibuf.c fileio.c dired.c \
220 cmds.c casetab.c casefiddle.c indent.c search.c regex.c undo.c \
221 alloc.c data.c doc.c editfns.c callint.c \
222 eval.c floatfns.c fns.c print.c lread.c \
223 syntax.c bytecode.c \
224 process.c callproc.c unexw32.c \
225 region-cache.c sound.c atimer.c \
226 doprnt.c intervals.c textprop.c composite.c \
227 gnutls.c xml.c profiler.c
228SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
229 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o
230obj = $(GLOBAL_SOURCES:.c=.o)
231
232globals.h: gl-stamp
233 @cmd $(SWITCHCHAR)c rem true
234
235gl-stamp: ../lib-src/$(BLD)/make-docfile.exe $(GLOBAL_SOURCES)
236 - $(DEL) gl-tmp
237 "$(THISDIR)/../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp
238 fc.exe $(SWITCHCHAR)b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h
239 - $(DEL) gl-tmp
240 echo timestamp > $@
241
242bootstrap: bootstrap-emacs
243
244#
245# Build a temacs with a sufficiently large PURESIZE to load the
246# Lisp files from loadup.el in source form.
247#
248# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
249# this can break with GNU Make 3.81 and later if sh.exe is used.
250bootstrap-temacs-CMD:
251 $(MAKE) $(MFLAGS) $(XMFLAGS) temacs CFLAGS=$(ARGQUOTE)$(ESC_CFLAGS) -DPURESIZE=$(EMACS_PURESIZE)$(ARGQUOTE)
252
253bootstrap-temacs-SH:
254 $(MAKE) $(MFLAGS) $(XMFLAGS) temacs CFLAGS=$(ARGQUOTE)$(CFLAGS) -DPURESIZE=$(EMACS_PURESIZE)$(ARGQUOTE)
255
256bootstrap-temacs:
257 $(MAKE) $(MFLAGS) bootstrap-temacs-$(SHELLTYPE)
258
259#
260# Dump an Emacs executable named bootstrap-emacs containing the
261# files from loadup.el in source form.
262#
263bootstrap-emacs: bootstrap-temacs
264 "$(THISDIR)/$(BLD)/temacs.exe" -batch -l loadup bootstrap
265 - mkdir "../bin"
266 $(CP) $(EMACS) ../bin
267
268#
269# Force recompile of files that depend on PURESIZE
270#
271bootstrap-clean:
272 - $(DEL) $(BLD)/alloc.$(O)
273 - $(DEL) $(BLD)/data.$(O)
274 - $(DEL) $(BLD)/intervals.$(O)
275 - $(DEL) $(BLD)/keyboard.$(O)
276 - $(DEL) $(BLD)/keymap.$(O)
277
278#
279# The resource file. NT 3.10 requires the use of cvtres; even though
280# it is not necessary on later versions, it is still ok to use it.
281#
282$(TRES): ../nt/emacs.rc stamp_BLD
283 $(RC) $(RC_INCLUDE)../nt $(RC_OUT)$@ ../nt/emacs.rc
284
285#
286# Build the library. Split up the build into two phases...otherwise we
287# run out of command line space.
288#
289$(TLIB0): $(OBJ0)
290 - $(DEL) $@
291 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
292$(TLIB1): $(OBJ1)
293 - $(DEL) $@
294 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
295$(TLIB2): $(OBJ2)
296 - $(DEL) $@
297 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
298
299#
300# Place lastfile.$(O) in its own library so that it can be loaded after
301# the source libraries but before any system libraries. Doing so defines
302# the end of Emacs' data section portably across compilers and systems.
303#
304$(TLASTLIB): $(BLD)/lastfile.$(O)
305 - $(DEL) $@
306 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
307
308#
309# Assuming INSTALL_DIR is defined, build and install emacs in it.
310#
311install: $(ALL)
312 - mkdir "$(INSTALL_DIR)/bin"
313 $(CP) $(EMACS) $(INSTALL_DIR)/bin
314
315#
316# Maintenance
317#
318# We used to delete *~, s/*~, m/*~ here, but that might inadvertently
319# remove precious files if it happens to match their short 8+3 aliases.
320clean:
321 - $(DEL) "s/*.h~" "m/*.h~"
322 - $(DEL) $(COMPILER_TEMP_FILES)
323 - $(DEL_TREE) $(OBJDIR)
324 - $(DEL) stamp_BLD gl-stamp globals.h
325 - $(DEL) buildobj.h
326
327distclean: cleanall
328 - $(DEL) config.h epaths.h Makefile
329
330maintainer-clean: distclean
331 - $(DEL) TAGS
332
333cleanall: clean
334 - $(DEL_TREE) obj
335 - $(DEL_TREE) obj-spd
336 - $(DEL_TREE) oo
337 - $(DEL_TREE) oo-spd
338
339## Arrange to make a tags table TAGS-LISP for ../lisp,
340## plus TAGS for the C files, which includes ../lisp/TAGS by reference.
341##
342## This works only with GNU Make.
343
344TAGS: $(OBJ0) $(OBJ1) $(OBJ2) $(CURDIR)/../nt/inc/ms-w32.h
345 $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE)
346
347TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2)
348 $(MAKE) $(MFLAGS) TAGS-LISP-$(MAKETYPE)
349
350TAGS-gmake:
351 ../lib-src/$(BLD)/etags.exe --include=TAGS-LISP --include=../nt/TAGS \
352 --regex=@../nt/emacs-src.tags \
353 $(OBJ0_c)
354 ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
355 $(OBJ1_c)
356 ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
357 $(OBJ2_c) \
358 $(CURDIR)/*.h $(CURDIR)/../nt/inc/ms-w32.h
359
360TAGS-nmake:
361 echo This target is not supported with NMake
362 exit -1
363
364frc:
365TAGS-LISP-gmake: frc
366 $(MAKE) $(MFLAGS) -C ../lisp TAGS-LISP DEST=../src
367
368TAGS-LISP-nmake:
369 echo This target is not supported with NMake
370 exit -1
371
372../nt/TAGS: frc
373 $(MAKE) $(MFLAGS) nt-TAGS-$(MAKETYPE)
374
375nt-TAGS-gmake:
376 $(MAKE) $(MFLAGS) -C ../nt TAGS
377
378nt-TAGS-nmake:
379 echo This target is not supported with NMake
380 exit -1
381
382full-tags: TAGS TAGS-LISP ../nt/TAGS
383.PHONY: full-tags
384
385### DEPENDENCIES ###
386
387EMACS_ROOT = ..
388GNU_LIB = $(EMACS_ROOT)/lib
389NT_INC = $(EMACS_ROOT)/nt/inc
390
391ACL_H = $(GNU_LIB)/acl.h \
392 $(NT_INC)/sys/stat.h \
393 $(NT_INC)/stdbool.h
394SYSTIME_H = $(SRC)/systime.h \
395 $(NT_INC)/sys/time.h \
396 $(GNU_LIB)/timespec.h
397ATIMER_H = $(SRC)/atimer.h \
398 $(NT_INC)/stdbool.h \
399 $(SYSTIME_H)
400BUFFER_H = $(SRC)/buffer.h \
401 $(SYSTIME_H)
402C_CTYPE_H = $(GNU_LIB)/c-ctype.h \
403 $(NT_INC)/stdbool.h
404CAREADLINKAT_H = $(GNU_LIB)/careadlinkat.h \
405 $(NT_INC)/unistd.h
406CHARACTER_H = $(SRC)/character.h \
407 $(GNU_LIB)/verify.h
408CCL_H = $(SRC)/ccl.h \
409 $(CHARACTER_H)
410CHARSET_H = $(SRC)/charset.h \
411 $(GNU_LIB)/verify.h
412CODING_H = $(SRC)/coding.h \
413 $(SRC)/composite.h
414MS_W32_H = $(NT_INC)/ms-w32.h \
415 $(NT_INC)/sys/stat.h
416CONF_POST_H = $(SRC)/conf_post.h \
417 $(MS_W32_H)
418CONFIG_H = $(SRC)/config.h \
419 $(CONF_POST_H)
420W32GUI_H = $(SRC)/w32gui.h \
421 $(SYSTIME_H)
422DISPEXTERN_H = $(SRC)/dispextern.h \
423 $(GNU_LIB)/c-strcase.h \
424 $(SYSTIME_H) \
425 $(W32GUI_H)
426FILEMODE_H = $(GNU_LIB)/filemode.h \
427 $(NT_INC)/sys/stat.h
428FRAME_H = $(SRC)/frame.h \
429 $(DISPEXTERN_H)
430FONT_H = $(SRC)/font.h \
431 $(CCL_H) \
432 $(FRAME_H)
433FTOASTR_H = $(GNU_LIB)/ftoastr.h \
434 $(GNU_LIB)/intprops.h
435GRP_H = $(NT_INC)/grp.h \
436 $(NT_INC)/pwd.h
437INTERVALS_H = $(SRC)/intervals.h \
438 $(SRC)/composite.h \
439 $(DISPEXTERN_H)
440INTTYPES_H = $(NT_INC)/inttypes.h \
441 $(NT_INC)/stdint.h
442KEYBOARD_H = $(SRC)/keyboard.h \
443 $(CODING_H) \
444 $(SYSTIME_H)
445LANGINFO_H = $(NT_INC)/langinfo.h \
446 $(NT_INC)/nl_types.h
447LISP_H = $(SRC)/lisp.h \
448 $(SRC)/globals.h \
449 $(GNU_LIB)/intprops.h \
450 $(INTTYPES_H) \
451 $(NT_INC)/stdalign.h \
452 $(NT_INC)/stdbool.h
453MD5_H = $(GNU_LIB)/md5.h \
454 $(NT_INC)/stdint.h
455MENU_H = $(SRC)/menu.h \
456 $(SYSTIME_H)
457PROCESS_H = $(SRC)/process.h \
458 $(SRC)/gnutls.h \
459 $(NT_INC)/unistd.h
460SHA1_H = $(GNU_LIB)/sha1.h \
461 $(NT_INC)/stdint.h
462SHA256_H = $(GNU_LIB)/sha256.h \
463 $(NT_INC)/stdint.h
464U64_H = $(GNU_LIB)/u64.h \
465 $(NT_INC)/stdint.h
466SHA512_H = $(GNU_LIB)/sha512.h \
467 $(U64_H)
468SIG2STR_H = $(GNU_LIB)/sig2str.h \
469 $(GNU_LIB)/intprops.h
470SOCKET_H = $(NT_INC)/sys/socket.h \
471 $(SRC)/w32.h
472STAT_TIME_H = $(GNU_LIB)/stat-time.h \
473 $(NT_INC)/sys/stat.h
474SYSSIGNAL_H = $(SRC)/syssignal.h \
475 $(NT_INC)/stdbool.h
476SYSTTY_H = $(SRC)/systty.h \
477 $(NT_INC)/sys/ioctl.h \
478 $(NT_INC)/unistd.h
479SYSWAIT_H = $(SRC)/syswait.h \
480 $(NT_INC)/stdbool.h \
481 $(NT_INC)/sys/wait.h
482TERMHOOKS_H = $(SRC)/termhooks.h \
483 $(SYSTIME_H)
484W32FONT_H = $(SRC)/w32font.h \
485 $(FONT_H)
486W32TERM_H = $(SRC)/w32term.h \
487 $(ATIMER_H) \
488 $(FRAME_H) \
489 $(W32GUI_H)
490WINDOW_H = $(SRC)/window.h \
491 $(DISPEXTERN_H)
492
493$(BLD)/alloc.$(O) : \
494 $(SRC)/alloc.c \
495 $(SRC)/blockinput.h \
496 $(SRC)/puresize.h \
497 $(SRC)/w32.h \
498 $(SRC)/w32heap.h \
499 $(NT_INC)/unistd.h \
500 $(GNU_LIB)/verify.h \
501 $(BUFFER_H) \
502 $(CHARACTER_H) \
503 $(CONFIG_H) \
504 $(FRAME_H) \
505 $(INTERVALS_H) \
506 $(KEYBOARD_H) \
507 $(LISP_H) \
508 $(PROCESS_H) \
509 $(TERMHOOKS_H) \
510 $(WINDOW_H)
511
512$(BLD)/atimer.$(O) : \
513 $(SRC)/atimer.c \
514 $(SRC)/blockinput.h \
515 $(NT_INC)/unistd.h \
516 $(ATIMER_H) \
517 $(CONFIG_H) \
518 $(LISP_H) \
519 $(SYSSIGNAL_H) \
520 $(SYSTIME_H)
521
522$(BLD)/bidi.$(O) : \
523 $(SRC)/bidi.c \
524 $(BUFFER_H) \
525 $(CHARACTER_H) \
526 $(CONFIG_H) \
527 $(DISPEXTERN_H) \
528 $(LISP_H)
529
530$(BLD)/buffer.$(O) : \
531 $(SRC)/buffer.c \
532 $(SRC)/blockinput.h \
533 $(SRC)/commands.h \
534 $(SRC)/indent.h \
535 $(SRC)/keymap.h \
536 $(SRC)/region-cache.h \
537 $(NT_INC)/sys/param.h \
538 $(NT_INC)/sys/stat.h \
539 $(NT_INC)/unistd.h \
540 $(GNU_LIB)/verify.h \
541 $(BUFFER_H) \
542 $(CHARACTER_H) \
543 $(CONFIG_H) \
544 $(FRAME_H) \
545 $(INTERVALS_H) \
546 $(KEYBOARD_H) \
547 $(LISP_H) \
548 $(WINDOW_H)
549
550$(BLD)/bytecode.$(O) : \
551 $(SRC)/bytecode.c \
552 $(SRC)/syntax.h \
553 $(BUFFER_H) \
554 $(CHARACTER_H) \
555 $(CONFIG_H) \
556 $(LISP_H) \
557 $(WINDOW_H)
558
559$(BLD)/callint.$(O) : \
560 $(SRC)/callint.c \
561 $(SRC)/commands.h \
562 $(SRC)/keymap.h \
563 $(BUFFER_H) \
564 $(CHARACTER_H) \
565 $(CONFIG_H) \
566 $(KEYBOARD_H) \
567 $(LISP_H) \
568 $(WINDOW_H)
569
570$(BLD)/callproc.$(O) : \
571 $(SRC)/callproc.c \
572 $(SRC)/blockinput.h \
573 $(SRC)/commands.h \
574 $(SRC)/composite.h \
575 $(SRC)/epaths.h \
576 $(SRC)/w32.h \
577 $(NT_INC)/sys/file.h \
578 $(NT_INC)/unistd.h \
579 $(BUFFER_H) \
580 $(CCL_H) \
581 $(CHARACTER_H) \
582 $(CODING_H) \
583 $(CONFIG_H) \
584 $(FRAME_H) \
585 $(LISP_H) \
586 $(PROCESS_H) \
587 $(SYSSIGNAL_H) \
588 $(SYSTTY_H) \
589 $(SYSWAIT_H) \
590 $(TERMHOOKS_H)
591
592$(BLD)/casefiddle.$(O) : \
593 $(SRC)/casefiddle.c \
594 $(SRC)/commands.h \
595 $(SRC)/composite.h \
596 $(SRC)/keymap.h \
597 $(SRC)/syntax.h \
598 $(BUFFER_H) \
599 $(CHARACTER_H) \
600 $(CONFIG_H) \
601 $(LISP_H)
602
603$(BLD)/casetab.$(O) : \
604 $(SRC)/casetab.c \
605 $(BUFFER_H) \
606 $(CHARACTER_H) \
607 $(CONFIG_H) \
608 $(LISP_H)
609
610$(BLD)/category.$(O) : \
611 $(SRC)/category.c \
612 $(SRC)/category.h \
613 $(SRC)/keymap.h \
614 $(BUFFER_H) \
615 $(CHARACTER_H) \
616 $(CHARSET_H) \
617 $(CONFIG_H) \
618 $(LISP_H)
619
620$(BLD)/ccl.$(O) : \
621 $(SRC)/ccl.c \
622 $(CCL_H) \
623 $(CHARACTER_H) \
624 $(CHARSET_H) \
625 $(CODING_H) \
626 $(CONFIG_H) \
627 $(LISP_H)
628
629$(BLD)/character.$(O) : \
630 $(SRC)/character.c \
631 $(SRC)/composite.h \
632 $(SRC)/disptab.h \
633 $(GNU_LIB)/intprops.h \
634 $(BUFFER_H) \
635 $(CHARACTER_H) \
636 $(CHARSET_H) \
637 $(CONFIG_H) \
638 $(LISP_H)
639
640$(BLD)/charset.$(O) : \
641 $(SRC)/charset.c \
642 $(SRC)/disptab.h \
643 $(NT_INC)/unistd.h \
644 $(BUFFER_H) \
645 $(CHARACTER_H) \
646 $(CHARSET_H) \
647 $(CODING_H) \
648 $(CONFIG_H) \
649 $(C_CTYPE_H) \
650 $(LISP_H)
651
652$(BLD)/chartab.$(O) : \
653 $(SRC)/chartab.c \
654 $(CCL_H) \
655 $(CHARACTER_H) \
656 $(CHARSET_H) \
657 $(CONFIG_H) \
658 $(LISP_H)
659
660$(BLD)/cmds.$(O) : \
661 $(SRC)/cmds.c \
662 $(SRC)/commands.h \
663 $(SRC)/keymap.h \
664 $(SRC)/syntax.h \
665 $(BUFFER_H) \
666 $(CHARACTER_H) \
667 $(CONFIG_H) \
668 $(DISPEXTERN_H) \
669 $(FRAME_H) \
670 $(KEYBOARD_H) \
671 $(LISP_H) \
672 $(WINDOW_H)
673
674$(BLD)/coding.$(O) : \
675 $(SRC)/coding.c \
676 $(SRC)/composite.h \
677 $(BUFFER_H) \
678 $(CCL_H) \
679 $(CHARACTER_H) \
680 $(CHARSET_H) \
681 $(CODING_H) \
682 $(CONFIG_H) \
683 $(FRAME_H) \
684 $(LISP_H) \
685 $(TERMHOOKS_H) \
686 $(WINDOW_H)
687
688$(BLD)/composite.$(O) : \
689 $(SRC)/composite.c \
690 $(BUFFER_H) \
691 $(CHARACTER_H) \
692 $(CODING_H) \
693 $(CONFIG_H) \
694 $(DISPEXTERN_H) \
695 $(FONT_H) \
696 $(FRAME_H) \
697 $(INTERVALS_H) \
698 $(LISP_H) \
699 $(TERMHOOKS_H) \
700 $(WINDOW_H)
701
702$(BLD)/data.$(O) : \
703 $(SRC)/data.c \
704 $(SRC)/keymap.h \
705 $(SRC)/puresize.h \
706 $(GNU_LIB)/intprops.h \
707 $(BUFFER_H) \
708 $(CHARACTER_H) \
709 $(CONFIG_H) \
710 $(FONT_H) \
711 $(FRAME_H) \
712 $(KEYBOARD_H) \
713 $(LISP_H) \
714 $(SYSSIGNAL_H) \
715 $(TERMHOOKS_H)
716
717$(BLD)/dired.$(O) : \
718 $(SRC)/dired.c \
719 $(SRC)/blockinput.h \
720 $(SRC)/commands.h \
721 $(SRC)/regex.h \
722 $(NT_INC)/dirent.h \
723 $(NT_INC)/pwd.h \
724 $(NT_INC)/sys/stat.h \
725 $(NT_INC)/unistd.h \
726 $(BUFFER_H) \
727 $(CHARACTER_H) \
728 $(CHARSET_H) \
729 $(CODING_H) \
730 $(CONFIG_H) \
731 $(FILEMODE_H) \
732 $(GRP_H) \
733 $(LISP_H) \
734 $(STAT_TIME_H) \
735 $(SYSTIME_H)
736
737$(BLD)/dispnew.$(O) : \
738 $(SRC)/dispnew.c \
739 $(SRC)/blockinput.h \
740 $(SRC)/cm.h \
741 $(SRC)/commands.h \
742 $(SRC)/disptab.h \
743 $(SRC)/indent.h \
744 $(SRC)/termchar.h \
745 $(SRC)/w32.h \
746 $(NT_INC)/unistd.h \
747 $(GNU_LIB)/fpending.h \
748 $(BUFFER_H) \
749 $(CHARACTER_H) \
750 $(CONFIG_H) \
751 $(DISPEXTERN_H) \
752 $(FRAME_H) \
753 $(INTERVALS_H) \
754 $(KEYBOARD_H) \
755 $(LISP_H) \
756 $(PROCESS_H) \
757 $(SYSSIGNAL_H) \
758 $(SYSTIME_H) \
759 $(TERMHOOKS_H) \
760 $(W32TERM_H) \
761 $(WINDOW_H)
762
763$(BLD)/doc.$(O) : \
764 $(SRC)/doc.c \
765 $(SRC)/buildobj.h \
766 $(SRC)/keymap.h \
767 $(NT_INC)/sys/file.h \
768 $(NT_INC)/unistd.h \
769 $(BUFFER_H) \
770 $(CHARACTER_H) \
771 $(CONFIG_H) \
772 $(C_CTYPE_H) \
773 $(KEYBOARD_H) \
774 $(LISP_H)
775
776$(BLD)/doprnt.$(O) : \
777 $(SRC)/doprnt.c \
778 $(NT_INC)/unistd.h \
779 $(CHARACTER_H) \
780 $(CONFIG_H) \
781 $(LISP_H)
782
783$(BLD)/editfns.$(O) : \
784 $(SRC)/editfns.c \
785 $(SRC)/blockinput.h \
786 $(NT_INC)/pwd.h \
787 $(NT_INC)/unistd.h \
788 $(GNU_LIB)/intprops.h \
789 $(GNU_LIB)/strftime.h \
790 $(GNU_LIB)/verify.h \
791 $(BUFFER_H) \
792 $(CHARACTER_H) \
793 $(CODING_H) \
794 $(CONFIG_H) \
795 $(FRAME_H) \
796 $(GRP_H) \
797 $(INTERVALS_H) \
798 $(LISP_H) \
799 $(SYSTIME_H) \
800 $(WINDOW_H)
801
802$(BLD)/emacs.$(O) : \
803 $(SRC)/emacs.c \
804 $(SRC)/blockinput.h \
805 $(SRC)/commands.h \
806 $(SRC)/gnutls.h \
807 $(SRC)/keymap.h \
808 $(SRC)/unexec.h \
809 $(SRC)/w32.h \
810 $(SRC)/w32common.h \
811 $(SRC)/w32heap.h \
812 $(SRC)/w32select.h \
813 $(NT_INC)/sys/file.h \
814 $(NT_INC)/unistd.h \
815 $(GNU_LIB)/close-stream.h \
816 $(ATIMER_H) \
817 $(BUFFER_H) \
818 $(CHARACTER_H) \
819 $(CONFIG_H) \
820 $(FRAME_H) \
821 $(INTERVALS_H) \
822 $(KEYBOARD_H) \
823 $(LISP_H) \
824 $(PROCESS_H) \
825 $(SYSSIGNAL_H) \
826 $(SYSTTY_H) \
827 $(TERMHOOKS_H) \
828 $(W32FONT_H) \
829 $(W32TERM_H) \
830 $(WINDOW_H)
831
832$(BLD)/eval.$(O) : \
833 $(SRC)/eval.c \
834 $(SRC)/blockinput.h \
835 $(SRC)/commands.h \
836 $(CONFIG_H) \
837 $(DISPEXTERN_H) \
838 $(FRAME_H) \
839 $(KEYBOARD_H) \
840 $(LISP_H)
841
842$(BLD)/fileio.$(O) : \
843 $(SRC)/fileio.c \
844 $(SRC)/blockinput.h \
845 $(SRC)/commands.h \
846 $(SRC)/w32.h \
847 $(NT_INC)/pwd.h \
848 $(NT_INC)/sys/acl.h \
849 $(NT_INC)/sys/file.h \
850 $(NT_INC)/sys/stat.h \
851 $(NT_INC)/unistd.h \
852 $(GNU_LIB)/allocator.h \
853 $(ACL_H) \
854 $(BUFFER_H) \
855 $(CAREADLINKAT_H) \
856 $(CHARACTER_H) \
857 $(CODING_H) \
858 $(CONFIG_H) \
859 $(C_CTYPE_H) \
860 $(DISPEXTERN_H) \
861 $(FRAME_H) \
862 $(INTERVALS_H) \
863 $(LISP_H) \
864 $(STAT_TIME_H) \
865 $(SYSTIME_H) \
866 $(WINDOW_H)
867
868$(BLD)/filelock.$(O) : \
869 $(SRC)/filelock.c \
870 $(SRC)/w32.h \
871 $(NT_INC)/pwd.h \
872 $(NT_INC)/sys/file.h \
873 $(NT_INC)/sys/stat.h \
874 $(NT_INC)/unistd.h \
875 $(BUFFER_H) \
876 $(CHARACTER_H) \
877 $(CODING_H) \
878 $(CONFIG_H) \
879 $(C_CTYPE_H) \
880 $(LISP_H) \
881 $(SYSTIME_H)
882
883$(BLD)/firstfile.$(O) : \
884 $(SRC)/firstfile.c \
885 $(CONFIG_H)
886
887$(BLD)/floatfns.$(O) : \
888 $(SRC)/floatfns.c \
889 $(CONFIG_H) \
890 $(LISP_H)
891
892$(BLD)/fns.$(O) : \
893 $(SRC)/fns.c \
894 $(SRC)/blockinput.h \
895 $(SRC)/commands.h \
896 $(SRC)/keymap.h \
897 $(NT_INC)/unistd.h \
898 $(GNU_LIB)/intprops.h \
899 $(BUFFER_H) \
900 $(CHARACTER_H) \
901 $(CODING_H) \
902 $(CONFIG_H) \
903 $(FRAME_H) \
904 $(INTERVALS_H) \
905 $(KEYBOARD_H) \
906 $(LANGINFO_H) \
907 $(LISP_H) \
908 $(MD5_H) \
909 $(SHA1_H) \
910 $(SHA256_H) \
911 $(SHA512_H) \
912 $(WINDOW_H)
913
914$(BLD)/font.$(O) : \
915 $(SRC)/font.c \
916 $(SRC)/composite.h \
917 $(SRC)/fontset.h \
918 $(BUFFER_H) \
919 $(CHARACTER_H) \
920 $(CHARSET_H) \
921 $(CONFIG_H) \
922 $(C_CTYPE_H) \
923 $(DISPEXTERN_H) \
924 $(FONT_H) \
925 $(FRAME_H) \
926 $(LISP_H) \
927 $(W32TERM_H) \
928 $(WINDOW_H)
929
930$(BLD)/fontset.$(O) : \
931 $(SRC)/fontset.c \
932 $(SRC)/blockinput.h \
933 $(SRC)/fontset.h \
934 $(BUFFER_H) \
935 $(CCL_H) \
936 $(CHARACTER_H) \
937 $(CHARSET_H) \
938 $(CONFIG_H) \
939 $(DISPEXTERN_H) \
940 $(FONT_H) \
941 $(FRAME_H) \
942 $(INTERVALS_H) \
943 $(KEYBOARD_H) \
944 $(LISP_H) \
945 $(TERMHOOKS_H) \
946 $(W32TERM_H) \
947 $(WINDOW_H)
948
949$(BLD)/frame.$(O) : \
950 $(SRC)/frame.c \
951 $(SRC)/blockinput.h \
952 $(SRC)/commands.h \
953 $(SRC)/fontset.h \
954 $(SRC)/termchar.h \
955 $(BUFFER_H) \
956 $(CHARACTER_H) \
957 $(CONFIG_H) \
958 $(C_CTYPE_H) \
959 $(DISPEXTERN_H) \
960 $(FONT_H) \
961 $(FRAME_H) \
962 $(KEYBOARD_H) \
963 $(LISP_H) \
964 $(TERMHOOKS_H) \
965 $(W32TERM_H) \
966 $(WINDOW_H)
967
968$(BLD)/fringe.$(O) : \
969 $(SRC)/fringe.c \
970 $(SRC)/blockinput.h \
971 $(BUFFER_H) \
972 $(CHARACTER_H) \
973 $(CONFIG_H) \
974 $(DISPEXTERN_H) \
975 $(FRAME_H) \
976 $(LISP_H) \
977 $(TERMHOOKS_H) \
978 $(WINDOW_H)
979
980$(BLD)/gmalloc.$(O) : \
981 $(SRC)/gmalloc.c \
982 $(SRC)/w32heap.h \
983 $(NT_INC)/stdint.h \
984 $(NT_INC)/unistd.h \
985 $(CONFIG_H)
986
987$(BLD)/gnutls.$(O) : \
988 $(SRC)/gnutls.c \
989 $(SRC)/w32.h \
990 $(CONFIG_H) \
991 $(LISP_H) \
992 $(PROCESS_H)
993
994$(BLD)/xml.$(O) : \
995 $(SRC)/xml.c \
996 $(SRC)/w32.h \
997 $(BUFFER_H) \
998 $(CHARACTER_H) \
999 $(CONFIG_H) \
1000 $(LISP_H)
1001
1002$(BLD)/profiler.$(O) : \
1003 $(SRC)/profiler.c \
1004 $(CONFIG_H) \
1005 $(LISP_H) \
1006 $(SYSSIGNAL_H) \
1007 $(SYSTIME_H)
1008
1009$(BLD)/image.$(O) : \
1010 $(SRC)/image.c \
1011 $(SRC)/blockinput.h \
1012 $(SRC)/epaths.h \
1013 $(SRC)/w32.h \
1014 $(NT_INC)/unistd.h \
1015 $(CHARACTER_H) \
1016 $(CODING_H) \
1017 $(CONFIG_H) \
1018 $(C_CTYPE_H) \
1019 $(DISPEXTERN_H) \
1020 $(FONT_H) \
1021 $(FRAME_H) \
1022 $(LISP_H) \
1023 $(SYSTIME_H) \
1024 $(TERMHOOKS_H) \
1025 $(W32TERM_H) \
1026 $(WINDOW_H)
1027
1028$(BLD)/indent.$(O) : \
1029 $(SRC)/indent.c \
1030 $(SRC)/category.h \
1031 $(SRC)/composite.h \
1032 $(SRC)/disptab.h \
1033 $(SRC)/indent.h \
1034 $(SRC)/region-cache.h \
1035 $(SRC)/termchar.h \
1036 $(BUFFER_H) \
1037 $(CHARACTER_H) \
1038 $(CONFIG_H) \
1039 $(DISPEXTERN_H) \
1040 $(FRAME_H) \
1041 $(INTERVALS_H) \
1042 $(KEYBOARD_H) \
1043 $(LISP_H) \
1044 $(WINDOW_H)
1045
1046$(BLD)/insdel.$(O) : \
1047 $(SRC)/insdel.c \
1048 $(SRC)/blockinput.h \
1049 $(SRC)/region-cache.h \
1050 $(GNU_LIB)/intprops.h \
1051 $(BUFFER_H) \
1052 $(CHARACTER_H) \
1053 $(CONFIG_H) \
1054 $(INTERVALS_H) \
1055 $(LISP_H) \
1056 $(WINDOW_H)
1057
1058$(BLD)/intervals.$(O) : \
1059 $(SRC)/intervals.c \
1060 $(SRC)/keymap.h \
1061 $(SRC)/puresize.h \
1062 $(GNU_LIB)/intprops.h \
1063 $(BUFFER_H) \
1064 $(CHARACTER_H) \
1065 $(CONFIG_H) \
1066 $(INTERVALS_H) \
1067 $(KEYBOARD_H) \
1068 $(LISP_H)
1069
1070$(BLD)/keyboard.$(O) : \
1071 $(SRC)/keyboard.c \
1072 $(SRC)/blockinput.h \
1073 $(SRC)/commands.h \
1074 $(SRC)/disptab.h \
1075 $(SRC)/keymap.h \
1076 $(SRC)/macros.h \
1077 $(SRC)/puresize.h \
1078 $(SRC)/syntax.h \
1079 $(SRC)/termchar.h \
1080 $(SRC)/termopts.h \
1081 $(NT_INC)/sys/ioctl.h \
1082 $(NT_INC)/unistd.h \
1083 $(ATIMER_H) \
1084 $(BUFFER_H) \
1085 $(CHARACTER_H) \
1086 $(CONFIG_H) \
1087 $(DISPEXTERN_H) \
1088 $(FRAME_H) \
1089 $(INTERVALS_H) \
1090 $(KEYBOARD_H) \
1091 $(LISP_H) \
1092 $(PROCESS_H) \
1093 $(SYSSIGNAL_H) \
1094 $(SYSTIME_H) \
1095 $(TERMHOOKS_H) \
1096 $(W32TERM_H) \
1097 $(WINDOW_H)
1098
1099$(BLD)/keymap.$(O) : \
1100 $(SRC)/keymap.c \
1101 $(SRC)/blockinput.h \
1102 $(SRC)/commands.h \
1103 $(SRC)/keymap.h \
1104 $(SRC)/puresize.h \
1105 $(BUFFER_H) \
1106 $(CHARACTER_H) \
1107 $(CHARSET_H) \
1108 $(CONFIG_H) \
1109 $(FRAME_H) \
1110 $(INTERVALS_H) \
1111 $(KEYBOARD_H) \
1112 $(LISP_H) \
1113 $(TERMHOOKS_H) \
1114 $(WINDOW_H)
1115
1116$(BLD)/lastfile.$(O) : \
1117 $(SRC)/lastfile.c \
1118 $(CONFIG_H)
1119
1120$(BLD)/lread.$(O) : \
1121 $(SRC)/lread.c \
1122 $(SRC)/blockinput.h \
1123 $(SRC)/commands.h \
1124 $(SRC)/epaths.h \
1125 $(NT_INC)/sys/file.h \
1126 $(NT_INC)/sys/stat.h \
1127 $(NT_INC)/unistd.h \
1128 $(BUFFER_H) \
1129 $(CHARACTER_H) \
1130 $(CHARSET_H) \
1131 $(CODING_H) \
1132 $(CONFIG_H) \
1133 $(FRAME_H) \
1134 $(INTERVALS_H) \
1135 $(KEYBOARD_H) \
1136 $(LISP_H) \
1137 $(STAT_TIME_H) \
1138 $(TERMHOOKS_H)
1139
1140$(BLD)/macros.$(O) : \
1141 $(SRC)/macros.c \
1142 $(SRC)/commands.h \
1143 $(SRC)/macros.h \
1144 $(BUFFER_H) \
1145 $(CHARACTER_H) \
1146 $(CONFIG_H) \
1147 $(KEYBOARD_H) \
1148 $(LISP_H) \
1149 $(WINDOW_H)
1150
1151$(BLD)/marker.$(O) : \
1152 $(SRC)/marker.c \
1153 $(BUFFER_H) \
1154 $(CHARACTER_H) \
1155 $(CONFIG_H) \
1156 $(LISP_H)
1157
1158$(BLD)/menu.$(O) : \
1159 $(SRC)/menu.c \
1160 $(SRC)/blockinput.h \
1161 $(SRC)/keymap.h \
1162 $(CONFIG_H) \
1163 $(DISPEXTERN_H) \
1164 $(FRAME_H) \
1165 $(KEYBOARD_H) \
1166 $(LISP_H) \
1167 $(MENU_H) \
1168 $(TERMHOOKS_H) \
1169 $(W32TERM_H) \
1170 $(WINDOW_H)
1171
1172$(BLD)/minibuf.$(O) : \
1173 $(SRC)/minibuf.c \
1174 $(SRC)/commands.h \
1175 $(SRC)/keymap.h \
1176 $(SRC)/syntax.h \
1177 $(BUFFER_H) \
1178 $(CHARACTER_H) \
1179 $(CONFIG_H) \
1180 $(DISPEXTERN_H) \
1181 $(FRAME_H) \
1182 $(INTERVALS_H) \
1183 $(KEYBOARD_H) \
1184 $(LISP_H) \
1185 $(TERMHOOKS_H) \
1186 $(WINDOW_H)
1187
1188$(BLD)/w32.$(O) : \
1189 $(SRC)/w32.c \
1190 $(SRC)/w32.h \
1191 $(SRC)/w32common.h \
1192 $(SRC)/w32heap.h \
1193 $(SRC)/w32select.h \
1194 $(NT_INC)/dirent.h \
1195 $(NT_INC)/pwd.h \
1196 $(NT_INC)/sys/acl.h \
1197 $(NT_INC)/sys/file.h \
1198 $(NT_INC)/sys/time.h \
1199 $(GNU_LIB)/allocator.h \
1200 $(CAREADLINKAT_H) \
1201 $(CODING_H) \
1202 $(CONFIG_H) \
1203 $(DISPEXTERN_H) \
1204 $(GRP_H) \
1205 $(LISP_H) \
1206 $(PROCESS_H) \
1207 $(SOCKET_H) \
1208 $(SYSTIME_H)
1209
1210$(BLD)/w32heap.$(O) : \
1211 $(SRC)/w32heap.c \
1212 $(SRC)/w32common.h \
1213 $(SRC)/w32heap.h \
1214 $(CONFIG_H) \
1215 $(LISP_H)
1216
1217$(BLD)/w32inevt.$(O) : \
1218 $(SRC)/w32inevt.c \
1219 $(SRC)/blockinput.h \
1220 $(SRC)/termchar.h \
1221 $(SRC)/w32heap.h \
1222 $(SRC)/w32inevt.h \
1223 $(CONFIG_H) \
1224 $(DISPEXTERN_H) \
1225 $(FRAME_H) \
1226 $(KEYBOARD_H) \
1227 $(LISP_H) \
1228 $(TERMHOOKS_H) \
1229 $(W32TERM_H) \
1230 $(WINDOW_H)
1231
1232$(BLD)/w32proc.$(O) : \
1233 $(SRC)/w32proc.c \
1234 $(SRC)/w32.h \
1235 $(SRC)/w32common.h \
1236 $(SRC)/w32heap.h \
1237 $(NT_INC)/nl_types.h \
1238 $(NT_INC)/sys/file.h \
1239 $(CODING_H) \
1240 $(CONFIG_H) \
1241 $(DISPEXTERN_H) \
1242 $(LANGINFO_H) \
1243 $(LISP_H) \
1244 $(PROCESS_H) \
1245 $(SYSSIGNAL_H) \
1246 $(SYSTIME_H) \
1247 $(SYSWAIT_H) \
1248 $(W32TERM_H)
1249
1250$(BLD)/w32console.$(O) : \
1251 $(SRC)/w32console.c \
1252 $(SRC)/disptab.h \
1253 $(SRC)/termchar.h \
1254 $(SRC)/w32common.h \
1255 $(SRC)/w32inevt.h \
1256 $(CHARACTER_H) \
1257 $(CODING_H) \
1258 $(CONFIG_H) \
1259 $(DISPEXTERN_H) \
1260 $(FRAME_H) \
1261 $(LISP_H) \
1262 $(TERMHOOKS_H) \
1263 $(W32TERM_H) \
1264 $(WINDOW_H)
1265
1266$(BLD)/print.$(O) : \
1267 $(SRC)/print.c \
1268 $(SRC)/blockinput.h \
1269 $(SRC)/termchar.h \
1270 $(BUFFER_H) \
1271 $(CHARACTER_H) \
1272 $(CHARSET_H) \
1273 $(CONFIG_H) \
1274 $(DISPEXTERN_H) \
1275 $(FONT_H) \
1276 $(FRAME_H) \
1277 $(FTOASTR_H) \
1278 $(INTERVALS_H) \
1279 $(KEYBOARD_H) \
1280 $(LISP_H) \
1281 $(PROCESS_H) \
1282 $(TERMHOOKS_H) \
1283 $(WINDOW_H)
1284
1285$(BLD)/process.$(O) : \
1286 $(SRC)/process.c \
1287 $(SRC)/blockinput.h \
1288 $(SRC)/commands.h \
1289 $(SRC)/composite.h \
1290 $(SRC)/gnutls.h \
1291 $(SRC)/sysselect.h \
1292 $(SRC)/termopts.h \
1293 $(NT_INC)/arpa/inet.h \
1294 $(NT_INC)/netdb.h \
1295 $(NT_INC)/netinet/in.h \
1296 $(NT_INC)/sys/file.h \
1297 $(NT_INC)/sys/ioctl.h \
1298 $(NT_INC)/sys/stat.h \
1299 $(NT_INC)/unistd.h \
1300 $(ATIMER_H) \
1301 $(BUFFER_H) \
1302 $(CHARACTER_H) \
1303 $(CODING_H) \
1304 $(CONFIG_H) \
1305 $(C_CTYPE_H) \
1306 $(DISPEXTERN_H) \
1307 $(FRAME_H) \
1308 $(KEYBOARD_H) \
1309 $(LISP_H) \
1310 $(PROCESS_H) \
1311 $(SIG2STR_H) \
1312 $(SOCKET_H) \
1313 $(SYSSIGNAL_H) \
1314 $(SYSTIME_H) \
1315 $(SYSTTY_H) \
1316 $(SYSWAIT_H) \
1317 $(TERMHOOKS_H) \
1318 $(W32TERM_H) \
1319 $(WINDOW_H)
1320
1321$(BLD)/ralloc.$(O) : \
1322 $(SRC)/ralloc.c \
1323 $(SRC)/blockinput.h \
1324 $(SRC)/getpagesize.h \
1325 $(NT_INC)/unistd.h \
1326 $(CONFIG_H) \
1327 $(LISP_H)
1328
1329$(BLD)/regex.$(O) : \
1330 $(SRC)/regex.c \
1331 $(SRC)/category.h \
1332 $(SRC)/regex.h \
1333 $(SRC)/syntax.h \
1334 $(BUFFER_H) \
1335 $(CHARACTER_H) \
1336 $(CONFIG_H) \
1337 $(LISP_H)
1338
1339$(BLD)/region-cache.$(O) : \
1340 $(SRC)/region-cache.c \
1341 $(SRC)/region-cache.h \
1342 $(BUFFER_H) \
1343 $(CHARACTER_H) \
1344 $(CONFIG_H) \
1345 $(LISP_H)
1346
1347$(BLD)/scroll.$(O) : \
1348 $(SRC)/scroll.c \
1349 $(SRC)/termchar.h \
1350 $(CONFIG_H) \
1351 $(DISPEXTERN_H) \
1352 $(FRAME_H) \
1353 $(KEYBOARD_H) \
1354 $(LISP_H) \
1355 $(TERMHOOKS_H) \
1356 $(WINDOW_H)
1357
1358$(BLD)/search.$(O) : \
1359 $(SRC)/search.c \
1360 $(SRC)/blockinput.h \
1361 $(SRC)/category.h \
1362 $(SRC)/commands.h \
1363 $(SRC)/regex.h \
1364 $(SRC)/region-cache.h \
1365 $(SRC)/syntax.h \
1366 $(BUFFER_H) \
1367 $(CHARACTER_H) \
1368 $(CHARSET_H) \
1369 $(CONFIG_H) \
1370 $(INTERVALS_H) \
1371 $(LISP_H)
1372
1373$(BLD)/sound.$(O) : \
1374 $(SRC)/sound.c \
1375 $(NT_INC)/unistd.h \
1376 $(ATIMER_H) \
1377 $(CONFIG_H) \
1378 $(DISPEXTERN_H) \
1379 $(LISP_H) \
1380 $(SYSSIGNAL_H)
1381
1382$(BLD)/syntax.$(O) : \
1383 $(SRC)/syntax.c \
1384 $(SRC)/category.h \
1385 $(SRC)/commands.h \
1386 $(SRC)/keymap.h \
1387 $(SRC)/regex.h \
1388 $(SRC)/syntax.h \
1389 $(BUFFER_H) \
1390 $(CHARACTER_H) \
1391 $(CONFIG_H) \
1392 $(INTERVALS_H) \
1393 $(LISP_H)
1394
1395$(BLD)/sysdep.$(O) : \
1396 $(SRC)/sysdep.c \
1397 $(SRC)/blockinput.h \
1398 $(SRC)/cm.h \
1399 $(SRC)/sysselect.h \
1400 $(SRC)/termchar.h \
1401 $(SRC)/termopts.h \
1402 $(NT_INC)/netdb.h \
1403 $(NT_INC)/pwd.h \
1404 $(NT_INC)/sys/file.h \
1405 $(NT_INC)/sys/param.h \
1406 $(NT_INC)/sys/stat.h \
1407 $(NT_INC)/unistd.h \
1408 $(GNU_LIB)/execinfo.h \
1409 $(GNU_LIB)/utimens.h \
1410 $(CONFIG_H) \
1411 $(C_CTYPE_H) \
1412 $(DISPEXTERN_H) \
1413 $(FRAME_H) \
1414 $(GRP_H) \
1415 $(KEYBOARD_H) \
1416 $(LISP_H) \
1417 $(PROCESS_H) \
1418 $(SOCKET_H) \
1419 $(SYSSIGNAL_H) \
1420 $(SYSTIME_H) \
1421 $(SYSTTY_H) \
1422 $(SYSWAIT_H) \
1423 $(TERMHOOKS_H) \
1424 $(WINDOW_H)
1425
1426$(BLD)/term.$(O) : \
1427 $(SRC)/term.c \
1428 $(SRC)/blockinput.h \
1429 $(SRC)/cm.h \
1430 $(SRC)/composite.h \
1431 $(SRC)/disptab.h \
1432 $(SRC)/keymap.h \
1433 $(SRC)/termchar.h \
1434 $(SRC)/tparam.h \
1435 $(NT_INC)/sys/file.h \
1436 $(NT_INC)/sys/time.h \
1437 $(NT_INC)/unistd.h \
1438 $(BUFFER_H) \
1439 $(CHARACTER_H) \
1440 $(CHARSET_H) \
1441 $(CODING_H) \
1442 $(CONFIG_H) \
1443 $(DISPEXTERN_H) \
1444 $(FRAME_H) \
1445 $(INTERVALS_H) \
1446 $(KEYBOARD_H) \
1447 $(LISP_H) \
1448 $(SYSSIGNAL_H) \
1449 $(SYSTTY_H) \
1450 $(TERMHOOKS_H) \
1451 $(W32TERM_H) \
1452 $(WINDOW_H)
1453
1454$(BLD)/terminal.$(O) : \
1455 $(SRC)/terminal.c \
1456 $(SRC)/termchar.h \
1457 $(CHARSET_H) \
1458 $(CODING_H) \
1459 $(CONFIG_H) \
1460 $(FRAME_H) \
1461 $(KEYBOARD_H) \
1462 $(LISP_H) \
1463 $(TERMHOOKS_H)
1464
1465$(BLD)/textprop.$(O) : \
1466 $(SRC)/textprop.c \
1467 $(BUFFER_H) \
1468 $(CHARACTER_H) \
1469 $(CONFIG_H) \
1470 $(INTERVALS_H) \
1471 $(LISP_H) \
1472 $(WINDOW_H)
1473
1474$(BLD)/tparam.$(O) : \
1475 $(SRC)/tparam.c \
1476 $(SRC)/tparam.h \
1477 $(CONFIG_H) \
1478 $(LISP_H)
1479
1480$(BLD)/undo.$(O) : \
1481 $(SRC)/undo.c \
1482 $(SRC)/commands.h \
1483 $(BUFFER_H) \
1484 $(CHARACTER_H) \
1485 $(CONFIG_H) \
1486 $(LISP_H) \
1487 $(WINDOW_H)
1488
1489$(BLD)/unexw32.$(O) : \
1490 $(SRC)/unexw32.c \
1491 $(SRC)/unexec.h \
1492 $(SRC)/w32.h \
1493 $(SRC)/w32common.h \
1494 $(SRC)/w32heap.h \
1495 $(CONFIG_H) \
1496 $(LISP_H)
1497
1498$(BLD)/vm-limit.$(O) : \
1499 $(SRC)/vm-limit.c \
1500 $(SRC)/w32heap.h \
1501 $(NT_INC)/unistd.h \
1502 $(CONFIG_H) \
1503 $(LISP_H)
1504
1505$(BLD)/window.$(O) : \
1506 $(SRC)/window.c \
1507 $(SRC)/blockinput.h \
1508 $(SRC)/commands.h \
1509 $(SRC)/disptab.h \
1510 $(SRC)/indent.h \
1511 $(SRC)/keymap.h \
1512 $(SRC)/termchar.h \
1513 $(BUFFER_H) \
1514 $(CHARACTER_H) \
1515 $(CONFIG_H) \
1516 $(DISPEXTERN_H) \
1517 $(FRAME_H) \
1518 $(INTERVALS_H) \
1519 $(KEYBOARD_H) \
1520 $(LISP_H) \
1521 $(TERMHOOKS_H) \
1522 $(W32TERM_H) \
1523 $(WINDOW_H)
1524
1525$(BLD)/xdisp.$(O) : \
1526 $(SRC)/xdisp.c \
1527 $(SRC)/blockinput.h \
1528 $(SRC)/commands.h \
1529 $(SRC)/disptab.h \
1530 $(SRC)/fontset.h \
1531 $(SRC)/indent.h \
1532 $(SRC)/keymap.h \
1533 $(SRC)/macros.h \
1534 $(SRC)/region-cache.h \
1535 $(SRC)/termchar.h \
1536 $(SRC)/termopts.h \
1537 $(ATIMER_H) \
1538 $(BUFFER_H) \
1539 $(CHARACTER_H) \
1540 $(CHARSET_H) \
1541 $(CODING_H) \
1542 $(CONFIG_H) \
1543 $(DISPEXTERN_H) \
1544 $(FONT_H) \
1545 $(FRAME_H) \
1546 $(INTERVALS_H) \
1547 $(KEYBOARD_H) \
1548 $(LISP_H) \
1549 $(PROCESS_H) \
1550 $(TERMHOOKS_H) \
1551 $(W32TERM_H) \
1552 $(WINDOW_H)
1553
1554$(BLD)/xfaces.$(O) : \
1555 $(SRC)/xfaces.c \
1556 $(SRC)/blockinput.h \
1557 $(SRC)/fontset.h \
1558 $(SRC)/termchar.h \
1559 $(NT_INC)/sys/stat.h \
1560 $(BUFFER_H) \
1561 $(CHARACTER_H) \
1562 $(CHARSET_H) \
1563 $(CONFIG_H) \
1564 $(C_CTYPE_H) \
1565 $(DISPEXTERN_H) \
1566 $(FONT_H) \
1567 $(FRAME_H) \
1568 $(INTERVALS_H) \
1569 $(KEYBOARD_H) \
1570 $(LISP_H) \
1571 $(TERMHOOKS_H) \
1572 $(W32TERM_H) \
1573 $(WINDOW_H)
1574
1575$(BLD)/w32fns.$(O) : \
1576 $(SRC)/w32fns.c \
1577 $(SRC)/blockinput.h \
1578 $(SRC)/epaths.h \
1579 $(SRC)/fontset.h \
1580 $(SRC)/w32.h \
1581 $(SRC)/w32common.h \
1582 $(SRC)/w32heap.h \
1583 $(NT_INC)/unistd.h \
1584 $(BUFFER_H) \
1585 $(CCL_H) \
1586 $(CHARACTER_H) \
1587 $(CHARSET_H) \
1588 $(CODING_H) \
1589 $(CONFIG_H) \
1590 $(DISPEXTERN_H) \
1591 $(FONT_H) \
1592 $(FRAME_H) \
1593 $(INTERVALS_H) \
1594 $(KEYBOARD_H) \
1595 $(LISP_H) \
1596 $(SYSTIME_H) \
1597 $(TERMHOOKS_H) \
1598 $(W32FONT_H) \
1599 $(W32TERM_H) \
1600 $(WINDOW_H)
1601
1602$(BLD)/w32menu.$(O) : \
1603 $(SRC)/w32menu.c \
1604 $(SRC)/blockinput.h \
1605 $(SRC)/keymap.h \
1606 $(SRC)/w32common.h \
1607 $(BUFFER_H) \
1608 $(CHARACTER_H) \
1609 $(CHARSET_H) \
1610 $(CODING_H) \
1611 $(CONFIG_H) \
1612 $(DISPEXTERN_H) \
1613 $(FRAME_H) \
1614 $(KEYBOARD_H) \
1615 $(LISP_H) \
1616 $(MENU_H) \
1617 $(TERMHOOKS_H) \
1618 $(W32TERM_H) \
1619 $(WINDOW_H)
1620
1621$(BLD)/w32term.$(O) : \
1622 $(SRC)/w32term.c \
1623 $(SRC)/blockinput.h \
1624 $(SRC)/disptab.h \
1625 $(SRC)/fontset.h \
1626 $(SRC)/keymap.h \
1627 $(SRC)/termchar.h \
1628 $(SRC)/termopts.h \
1629 $(SRC)/w32heap.h \
1630 $(NT_INC)/sys/stat.h \
1631 $(ATIMER_H) \
1632 $(BUFFER_H) \
1633 $(CCL_H) \
1634 $(CHARACTER_H) \
1635 $(CHARSET_H) \
1636 $(CODING_H) \
1637 $(CONFIG_H) \
1638 $(DISPEXTERN_H) \
1639 $(FONT_H) \
1640 $(FRAME_H) \
1641 $(INTERVALS_H) \
1642 $(KEYBOARD_H) \
1643 $(LISP_H) \
1644 $(PROCESS_H) \
1645 $(SYSTIME_H) \
1646 $(SYSTTY_H) \
1647 $(TERMHOOKS_H) \
1648 $(W32FONT_H) \
1649 $(W32TERM_H) \
1650 $(WINDOW_H)
1651
1652$(BLD)/w32select.$(O) : \
1653 $(SRC)/w32select.c \
1654 $(SRC)/blockinput.h \
1655 $(SRC)/composite.h \
1656 $(SRC)/w32common.h \
1657 $(CHARSET_H) \
1658 $(CODING_H) \
1659 $(CONFIG_H) \
1660 $(KEYBOARD_H) \
1661 $(LISP_H) \
1662 $(W32TERM_H)
1663
1664$(BLD)/w32reg.$(O) : \
1665 $(SRC)/w32reg.c \
1666 $(SRC)/blockinput.h \
1667 $(CONFIG_H) \
1668 $(LISP_H) \
1669 $(W32TERM_H)
1670
1671$(BLD)/w32xfns.$(O) : \
1672 $(SRC)/w32xfns.c \
1673 $(SRC)/blockinput.h \
1674 $(SRC)/fontset.h \
1675 $(CHARSET_H) \
1676 $(CONFIG_H) \
1677 $(FRAME_H) \
1678 $(KEYBOARD_H) \
1679 $(LISP_H) \
1680 $(W32TERM_H)
1681
1682$(BLD)/w32font.$(O) : \
1683 $(SRC)/w32font.c \
1684 $(SRC)/fontset.h \
1685 $(CHARACTER_H) \
1686 $(CHARSET_H) \
1687 $(CODING_H) \
1688 $(CONFIG_H) \
1689 $(DISPEXTERN_H) \
1690 $(FONT_H) \
1691 $(FRAME_H) \
1692 $(LISP_H) \
1693 $(W32FONT_H) \
1694 $(W32TERM_H)
1695
1696$(BLD)/w32uniscribe.$(O) : \
1697 $(SRC)/w32uniscribe.c \
1698 $(SRC)/composite.h \
1699 $(SRC)/fontset.h \
1700 $(CHARACTER_H) \
1701 $(CHARSET_H) \
1702 $(CONFIG_H) \
1703 $(DISPEXTERN_H) \
1704 $(FONT_H) \
1705 $(FRAME_H) \
1706 $(LISP_H) \
1707 $(W32FONT_H) \
1708 $(W32TERM_H)
1709
1710$(BLD)/w32notify.$(O) : \
1711 $(SRC)/w32notify.c \
1712 $(SRC)/w32.h \
1713 $(SRC)/w32common.h \
1714 $(CODING_H) \
1715 $(CONFIG_H) \
1716 $(FRAME_H) \
1717 $(KEYBOARD_H) \
1718 $(LISP_H) \
1719 $(TERMHOOKS_H) \
1720 $(W32TERM_H)
1721
1722# Each object file depends on stamp_BLD, because in parallel builds we must
1723# make sure $(BLD) exists before starting compilations.
1724#
1725$(OBJ0) $(OBJ1) $(OBJ2) $(BLD)/lastfile.$(O) $(BLD)/firstfile.$(O): stamp_BLD