comparison nt/README @ 1330:4542b72c005e

[xemacs-hg @ 2003-03-01 07:25:26 by ben] build patch Makefile.in.in: Move src deletions to src/Makefile.in.in. dump-paths.el, dumped-lisp.el: Delete. Combine stuff into setup-paths.el. find-paths.el: Removed. Make this file contain generic routines only. Move stuff to compute Emacs roots to setup-paths.el. startup.el: Removed. Move these variables into setup-paths.el. setup-paths.el, startup.el: Removed. Combine all high-level code for computing the paths into setup-paths.el. Create new function startup-find-load-path to encapsulate all logic for computing `load-path'. Eliminate invocation-directory and invocation-name parameters since there is no point (false generality) -- the code references other globals, which cannot be specified. Eliminate some code duplicated between setup-paths.el and startup.el. Clean up the debug-paths code and output load-path in addition. Add logic to paths-emacs-root-p to support separated source and build trees. loadup.el, make-docfile.el, update-elc-2.el, update-elc.el: Rewrite to allow for separated source and build trees, as may occur in MS Windows. NOTE TO BUILD HACKERS: loadup.el, make-docfile.el, update-elc.el and update-elc-2.el made two assumptions that are no longer correct: (1) The source and build trees are in the same place. (2) They can make assumptions about where `.' is. These files now compute the locations of the source and build roots at the top of the file. *ALL* constant file names or path snippets must now be made absolute using expand-file-name and one of these roots. dumped-lisp.el, packages.el: Removed. Remove some unused lists of Lisp files. packages-hardcoded-lisp (empty, in any case) moved to dumped-lisp.el. startup.el: When a compiled init file is out-of-date wrt the uncompiled version, load the uncompiled version and issue a nasty warning. update-elc-2.el: Force touching of auto-autoloads files when REBUILD_AUTOLOADS was set. update-elc.el: Fix code that checks whether dumping is necessary to check against xemacs.dmp, not xemacs.exe, when Unix and pdump. lwlib-Xm.c: Fix compile warning. README, config.inc.samp, xemacs.mak: -- Major reorganization and cleanup. -- Add support for separated build tree and source tree. -- Delete all support for X Windows building, since it's totally bit-rotten and will never be fixed up. Instruct people to use Cygwin if they want such support. make-build-dir: New script to create a skeleton build tree for use with separated build and source tree compilation. m/acorn.h, m/alliant-2800.h, m/alliant.h, m/altos.h, m/amdahl.h, m/arm.h, m/att3b.h, m/aviion.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h, m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/ews4800r.h, m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h, m/intel386.h, m/iris4d.h, m/iris5d.h, m/iris6d.h, m/irist.h, m/m68k.h, m/masscomp.h, m/mg1.h, m/mips-nec.h, m/mips-siemens.h, m/mips.h, m/nh3000.h, m/nh4000.h, m/ns32000.h, m/plexus.h, m/powerpc.h, m/sequent-ptx.h, m/sequent.h, m/sgi-challenge.h, m/stride.h, m/tad68k.h, m/targon31.h, m/tekxd88.h, m/template.h, m/tower32.h, m/tower32v3.h, m/ustation.h, m/wicat.h, m/xps100.h, data.c, doc.c, editfns.c, emacs.c, lrecord.h, ntheap.c, process-unix.c, sysdep.c, unexec.c: Delete all support for bit-rotten CANNOT_DUMP. Just use pdump. Makefile.in.in: Lots o' cleanup. Use names like LISP, SRC instead of lispdir, srcdir, for consistency with xemacs.mak and the conventions in the rest of the file. Eliminate use of ${...} in favor of $(...), to make it easier to move code between this file and xemacs.mak. Fix dependency handling wrt NEEDTODUMP to eliminate problems some people (e.g. Vin) have been seeing with non-GNU makes. Write a long section about the subtle but oh-so-important differences in dependency processing between nmake, make, and GNU make. Add unicode-encapsulate target, from xemacs.mak. chartab.c, lrecord.h: Fix crash due to attempt to free objects across dump/undump.
author ben
date Sat, 01 Mar 2003 07:25:56 +0000
parents 5f2f8dcbfb3e
children 3227a97effa8
comparison
equal deleted inserted replaced
1329:389741884c65 1330:4542b72c005e
66 cc-mode, prog-modes and xemacs-devel packages. 66 cc-mode, prog-modes and xemacs-devel packages.
67 67
68 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages", 68 Unpack the packages into "x:\your\choice\XEmacs\xemacs-packages",
69 for example "c:\Program Files\XEmacs\xemacs-packages". 69 for example "c:\Program Files\XEmacs\xemacs-packages".
70 70
71 3. At this point you can choose to build for X and/or for Win32 native GUI. 71 3. The native build no longer supports X Windows. There is no point,
72 If you only want to build for the Win32 native GUI then skip the next 72 since the Cygwin build is actively maintained and supports X Windows
73 section. 73 very well. See the FAQ if you want to build with Cygwin.
74
75
76 ** Extra tools and sources required for X
77
78 NOTE: XEmacs has not been tested with X support under the native
79 Windows build for a long, long time! It may not even compile any
80 more. If you are interested in X support, you're better off compiling
81 the Cygwin version of XEmacs, which can handle both Win32 native and X
82 frames (in the same binary, in fact, but not at the same time), and is
83 actively tested with X support.
84
85 If you want support for X you will also need:
86
87 1. An X server. XEmacs has been tested and runs well under MI/X,
88 available from: http://www.microimages.com/mix/. (International aka
89 "Mule" support even works under this X server!) Unfortunately, this is
90 not free, but is trialware; you have to pay $25 if you want to use it
91 for more than 15 days. XEmacs also runs (barely) under the free XWin
92 server that comes as part of the Cygwin XFree86 package, available at
93
94 ftp://sources.redhat.com/pub/cygwin/xfree/
95
96 or numerous mirrors, such as
97
98 ftp://ftp.freesoftware.com/pub/sourceware/cygwin/xfree/
99
100 There are numerous other X servers available in the same package or at
101 the same location, but unfortunately most of them behave even worse
102 than XWin. If you have any luck with any of these, *PLEASE* email
103 the maintainers at xemacs-nt@xemacs.org, and we'll add the info here.
104
105 2. Source for the MIT X11R6.3 libraries, available from ftp.x.org.
106
107 3. You'll need to compile the MIT libraries without multi-thread support.
108 To do this, there is an example Win32.cf and site.def provided which set
109 the relevant flags. You will also need to apply the patch in nt/X11.patch
110 in the xc/lib/X11 directory which will fix the DLL definition file.
111
112 Once compiled and installed, you will need to apply the patch in
113 nt/Xmd.patch. This is messy and better solutions would be appreciated.
114
115 4. Goto step 2 under 'Optional libraries' below.
116 74
117 75
118 * Optional libraries 76 * Optional libraries
119 ==================== 77 ====================
120 78
190 config.inc as follows: 148 config.inc as follows:
191 149
192 HAVE_XFACE=1 150 HAVE_XFACE=1
193 COMPFACE_DIR="x:\location\of\your\compface\sources" 151 COMPFACE_DIR="x:\location\of\your\compface\sources"
194 152
195 -- If you're building for X, modify the appropriate lines in config.inc
196 as follows:
197
198 HAVE_X_WINDOWS=1
199 X11_DIR=x:\root\directory\of\your\X11\installation
200
201 -- By default, XEmacs will expect to find its packages in the 153 -- By default, XEmacs will expect to find its packages in the
202 subdirectories "site-packages", "mule-packages" and "xemacs-packages" 154 subdirectories "site-packages", "mule-packages" and "xemacs-packages"
203 under the directory "c:\Program Files\XEmacs". If you want it to look 155 under the directory "c:\Program Files\XEmacs". If you want it to look
204 for these subdirectories elsewhere, modify the appropriate lines in 156 for these subdirectories elsewhere, modify the appropriate lines in
205 config.inc as follows: 157 config.inc as follows:
225 INSTALL_DIR="x:\your\installation\directory" 177 INSTALL_DIR="x:\your\installation\directory"
226 178
227 (By default, XEmacs will be installed in directories under the directory 179 (By default, XEmacs will be installed in directories under the directory
228 "c:\Program Files\XEmacs\XEmacs-21.5".) 180 "c:\Program Files\XEmacs\XEmacs-21.5".)
229 181
230 3. If you want to build xemacs on the command line, use 182 3. If you want the built files to go into a different tree than the source
183 tree (e.g. this allows you to build multiple versions of XEmacs, with
184 different configuration settings, from the same source tree), use the
185 script `make-build-dir' to create a skeleton build tree, create a
186 config.inc in that tree, and then run nmake from that tree. This is
187 similar to running `configure --srcdir=PATH' under Unix. See the
188 comments in `config.inc.samp' for more information.
189
190 4. If you want to build xemacs on the command line, use
231 `nmake install -f xemacs.mak', or just `nmake -f xemacs.mak' if you want 191 `nmake install -f xemacs.mak', or just `nmake -f xemacs.mak' if you want
232 to run XEmacs from its build directory. nmake will build temacs, the DOC 192 to run XEmacs from its build directory. nmake will build temacs, the DOC
233 file, update the elc's, dump xemacs and (optionally) install the relevant 193 file, update the elc's, dump xemacs and (optionally) install the relevant
234 files in the directories under the installation directory. 194 files in the directories under the installation directory.
235 195
241 root of the build directory. 201 root of the build directory.
242 202
243 You may want to create a shortcut to the file from your Desktop or 203 You may want to create a shortcut to the file from your Desktop or
244 Start Menu. 204 Start Menu.
245 205
246 4. To build using MS Visual Studio, you can use the workspace file 206 5. To build using MS Visual Studio, you can use the workspace file
247 `nt/xemacs.dsw'. This was prepared for Visual C++ 6.0. If you have a 207 `nt/xemacs.dsw'. This was prepared for Visual C++ 6.0. If you have a
248 different version and neither file works, just open up `nt/xemacs.mak' 208 different version and neither file works, just open up `nt/xemacs.mak'
249 from within Visual Studio and it will offer to wrap this Makefile in a 209 from within Visual Studio and it will offer to wrap this Makefile in a
250 workspace file, from which you can build. Assuming you want to run from 210 workspace file, from which you can build. Assuming you want to run from
251 the build directory (which you will want to do if you are planning on 211 the build directory (which you will want to do if you are planning on