Commit b73f809c authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Move MS-DOS specific instructions to msdos/INSTALL.

parent a1401ab1
2008-11-08 Eli Zaretskii <>
* INSTALL: Move MS-DOS specific instructions to msdos/INSTALL.
2008-11-07 Glenn Morris <>
* (HAVE_LIB64_DIR): Check for crtn.o. (Bug#1287)
......@@ -5,8 +5,8 @@ See the end of the file for license conditions.
This file contains general information. For more specific information
for the Windows, and GNUstep/Mac OS X ports, also see the files
nt/INSTALL and nextstep/INSTALL.
for the Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files
nt/INSTALL nextstep/INSTALL, and msdos/INSTALL.
......@@ -229,8 +229,8 @@ Debian 3 and above.
(This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X,
see below; search for MSDOG. For Windows 9X, Windows ME, Windows NT,
Windows 2000, Windows XP/2003, and Windows Vista/2008, see the file
see msdos/INSTALL. For Windows 9X, Windows ME, Windows NT, Windows
2000, Windows XP/2003, and Windows Vista/2008, see the file
nt/INSTALL. For GNUstep and Mac OS X, see nextstep/INSTALL.)
1) Make sure your system has enough swapping space allocated to handle
......@@ -796,140 +796,6 @@ PROBLEMS
See the file PROBLEMS in etc subdirectory for a list of various
problems sometimes encountered, and what to do about them.
Installation on MSDOG (a.k.a. MSDOS)
To install on MSDOG, you need to have the GNU C compiler for MSDOG
(also known as djgpp), GNU Make, rm, mv, and sed. See the remarks in
config.bat for more information about locations and versions. The
file etc/FAQ 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.
Recompiling Lisp files in the `lisp' subdirectory using the various
targets in the lisp/Makefile file requires additional utilities:
`find' and `xargs' (from Findutils), `touch' (from Fileutils) GNU
`echo' and `test' (from Sh-utils), `tr, `sort', and `uniq' (from
Textutils), and a port of Bash. However, you should not normally need
to run lisp/Makefile, as all the Lisp files are distributed in
byte-compiled form as well.
If you are building the MSDOG version of Emacs on an MSDOG-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. If you intend to
compile with DJGPP v2.0 or later, and long file names support is
enabled (LFN=y in the environment), 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 note the LFN
setting and behave accordingly. DJGPP v1 doesn't support long
filenames, so you must unpack Emacs with a program that truncates the
filenames to 8.3 naming as it extracts files; again, using djtar after
setting LFN=n is the recommended way. You can build Emacs with LFN=n
even if you use DJGPP v2, if some of your tools don't support long
file names: just ensure that LFN is set to `n' during both unpacking
and compiling.
(By the time you read this, you have already unpacked the Emacs
distribution, but if the explanations above imply that you should have
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 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
(This assumes that the Emacs distribution is called `emacs.tgz' on
your system.)
If you want to print international characters, install the intlfonts
distribution. For this, create a directory called `fonts' under the
Emacs top-level directory (usually called `emacs-XX.YY') created by
unpacking emacs.tgz, chdir into the directory emacs-XX.YY/fonts, and
type this:
djtar -x intlfonts.tgz
When unpacking is done, a directory called `emacs-XX.YY' will be
created, where XX.YY is the Emacs version. To build and install
Emacs, chdir to that directory and type these commands:
config msdos
make install
Running "config msdos" checks for several programs that are required
to configure and build Emacs; if one of those programs is not found,
CONFIG.BAT stops and prints an error message. If you have DJGPP
version 2.0 or 2.01, it will complain about a program called
DJECHO.EXE. These old versions of DJGPP shipped that program under
the name ECHO.EXE, so you can simply copy ECHO.EXE to DJECHO.EXE and
rerun CONFIG.BAT. If you have neither ECHO.EXE nor DJECHO.EXE, you
should be able to find them in your archive (where NNN is
the DJGPP version number).
On Windows NT, Windows 2000/XP/Vista, running "config msdos" might
print an error message like "VDM has been already loaded". This is
because those systems have a program called `redir.exe' which is
incompatible with a program by the same name supplied with DJGPP,
which is used by config.bat. To resolve this, move the DJGPP's `bin'
subdirectory to the front of your PATH environment variable.
To install the international fonts, chdir to the intlfonts-X.Y
directory created when you unpacked the intlfonts distribution (X.Y is
the version number of the fonts' distribution), and type the following
make bdf INSTALLDIR=..
After Make finishes, you may remove the directory intlfonts-X.Y; the
fonts are installed into the fonts/bdf subdirectory of the top-level
Emacs directory, and that is where Emacs will look for them by
Building Emacs creates executable files in the src and lib-src
directories. Installing Emacs on MSDOS moves these executables to a
sibling directory called bin. For example, if you build in directory
/emacs, installing moves the executables from /emacs/src and
/emacs/lib-src to the directory /emacs/bin, so you can then delete the
subdirectories /emacs/src and /emacs/lib-src if you wish. The only
subdirectories you need to keep are bin, lisp, etc and info. (If you
installed intlfonts, keep the fonts directory and all its
subdirectories as well.) The bin subdirectory should be added to your
PATH. The msdos subdirectory includes a PIF and an icon file for
Emacs which you might find useful if you run Emacs under MS Windows.
Emacs on MSDOS finds the lisp, etc and info directories by looking in
../lisp, ../etc and ../info, starting from the directory where the
Emacs executable was run from. You can override this by setting the
environment variables EMACSDATA (for the location of `etc' directory),
EMACSLOADPATH (for the location of `lisp' directory) and INFOPATH (for
the location of the `info' directory).
MSDOG is a not a multitasking operating system, so Emacs features such
as asynchronous subprocesses that depend on multitasking will not
work. Synchronous subprocesses do work.
Version 2.0 of djgpp has two bugs that affect Emacs. We've included
corrected versions of two files from djgpp in the msdos subdirectory:
is_exec.c and sigaction.c. To work around the bugs, compile these
files and link them into temacs. Djgpp versions 2.01 and later have
these bugs fixed, so upgrade if you can before building Emacs.
This file is part of GNU Emacs.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment