Mercurial > hg > xemacs-beta
diff nt/README @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | b8cc9ab3f761 |
children |
line wrap: on
line diff
--- a/nt/README Mon Aug 13 11:19:22 2007 +0200 +++ b/nt/README Mon Aug 13 11:20:41 2007 +0200 @@ -1,93 +1,45 @@ -Building and Installing XEmacs on Windows 95/98/NT -*- mode:outline -*- + Building and Installing XEmacs on Windows NT David Hobley - Marc Paquette - Jonathan Harris - Ben Wing + Marc Paquette + Jonathan Harris -This is a port of XEmacs to Windows 95/98/NT. If you are looking for a port -of GNU Emacs, see http://www.cs.washington.edu/homes/voelker/ntemacs.html. - +The port was made much easier by the groundbreaking work of Geoff Voelker +and others who worked on the GNU Emacs port to NT. Their version is available +from http://www.cs.washington.edu/homes/voelker/ntemacs.html -* Required tools and sources -============================ - -1. You will need Visual C++ V4.0 or later to compile everything. Personally - we have tested V4.0, V4.2, V5.0 and v6.0. +To get it working you will need: - Note that Visual C++ assumes that the environment variables INCLUDE and - LIB are set to specify the location of the includes and libraries. - Your PATH environment variable also needs to include the DevStudio - vc\bin and sharedide\bin directories. - +1. You will need Visual C++ V4.0 or later to compile everything. Personally we + have tested V4.0, V4.2 and V5.0. + Note that Visual C++ assumes a couple of environment variables INCLUDE and + LIB to be set which specify the location of the includes and libraries. + Your PATH environment variable also needs to include the DevStudio vc\bin + and sharedide\bin directories. Visual C++ V5.0 installs a batch file called vcvars32.bat in c:\Program Files\DevStudio\VC\bin\ (or wherever you installed it) that you can run before building to set up all of these environment variables. -2. Grab the latest XEmacs source from - - ftp://ftp.xemacs.org/pub/xemacs/ - - or one of its mirrors listed at http://www.xemacs.org/Download/index.html . - - You'll also need the packages. You probably want to get the unified - packages bundle from - - ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo.tar.gz - - Although we don't recommend it, you can also retrieve just the packages - you really need if you have an extremely slow net connection or are very - short on disk space. You can find the various packages in - ftp://ftp.xemacs.org/pub/xemacs/packages/. You will need the - xemacs-base package. You'll also need the texinfo package unless you - have a copy of makeinfo.exe on your machine. If you want to download - additional or updated packages from within XEmacs you'll need the efs, - dired and vm packages. You'll probably also want at least the - edit-utils, text-modes, fsf-compat, cc-mode, prog-modes and xemacs-devel - packages. - - Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages", - for example "c:\Program Files\XEmacs\xemacs-packages". +2. Grab the latest XEmacs source from ftp.xemacs.org if necessary. All Win32 + support is in the nt\ subdirectory. You'll also need the xemacs-base + package from the binary-packages subdirectory and you'll probably also + want at least the edit-utils, text-modes, fsf-compat, cc-mode, + prog-modes and xemacs-devel packages. + Unpack the packages into, say, "c:\Program Files\XEmacs\xemacs-packages". -3. At this point you can choose to build for X and/or for Win32 native GUI. - If you only want to build for the Win32 native GUI then skip the next - section. - - -** Extra tools and sources required for X - -If you want support for X you will also need: - -1. An X server. MI/X is available on the Internet as trialware; it is - available from: http://www.microimages.com/www/html/mix/ - -2. Source for the MIT X11R6.3 libraries, available from: ftp.x.org +3. At this point you can select X or Win32 native GUI support. -3. You'll need to compile the MIT libraries without multi-thread support. - To do this, there is an example Win32.cf and site.def provided which set - the relevant flags. You will also need to apply the patch in nt/X11.patch - in the xc/lib/X11 directory which will fix the DLL definition file. - - Once compiled and installed, you will need to apply the patch in - nt/Xmd.patch. This is messy and better solutions would be appreciated. +If you want to build for native GUI: -4. Goto step 2 under 'Optional libraries' below. - - -* Optional libraries -==================== - -1. You really want the XPM library. Grab the latest version of the - xpm sources (xpm-3.4k.tar.gz at time of writing) from - ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. +1. If you want XPM image and toolbar support grab the latest version of the + xpm sources (xpm-3.4k.tar.gz at time of writing) and unpack them somewhere. Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. 2. You probably also want PNG image support. Grab the latest versions of zlib - and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing) from - ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read - the respective READMEs for details on how to build them. The following - build procedure works for zlib-1.1.3 and libpng-1.0.2: + and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing), unpack them + somewhere and read the respective READMEs for details on how to build them. + The following build procedure works for zlib-1.1.3 and libpng-1.0.2: cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and then type 'nmake'. @@ -96,161 +48,110 @@ and type 'nmake -f scripts\makefile.w32'. 3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4 - at time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack - it somewhere. Copy nt\tiff.mak from the xemacs sources to the - contrib\winnt subdirectory of the tiff sources, cd to that directory and - build libtiff with 'nmake -f tiff.mak'. Note: tiff.mak has only been - verified to work under WinNT, not Win95 or 98. However, the lastest - distribution of libtiff includes a contrib\win95\makefile.w95; that might - work. + at time of writing) and unpack it somewhere. Copy nt\tiff.mak from the + xemacs sources to the contrib\winnt subdirectory of the tiff sources, + cd to that directory and build libtiff with 'nmake -f tiff.mak'. Note: + tiff.mak has only been verified to work under WinNT, not Win95 or 98. + However, the lastest distribution of libtiff includes a + contrib\win95\makefile.w95; that might work. 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at - time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the - README for details on how to build it. + time of writing) and read the README for details on how to build it. + +5. If you want X-Face support, grab compface distribution and unpack it + somewhere. Copy nt\compface.mak from xemacs sources to the compface + directory. cd to that directory and build libcompface with + 'nmake -f compface.mak'. + +6. cd to the nt subdirectory of the xemacs distribution and build xemacs: + `nmake install -f xemacs.mak`, but read on before hitting Enter. + +7. If you're building with XPM support, add this to the nmake command line: + HAVE_XPM=1 XPM_DIR="x:\location\of\your\xpm\sources" + and similarly for JPEG and TIFF support. + + If you're building with PNG support, add this to the nmake command line: + HAVE_PNG=1 PNG_DIR="x:\location\of\your\png\sources" + ZLIB_DIR="x:\location\of\your\zlib\sources" + + If you want to build with GIF support, add this to the nmake command line: + HAVE_GIF=1 + + If you're building with X-Face support, add this to the nmake command line: + HAVE_XFACE=1 COMPFACE_DIR="x:\location\of\your\compface\sources" -5. If you want X-Face support, grab the compface distribution from - ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere. - Copy nt\compface.mak from xemacs sources to the compface directory. - cd to that directory and build libcompface with 'nmake -f compface.mak'. +8. By default, XEmacs will expect to find its packages in the subdirectories + "site-packages", "mule-packages" and "xemacs-packages" under the package + prefix directory "c:\Program Files\XEmacs". If you want it to look for + these subdirectories elsewhere, add this to the nmake command line: + PACKAGE_PREFIX="x:\your\package\directory" + If you change your mind and want to alter the package prefix directory + after you've built XEmacs, delete the file .\obj\emacs.obj and rebuild with + the new PACKAGE_PREFIX. + +9. By default, XEmacs will be installed in directories under the directory + "c:\Program Files\XEmacs\XEmacs-21.0". If you want to install it elsewhere, + add this to the nmake command line: + INSTALL_DIR="x:\your\installation\directory" + +10. Now you can press Enter. nmake will build temacs, the DOC file, update the + elc's, dump xemacs and install the relevant files in the directories under + the installation directory. Unless you set INSTALL_DIR above, the file that + you should run to start XEmacs will be installed as + "c:\Program Files\XEmacs\XEmacs-21.0\i386-pc-win32\runemacs.exe". You may + want to create a shortcut to that file from your Desktop or Start Menu. + +11. The build process always creates debugging and "Source Browser" information + in the source tree for use with MS DevStudio. If you actually want to debug + XEmacs you should run XEmacs from the source directory instead of from the + installation directory. You should probably also build a debug version of + XEmacs; to do this start with a clean source tree and add DEBUG_XEMACS=1 to + the nmake command line. You probably don't want to install your debug build + so you should tell nmake to build the 'all' target instead of the 'install' + target. + + To make use of the debugging and "Source Browser" information, create a new + "console" project in MS DevStudio and, under Project/Settings, set: + Debug: executable name = full path of src\xemacs.exe + Link: output file name = full path of src\temacs.exe + Browse Info: browse info file name = full path of src\temacs.bsc + Remember to close the Source Browser file in DevStudio before rebuilding. -* Building -========== - -1. cd to the nt subdirectory of the xemacs distribution and copy the file - config.inc.samp to config.inc. Make any necessary modifications. This - file controls the options that XEmacs is built with: - - -- If you're building with XPM support, modify the appropriate lines in - config.inc as follows: - - HAVE_XPM=1 - XPM_DIR="x:\location\of\your\xpm\sources" - - and similarly for JPEG and TIFF support. +If you want support for X you will need: - -- If you're building with PNG support, modify the appropriate lines in - config.inc as follows: - - HAVE_PNG=1 - PNG_DIR="x:\location\of\your\png\sources" - ZLIB_DIR="x:\location\of\your\zlib\sources" +1. An X server. MI/X is available on the Internet for free; It is + available from: http://www.microimages.com/www/html/freestuf/mixdlfrm.htm - -- If you're building with GIF support, modify the appropriate lines in - config.inc as follows: - - HAVE_GIF=1 - - -- If you're building with X-Face support, modify the appropriate lines in - config.inc as follows: - - HAVE_XFACE=1 - COMPFACE_DIR="x:\location\of\your\compface\sources" +2. The MIT X11R6.3 libraries available from: ftp.x.org - -- If you're building for X, modify the appropriate lines in config.inc - as follows: - - HAVE_X_WINDOWS=1 - X11_DIR=x:\root\directory\of\your\X11\installation - - -- By default, XEmacs will expect to find its packages in the - subdirectories "site-packages", "mule-packages" and "xemacs-packages" - under the directory "c:\Program Files\XEmacs". If you want it to look - for these subdirectories elsewhere, modify the appropriate lines in - config.inc as follows: - - PACKAGE_PREFIX="x:\your\package\directory" - - Make sure that the directory pointed to by PACKAGE_PREFIX contains - the xemacs-packages directory into which you installed the packages. +3. You'll need to compile the MIT libraries without multi-thread support. + To do this, there is an example Win32.cf and site.def provided which + set the relevant flags. You will also need to apply the patch in + nt/X11.patch in the xc/lib/X11 directory which will fix the DLL definition + file. Once compiled and installed, you will need to apply the following + patch to Xmd.h. This is messy and better solutions would be appreciated. - -- XEmacs can build its info files more quickly if you have a copy of the - makeinfo program. If you have a copy, modify the appropriate lines in - config.inc as follows: - - MAKEINFO="x:\location\of\makeinfo.exe" - - If you don't have a copy of makeinfo then you'll need to have installed - the XEmacs texinfo package. - -2. If you want to install XEmacs when you build it, modify the appropriate - lines in config.inc as follows (you can also run XEmacs from its build - directory): - - INSTALL_DIR="x:\your\installation\directory" - - (By default, XEmacs will be installed in directories under the directory - "c:\Program Files\XEmacs\XEmacs-21.2".) +4. Goto 2 under 'native GUI' above and add this to the nmake command line: + HAVE_X=1 X11_DIR=x:\root\directory\of\your\X11\installation -2. If you want to build xemacs on the command line, use - `nmake install -f xemacs.mak', or just `nmake -f xemacs.mak' if you want - to run XEmacs from its build directory. nmake will build temacs, the DOC - file, update the elc's, dump xemacs and (optionally) install the relevant - files in the directories under the installation directory. - - If you chose to install XEmacs, the file that you should run to start - XEmacs will be installed (by default) as - "c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe". - - To run from the build directory, run the file "nt\xemacs.exe" off of the - root of the build directory. - - You may want to create a shortcut to the file from your Desktop or - Start Menu. - -3. To build using MS Developer Studio, you can use the workspace file - `nt/xemacs.dsw'. This was prepared for Visual C++ 5.0; if you have - a different version and this file doesn't work, just open up - `nt/xemacs.mak' from within MS Developer Studio and it will offer to - wrap this Makefile in a workspace file, from which you can build. - Assuming you want to run from the build directory (which you will - want to do if you are planning on doing any development work on XEmacs), - use the following settings in Project/Settings...: - - Under the General tab: - - Build command line: NMAKE /f xemacs.mak - Output file name: ..\src\xemacs.exe - Browse info file name: ..\src\temacs.bsc - - Under the Debug tab: - - Executable for debug session: ..\src\xemacs.exe +--- Xmd.h~ Thu Jun 08 23:20:40 1995 ++++ Xmd.h Sun Mar 16 13:09:10 1997 +@@ -150,8 +150,9 @@ + typedef CARD16 BITS16; + typedef CARD8 BYTE; + ++#ifndef WIN32 + typedef CARD8 BOOL; +- ++#endif + +Known Problems: +Please look at the TODO list for the current list of problems and people +working on them. - - If you want to install XEmacs when it's built, change the build command - line to "NMAKE install /f xemacs.mak". (You will have to make the same - change even if you use the provided workspace nt/xemacs.dsw.) - - -* Debugging under MS Developer Studio -===================================== - -The build process always creates debugging and "Source Browser" information -in the source tree for use with DevStudio. However that information is not -very useful unless you build a debug version of XEmacs: - -1. Set DEBUG_XEMACS=1 and DEPEND=1 in config.inc and rebuild. - -2. See instructions above for obtaining a workspace file for use with - MS Developer Studio. Build and debug your XEmacs this way. - -3. To display the contents of a lisp variable, type Shift-F9 (or use the - menu) to bring up the QuickWatch window, type debug_print(variable) and - click Recalculate. The output will appear in a console window, as well - as in the Debug window in MS Developer Studio. - -4. To view Lisp variables in the "Watch" window wrap the variable in one of - the helper functions from the file src\console-msw.c, for example type - DSTRING(variable) in the "Watch" window to inspect a Lisp string. - - -* Known Problems -================ - -Please look at the PROBLEMS file for known problems. Any other problems you -need clarified, please email us and we will endeavour to provide any -assistance we can: +Any other problems you need clarified, please email us and we will endeavour +to provide any assistance we can: The XEmacs NT Mailing List: xemacs-nt@xemacs.org Subscribe address: xemacs-nt-request@xemacs.org @@ -259,6 +160,5 @@ Marc Paquette August Hill Jonathan Harris -Ben Wing and others.