19 |
Boston, MA 02111-1307, USA. */ |
Boston, MA 02111-1307, USA. */ |
20 |
|
|
21 |
|
|
22 |
/* The following line tells the configuration script what sort of |
/* The following line tells the configuration script what sort of |
23 |
operating system this machine is likely to run. |
operating system this machine is likely to run. |
24 |
USUAL-OPSYS="note" |
USUAL-OPSYS="note" |
25 |
|
|
29 |
|
|
30 |
*/ |
*/ |
31 |
|
|
|
#define BITS_PER_LONG 64 |
|
|
#define BITS_PER_EMACS_INT 64 |
|
32 |
#ifndef _LP64 |
#ifndef _LP64 |
33 |
#define _LP64 /* This doesn't appear to be necessary |
#define _LP64 /* This doesn't appear to be necessary |
34 |
on OSF 4/5 -- fx. */ |
on OSF 4/5 -- fx. */ |
54 |
|
|
55 |
/* Use type EMACS_INT rather than a union, to represent Lisp_Object */ |
/* Use type EMACS_INT rather than a union, to represent Lisp_Object */ |
56 |
/* This is desirable for most machines. */ |
/* This is desirable for most machines. */ |
|
|
|
57 |
#define NO_UNION_TYPE |
#define NO_UNION_TYPE |
58 |
|
|
|
/* Define the type to use. */ |
|
|
#define EMACS_INT long |
|
|
#define EMACS_UINT unsigned long |
|
|
#define SPECIAL_EMACS_INT |
|
|
|
|
59 |
/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend |
/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend |
60 |
the 24-bit bit field into an int. In other words, if bit fields |
the 24-bit bit field into an int. In other words, if bit fields |
61 |
are always unsigned. |
are always unsigned. |
105 |
#ifdef __ELF__ |
#ifdef __ELF__ |
106 |
#undef UNEXEC |
#undef UNEXEC |
107 |
#define UNEXEC unexelf.o |
#define UNEXEC unexelf.o |
108 |
|
#ifndef LINUX |
109 |
|
#define DATA_START 0x140000000 |
110 |
|
#endif |
111 |
#endif |
#endif |
112 |
|
|
113 |
#ifndef __ELF__ |
#ifndef __ELF__ |
117 |
#define TEXT_START 0x120000000 |
#define TEXT_START 0x120000000 |
118 |
#define DATA_START 0x140000000 |
#define DATA_START 0x140000000 |
119 |
|
|
|
/* This is necessary for mem-limits.h, so that start_of_data gives |
|
|
the correct value */ |
|
|
|
|
|
#define DATA_SEG_BITS 0x140000000 |
|
|
|
|
120 |
/* The program to be used for unexec. */ |
/* The program to be used for unexec. */ |
121 |
|
|
122 |
#define UNEXEC unexalpha.o |
#define UNEXEC unexalpha.o |
123 |
|
|
124 |
#endif /* notdef __ELF__ */ |
#endif /* notdef __ELF__ */ |
125 |
|
|
|
#ifdef OSF1 |
|
|
#define ORDINARY_LINK |
|
|
|
|
|
/* Some systems seem to have this, others don't. */ |
|
|
#ifdef HAVE_LIBDNET |
|
|
#define LIBS_MACHINE -ldnet |
|
|
#else |
|
|
#define LIBS_MACHINE -ldnet_stub |
|
|
#endif |
|
|
#endif /* OSF1 */ |
|
|
|
|
|
#if 0 /* Rainer Schoepf <schoepf@uni-mainz.de> says this loses with X11R6 |
|
|
since it has only shared libraries. */ |
|
|
#ifndef __GNUC__ |
|
|
/* This apparently is for the system ld as opposed to Gnu ld. */ |
|
|
#ifdef OSF1 |
|
|
#define LD_SWITCH_MACHINE -non_shared |
|
|
#endif |
|
|
#endif |
|
|
#endif /* 0 */ |
|
|
|
|
|
#ifdef OSF1 |
|
|
#define LIBS_DEBUG |
|
|
#define START_FILES pre-crt0.o |
|
|
#endif |
|
|
|
|
126 |
#if defined (LINUX) && __GNU_LIBRARY__ - 0 < 6 |
#if defined (LINUX) && __GNU_LIBRARY__ - 0 < 6 |
127 |
/* This controls a conditional in main. */ |
/* This controls a conditional in main. */ |
128 |
#define LINUX_SBRK_BUG |
#define LINUX_SBRK_BUG |
129 |
#endif |
#endif |
130 |
|
|
|
|
|
|
#define PNTR_COMPARISON_TYPE unsigned long |
|
|
|
|
|
/* On the 64 bit architecture, we can use 60 bits for addresses */ |
|
|
|
|
|
#define VALBITS 60 |
|
|
|
|
|
|
|
|
/* This definition of MARKBIT is necessary because of the comparison of |
|
|
ARRAY_MARK_FLAG and MARKBIT in an #if in lisp.h, which cpp doesn't like. */ |
|
|
|
|
|
#define MARKBIT 0x8000000000000000L |
|
|
|
|
|
|
|
|
/* Define XINT and XUINT so that they can take arguments of type int */ |
|
|
|
|
|
#define XINT(a) (((long) (a) << (BITS_PER_LONG - VALBITS)) >> (BITS_PER_LONG - VALBITS)) |
|
|
#define XUINT(a) ((long) (a) & VALMASK) |
|
|
|
|
|
/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ |
|
|
|
|
|
#define XPNTR(a) XUINT (a) |
|
|
|
|
|
#ifndef NOT_C_CODE |
|
|
/* We need these because pointers are larger than the default ints. */ |
|
|
#if !defined(__NetBSD__) && !defined(__OpenBSD__) |
|
|
#include <alloca.h> |
|
|
#endif |
|
|
|
|
|
#endif /* not NOT_C_CODE */ |
|
|
|
|
|
#ifdef OSF1 |
|
|
#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ |
|
|
#define PTY_NAME_SPRINTF /* none */ |
|
|
#define PTY_TTY_NAME_SPRINTF /* none */ |
|
|
#define PTY_OPEN \ |
|
|
do \ |
|
|
{ \ |
|
|
int dummy; \ |
|
|
SIGMASKTYPE mask; \ |
|
|
mask = sigblock (sigmask (SIGCHLD)); \ |
|
|
if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ |
|
|
fd = -1; \ |
|
|
sigsetmask (mask); \ |
|
|
emacs_close (dummy); \ |
|
|
} \ |
|
|
while (0) |
|
|
#endif |
|
|
|
|
131 |
/* On the Alpha it's best to avoid including TERMIO since struct |
/* On the Alpha it's best to avoid including TERMIO since struct |
132 |
termio and struct termios are mutually incompatible. */ |
termio and struct termios are mutually incompatible. */ |
133 |
#define NO_TERMIO |
#define NO_TERMIO |