mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-03 11:33:37 +00:00
Initial revision
This commit is contained in:
parent
8785500682
commit
30fe07a62d
166
src/m/att3b.h
Normal file
166
src/m/att3b.h
Normal file
@ -0,0 +1,166 @@
|
||||
/* Machine-dependent configuration for GNU Emacs for AT&T 3b machines.
|
||||
Copyright (C) 1986 Free Software Foundation, Inc.
|
||||
|
||||
Modified by David Robinson (daver@csvax.caltech.edu) 6/6/86
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 1, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="usg5-2-2" */
|
||||
|
||||
/* The following three symbols give information on
|
||||
the size of various data types. */
|
||||
|
||||
#define SHORTBITS 16 /* Number of bits in a short */
|
||||
|
||||
#define INTBITS 32 /* Number of bits in an int */
|
||||
|
||||
#define LONGBITS 32 /* Number of bits in a long */
|
||||
|
||||
/* Define BIG_ENDIAN iff lowest-numbered byte in a word
|
||||
is the most significant byte. */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
|
||||
* group of arguments and treat it as an array of the arguments. */
|
||||
|
||||
/* #define NO_ARG_ARRAY */
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
/* #define WORD_MACHINE */
|
||||
|
||||
/* Define how to take a char and sign-extend into an int.
|
||||
On machines where char is signed, this is a no-op. */
|
||||
/* The 3b20 doesn't sign extend characters OR ints, so
|
||||
right shifting an int loses the sign bit */
|
||||
#define SIGN_EXTEND_CHAR(c) (((sign_extend_temp=(c)) & 0x80) \
|
||||
? (sign_extend_temp | 0xFFFFFF00) \
|
||||
: (sign_extend_temp))
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically */
|
||||
#define ATT3B
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
|
||||
the 24-bit bit field into an int. In other words, if bit fields
|
||||
are always unsigned.
|
||||
|
||||
If you use NO_UNION_TYPE, this flag does not matter. */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
/* #define LOAD_AVE_TYPE long */
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
/* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
|
||||
|
||||
/* Define CANNOT_DUMP on machines where unexec does not work.
|
||||
Then the function dump-emacs will not be defined
|
||||
and temacs will do (load "loadup") automatically unless told otherwise. */
|
||||
/* #define CANNOT_DUMP */
|
||||
|
||||
/* Define VIRT_ADDR_VARIES if the virtual addresses of
|
||||
pure and impure space as loaded can vary, and even their
|
||||
relative order cannot be relied on.
|
||||
|
||||
Otherwise Emacs assumes that text space precedes data space,
|
||||
numerically. */
|
||||
|
||||
/* #define VIRT_ADDR_VARIES */ /* Karl Kleinpaste says this isn't needed. */
|
||||
|
||||
/* Define C_ALLOCA if this machine does not support a true alloca
|
||||
and the one written in C should be used instead.
|
||||
Define HAVE_ALLOCA to say that the system provides a properly
|
||||
working alloca function and it should be used.
|
||||
Define neither one if an assembler-language alloca
|
||||
in the file alloca.s should be used. */
|
||||
|
||||
/* SysV has alloca in the PW library */
|
||||
|
||||
#define LIB_STANDARD -lPW -lc
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* Define NO_REMAP if memory segmentation makes it not work well
|
||||
to change the boundary between the text section and data section
|
||||
when Emacs is dumped. If you define this, the preloaded Lisp
|
||||
code will not be sharable; but that's better than failing completely. */
|
||||
|
||||
#define NO_REMAP
|
||||
|
||||
/* #define LD_SWITCH_MACHINE -N */
|
||||
|
||||
/* Use Terminfo, not Termcap. */
|
||||
|
||||
#define TERMINFO
|
||||
|
||||
/* -O has been observed to make correct C code in Emacs not work.
|
||||
So don't try to use it. */
|
||||
|
||||
#if u3b2 || u3b5 || u3b15
|
||||
#define C_OPTIMIZE_SWITCH
|
||||
#endif
|
||||
|
||||
/* Define our page size. */
|
||||
|
||||
#define NBPC 2048
|
||||
|
||||
/* The usual definition of XINT, which involves shifting, does not
|
||||
sign-extend properly on this machine. */
|
||||
|
||||
#define XINT(i) (((sign_extend_temp=(i)) & 0x00800000) \
|
||||
? (sign_extend_temp | 0xFF000000) \
|
||||
: (sign_extend_temp & 0x00FFFFFF))
|
||||
|
||||
#ifdef emacs /* Don't do this when makeing xmakefile! */
|
||||
extern int sign_extend_temp;
|
||||
#endif
|
||||
|
||||
#if u3b2 || u3b5 || u3b15
|
||||
|
||||
/* On 3b2/5/15, data space has high order bit on. */
|
||||
#define VALMASK (((1<<VALBITS) - 1) | (1 << 31))
|
||||
#define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & 0x7F))
|
||||
#define GCTYPEBITS 5
|
||||
#define XADDRFIX(a) ((a) |= 0X80000000) /* Because of high order */
|
||||
|
||||
#endif /* 3b2, 3b5 or 3b15 */
|
||||
|
||||
#define TEXT_START 0
|
||||
|
||||
|
||||
/* For alloca.c (not actually used, since HAVE_ALLOCA) */
|
||||
#define STACK_DIRECTION 1
|
||||
|
||||
/* (short) negative-int doesn't sign-extend correctly */
|
||||
#define SHORT_CAST_BUG
|
||||
|
||||
/* 3B2s with WIN/3B have winsize defined in ptem.h */
|
||||
#if u3b2
|
||||
#define NEED_PTEM_H
|
||||
#endif /* u3b2 */
|
136
src/m/ibmrs6000.h
Normal file
136
src/m/ibmrs6000.h
Normal file
@ -0,0 +1,136 @@
|
||||
/* R2 AIX machine/system dependent defines
|
||||
Copyright (C) 1988 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 1, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="aix3-1" */
|
||||
|
||||
/* The following three symbols give information on
|
||||
the size of various data types. */
|
||||
|
||||
#define SHORTBITS 16 /* Number of bits in a short */
|
||||
|
||||
#define INTBITS 32 /* Number of bits in an int */
|
||||
|
||||
#define LONGBITS 32 /* Number of bits in a long */
|
||||
|
||||
/* Define BIG_ENDIAN iff lowest-numbered byte in a word
|
||||
is the most significant byte. */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
|
||||
* group of arguments and treat it as an array of the arguments. */
|
||||
|
||||
#define NO_ARG_ARRAY
|
||||
|
||||
/* Define how to take a char and sign-extend into an int.
|
||||
On machines where char is signed, this is a no-op. */
|
||||
|
||||
#define SIGN_EXTEND_CHAR(c) ((((int) (c)) << 24) >> 24)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
#define IBMR2AIX
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Define CANNOT_DUMP on machines where unexec does not work.
|
||||
Then the function dump-emacs will not be defined
|
||||
and temacs will do (load "loadup") automatically unless told otherwise. */
|
||||
/* #define CANNOT_DUMP */
|
||||
|
||||
#define UNEXEC unexaix.o
|
||||
|
||||
/* Define addresses, macros, change some setup for dump */
|
||||
|
||||
#define NO_REMAP
|
||||
|
||||
#define TEXT_START 0x10000000
|
||||
#define TEXT_END 0
|
||||
#define DATA_START 0x20000000
|
||||
#define DATA_END 0
|
||||
|
||||
/* The data segment in this machine always starts at address 0x20000000.
|
||||
An address of data cannot be stored correctly in a Lisp object;
|
||||
we always lose the high bits. We must tell XPNTR to add them back. */
|
||||
|
||||
#define DATA_SEG_BITS 0x20000000
|
||||
|
||||
#ifdef CANNOT_DUMP
|
||||
/* Define shared memory segment symbols */
|
||||
|
||||
#define PURE_SEG_BITS 0x30000000
|
||||
|
||||
/* Use shared memory. */
|
||||
/* This is turned off because it does not always work. See etc/AIX.DUMP. */
|
||||
/* #define HAVE_SHM */
|
||||
#define SHMKEY 5305035 /* used for shared memory code segments */
|
||||
#endif /* CANNOT_DUMP */
|
||||
|
||||
#define N_BADMAG(x) BADMAG(x)
|
||||
#define N_TXTOFF(x) A_TEXTPOS(x)
|
||||
#define N_SYMOFF(x) A_SYMPOS(x)
|
||||
#define A_TEXT_OFFSET(HDR) sizeof(HDR)
|
||||
/* #define ADJUST_EXEC_HEADER \
|
||||
unexec_text_start += sizeof(hdr); \
|
||||
unexec_data_start = ohdr.a_dbase
|
||||
*/
|
||||
#undef ADDR_CORRECT
|
||||
#define ADDR_CORRECT(x) ((int)(x))
|
||||
|
||||
/* Define C_ALLOCA if this machine does not support a true alloca
|
||||
and the one written in C should be used instead.
|
||||
Define HAVE_ALLOCA to say that the system provides a properly
|
||||
working alloca function and it should be used.
|
||||
Define neither one if an assembler-language alloca
|
||||
in the file alloca.s should be used. */
|
||||
|
||||
#define C_ALLOCA
|
||||
#define STACK_DIRECTION -1 /* tell alloca.c which way it grows */
|
||||
|
||||
/* Specify the font for X to use. */
|
||||
|
||||
#define X_DEFAULT_FONT "Rom14.500"
|
||||
|
||||
/* Here override various assumptions in ymakefile */
|
||||
|
||||
#define OBJECTS_MACHINE hftctl.o
|
||||
#define C_SWITCH_MACHINE -D_BSD
|
||||
#define LIBS_MACHINE -lrts
|
||||
#define START_FILES
|
||||
#define HAVE_DUP2
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
#define HAVE_SYSVIPC
|
||||
#define HAVE_SETSID
|
||||
#define HAVE_GETWD
|
||||
/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
|
||||
#define BROKEN_FIONREAD
|
||||
|
||||
/* Don't try to include sioctl.h or ptem.h. */
|
||||
#undef NEED_SIOCTL
|
||||
#undef NEED_PTEM_H
|
||||
|
||||
#undef LINKER
|
||||
#define LINKER cc -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp
|
186
src/m/ibmrt-aix.h
Normal file
186
src/m/ibmrt-aix.h
Normal file
@ -0,0 +1,186 @@
|
||||
/* RTPC AIX machine/system dependent defines
|
||||
Copyright (C) 1988 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 1, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="usg5-2-2" */
|
||||
|
||||
/* The following three symbols give information on
|
||||
the size of various data types. */
|
||||
|
||||
#define SHORTBITS 16 /* Number of bits in a short */
|
||||
|
||||
#define INTBITS 32 /* Number of bits in an int */
|
||||
|
||||
#define LONGBITS 32 /* Number of bits in a long */
|
||||
|
||||
/* Define BIG_ENDIAN iff lowest-numbered byte in a word
|
||||
is the most significant byte. */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
|
||||
* group of arguments and treat it as an array of the arguments. */
|
||||
|
||||
#define NO_ARG_ARRAY
|
||||
|
||||
/* Define how to take a char and sign-extend into an int.
|
||||
On machines where char is signed, this is a no-op. */
|
||||
|
||||
#define SIGN_EXTEND_CHAR(c) ((((int) (c)) << 24) >> 24)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
#ifndef IBMAIX
|
||||
#define IBMAIX
|
||||
#endif
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* No load average information appears in the AIX kernel. VRM has this
|
||||
info, and if anyone desires they should fix fns.c to get it out of VRM */
|
||||
|
||||
/* Define CANNOT_DUMP on machines where unexec does not work.
|
||||
Then the function dump-emacs will not be defined
|
||||
and temacs will do (load "loadup") automatically unless told otherwise. */
|
||||
|
||||
/* #define CANNOT_DUMP */
|
||||
|
||||
/* Define addresses, macros, change some setup for dump */
|
||||
|
||||
#undef COFF
|
||||
#define NO_REMAP
|
||||
#undef static
|
||||
/* Since NO_REMAP, problem with statics doesn't exist */
|
||||
|
||||
#define TEXT_START 0x10000000
|
||||
#define TEXT_END 0
|
||||
#define DATA_START 0x20000000
|
||||
#define DATA_END 0
|
||||
|
||||
/* The data segment in this machine always starts at address 0x20000000.
|
||||
An address of data cannot be stored correctly in a Lisp object;
|
||||
we always lose the high bits. We must tell XPNTR to add them back. */
|
||||
|
||||
#define DATA_SEG_BITS 0x20000000
|
||||
|
||||
#define N_BADMAG(x) BADMAG(x)
|
||||
#define N_TXTOFF(x) A_TEXTPOS(x)
|
||||
#define N_SYMOFF(x) A_SYMPOS(x)
|
||||
#define A_TEXT_OFFSET(HDR) sizeof(HDR)
|
||||
#define ADJUST_EXEC_HEADER \
|
||||
unexec_text_start += sizeof(hdr); \
|
||||
unexec_data_start = ohdr.a_dbase
|
||||
#undef ADDR_CORRECT
|
||||
#define ADDR_CORRECT(x) ((int)(x))
|
||||
|
||||
/* This is the offset of the executable's text, from the start of the file. */
|
||||
|
||||
#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
|
||||
|
||||
/* Define C_ALLOCA if this machine does not support a true alloca
|
||||
and the one written in C should be used instead.
|
||||
Define HAVE_ALLOCA to say that the system provides a properly
|
||||
working alloca function and it should be used.
|
||||
Define neither one if an assembler-language alloca
|
||||
in the file alloca.s should be used. */
|
||||
|
||||
#define C_ALLOCA
|
||||
#define STACK_DIRECTION -1 /* tell alloca.c which way it grows */
|
||||
|
||||
/* AIX has PTYs, so define here, along with macros needed to make them work. */
|
||||
|
||||
#define HAVE_PTYS
|
||||
#define PTY_ITERATION for (i=0; i<256; i++)
|
||||
#define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptc%d", i);
|
||||
|
||||
#define PTY_TTY_NAME_SPRINTF \
|
||||
{ /* Check that server side not already open */ \
|
||||
if ((ioctl (*ptyv, PTYSTATUS, 0) & 0xFFFF) != 0) \
|
||||
{ \
|
||||
close (*ptyv); \
|
||||
continue; \
|
||||
} \
|
||||
/* And finally to be sure we can open it later */ \
|
||||
sprintf (ptyname, "/dev/pts%d", i); \
|
||||
signal (SIGHUP,SIG_IGN); \
|
||||
} /* ignore hangup at process end */
|
||||
|
||||
/* TIOCNOTTY doesn't occur on AIX, but the rest
|
||||
of the conditionalized code in process.c does
|
||||
the right thing if we fake this out. */
|
||||
#define TIOCNOTTY IOCTYPE
|
||||
|
||||
/* AIX has IPC. It also has sockets, and either can be used for client/server.
|
||||
I would suggest the client/server code be changed to use HAVE_SOCKETS rather
|
||||
than BSD as the conditional if sockets provide any advantages. */
|
||||
|
||||
#define HAVE_SYSVIPC
|
||||
|
||||
/* AIX has sockets */
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
/* #define SKTPAIR */ /* SKTPAIR works, but what is advantage over pipes? */
|
||||
|
||||
/* Specify the font for X to use. */
|
||||
|
||||
#define X_DEFAULT_FONT "Rom14.500"
|
||||
|
||||
/* Here override various assumptions in ymakefile */
|
||||
|
||||
/* On AIX 2.2.1, use these definitions instead
|
||||
#define C_SWITCH_MACHINE -I/usr/include -Nn2000
|
||||
#define LIBS_MACHINE -lX -lrts
|
||||
*/
|
||||
|
||||
#define C_SWITCH_MACHINE -I/usr/include -I/usr/include/bsd -Nn2000
|
||||
#define LIBS_MACHINE -lXMenu -lX -lsock -lbsd -lrts
|
||||
|
||||
#define OBJECTS_MACHINE hftctl.o
|
||||
#define START_FILES /lib/crt0.o
|
||||
/* -lXMenu, -lX must precede -lsock, -lbsd */
|
||||
#define LD_SWITCH_MACHINE -n -T0x10000000 -K -e start
|
||||
|
||||
#if 0 /* I refuse to promulgate a recommendation that would make
|
||||
users unable to debug - RMS. */
|
||||
/* delete the following line to foil optimization, enable debugging */
|
||||
#define C_DEBUG_SWITCH -O
|
||||
#endif
|
||||
|
||||
|
||||
/* Setup to do some things BSD way - these won't work previous to AIX 2.1.2 */
|
||||
|
||||
#include </usr/include/bsd/BSDtoAIX.h>
|
||||
#define BSTRING
|
||||
#define HAVE_DUP2
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
#define HAVE_SELECT
|
||||
#define HAVE_TIMEVAL
|
||||
#define HAVE_VFORK
|
||||
|
||||
/* But don't use utimes() -- it causes SIGSEGV! Use utime() instead. */
|
||||
#define USE_UTIME
|
||||
|
||||
/* AIX defines FIONREAD, but it does not work. */
|
||||
#define BROKEN_FIONREAD
|
139
src/m/ibmrt.h
Normal file
139
src/m/ibmrt.h
Normal file
@ -0,0 +1,139 @@
|
||||
/* RTPC machine dependent defines
|
||||
Copyright (C) 1986 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 1, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="bsd4-2" */
|
||||
|
||||
/* The following three symbols give information on
|
||||
the size of various data types. */
|
||||
|
||||
#define SHORTBITS 16 /* Number of bits in a short */
|
||||
|
||||
#define INTBITS 32 /* Number of bits in an int */
|
||||
|
||||
#define LONGBITS 32 /* Number of bits in a long */
|
||||
|
||||
/* Define BIG_ENDIAN iff lowest-numbered byte in a word
|
||||
is the most significant byte. */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
|
||||
* group of arguments and treat it as an array of the arguments. */
|
||||
|
||||
#define NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#define WORD_MACHINE
|
||||
|
||||
/* Define how to take a char and sign-extend into an int.
|
||||
On machines where char is signed, this is a no-op. */
|
||||
|
||||
#define SIGN_EXTEND_CHAR(c) ((signed char)(c))
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
#define ibmrt
|
||||
#define romp /* unfortunately old include files are hanging around. */
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
|
||||
the 24-bit bit field into an int. In other words, if bit fields
|
||||
are always unsigned.
|
||||
|
||||
If you use NO_UNION_TYPE, this flag does not matter. */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double /* For AIS (sysV) */
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0)
|
||||
|
||||
/* Define CANNOT_DUMP on machines where unexec does not work.
|
||||
Then the function dump-emacs will not be defined
|
||||
and temacs will do (load "loadup") automatically unless told otherwise. */
|
||||
|
||||
/* #define CANNOT_DUMP */
|
||||
|
||||
/* Define VIRT_ADDR_VARIES if the virtual addresses of
|
||||
pure and impure space as loaded can vary, and even their
|
||||
relative order cannot be relied on.
|
||||
|
||||
Otherwise Emacs assumes that text space precedes data space,
|
||||
numerically. */
|
||||
|
||||
#undef VIRT_ADDR_VARIES
|
||||
|
||||
/* Define C_ALLOCA if this machine does not support a true alloca
|
||||
and the one written in C should be used instead.
|
||||
Define HAVE_ALLOCA to say that the system provides a properly
|
||||
working alloca function and it should be used.
|
||||
Define neither one if an assembler-language alloca
|
||||
in the file alloca.s should be used. */
|
||||
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* The data segment in this machine starts at a fixed address.
|
||||
An address of data cannot be stored correctly in a Lisp object;
|
||||
we always lose the high bits. We must tell XPNTR to add them back. */
|
||||
|
||||
#define DATA_SEG_BITS 0x10000000
|
||||
#define DATA_START 0x10000000
|
||||
|
||||
/* The text segment always starts at a fixed address.
|
||||
This way we don't need to have a label _start defined. */
|
||||
#define TEXT_START 0
|
||||
|
||||
#define VALBITS 26
|
||||
#define GCTYPEBITS 5
|
||||
|
||||
/* Taking a pointer to a char casting it as int pointer */
|
||||
/* and then taking the int which the int pointer points to */
|
||||
/* is practically guaranteed to give erroneous results */
|
||||
|
||||
#define NEED_ERRNO
|
||||
|
||||
#define SKTPAIR
|
||||
|
||||
/* BSD has BSTRING. */
|
||||
|
||||
#define BSTRING
|
||||
|
||||
/* Special switches to give the C compiler. */
|
||||
|
||||
#define C_SWITCH_MACHINE -Dalloca=_Alloca
|
||||
|
||||
/* Don't attempt to relabel some of the data as text when dumping.
|
||||
It does not work because their virtual addresses are not consecutive.
|
||||
This enables us to use the standard crt0.o. */
|
||||
|
||||
#define NO_REMAP
|
Loading…
Reference in New Issue
Block a user