This commit was generated by cvs2svn to compensate for changes in r6453,
[chise/xemacs-chise.git.1] / src / puresize.h
1 /* Definition of PURESIZE.
2    Copyright (C) 1986, 1988, 1992, 1993, 1994 Free Software Foundation, Inc.
3    Copyright (C) 1995, 1996 Ben Wing.
4
5 This file is part of XEmacs.
6
7 XEmacs is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 2, or (at your option) any
10 later version.
11
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with XEmacs; see the file COPYING.  If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA.  */
21
22 /* Synched up with: Not in FSF. */
23
24 #ifndef PURESIZE_H
25 #define PURESIZE_H
26
27 /* If RAW_PURESIZE is already defined then the user overrode it at
28    configure time. */
29 #ifndef RAW_PURESIZE
30
31 /* Basic amount of purespace to use, in the absence of extra
32    things configured in. */
33
34
35 /* This computation is Barbra Streisand, BS
36 #if (LONGBITS == 64)
37 # define BASE_PURESIZE 938000
38 #else
39 # define BASE_PURESIZE 563000
40 #endif
41 */
42
43 #define BASE_PURESIZE 1400000
44
45 /* If any particular systems need to change the base puresize, they
46    should define SYSTEM_PURESIZE_EXTRA.  Note that this can be
47    negative as well as positive.
48
49    Do NOT define PURESIZE or any other values.  This allows the
50    other values to shift while still keeping things in sync. */
51
52 #ifndef SYSTEM_PURESIZE_EXTRA
53 # define SYSTEM_PURESIZE_EXTRA 0
54 #endif
55
56 /* Extra amount of purespace needed for menubars. */
57
58 #ifdef HAVE_DIALOGS
59 # if (LONGBITS == 64)
60 #  define DIALOG_PURESIZE_EXTRA 43000
61 # else
62 #  define DIALOG_PURESIZE_EXTRA 1800
63 # endif
64 #else
65 # define DIALOG_PURESIZE_EXTRA 0
66 #endif
67
68 #ifdef HAVE_MENUBARS
69 # if (LONGBITS == 64)
70 #  define MENUBAR_PURESIZE_EXTRA 43000
71 # else
72 #  define MENUBAR_PURESIZE_EXTRA 36000
73 # endif
74 #else
75 # define MENUBAR_PURESIZE_EXTRA 0
76 #endif
77
78 #ifdef HAVE_SCROLLBARS
79 # if (LONGBITS == 64)
80 #  define SCROLLBAR_PURESIZE_EXTRA 4000
81 # else
82 #  define SCROLLBAR_PURESIZE_EXTRA 1800
83 # endif
84 #else
85 # define SCROLLBAR_PURESIZE_EXTRA 0
86 #endif
87
88 #ifdef HAVE_TOOLBARS
89 # if (LONGBITS == 64)
90 #  define TOOLBAR_PURESIZE_EXTRA 4000
91 # else
92 #  define TOOLBAR_PURESIZE_EXTRA 8400
93 # endif
94 #else
95 # define TOOLBAR_PURESIZE_EXTRA 0
96 #endif
97
98 /* Extra amount of purespace needed for X11, separate from menubars
99    and scrollbars. */
100
101 #ifdef HAVE_X_WINDOWS
102 # if (LONGBITS == 64)
103 #  define X11_PURESIZE_EXTRA 95000
104 # else
105 #  define X11_PURESIZE_EXTRA 68000
106 # endif
107 #else
108 # define X11_PURESIZE_EXTRA 0
109 #endif
110
111 /* Extra amount of purespace needed for Mule. */
112
113 #ifdef MULE
114 #ifdef HAVE_CANNA
115 # define MULE_PURESIZE_CANNA 5000
116 #else
117 # define MULE_PURESIZE_CANNA 0
118 #endif
119 #ifdef HAVE_WNN
120 # define MULE_PURESIZE_WNN 5000
121 #else
122 # define MULE_PURESIZE_WNN 0
123 #endif
124 # if (LONGBITS == 64)
125 #  define MULE_PURESIZE_EXTRA 99000+MULE_PURESIZE_CANNA+MULE_PURESIZE_WNN
126 # else
127 #  define MULE_PURESIZE_EXTRA 78000+MULE_PURESIZE_CANNA+MULE_PURESIZE_WNN
128 # endif
129 #else
130 # define MULE_PURESIZE_EXTRA 0
131 #endif
132
133 /* Extra amount of purespace needed for Tooltalk. */
134
135 #ifdef TOOLTALK
136 # if (LONGBITS == 64)
137 #  define TOOLTALK_PURESIZE_EXTRA 100000
138 # else
139 #  define TOOLTALK_PURESIZE_EXTRA 8300
140 # endif
141 #else
142 # define TOOLTALK_PURESIZE_EXTRA 0
143 #endif
144
145 /* Extra amount of purespace needed for Sunpro builds. */
146
147 #ifdef SUNPRO
148 #define SUNPRO_PURESIZE_EXTRA 95000
149 #else
150 # define SUNPRO_PURESIZE_EXTRA 0
151 #endif
152
153 #define RAW_PURESIZE ((BASE_PURESIZE) +                                 \
154                       (DIALOG_PURESIZE_EXTRA) +                         \
155                       (MENUBAR_PURESIZE_EXTRA) +                        \
156                       (SCROLLBAR_PURESIZE_EXTRA) +                      \
157                       (TOOLBAR_PURESIZE_EXTRA) +                        \
158                       (X11_PURESIZE_EXTRA) +                            \
159                       (SYSTEM_PURESIZE_EXTRA) +                         \
160                       (MULE_PURESIZE_EXTRA) +                           \
161                       (TOOLTALK_PURESIZE_EXTRA) +                       \
162                       (SUNPRO_PURESIZE_EXTRA))
163
164 #endif /* !RAW_PURESIZE */
165
166 size_t get_PURESIZE (void);
167 extern EMACS_INT pure[];
168
169 #endif /* PURESIZE_H */