442
|
1 # -*- mode: makefile -*-
|
|
2
|
|
3 ############################################################################
|
1203
|
4 # Install options #
|
|
5 ############################################################################
|
442
|
6
|
|
7 INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING)
|
|
8
|
|
9 PACKAGE_PREFIX=c:\Program Files\XEmacs
|
|
10
|
|
11 ############################################################################
|
1203
|
12 # Compiled-in features: basic #
|
|
13 ############################################################################
|
442
|
14
|
771
|
15 # Multilingual support.
|
|
16 MULE=0
|
442
|
17
|
|
18 # Native MS Windows support.
|
|
19 HAVE_MS_WINDOWS=1
|
|
20
|
1330
|
21 # GTK support. Do NOT set this to 1; this does not currently work.
|
462
|
22 HAVE_GTK=0
|
|
23 GTK_DIR=
|
|
24
|
442
|
25 ############################################################################
|
1203
|
26 # Compiled-in features: graphics formats #
|
|
27 ############################################################################
|
442
|
28
|
|
29 # Set this to enable XPM support (virtually mandatory), and specify
|
1261
|
30 # the directory containing xpm. Get the library from
|
|
31 # http://ftp.xemacs.org/aux/xpm-3.4k.tar.gz.
|
442
|
32 HAVE_XPM=1
|
|
33 XPM_DIR=c:\src\xpm-3.4k
|
|
34
|
1261
|
35 # Set this to enable GIF support (built-in).
|
442
|
36 HAVE_GIF=1
|
|
37
|
|
38 # Set this to enable PNG support (virtually mandatory), and specify
|
1261
|
39 # the directories containing png and zlib. Get the latest version from
|
|
40 # ftp://ftp.uu.net/graphics/png/. You will have to rename the zlib directory
|
|
41 # from zlib-1.1.3 or whatever to just `zlib' for the build to work.
|
442
|
42 HAVE_PNG=1
|
1261
|
43 PNG_DIR=c:\src\libpng-1.0.12
|
814
|
44 ZLIB_DIR=c:\src\zlib
|
442
|
45
|
|
46 # Set this to enable TIFF support, and specify the directory containing tiff.
|
1261
|
47 # Get the latest version from ftp://ftp.uu.net/graphics/tiff/. Not on by
|
|
48 # default since TIFF isn't really very important and those TIFF wankers
|
|
49 # couldn't be bothered to incorporate minimal MS-Windows patches they've
|
|
50 # had sitting around for years, so getting it to build is a major pain in
|
|
51 # the ass.
|
442
|
52 HAVE_TIFF=0
|
1261
|
53 TIFF_DIR=c:\src\tiff-v3.4
|
442
|
54
|
|
55 # Set this to enable JPEG support, and specify the directory containing jpeg.
|
1261
|
56 # Get the latest version from ftp://ftp.uu.net/graphics/jpeg/.
|
442
|
57 HAVE_JPEG=1
|
|
58 JPEG_DIR=c:\src\jpeg-6b
|
|
59
|
|
60 # Set this to enable XFace support, and specify the directory containing
|
1261
|
61 # compface. Get the library from http://ftp.xemacs.org/aux/compface.tar.gz.
|
442
|
62 HAVE_XFACE=0
|
|
63 COMPFACE_DIR=
|
|
64
|
|
65 ############################################################################
|
1203
|
66 # Build settings #
|
|
67 ############################################################################
|
442
|
68
|
1330
|
69 # If you want to the built files to be placed outside of the source tree
|
|
70 # (e.g. this allows you to build multiple versions of XEmacs, with
|
|
71 # different configuration settings, from the same source tree), run
|
|
72 # `make-build-dir' to create a skeleton build tree, giving it the name of a
|
|
73 # path. This creates the specified directory and the `nt' directory below
|
|
74 # it, copies config.inc (if it exists), config.inc.samp and xemacs.mak into
|
|
75 # the `nt' directory, and modifies the config files to contain the path of
|
|
76 # the source tree in SOURCE_DIR. This will not overwrite files that
|
|
77 # already exist, so it can safely be run more than once on the same tree.
|
|
78 #
|
|
79 # Running nmake in the skeleton build tree will then build XEmacs in that
|
|
80 # directory tree, using the source files as specified. The paths of the
|
|
81 # `lisp' and `etc' directories in the source tree will be compiled into the
|
|
82 # executable as "last-resort" values -- i.e. they will be used if you
|
|
83 # simply run the executable as-is, but will not override any local copy of
|
|
84 # the `lisp' and/or `etc' directories that you may have made.
|
|
85 #
|
|
86 # Alternatively, you can just uncomment the line below for BUILD_DIR and
|
|
87 # specify a (possibly non-existent) path. Running nmake will then put its
|
|
88 # build files into a parallel directory structure underneath the specified
|
|
89 # path, creating the directories as necessary. The problem with this is
|
|
90 # that the first method above allows you to have a different copy of
|
|
91 # `config.inc' for each build directory, but doing it this way means you
|
|
92 # have only one version of config.inc, and have to manually change it for
|
|
93 # each different build.
|
|
94
|
|
95 # SOURCE_DIR=c:\src\xemacs\working
|
|
96
|
|
97 # BUILD_DIR=c:\src\xemacs\msbuilds\working
|
|
98
|
442
|
99 # Set this to specify the location of makeinfo. (If not set, XEmacs will
|
1203
|
100 # attempt to use its built-in, much slower texinfo support when building
|
|
101 # info files.) If you are building XEmacs yourself, you probably have
|
|
102 # Cygwin sitting around already. If not, you should. Cygwin provides a
|
1261
|
103 # `makeinfo.exe' in /usr/bin/makeinfo (/usr/bin is virtual, it's /bin in
|
|
104 # the actual file system).
|
|
105 MAKEINFO=c:\cygwin\bin\makeinfo.exe
|
442
|
106
|
814
|
107 # Set this to turn on optimization when compiling.
|
|
108 OPTIMIZED_BUILD=0
|
|
109
|
872
|
110 # Set this to build with the fastcall calling convention, which uses registers
|
|
111 # instead of the stack and should speed things up a bit
|
|
112 # #### Change to 1 when I check in the ws with support for fastcall
|
|
113 USE_FASTCALL=0
|
|
114
|
814
|
115 ############################################################################
|
|
116 # Development options #
|
|
117 ############################################################################
|
|
118
|
1203
|
119 # Set this to compile in support for profiling. If you want line-by-line
|
|
120 # profiling under VC++, you also need debugging turned on.
|
|
121 PROFILE_SUPPORT=0
|
|
122
|
814
|
123 # Set this to enable debug code in XEmacs that doesn't slow things down,
|
|
124 # and to add debugging information to the executable. (The code that's
|
|
125 # enabled in XEmacs is primarily extra commands that aid in debugging
|
|
126 # problems. The kind of debugging code that slows things down --
|
|
127 # i.e. internal error-checking -- is controlled by the ERROR_CHECK_ALL
|
|
128 # variable, below.)
|
442
|
129 DEBUG_XEMACS=1
|
|
130
|
1333
|
131 # Set this to enable support for edit-and-continue under VC++.
|
|
132 # WARNING: This turns on incremental linking, which is known to lead to
|
|
133 # occasional weird crashes in pdump loading. If that happens, do a
|
|
134 # nmake -f xemacs.mak clean so that temacs.exe and xemacs.exe get removed.
|
|
135 SUPPORT_EDIT_AND_CONTINUE=0
|
|
136
|
800
|
137 # Uncomment this to turn off or on the error-checking code, which adds
|
|
138 # abundant internal error checking (and slows things down a lot). Normally,
|
|
139 # leave this alone -- it will be on for beta builds and off for release
|
|
140 # builds.
|
|
141 # ERROR_CHECK_ALL=0
|
|
142
|
1203
|
143 # Uncomment this to turn on or off whether we compile source files as C++
|
|
144 # files. This turns on additional error checking of various sorts. Normally,
|
|
145 # leave it alone -- it will be on when ERROR_CHECK_ALL is on.
|
|
146 # CPLUSPLUS_COMPILE=0
|
|
147
|
442
|
148 # Set this to speed up building, for development purposes.
|
1333
|
149 # WARNING: This may not completely rebuild all targets. In particular,
|
|
150 # DOC is not rebuilt, and changes to lisp.h and config.h do not trigger
|
|
151 # mass rebuilding. Other things may also be enabled that are not safe
|
|
152 # for release builds.
|
442
|
153 QUICK_BUILD=0
|
|
154
|
|
155 # Set this to see exactly which compilation commands are being run (not
|
|
156 # generally recommended).
|
|
157 VERBOSECC=0
|
|
158
|
795
|
159 # Set this to get nmake to use dependency info (recommended for development).
|
|
160 # Requires cygwin or ActiveState versions of Perl to be installed.
|
442
|
161 DEPEND=0
|
|
162
|
814
|
163 # Set this to use the portable dumper for dumping the preloaded Lisp
|
|
164 # routines, instead of the older "unexec" routines in unexnt.c.
|
|
165 USE_PORTABLE_DUMPER=1
|
872
|
166
|
1261
|
167 # Set this to use the new experimental garbage-collection routines instead
|
|
168 # of the traditional XEmacs garbage-collection routines.
|
1203
|
169 USE_KKCC=0
|
|
170
|
|
171 # Set this to turn on the use of the union type, which gets you improved
|
|
172 # type checking of Lisp_Objects -- they're declared as unions instead of
|
|
173 # ints, and so places where a Lisp_Object is mistakenly passed to a routine
|
|
174 # expecting an int (or vice-versa), or a check is written `if (foo)'
|
|
175 # instead of `if (!NILP (foo))', will be flagged as errors. (All of these
|
|
176 # do NOT lead to the expected results! Qnil is not represented as 0 [so if
|
|
177 # (foo) will *ALWAYS* be true for a Lisp_Object], and the representation of
|
|
178 # an integer as a Lisp_Object is not just the integer's numeric value, but
|
|
179 # usually 2x the integer +/- 1.)
|
872
|
180
|
1203
|
181 # There used to be a claim that it simplified debugging. There may have
|
|
182 # been a grain of truth to this pre-19.8, when there was no lrecord type
|
|
183 # and all objects had a separate type appearing in the tag. Nowadays,
|
|
184 # however, there is no debugging gain, and in fact frequent debugging *LOSS*,
|
|
185 # since many debuggers don't handle unions very well, and usually there is
|
|
186 # no way to directly specify a union from a debugging prompt.
|
|
187
|
|
188 # Furthermore, release builds should *NOT* be done this way because (a) you
|
|
189 # may get less efficiency, with compilers that can't figure out how to
|
|
190 # optimize the union into a machine word; (b) even worse, the union type
|
|
191 # often triggers compiler bugs, especially when combined with Mule and
|
|
192 # error-checking. This has been the case with various times using GCC,
|
|
193 # *AND CURRENTLY HAPPENS WITH VC++*, at least when using pdump. Therefore,
|
|
194 # be warned!
|
|
195 USE_UNION_TYPE=0
|