(struct frame): New field face_alist.
[bpt/emacs.git] / src / m / next.h
CommitLineData
a22b5340
RS
1/* Configuration file for the NeXT machine.
2 Copyright (C) 1990 Free Software Foundation, Inc.
64f58c87
JB
3
4This file is part of GNU Emacs.
5
a22b5340
RS
6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 1, or (at your option)
9any later version.
64f58c87 10
a22b5340
RS
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
64f58c87 15
a22b5340
RS
16You should have received a copy of the GNU General Public License
17along with GNU Emacs; see the file COPYING. If not, write to
18the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
64f58c87
JB
19
20
a22b5340 21/* Say this machine is a next if not previously defined */
64f58c87 22
a22b5340
RS
23#ifndef NeXT
24#define NeXT
25#endif
64f58c87
JB
26
27/* The following three symbols give information on
a22b5340 28 the size of various data types. */
64f58c87
JB
29
30#define SHORTBITS 16 /* Number of bits in a short */
31
32#define INTBITS 32 /* Number of bits in an int */
33
34#define LONGBITS 32 /* Number of bits in a long */
35
a22b5340 36/* Let the compiler tell us what byte order architecture we're compiling for */
64f58c87 37
a22b5340 38#ifdef __BIG_ENDIAN__
64f58c87 39#define BIG_ENDIAN
a22b5340 40#endif
64f58c87 41
a22b5340
RS
42/* Define how to take a char and sign-extend into an int.
43 On machines where char is signed, this is a no-op. */
64f58c87 44
a22b5340 45#define SIGN_EXTEND_CHAR(c) (c)
64f58c87
JB
46
47/* Use type int rather than a union, to represent Lisp_Object */
48
49#define NO_UNION_TYPE
50
64f58c87
JB
51/* XINT must explicitly sign-extend */
52
53#define EXPLICIT_SIGN_EXTEND
54
55/* Data type of load average, as read out of kmem. */
56
57#define LOAD_AVE_TYPE long
58
59/* Convert that into an integer that is 100 for a load average of 1.0 */
60
61#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
62
63/* Say that the text segment of a.out includes the header;
64 the header actually occupies the first few bytes of the text segment
65 and is counted in hdr.a_text. */
66
67#define A_TEXT_OFFSET(HDR) sizeof (HDR)
68
64f58c87
JB
69/* Use dk.h, not dkstat.h, in loadst.c. */
70
71#define DK_HEADER_FILE
a22b5340 72
64f58c87
JB
73/* Mask for address bits within a memory segment */
74
75#define SEGSIZ 0x20000
76#define SEGMENT_MASK (SEGSIZ - 1)
77
78#define HAVE_ALLOCA
79
80#define SYSTEM_MALLOC
81
82#define HAVE_UNIX_DOMAIN
83
a22b5340
RS
84#define LIB_X11_LIB -L/usr/lib/X11 -lX11
85
86/* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */
87
88#define NO_T_CHARS_DEFINES
89
90/* Use our own unexec routines */
91
92#define UNEXEC unexnext.o
93
94/* We don't have a g library either, so override the -lg LIBS_DEBUG switch */
95
96#define LIBS_DEBUG
97
98/* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */
99
100#define LIB_GCC
101
102/* Compile "strict bsd" to avoid warnings from include files */
103
104#define C_SWITCH_MACHINE -bsd
105
106/* Link this program just by running cc. */
107#define ORDINARY_LINK
108
109/* start_of_text isn't actually used, so make it compile without error. */
110#define TEXT_START 0
111/* This seems to be right for end_of_text, but it may not be used anyway. */
112#define TEXT_END get_etext ()
113/* This seems to be right for end_of_data, but it may not be used anyway. */
114#define DATA_END get_edata ()
115
116/* Defining KERNEL_FILE causes lossage because sys/file.h
117 stupidly gets confused by it. */
118#undef KERNEL_FILE
119
120#define LD_SWITCH_MACHINE -X -noseglinkedit
121
122#define environ _environ
123
124#if 0 /* This is ok for NeXT system version 3.0 or above. */
125/* Where to find the kernel, for load average. */
126#define KERNEL_FILE "/mach"
127#endif