aboutsummaryrefslogtreecommitdiffstats
path: root/config.bat
diff options
context:
space:
mode:
authorEli Zaretskii2016-04-30 13:45:33 +0300
committerEli Zaretskii2016-04-30 13:45:33 +0300
commitccdaf04cfdaa42fb85d456274405cce32ee9f5d4 (patch)
tree631c59e4dad1db81cca00edeaa721ae8c0e522e5 /config.bat
parentffe701cb07cfb3584c4e4894976f0c9487d02c59 (diff)
downloademacs-ccdaf04cfdaa42fb85d456274405cce32ee9f5d4.tar.gz
emacs-ccdaf04cfdaa42fb85d456274405cce32ee9f5d4.zip
Fix the MSDOS build
* config.bat: * msdos/sedlisp.inp: * msdos/sedlibmk.inp: * msdos/sedleim.inp: * msdos/sedadmin.inp: * msdos/sed6.inp: * msdos/sed3v2.inp: * msdos/sed2v2.inp: * msdos/sed1v2.inp: Adapt to Emacs 25. * src/process.c (remove_slash_colon): Move out of "#ifdef subprocesses" block, as it its called unconditionally. Move ADD_SUBFEATURE calls into "#ifdef subprocesses" block, as they reference variables only defined in that block. * src/msdos.h: Provide prototypes for IT_set_frame_parameters, faccessat, msdos_fatal_signal, syms_of_msdos, pthread_sigmask, dos_keysns, dos_keyread, run_msdos_command, and syms_of_win16select, to avoid compiler warnings. * src/msdos.c (SYS_ENVIRON): Define to either '_environ' or 'environ', depending on the DJGPP version. Remove declarations of externally-visible Lisp objects, like Qbackground_color and Qreverse. (run_msdos_command): First argument is not signed, not unsigned. Use SYS_ENVIRON. (sys_select): Use 'timespec_cmp' instead of 'timespec_sign', as the latter doesn't work when 'time_t' is an unsigned data type. This caused idle timers to behave incorrectly: they only fired after a keyboard input event. * src/frame.c (adjust_frame_size) [MSDOS]: Account for FRAME_TOP_MARGIN that isn't counted in the frame's number of lines, but dos_set_window_size needs it to be added. * src/lread.c (INFINITY, NAN) [DJGPP < 2.05]: Provide definitions. * src/fns.c (sort_vector_copy) [__GNUC__ < 4]: Provide a prototype that works around compilation errors with older GCC versions. * src/w16select.c: Don't declare QCLIPBOARD and QPRIMARY as Lisp Objects. * src/filelock.c [MSDOS]: Ifdef away most of the code. Provide no-op implementations for 'lock_file' and 'unlock_file'. (Ffile_locked_p) [MSDOS]: Always return nil. This avoids multiple ifdefs in all users of filelock.c functionality. * src/conf_post.h (EOVERFLOW, SIZE_MAX) [DJGPP < 2.04]: Define. * src/emacs.c [MSDOS]: Include dosfns.h, to avoid compiler warnings. * src/dosfns.h: Provide prototypes for dos_cleanup, syms_of_dosfns, and init_dosfns. * src/deps.mk (atimer.o): Depend on msdos.h. (emacs.o): Depend on dosfns.h. * src/atimer.c [MSDOS]: Include msdos.h, to avoid compiler warnings. * lisp/window.el (window--adjust-process-windows): Skip the body if 'process-list' is not available. This avoids failure to start up on MS-DOS. * lisp/vc/diff.el (diff-no-select): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/textmodes/ispell.el (ispell-async-processp): Replace 'start-process' with 'make-process' in a comment. * lisp/term/internal.el (IT-unicode-translations): Modify and add a few translations to display Info files with Unicode markup. Fix an ancient off-by-one mismatch error with Unicode codepoints. * lisp/progmodes/compile.el (compilation-start): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/man.el (Man-build-man-command, Man-getpage-in-background): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/international/mule-cmds.el (set-coding-system-map): Test 'make-process', not 'start-process', as the latter is now available on all platforms. * lisp/eshell/esh-cmd.el (eshell-do-pipelines-synchronously): Doc fix. (eshell-execute-pipeline): Test 'make-process', not 'start-process', as the latter is now available on all platforms.
Diffstat (limited to 'config.bat')
-rw-r--r--config.bat27
1 files changed, 23 insertions, 4 deletions
diff --git a/config.bat b/config.bat
index 04fce0f2988..a5bea7135ae 100644
--- a/config.bat
+++ b/config.bat
@@ -174,7 +174,7 @@ junk
174If ErrorLevel 1 Goto xmlDone 174If ErrorLevel 1 Goto xmlDone
175Echo Configuring with libxml2 ... 175Echo Configuring with libxml2 ...
176sed -e "/#undef HAVE_LIBXML2/s/^.*$/#define HAVE_LIBXML2 1/" <config.h2 >config.h3 176sed -e "/#undef HAVE_LIBXML2/s/^.*$/#define HAVE_LIBXML2 1/" <config.h2 >config.h3
177mv config.h3 config.h2 177sed -e "/#define EMACS_CONFIG_FEATURES/s/^.*$/#define EMACS_CONFIG_FEATURES \"LIBXML2\"/" <config.h3 >config.h2
178set libxml=1 178set libxml=1
179:xmlDone 179:xmlDone
180rm -f junk.c junk junk.exe 180rm -f junk.c junk junk.exe
@@ -194,7 +194,7 @@ if exist dir.h ren dir.h vmsdir.h
194 194
195rem Create "makefile" from "makefile.in". 195rem Create "makefile" from "makefile.in".
196rm -f Makefile makefile.tmp 196rm -f Makefile makefile.tmp
197copy Makefile.in+lisp.mk+deps.mk makefile.tmp 197copy Makefile.in+deps.mk makefile.tmp
198sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile 198sed -f ../msdos/sed1v2.inp <makefile.tmp >Makefile
199rm -f makefile.tmp 199rm -f makefile.tmp
200 200
@@ -227,6 +227,10 @@ rem ----------------------------------------------------------------------
227Echo Configuring the library source directory... 227Echo Configuring the library source directory...
228cd lib-src 228cd lib-src
229sed -f ../msdos/sed3v2.inp <Makefile.in >Makefile 229sed -f ../msdos/sed3v2.inp <Makefile.in >Makefile
230mv Makefile makefile.tmp
231sed -n -e "/^AC_INIT/s/[^,]*, \([^,]*\).*/@set emver=\1/p" ../configure.ac > emver.bat
232call emver.bat
233sed -e "s/@version@/%emver%/g" <makefile.tmp >Makefile
230if "%X11%" == "" goto libsrc2a 234if "%X11%" == "" goto libsrc2a
231mv Makefile makefile.tmp 235mv Makefile makefile.tmp
232sed -f ../msdos/sed3x.inp <makefile.tmp >Makefile 236sed -f ../msdos/sed3x.inp <makefile.tmp >Makefile
@@ -252,16 +256,23 @@ cd ..
252rem ---------------------------------------------------------------------- 256rem ----------------------------------------------------------------------
253Echo Configuring the doc directory, expect one "File not found" message... 257Echo Configuring the doc directory, expect one "File not found" message...
254cd doc 258cd doc
259Rem Rename files like djtar on plain DOS filesystem would.
260If Exist emacs\emacsver.texi.in update emacs/emacsver.texi.in emacs/emacsver.in
261If Exist man\emacs.1.in update man/emacs.1.in man/emacs.in
262If Exist ..\etc\refcards\emacsver.tex.in update ../etc/refcards/emacsver.tex.in ../etc/refcards/emacsver.in
255Rem The two variants for lispintro below is for when the shell 263Rem The two variants for lispintro below is for when the shell
256Rem supports long file names but DJGPP does not 264Rem supports long file names but DJGPP does not
257for %%d in (emacs lispref lispintro lispintr misc) do sed -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile 265for %%d in (emacs lispref lispintro lispintr misc) do sed -e "s/@version@/%emver%/g" -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile
266Rem produce emacs.1 from emacs.in
267If Exist man\emacs.1 goto manOk
268sed -e "s/@version@/%emver%/g" -e "s/@PACKAGE_BUGREPORT@/bug-gnu-emacs@gnu.org/g" < man\emacs.in > man\emacs.1
269:manOk
258cd .. 270cd ..
259rem ---------------------------------------------------------------------- 271rem ----------------------------------------------------------------------
260Echo Configuring the lib directory... 272Echo Configuring the lib directory...
261If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h 273If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
262cd lib 274cd lib
263Rem Rename files like djtar on plain DOS filesystem would. 275Rem Rename files like djtar on plain DOS filesystem would.
264If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
265If Exist alloca.in.h update alloca.in.h alloca.in-h 276If Exist alloca.in.h update alloca.in.h alloca.in-h
266If Exist byteswap.in.h update byteswap.in.h byteswap.in-h 277If Exist byteswap.in.h update byteswap.in.h byteswap.in-h
267If Exist dirent.in.h update dirent.in.h dirent.in-h 278If Exist dirent.in.h update dirent.in.h dirent.in-h
@@ -286,6 +297,7 @@ If Exist sys_types.in.h update sys_types.in.h sys_types.in-h
286If Exist sys_time.in.h update sys_time.in.h sys_time.in-h 297If Exist sys_time.in.h update sys_time.in.h sys_time.in-h
287If Exist time.in.h update time.in.h time.in-h 298If Exist time.in.h update time.in.h time.in-h
288If Exist unistd.in.h update unistd.in.h unistd.in-h 299If Exist unistd.in.h update unistd.in.h unistd.in-h
300Rem Only repository has the msdos/autogen directory
289If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp 301If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp
290If Exist ..\msdos\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\msdos\autogen\Makefile.in > makefile.tmp 302If Exist ..\msdos\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\msdos\autogen\Makefile.in > makefile.tmp
291sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile 303sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile
@@ -311,6 +323,12 @@ If Not Exist admin\unidata goto noadmin
311Echo Configuring the admin/unidata directory... 323Echo Configuring the admin/unidata directory...
312cd admin\unidata 324cd admin\unidata
313sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile 325sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile
326Echo Configuring the admin/charsets directory...
327cd ..\charsets
328sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile
329Echo Configuring the admin/grammars directory...
330cd ..\grammars
331sed -f ../../msdos/sedadmin.inp < Makefile.in > Makefile
314cd ..\.. 332cd ..\..
315:noadmin 333:noadmin
316rem ---------------------------------------------------------------------- 334rem ----------------------------------------------------------------------
@@ -345,3 +363,4 @@ set nodebug=
345set djgpp_ver= 363set djgpp_ver=
346set sys_malloc= 364set sys_malloc=
347set libxml= 365set libxml=
366set emver=