view nt/site.def @ 5294:bbff29a01820

Add compiler macros and compilation sanity-checks for functions with keywords. 2010-10-25 Aidan Kehoe <kehoea@parhasard.net> Add compiler macros and compilation sanity-checking for various functions that take keywords. * byte-optimize.el (side-effect-free-fns): #'symbol-value is side-effect free and not error free. * bytecomp.el (byte-compile-normal-call): Check keyword argument lists for sanity; store information about the positions where keyword arguments start using the new byte-compile-keyword-start property. * cl-macs.el (cl-const-expr-val): Take a new optional argument, cl-not-constant, defaulting to nil, in this function; return it if the expression is not constant. (cl-non-fixnum-number-p): Make this into a separate function, we want to pass it to #'every. (eql): Use it. (define-star-compiler-macros): Use the same code to generate the member*, assoc* and rassoc* compiler macros; special-case some code in #'add-to-list in subr.el. (remove, remq): Add compiler macros for these two functions, in preparation for #'remove being in C. (define-foo-if-compiler-macros): Transform (remove-if-not ...) calls to (remove ... :if-not) at compile time, which will be a real win once the latter is in C. (define-substitute-if-compiler-macros) (define-subst-if-compiler-macros): Similarly for these functions. (delete-duplicates): Change this compiler macro to use #'plists-equal; if we don't have information about the type of SEQUENCE at compile time, don't bother attempting to inline the call, the function will be in C soon enough. (equalp): Remove an old commented-out compiler macro for this, if we want to see it it's in version control. (subst-char-in-string): Transform this to a call to nsubstitute or nsubstitute, if that is appropriate. * cl.el (ldiff): Don't call setf here, this makes for a load-time dependency problem in cl-macs.el
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 25 Oct 2010 13:04:04 +0100
parents 43dd3413c7c7
children
line wrap: on
line source

XCOMM site:  $XConsortium: site.def /main/revisionist/3 1996/10/15 09:31:04 swick $

/***************************************************************************
 *                                                                         *
 *			   SITE-SPECIFIC DEFINITIONS                       *
 *                                                                         *
 * This file contains two halves, one included before the vendor-specific  *
 * configuration file (.cf file), and one included after the .cf file.     *
 * The before-half should be protected by #ifdef BeforeVendorCF, and the   *
 * after-half should be protected by #ifdef AfterVendorCF.                 *
 *                                                                         *
 * The before-half should only set things that the .cf file depends on.    *
 * For the .cf files shipped in this release, the main variables in this   *
 * category are HasGcc, HasGcc2, HasCplusplus, OSMajorVersion,             *
 * OSMinorVersion, and OSTeenyVersion.                                     *
 *                                                                         *
 * The after-half should contain all other definitions.  For example,      *
 * place your ProjectRoot definition here.                                 *
 *                                                                         *
 * OS Major and Minor version numbers should be changed directly in the    *
 * .cf file, not overridden in site.def.                                   *
 *                                                                         *
 ***************************************************************************/

/* if you want host-specific customization, this is one way to do it */
/*
#ifndef SiteIConfigFiles
#define SiteIConfigFiles $(IRULESRC)/host.def
#define LocalConfigFiles host.def
#endif
*/


#ifdef BeforeVendorCF

/* #include <host.def> */

/* On systems where cpp doesn't expand correctly macros in include directives
 * the two following macros need to be defined directly (where "X11" is
 * really whatever the TopLevelProject macro is defined to be).
 */
#  ifndef ProjectRulesFile
#   define ProjectRulesFile	<X11.rules>
#  endif
#  ifndef ProjectTmplFile
#   define ProjectTmplFile	<X11.tmpl>
#  endif

/*
#ifndef HasGcc2
#define HasGcc2 YES
#endif
*/

#endif /* BeforeVendorCF */

#ifdef AfterVendorCF

#define ProjectRoot f:/utils/X11R6

/* Only set HasXdmAuth to YES if you have a Wraphelp.c file. */
/* #define HasXdmAuth YES */

/* #define PreIncDir /usr/local/lib/gcc-lib/sparc-sun-solaris2.4/2.7.2/include */

/*
#if defined(SunArchitecture) && defined(SparcArchitecture)
#define HasCodeCenter	YES
#ifndef SVR4Architecture
#define HasTestCenter	YES
#endif
#endif
*/

/*
#ifdef __hp9000s800
#define HasCodeCenter	YES
#endif
*/

/*
#if defined(SunArchitecture) && defined(SparcArchitecture) && !defined(SVR4Architecture)
#define HasPurify	YES
#endif
*/

/*
#define HasSentinel	YES
*/

/*
#undef DefaultUserPath
#define DefaultUserPath /bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/local/bin
*/


/* You do NOT need SetUID if you only run the server under xdm */
/* You MAY need SetUID if users run the server by hand or under xinit */
/* Consult your system administrator before making the X server setuid */
/*
#if defined(SunArchitecture) && OSMajorVersion > 4
#define InstallXserverSetUID YES
#endif
*/

/* You do NOT need SetUID if you only run the server under xdm */
/* You MAY need SetUID if users run the server by hand or under xinit */
/* Consult your system administrator before making the X server setuid */
/*
#ifdef XFree86Version
#define InstallXserverSetUID YES
#endif
*/

#ifndef XnestServer
#undef BuildServer
#define BuildServer YES
#define XnestServer YES
#endif

/* #include <host.def> */

#endif /* AfterVendorCF */