Mercurial > hg > xemacs-beta
view nt/config.inc.samp @ 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 | 465bd3c7d932 |
children | 1b0339b048ce |
line wrap: on
line source
# -*- mode: makefile -*- ############################################################################ # Install options # ############################################################################ INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING) PACKAGE_PREFIX=c:\Program Files\XEmacs ############################################################################ # Compiled-in features: basic # ############################################################################ # Multilingual support. MULE=0 # Native MS Windows support. HAVE_MS_WINDOWS=1 # GTK support. Do NOT set this to 1; this does not currently work. HAVE_GTK=0 GTK_DIR= ############################################################################ # Compiled-in features: graphics formats # ############################################################################ # Set this to enable XPM support (virtually mandatory), and specify # the directory containing xpm. Get the library from # http://ftp.xemacs.org/aux/xpm-3.4k.tar.gz. HAVE_XPM=1 XPM_DIR=c:\src\xpm-3.4k # Set this to enable GIF support (built-in). HAVE_GIF=1 # Set this to enable PNG support (virtually mandatory), and specify # the directories containing png and zlib. Get the latest version from # ftp://ftp.uu.net/graphics/png/. You will have to rename the zlib directory # from zlib-1.1.3 or whatever to just `zlib' for the build to work. HAVE_PNG=1 PNG_DIR=c:\src\libpng-1.0.12 ZLIB_DIR=c:\src\zlib # Set this to enable TIFF support, and specify the directory containing tiff. # Get the latest version from ftp://ftp.uu.net/graphics/tiff/. Not on by # default since TIFF isn't really very important and those TIFF wankers # couldn't be bothered to incorporate minimal MS-Windows patches they've # had sitting around for years, so getting it to build is a major pain in # the ass. HAVE_TIFF=0 TIFF_DIR=c:\src\tiff-v3.4 # Set this to enable JPEG support, and specify the directory containing jpeg. # Get the latest version from ftp://ftp.uu.net/graphics/jpeg/. HAVE_JPEG=1 JPEG_DIR=c:\src\jpeg-6b # Set this to enable XFace support, and specify the directory containing # compface. Get the library from http://ftp.xemacs.org/aux/compface.tar.gz. HAVE_XFACE=0 COMPFACE_DIR= ############################################################################ # Build settings # ############################################################################ # If you want to the built files to be placed outside of the source tree # (e.g. this allows you to build multiple versions of XEmacs, with # different configuration settings, from the same source tree), run # `make-build-dir' to create a skeleton build tree, giving it the name of a # path. This creates the specified directory and the `nt' directory below # it, copies config.inc (if it exists), config.inc.samp and xemacs.mak into # the `nt' directory, and modifies the config files to contain the path of # the source tree in SOURCE_DIR. This will not overwrite files that # already exist, so it can safely be run more than once on the same tree. # # Running nmake in the skeleton build tree will then build XEmacs in that # directory tree, using the source files as specified. The paths of the # `lisp' and `etc' directories in the source tree will be compiled into the # executable as "last-resort" values -- i.e. they will be used if you # simply run the executable as-is, but will not override any local copy of # the `lisp' and/or `etc' directories that you may have made. # # Alternatively, you can just uncomment the line below for BUILD_DIR and # specify a (possibly non-existent) path. Running nmake will then put its # build files into a parallel directory structure underneath the specified # path, creating the directories as necessary. The problem with this is # that the first method above allows you to have a different copy of # `config.inc' for each build directory, but doing it this way means you # have only one version of config.inc, and have to manually change it for # each different build. # SOURCE_DIR=c:\src\xemacs\working # BUILD_DIR=c:\src\xemacs\msbuilds\working # Set this to specify the location of makeinfo. (If not set, XEmacs will # attempt to use its built-in, much slower texinfo support when building # info files.) If you are building XEmacs yourself, you probably have # Cygwin sitting around already. If not, you should. Cygwin provides a # `makeinfo.exe' in /usr/bin/makeinfo (/usr/bin is virtual, it's /bin in # the actual file system). MAKEINFO=c:\cygwin\bin\makeinfo.exe # Set this to turn on optimization when compiling. OPTIMIZED_BUILD=0 # Set this to build with the fastcall calling convention, which uses registers # instead of the stack and should speed things up a bit # #### Change to 1 when I check in the ws with support for fastcall USE_FASTCALL=0 # True if running VC++ 6 or later. HAVE_VC6=1 ############################################################################ # Development options # ############################################################################ # Set this to compile in support for profiling. If you want line-by-line # profiling under VC++, you also need debugging turned on. PROFILE_SUPPORT=0 # Set this to enable debug code in XEmacs that doesn't slow things down, # and to add debugging information to the executable. (The code that's # enabled in XEmacs is primarily extra commands that aid in debugging # problems. The kind of debugging code that slows things down -- # i.e. internal error-checking -- is controlled by the ERROR_CHECK_ALL # variable, below.) DEBUG_XEMACS=1 # Uncomment this to turn off or on the error-checking code, which adds # abundant internal error checking (and slows things down a lot). Normally, # leave this alone -- it will be on for beta builds and off for release # builds. # ERROR_CHECK_ALL=0 # Uncomment this to turn on or off whether we compile source files as C++ # files. This turns on additional error checking of various sorts. Normally, # leave it alone -- it will be on when ERROR_CHECK_ALL is on. # CPLUSPLUS_COMPILE=0 # Set this to speed up building, for development purposes. QUICK_BUILD=0 # Set this to see exactly which compilation commands are being run (not # generally recommended). VERBOSECC=0 # Set this to get nmake to use dependency info (recommended for development). # Requires cygwin or ActiveState versions of Perl to be installed. DEPEND=0 # Set this to use the portable dumper for dumping the preloaded Lisp # routines, instead of the older "unexec" routines in unexnt.c. USE_PORTABLE_DUMPER=1 # Set this to use the new experimental garbage-collection routines instead # of the traditional XEmacs garbage-collection routines. USE_KKCC=0 # Set this to turn on the use of the union type, which gets you improved # type checking of Lisp_Objects -- they're declared as unions instead of # ints, and so places where a Lisp_Object is mistakenly passed to a routine # expecting an int (or vice-versa), or a check is written `if (foo)' # instead of `if (!NILP (foo))', will be flagged as errors. (All of these # do NOT lead to the expected results! Qnil is not represented as 0 [so if # (foo) will *ALWAYS* be true for a Lisp_Object], and the representation of # an integer as a Lisp_Object is not just the integer's numeric value, but # usually 2x the integer +/- 1.) # There used to be a claim that it simplified debugging. There may have # been a grain of truth to this pre-19.8, when there was no lrecord type # and all objects had a separate type appearing in the tag. Nowadays, # however, there is no debugging gain, and in fact frequent debugging *LOSS*, # since many debuggers don't handle unions very well, and usually there is # no way to directly specify a union from a debugging prompt. # Furthermore, release builds should *NOT* be done this way because (a) you # may get less efficiency, with compilers that can't figure out how to # optimize the union into a machine word; (b) even worse, the union type # often triggers compiler bugs, especially when combined with Mule and # error-checking. This has been the case with various times using GCC, # *AND CURRENTLY HAPPENS WITH VC++*, at least when using pdump. Therefore, # be warned! USE_UNION_TYPE=0