aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/mpstd.h
diff options
context:
space:
mode:
authorRichard Brooksby2012-09-03 00:49:02 +0100
committerRichard Brooksby2012-09-03 00:49:02 +0100
commit17977ef9c84ff8d5de6dc171591fd264426b4c23 (patch)
tree6bcdcd7ea0d9725f4b184836d712ce40327e6037 /mps/code/mpstd.h
parent682bd80b85b2cdf3e6dc7922859ff6b6a0eac9ef (diff)
downloademacs-17977ef9c84ff8d5de6dc171591fd264426b4c23.tar.gz
emacs-17977ef9c84ff8d5de6dc171591fd264426b4c23.zip
Eliminating pfmdefs from makefiles by moving them to mpstd.h so that the mps can be built with a simpler compiler command.
Copied from Perforce Change: 179180 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/mpstd.h')
-rw-r--r--mps/code/mpstd.h36
1 files changed, 21 insertions, 15 deletions
diff --git a/mps/code/mpstd.h b/mps/code/mpstd.h
index 10d3d2833a6..2f3f3f4d94b 100644
--- a/mps/code/mpstd.h
+++ b/mps/code/mpstd.h
@@ -127,6 +127,7 @@
127#define MPS_WORD_SHIFT 5 127#define MPS_WORD_SHIFT 5
128#define MPS_PF_ALIGN 4 /* I'm just guessing. */ 128#define MPS_PF_ALIGN 4 /* I'm just guessing. */
129 129
130
130/* Apple clang version 3.1, clang -E -dM */ 131/* Apple clang version 3.1, clang -E -dM */
131 132
132#elif defined(__APPLE__) && defined(__i386__) && defined(__MACH__) \ 133#elif defined(__APPLE__) && defined(__i386__) && defined(__MACH__) \
@@ -145,6 +146,7 @@
145#define MPS_WORD_SHIFT 5 146#define MPS_WORD_SHIFT 5
146#define MPS_PF_ALIGN 4 /* I'm just guessing. */ 147#define MPS_PF_ALIGN 4 /* I'm just guessing. */
147 148
149
148/* Apple clang version 3.1, clang -E -dM */ 150/* Apple clang version 3.1, clang -E -dM */
149 151
150#elif defined(__APPLE__) && defined(__x86_64__) && defined(__MACH__) \ 152#elif defined(__APPLE__) && defined(__x86_64__) && defined(__MACH__) \
@@ -163,6 +165,7 @@
163#define MPS_WORD_SHIFT 6 165#define MPS_WORD_SHIFT 6
164#define MPS_PF_ALIGN 8 166#define MPS_PF_ALIGN 8
165 167
168
166/* GCC 2.6.3, gcc -E -dM 169/* GCC 2.6.3, gcc -E -dM
167 * The actual granularity of GNU malloc is 8, but field alignments are 170 * The actual granularity of GNU malloc is 8, but field alignments are
168 * all 4. 171 * all 4.
@@ -183,6 +186,11 @@
183#define MPS_WORD_SHIFT 5 186#define MPS_WORD_SHIFT 5
184#define MPS_PF_ALIGN 4 187#define MPS_PF_ALIGN 4
185 188
189#define _REENTRANT /* FIXME: What for? */
190#define _XOPEN_SOURCE 500 /* to get POSIX signal handling */
191#define _GNU_SOURCE /* to get register numbers for prmci3li.c */
192
193
186/* GCC 4.6.3, gcc -E -dM */ 194/* GCC 4.6.3, gcc -E -dM */
187 195
188#elif defined(__linux__) && defined(__x86_64) && defined(__GNUC__) 196#elif defined(__linux__) && defined(__x86_64) && defined(__GNUC__)
@@ -200,22 +208,10 @@
200#define MPS_WORD_SHIFT 6 208#define MPS_WORD_SHIFT 6
201#define MPS_PF_ALIGN 8 209#define MPS_PF_ALIGN 8
202 210
203/* GCC 2.7.2, gcc -E -dM */ 211#define _REENTRANT /* FIXME: What for? */
212#define _XOPEN_SOURCE 500 /* to get POSIX signal handling */
213#define _GNU_SOURCE /* to get register numbers for prmci3li.c */
204 214
205#elif defined(__linux__) && defined(__PPC__) && defined(__GNUC__)
206#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_LIPPGC)
207#error "specified CONFIG_PF_... inconsistent with detected lippgc"
208#endif
209#define MPS_PF_LIPPGC
210#define MPS_PF_STRING "lippgc"
211#define MPS_OS_LI
212#define MPS_ARCH_PP
213#define MPS_BUILD_GC
214#define MPS_T_WORD unsigned long
215#define MPS_T_ULONGEST unsigned long
216#define MPS_WORD_WIDTH 32
217#define MPS_WORD_SHIFT 5
218#define MPS_PF_ALIGN 8 /* @@@@ not tested */
219 215
220/* GCC 2.95.3, gcc -E -dM */ 216/* GCC 2.95.3, gcc -E -dM */
221 217
@@ -234,6 +230,11 @@
234#define MPS_WORD_SHIFT 5 230#define MPS_WORD_SHIFT 5
235#define MPS_PF_ALIGN 4 231#define MPS_PF_ALIGN 4
236 232
233/* FIXME: What is this for? Clues at <http://www.kernel.org/doc/man-pages/online/pages/man7/feature_test_macros.7.html>
234 Discover whether it's still necessary and if so, document why. */
235#define _REENTRANT
236
237
237#elif defined(__FreeBSD__) && defined (__x86_64__) && defined (__GNUC__) 238#elif defined(__FreeBSD__) && defined (__x86_64__) && defined (__GNUC__)
238#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_FRI6GC) 239#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_FRI6GC)
239#error "specified CONFIG_PF_... inconsistent with detected fri6gc" 240#error "specified CONFIG_PF_... inconsistent with detected fri6gc"
@@ -249,6 +250,11 @@
249#define MPS_WORD_SHIFT 6 250#define MPS_WORD_SHIFT 6
250#define MPS_PF_ALIGN 8 251#define MPS_PF_ALIGN 8
251 252
253/* FIXME: What is this for? Clues at <http://www.kernel.org/doc/man-pages/online/pages/man7/feature_test_macros.7.html>
254 Discover whether it's still necessary and if so, document why. */
255#define _REENTRANT
256
257
252#else 258#else
253#error "Unable to detect target platform" 259#error "Unable to detect target platform"
254#endif 260#endif