Mercurial > hg > xemacs-beta
view src/paths.h.in @ 1298:1b4bc72f433e
[xemacs-hg @ 2003-02-14 12:05:06 by ben]
speedups to build process
autoload.el: Factor out common code in generate-{c-,}file-autoloads-1 into new
function generate-autoload-ish-1. \(I was originally going to use
this for custom as well but ended up thinking better of it.)
cus-dep.el: Cache the old computed values in custom-load.el and reuse them as
necessary, to speed up running cus-dep (which would take 25-30
seconds to do all files in lisp/*, lisp/*/* on my Pentium III
700). Use `message' not `princ' to get correct newline behavior.
Output messages showing each file we do actually process.
update-elc-2.el: Rewrite algorithm to be much faster -- cache calls to
directory-files and don't make needless calls to file-exists-p,
file-directory-p because they're way way slow.
Autoload early and only when update-elc has told us to.
update-elc.el: If no files need byte compilation, signal to update-elc-2 to do
any necessary autoload updating (using the file REBUILD_AUTOLOADS)
rather than doing it ourselves, which would be way slow. Ignore
updates to custom-load.el and auto-autoloads.el when checking to
see whether autoloads need updating. Optimize out many
unnecessary calls to file-exists-p to speed it up somewhat. (####
The remaining time is 50% or more in locate-file; this is
presumably because, even though it has a cache, it's still
statting each file to determine it's actually there. By calling
directory-files ourselves, building a tree, and then looking in
that tree, we could drastically shorten the time needed to do the
locate operation.)
author | ben |
---|---|
date | Fri, 14 Feb 2003 12:05:07 +0000 |
parents | abe6d1db359e |
children | 15139dbf89f4 |
line wrap: on
line source
/* Hey Emacs, this is -*- C -*- code! */ /* Synched up with: Not synched with FSF. */ /* Think twice before editing this file. Generated automatically by configure. The file startup.el guesses at reasonable values for load-path, exec-path, and lock-directory. This means that if you move emacs and its associated sub-tree to a different place in the filesystem, or to a different machine, you won't have to do anything for it to work. If you define the paths in this file then they will take precedence over any value generated by the heuristic in startup.el. The hardcoded paths will be checked to see if they are valid, in which case they will be used. Otherwise the editor will attempt to make its normal guess. See the NEWS file for a description of the heuristic used to locate the lisp and exec directories at startup time. If you are looking at this file because you are having trouble, then you would be much better off arranging for those heuristics to succeed than defining the paths in this file. ** Let me say that again. If you're editing this file, you're making ** a mistake. Re-read the section on installation in ../etc/NEWS. If it defines anything, this file should define some subset of the following: PATH_PROGNAME The name of the Emacs variant that's running. PATH_VERSION The version id of the Emacs variant that's running. PATH_EXEC_PREFIX The value of --exec-prefix. PATH_PREFIX The value of --prefix. PATH_LOADSEARCH The default value of `load-path'. PATH_MODULESEARCH The default value of `module-load-path'. PATH_PACKAGEPATH The default value of `package-path'. PATH_SITE The default location of site-specific Lisp files. PATH_SITE_MODULES The default location of site-specific modules. PATH_EXEC The default value of `exec-directory' and `exec-path'. (exec-path also contains the value of whatever is in the PATH environment variable.) PATH_DATA The default value of `data-directory'. This is where architecture-independent files are searched for. PATH_INFO This is where the info documentation is installed. PATH_INFOPATH The default value of `Info-directory-list'. These are additional places info files are searched for. */ #define PATH_PROGNAME "@PROGNAME@" #define PATH_VERSION "@version@" #ifdef EXEC_PREFIX_USER_DEFINED #define PATH_EXEC_PREFIX "@EXEC_PREFIX@" #endif #ifdef PREFIX_USER_DEFINED #define PATH_PREFIX "@PREFIX@" #endif #ifdef LISPDIR_USER_DEFINED #define PATH_LOADSEARCH "@LISPDIR@" #endif #ifdef MODULEDIR_USER_DEFINED #define PATH_MODULESEARCH "@MODULEDIR@" #endif #ifdef SITELISPDIR_USER_DEFINED #define PATH_SITE "@SITELISPDIR@" #endif #ifdef SITEMODULEDIR_USER_DEFINED #define PATH_SITE_MODULES "@SITEMODULEDIR@" #endif #ifdef PACKAGE_PATH_USER_DEFINED #define PATH_PACKAGEPATH "@PACKAGE_PATH@" #endif #ifdef ARCHLIBDIR_USER_DEFINED #define PATH_EXEC "@ARCHLIBDIR@" #endif #ifdef ETCDIR_USER_DEFINED #define PATH_DATA "@ETCDIR@" #endif #ifdef DOCDIR_USER_DEFINED #define PATH_DOC "@DOCDIR@" #endif #ifdef INFODIR_USER_DEFINED #define PATH_INFO "@INFODIR@" #endif #ifdef INFOPATH_USER_DEFINED #define PATH_INFOPATH "@INFOPATH@" #endif