diff options
author | Eli Zaretskii <eliz@gnu.org> | 2014-04-16 16:27:28 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2014-04-16 16:27:28 +0300 |
commit | bf6b4923f7eedea193dee2130bf7fa597a5932d4 (patch) | |
tree | 62bd144e45df20c0fc1600eedb3f744dcfe959a2 /msdos/INSTALL | |
parent | 3a31cae4677c7c5e501dcf7e5c520e49db16f75e (diff) | |
download | emacs-bf6b4923f7eedea193dee2130bf7fa597a5932d4.tar.gz |
Fix the MSDOS build.
src/unexcoff.c [MSDOS]: Include libc/atexit.h.
(copy_text_and_data): Zero out the atexit chain pointer before
dumping Emacs.
src/termhooks.h (encode_terminal_code): Update prototype.
src/term.c (encode_terminal_code) [DOS_NT]: Make it externally
visible for all DOS_NT ports, not just WINDOWSNT.
(syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
src/sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
unless it is defined.
(emacs_pipe) [MSDOS]: Redirect to 'pipe'.
src/process.c (close_on_exec, accept4, process_socket): Move into
the "ifdef subprocesses" part.
(catch_child_signal): Condition by "ifdef subprocesses".
(syms_of_process) <Qinternal_default_process_sentinel>
<Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
src/msdos.h: Add prototypes for new functions.
(EINPROGRESS): Define.
(O_CLOEXEC): Define to zero.
src/msdos.c (check_window_system): Remove unnecessary an
incompatible duplicate function.
(sys_opendir, readlinkat, faccessat, fstatat, unsetenv): New
functions in support of new functionality.
src/menu.c (single_menu_item): Add visual indication of submenu
also for menus on MSDOS frames.
(Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
src/lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
when async subprocesses aren't supported.
src/font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
src/emacs.c (close_output_streams): Zero out errno before calling
close_stream.
src/dired.c [MSDOS]: Include msdos.h.
src/conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
(DATA_START) [MSDOS]: Define.
(SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
src/callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
Ifdef away for MSDOS.
(record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
(call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
for MSDOS.
(call_process) [MSDOS]: Fix call sequence of dostounix_filename.
Use temporary file template that is compatible with mkostemp.
Move vfork-related portions under #ifndef MSDOS.
(syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
lisp/term/pc-win.el (x-list-fonts, x-get-selection-value): Provide
doc strings, as required by snarf-documentation.
msdos/sedlisp.inp:
msdos/sedlibmk.inp:
msdos/sedleim.inp:
msdos/sed3v2.inp:
msdos/sed2v2.inp:
msdos/sed1v2.inp: Update Sed scripts for Emacs 24.4.
msdos/inttypes.h: Add PRIdMAX.
msdos/INSTALL: Update for Emacs 24.4.
msdos/sedadmin.inp: New file.
Diffstat (limited to 'msdos/INSTALL')
-rw-r--r-- | msdos/INSTALL | 58 |
1 files changed, 18 insertions, 40 deletions
diff --git a/msdos/INSTALL b/msdos/INSTALL index 815da38bd77..de950b89def 100644 --- a/msdos/INSTALL +++ b/msdos/INSTALL @@ -4,18 +4,19 @@ Copyright (C) 1992, 1994, 1996-1997, 2000-2014 Free Software Foundation, Inc. See the end of the file for license conditions. -The DJGPP port of GNU Emacs builds and runs on plain DOS and also on -all versions of MS-Windows from version 3.X on, including Windows XP, -Vista, and Windows 7 (however, see below for issues with Windows Vista -and 7). +The DJGPP port of GNU Emacs builds and runs on all versions of +MS-Windows from version 3.X on, including Windows XP, Vista, and +Windows 7 (however, see below for issues with Windows Vista and 7). +Building on plain MS-DOS is supported only if long file names are +supported (e.g., with a specialized driver such as doslfn). To build and install the DJGPP port, you need to have the DJGPP ports -of GCC (the GNU C compiler), GNU Make, rm, mv, and sed. See the +of GCC (the GNU C compiler), GNU Make, rm, mv, cp, and sed. See the remarks in CONFIG.BAT for more information about locations and -versions. The Emacs FAQ (see info/efaq) includes pointers to Internet -sites where you can find the necessary utilities; search for "MS-DOS". -The configuration step (see below) will test for these utilities and -will refuse to continue if any of them isn't found. +versions. The Emacs FAQ (see info/efaq.info) includes pointers to +Internet sites where you can find the necessary utilities; search for +"MS-DOS". The configuration step (see below) will test for these +utilities and will refuse to continue if any of them isn't found. Bootstrapping Emacs or recompiling Lisp files in the `lisp' subdirectory using the various targets in the lisp/Makefile file @@ -27,18 +28,14 @@ are distributed in byte-compiled form as well. As for bootstrapping itself, you will only need that if you check-out development sources from the Emacs source repository. -If you are building the DJGPP version of Emacs on a DOS-like system -which supports long file names (e.g. Windows 9X or Windows XP), you -need to make sure that long file names are handled consistently both -when you unpack the distribution and compile it. With DJGPP v2.0 or -later, long file names support is by default, so you need to unpack -Emacs distribution in a way that doesn't truncate the original long -filenames to the DOS 8.3 namespace; the easiest way to do this is to -use djtar program which comes with DJGPP, since it will behave -consistently with the rest of DJGPP tools. Alternatively, you can -build Emacs with LFN=n, if some of your tools don't support long file -names: just ensure that LFN is set to `n' during both unpacking and -compiling. +Building the DJGPP version of Emacs is currently supported only on +systems which support long file names (e.g. Windows 9X or Windows XP). +You need to unpack Emacs distribution in a way that doesn't truncate +the original long filenames to the DOS 8.3 namespace; the easiest way +to do this is to use djtar program which comes with DJGPP, since it +will behave consistently with the rest of DJGPP tools. Do _not_ +disable the DJGPP long-file-name support (a.k.a. "LFN") while building +Emacs. (By the time you read this, you have already unpacked the Emacs distribution, but if the explanations above imply that you should have @@ -46,18 +43,6 @@ done it differently, it's safer to delete the directory tree created by the unpacking program and unpack Emacs again, than to risk running into strange problems during the build process.) -It is important to understand that the runtime support of long file -names by the Emacs binary is NOT affected by the LFN setting during -compilation; Emacs compiled with DJGPP v2.0 or later will always -support long file names on Windows no matter what was the setting -of LFN at compile time. However, if you compiled with LFN disabled -and want to enable LFN support after Emacs was already built, you need -to make sure that the support files in the lisp, etc and info -directories are called by their original long names as found in the -distribution. You can do this either by renaming the files manually, -or by extracting them from the original distribution archive with -djtar after you set LFN=y in the environment. - To unpack Emacs with djtar, type this command: djtar -x emacs.tgz @@ -68,13 +53,6 @@ your system.) When unpacking Emacs is done, a directory called `emacs-XX.YY' will be created, where XX.YY is the Emacs version. -On plain DOS, unpacking can complain about several directories and -files in the `nextstep' subdirectory of the `emacs-XX.YY' top-level -directory. This is because the names of these files overflow the -67-character limit on the file-name length imposed by DOS filesystems. -When prompted by `djtar' for a different name for these files, just -press [Enter] to skip them: they are not needed for the DJGPP build. - If you want to print international characters, install the intlfonts distribution. For this, create a directory called `fonts' under the `emacs-XX.YY' top-level directory created by unpacking emacs.tgz, |