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