mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-26 07:33:47 +00:00
Initial revision
This commit is contained in:
parent
20a8832d84
commit
20c428fd9d
91
src/m/7300.h
Normal file
91
src/m/7300.h
Normal file
@ -0,0 +1,91 @@
|
||||
/* machine description file for AT&T UNIX PC model 7300
|
||||
Copyright (C) 1986 Free Software Foundation, Inc.
|
||||
Modified for this machine by mtxinu!rtech!gonzo!daveb
|
||||
|
||||
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" */
|
||||
|
||||
/* Supposedly now these machines have flexnames.
|
||||
|
||||
/* # define SHORTNAMES */
|
||||
|
||||
|
||||
/* 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
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000 are the ones defined so far. */
|
||||
|
||||
# ifndef mc68k
|
||||
# define mc68k
|
||||
# endif
|
||||
#ifndef m68k
|
||||
#define m68k
|
||||
#endif
|
||||
|
||||
/* Cause crt0.c to define errno. */
|
||||
|
||||
#define NEED_ERRNO
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
/* These are commented out since it is not supported by this machine. */
|
||||
|
||||
/* #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) */
|
||||
|
||||
#define SWITCH_ENUM_BUG
|
||||
|
||||
/* These three lines were new in 18.50. They were said to permit
|
||||
a demand-paged executable, but someone else says they don't work.
|
||||
Someone else says they do. They didn't work because errno was an
|
||||
initialized variable in crt0.c, and because of %splimit (also therein),
|
||||
both of which have been fixed now. */
|
||||
#define SECTION_ALIGNMENT 0x03ff
|
||||
#define SEGMENT_MASK 0xffff
|
||||
#define LD_SWITCH_MACHINE -z
|
147
src/m/alliant.h
Normal file
147
src/m/alliant.h
Normal file
@ -0,0 +1,147 @@
|
||||
/* alliant.h Alliant machine running system version 2 or 3.
|
||||
Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
|
||||
Note that for version 1 of the Alliant system
|
||||
you should use alliant1.h instead of this file.
|
||||
Use alliant4.h for version 4.
|
||||
|
||||
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. */
|
||||
|
||||
#ifdef ALLIANT_1
|
||||
#define NO_ARG_ARRAY
|
||||
#endif
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
|
||||
#define ALLIANT
|
||||
|
||||
/* 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. */
|
||||
/* On Alliants, bitfields are unsigned. */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* No load average information available for Alliants. */
|
||||
|
||||
#undef LOAD_AVE_TYPE
|
||||
#undef LOAD_AVE_CVT
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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. */
|
||||
|
||||
#undef C_ALLOCA
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
#ifdef ALLIANT_1
|
||||
#define C_ALLOCA
|
||||
#undef HAVE_ALLOCA
|
||||
#endif /* ALLIANT_1 */
|
||||
|
||||
/* 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. */
|
||||
/* Actually, Alliant CONCENTRIX does paging "right":
|
||||
data pages are copy-on-write, which means that the pure data areas
|
||||
are shared automatically and remapping is not necessary. */
|
||||
|
||||
#define NO_REMAP
|
||||
|
||||
/* Alliant needs special crt0.o because system version is not reentrant */
|
||||
|
||||
#define START_FILES crt0.o
|
||||
|
||||
/* Alliant dependent code for dumping executing image.
|
||||
See crt0.c code for alliant. */
|
||||
|
||||
#define ADJUST_EXEC_HEADER {\
|
||||
extern int _curbrk, _setbrk;\
|
||||
_setbrk = _curbrk;\
|
||||
hdr.a_bss_addr = bss_start;\
|
||||
unexec_text_start = hdr.a_text_addr;}
|
||||
|
||||
/* cc screws up on long names. Try making cpp replace them. */
|
||||
|
||||
#ifdef ALLIANT_1
|
||||
#define Finsert_abbrev_table_description Finsert_abbrev_table_descrip
|
||||
#define internal_with_output_to_temp_buffer internal_with_output_to_tem
|
||||
#endif
|
||||
|
||||
/* "vector" is a typedef in /usr/include/machine/reg.h, so its use as
|
||||
a variable name causes errors when compiling under ANSI C. */
|
||||
|
||||
#define vector xxvector
|
77
src/m/altos.h
Normal file
77
src/m/altos.h
Normal file
@ -0,0 +1,77 @@
|
||||
/* altos machine description file Altos 3068 Unix System V Release 2
|
||||
Copyright (C) 1985, 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="usg5-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 */
|
||||
|
||||
/* Vax is not big-endian: lowest numbered byte is least significant,
|
||||
but 68000's are. */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
#define LIB_STANDARD -lc
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define alloca __builtin_alloca
|
||||
#define HAVE_ALLOCA
|
||||
#else
|
||||
#define C_ALLOCA /* we have -lPW and alloca but it's broken!
|
||||
<vsedev!ron> */
|
||||
#endif
|
||||
|
||||
#define SWITCH_ENUM_BUG
|
||||
|
||||
#define NO_REMAP
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
#undef TERMINFO
|
||||
|
||||
#undef CANNOT_DUMP
|
||||
#undef SHORTNAMES
|
||||
#define TERMCAP
|
||||
|
||||
#define LIBS_TERMCAP -ltermlib
|
||||
#define PURESIZE 220000
|
||||
#define ALTOS
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define COFF_ENCAPSULATE
|
||||
#endif
|
171
src/m/amdahl.h
Normal file
171
src/m/amdahl.h
Normal file
@ -0,0 +1,171 @@
|
||||
/* amdahl machine description file
|
||||
Copyright (C) 1987 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. */
|
||||
|
||||
/*
|
||||
This file for amdahl_uts created by modifying the template.h
|
||||
by Jishnu Mukerji 3/1/87
|
||||
|
||||
The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="usg5-2-2"
|
||||
|
||||
This file works with the Amdahl uts native C compiler. The 5.2u370
|
||||
compiler is so brain damaged that it is not even worth trying to use it.
|
||||
*/
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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 /* not actually used anywhere yet! */
|
||||
|
||||
/* 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) (((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:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
|
||||
/* uts gets defined automatically */
|
||||
/* However for clarity define amdahl_uts */
|
||||
#define amdahl_uts
|
||||
|
||||
/* 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)*/
|
||||
|
||||
/* 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*/
|
||||
|
||||
/* 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 HAVE_ALLOCA */
|
||||
|
||||
#ifdef HAVE_ALLOCA
|
||||
#define LIB_STANDARD -lPW -lc
|
||||
#endif
|
||||
|
||||
/* 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 TERMINFO
|
||||
|
||||
/* 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 making xmakefile! */
|
||||
extern int sign_extend_temp;
|
||||
#endif
|
||||
|
||||
/* The following needed to load the proper crt0.o and to get the
|
||||
proper declaration of data_start in the #undef NO_REMAP case */
|
||||
|
||||
#ifndef NO_REMAP
|
||||
#define START_FILES pre-crt0.o /lib/crt0.o
|
||||
#endif
|
||||
|
||||
/* Perhaps this means that the optimizer isn't safe to use. */
|
||||
|
||||
#define C_OPTIMIZE_SWITCH
|
||||
|
||||
/* Put text and data on non-segment boundary; makes image smaller */
|
||||
|
||||
#define LD_SWITCH_MACHINE -N
|
||||
|
||||
/* When writing the 'xemacs' file, make text segment ro */
|
||||
#define EXEC_MAGIC 0410
|
||||
|
||||
/* Mask for address bits within a memory segment */
|
||||
#define SEGSIZ 0x10000 /* Should this not be defined elsewhere ? */
|
||||
#define SEGMENT_MASK (SEGSIZ - 1)
|
||||
|
||||
/* Tell alloca.c which direction stack grows. */
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* Compensate for error in signal.h. */
|
||||
#if NSIG==19
|
||||
#undef NSIG
|
||||
#define NSIG 20
|
||||
#endif
|
101
src/m/apollo.h
Normal file
101
src/m/apollo.h
Normal file
@ -0,0 +1,101 @@
|
||||
/* machine description file for Apollo machine.
|
||||
Copyright (C) 1985, 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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
/* #define m68000 */ /* Done by the C compiler */
|
||||
|
||||
#define APOLLO
|
||||
|
||||
/* Assume we use s-bsd4-3.h for system version 10. */
|
||||
|
||||
#ifdef BSD4_3
|
||||
#define APOLLO_SR10
|
||||
#endif
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT
|
||||
since there is no /dev/kmem */
|
||||
|
||||
/* Define CANNOT_DUMP because it is impossible to dump. */
|
||||
|
||||
#define CANNOT_DUMP
|
||||
|
||||
/* Define VIRT_ADDR_VARIES because the virtual addresses of
|
||||
pure and impure space as loaded can vary, and even their
|
||||
relative order cannot be relied on. */
|
||||
|
||||
#define VIRT_ADDR_VARIES
|
||||
|
||||
/* Define HAVE_ALLOCA because we use the system's version of alloca. */
|
||||
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* DN460 has a 28 bit virtual address space, and 26 bits are often used */
|
||||
|
||||
#define VALBITS 26
|
||||
#define GCTYPEBITS 5
|
||||
|
||||
/* Prevent -lg from being used for debugging. Not needed. */
|
||||
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/* Must use the system's termcap. It does special things. */
|
||||
|
||||
#define LIBS_TERMCAP -ltermcap
|
||||
|
||||
/* Must use the system's malloc and alloca. */
|
||||
|
||||
#define SYSTEM_MALLOC
|
||||
|
||||
/* No crt0 is needed, but control where environ is allocated. */
|
||||
|
||||
#define START_FILES pre-crt0.o
|
||||
|
||||
/* Apollo's bcopy said to lose on more than 16k bytes in SR9.5. */
|
||||
|
||||
#ifndef APOLLO_SR10
|
||||
#undef BSTRING
|
||||
#endif
|
150
src/m/aviion.h
Normal file
150
src/m/aviion.h
Normal file
@ -0,0 +1,150 @@
|
||||
/* machine description file for Data General AViiON.
|
||||
Copyright (C) 1985, 1986, 1991 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 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) (c)
|
||||
|
||||
/* Define DATA_SEG_BITS if pointers need to be corrected with
|
||||
a segment field. */
|
||||
|
||||
#ifdef FIX_ADDRESS
|
||||
#define DATA_SEG_BITS 0xef000000
|
||||
#endif
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
#ifndef m88k
|
||||
#define m88k
|
||||
#endif
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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 HAVE_ALLOCA
|
||||
#define alloca(x) __builtin_alloca(x)
|
||||
|
||||
/* 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
|
||||
|
||||
/* Use 26 bits instead of 24 for internal pointer values */
|
||||
|
||||
#define VALBITS 26
|
||||
#define GCTYPEBITS 5
|
||||
|
||||
/* Define ADDR_CORRECT(ADDR) to be a macro to correct an int which is
|
||||
the bit pattern of a pointer to a byte into an int which is the
|
||||
number of a byte.
|
||||
|
||||
This macro has a default definition which is usually right.
|
||||
This default definition is a no-op on most machines (where a
|
||||
pointer looks like an int) but not on all machines. */
|
||||
|
||||
#define ADDR_CORRECT(ADDR) ((int)ADDR)
|
||||
|
||||
/* Cast pointers to this type to compare them. */
|
||||
|
||||
#define PNTR_COMPARISON_TYPE void *
|
||||
|
||||
/* Some machines that use COFF executables require that each section
|
||||
start on a certain boundary *in the COFF file*. Such machines should
|
||||
define SECTION_ALIGNMENT to a mask of the low-order bits that must be
|
||||
zero on such a boundary. This mask is used to control padding between
|
||||
segments in the COFF file.
|
||||
|
||||
If SECTION_ALIGNMENT is not defined, the segments are written
|
||||
consecutively with no attempt at alignment. This is right for
|
||||
unmodified system V. */
|
||||
|
||||
#define SECTION_ALIGNMENT 0x7
|
||||
|
73
src/m/celerity.h
Normal file
73
src/m/celerity.h
Normal file
@ -0,0 +1,73 @@
|
||||
/* machine description file for Celerity.
|
||||
Copyright (C) 1985, 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
|
||||
|
||||
/* XINT must explicitly sign extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* celerity preprocessor defines "accel", however the following is clearer */
|
||||
#define celerity
|
||||
|
||||
/* #define NO_UNION_TYPE would be preferable,
|
||||
but it does not work, and the reason is not yet known. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
/* A machine-specific loader switch is needed. */
|
||||
|
||||
#define LD_SWITCH_MACHINE -k100000
|
||||
|
||||
/* alloca is provided by the system. */
|
||||
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* (short) negative-int doesn't sign-extend correctly */
|
||||
#define SHORT_CAST_BUG
|
117
src/m/clipper.h
Normal file
117
src/m/clipper.h
Normal file
@ -0,0 +1,117 @@
|
||||
/* machine description file for clipper
|
||||
Copyright (C) 1985, 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 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) ((((int) (c)) << 24) >> 24)
|
||||
/* #define SIGN_EXTEND_CHAR(c) (c) */
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically */
|
||||
|
||||
#define clipper 1
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* crt0.c should define a symbol `start' and do .globl with a dot. */
|
||||
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* USG systems I know of running on Vaxes do not actually
|
||||
support the load average, so disable it for them. */
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((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. */
|
||||
|
||||
/* #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. */
|
||||
|
||||
#define C_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 */
|
||||
|
||||
#ifdef USG
|
||||
#define TEXT_START 0
|
||||
#endif /* USG */
|
||||
|
||||
#define LD_TEXT_START_ADDR 8000
|
124
src/m/cnvrgnt.h
Normal file
124
src/m/cnvrgnt.h
Normal file
@ -0,0 +1,124 @@
|
||||
/* machine description file for convergent S series.
|
||||
Copyright (C) 1989 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 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
#define m68000
|
||||
|
||||
/* 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.
|
||||
These are commented out since it is not supported by this machine. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((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 C_ALLOCA
|
||||
#undef 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
|
||||
|
||||
/* Change some things to avoid bugs in compiler. */
|
||||
|
||||
#define SWITCH_ENUM_BUG
|
||||
|
||||
/* fork(2) and vfork() are the same here. */
|
||||
|
||||
#define HAVE_VFORK
|
||||
|
||||
/* grows towards lower addresses. */
|
||||
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* some errno.h's don't actually allocate the variable itself.
|
||||
Cause crt0.c to define errno. */
|
||||
|
||||
#define NEED_ERRNO
|
173
src/m/convex.h
Normal file
173
src/m/convex.h
Normal file
@ -0,0 +1,173 @@
|
||||
/* machine description file for convex C1.
|
||||
Copyright (C) 1987 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-3" */
|
||||
|
||||
/* 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.
|
||||
* Maybe it would be better to simply correct the code. */
|
||||
|
||||
#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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
/* convex already defined... */
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
|
||||
|
||||
#define CRT0_DUMMIES
|
||||
|
||||
/* crt0.c should define a symbol `start' and do .globl with a dot. */
|
||||
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) (int) ((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. */
|
||||
|
||||
/*#define 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 C_ALLOCA*/
|
||||
#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 */
|
||||
|
||||
/* Addresses on the Convex have the high bit set. */
|
||||
#define DATA_SEG_BITS (1 << (INTBITS-1))
|
||||
|
||||
/* Right shift is logical shift.
|
||||
And the usual way of handling such machines, which involves
|
||||
copying the number into sign_extend_temp, does not work
|
||||
for reasons as yet unknown. */
|
||||
|
||||
#define XINT(a) sign_extend_lisp_int (a)
|
||||
|
||||
/* Convex uses a special version of unexec. */
|
||||
|
||||
#define UNEXEC unexconvex.o
|
||||
|
||||
/* you gotta define 'COFF' for post 6.1 unexec. */
|
||||
|
||||
#define COFF
|
||||
#define TEXT_START 0x80001000
|
||||
|
||||
/* Posix stuff for Convex OS 8.1 and up. */
|
||||
|
||||
#define C_SWITCH_MACHINE -pcc
|
||||
#define LD_SWITCH_MACHINE \
|
||||
-e__start -L /usr/lib \
|
||||
'-A__iob=___ap$$iob' '-A_use_libc_sema=___ap$$use_libc_sema'
|
||||
|
||||
/* Use setsid when starting up inferiors. */
|
||||
#define HAVE_SETSID
|
||||
|
||||
/* Use <dirent.h>. */
|
||||
#define SYSV_SYSTEM_DIR
|
||||
#define HAVE_CLOSEDIR
|
||||
|
||||
#ifdef _POSIX_SOURCE
|
||||
|
||||
/* These symbols have been undefined to advance the state of the art. */
|
||||
|
||||
#define S_IFMT _S_IFMT
|
||||
#define S_IFDIR _S_IFDIR
|
||||
|
||||
#define S_IREAD _S_IREAD
|
||||
#define S_IWRITE _S_IWRITE
|
||||
#define S_IEXEC _S_IEXEC
|
||||
|
||||
#endif
|
||||
|
||||
/* Ptys may start below ptyp0; call a routine to hunt for where. */
|
||||
|
||||
#undef FIRST_PTY_LETTER
|
||||
#define FIRST_PTY_LETTER first_pty_letter()
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* Force a K&R compilation and libraries with the Convex V 4.0 C compiler
|
||||
*/
|
||||
#define C_SWITCH_MACHINE -pcc
|
||||
#define LIB_STANDARD -lc_old
|
||||
#define LIBS_MACHINE -lC2_old
|
||||
#define LD_SWITCH_MACHINE -X -NL -fn -Enoposix -A__iob=___ap\$$iob \
|
||||
-A_use_libc_sema=___ap\$$use_libc_sema -L /usr/lib
|
||||
#endif
|
139
src/m/cydra5.h
Normal file
139
src/m/cydra5.h
Normal file
@ -0,0 +1,139 @@
|
||||
/* machine description file for Cydrome's CYDRA 5 mini super computer
|
||||
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-3" */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
/* 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) x
|
||||
|
||||
/* 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 data space precedes text 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 C_ALLOCA
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* The data segment in this machine always starts at address 0x10000000.
|
||||
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 DATA_START 0x20000000
|
||||
|
||||
/* 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 BROKEN_FIONREAD /* We son't even have it */
|
||||
#define LIBS_MACHINE -lsocket -lnsl
|
||||
|
||||
/* Stack grows downward in memory. */
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* The data section in a coff file must be aligned in the file. */
|
||||
#define DATA_SECTION_ALIGNMENT 0xFFF
|
||||
|
||||
/* Compiler won't allow switch (x) when x is an enum. */
|
||||
#define SWITCH_ENUM_BUG
|
||||
|
||||
|
||||
/* Explain how pty filenames work. */
|
||||
|
||||
#define PTY_ITERATION for (i = 47; i >= 0; i--)
|
||||
#define PTY_NAME_SPRINTF sprintf (ptyname, "/dev/pty%03x", i);
|
||||
#define PTY_TTY_NAME_SPRINTF sprintf (ptyname, "/dev/ptm%03x", i);
|
||||
|
||||
/* We can't do interrupt-driven input, so don't let user try. */
|
||||
|
||||
#undef SIGIO
|
168
src/m/delta.h
Normal file
168
src/m/delta.h
Normal file
@ -0,0 +1,168 @@
|
||||
/* machine description file for the Motorola delta running System V.3.
|
||||
tested on sys1147 (mvme147 - based system).
|
||||
Copyright (C) 1986 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY. No author or distributor
|
||||
accepts responsibility to anyone for the consequences of using it
|
||||
or for whether it serves any particular purpose or works at all,
|
||||
unless he says so in writing. Refer to the GNU Emacs General Public
|
||||
License for full details.
|
||||
|
||||
Everyone is granted permission to copy, modify and redistribute
|
||||
GNU Emacs, but only under the conditions described in the
|
||||
GNU Emacs General Public License. A copy of this license is
|
||||
supposed to have been given to you along with GNU Emacs so you
|
||||
can know your rights and responsibilities. It should be in a
|
||||
file named COPYING. Among other things, the copyright notice
|
||||
and this notice must be preserved on all copies. */
|
||||
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="usg5-3" */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
#define m68000
|
||||
#define NO_REMAP
|
||||
|
||||
#define HAVE_SYSVIPC
|
||||
|
||||
#define HAVE_PTYS
|
||||
#define SYSV_PTYS
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
#define SWITCH_ENUM_BUG
|
||||
/* 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 data space precedes text space,
|
||||
numerically. */
|
||||
|
||||
/* #define 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 C_ALLOCA */
|
||||
/*#define HAVE_ALLOCA */
|
||||
|
||||
#ifdef __GNUC__
|
||||
/* easy. use builtin one. also be sure that no other ones are tried out. */
|
||||
# define alloca __builtin_alloca
|
||||
# define HAVE_ALLOCA
|
||||
# undef C_ALLOCA
|
||||
#else
|
||||
# ifdef C_ALLOCA
|
||||
# define STACK_DIRECTION (-1) /* C_ALLOCA needs to know about stack. */
|
||||
# else /* C_ALLOCA */
|
||||
# ifndef HAVE_ALLOCA
|
||||
# define BAT_ALLOCA /* if not in library, alloca.s needs this. */
|
||||
# endif /* HAVE_ALLOCA */
|
||||
# endif /* C_ALLOCA */
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
/* The standard C library is -lcieee, not -lc.
|
||||
Also use the PW library, which contains alloca.
|
||||
DO NOT USE -lPW. That version of alloca is broken, at last until version
|
||||
SVR3V5.1 . -riku@field.fi */
|
||||
|
||||
#define LIB_STANDARD -lc
|
||||
|
||||
#define LIBS_TERMCAP -lcurses
|
||||
|
||||
/* define this if you want to use X11 */
|
||||
#undef HAVE_X_WINDOWS
|
||||
|
||||
#ifdef HAVE_X_WINDOWS
|
||||
/* debug switches enabled because of some difficulties w/X11 */
|
||||
# define C_DEBUG_SWITCH -g
|
||||
# define OBJECTS_MACHINE -lg
|
||||
# define C_OPTIMIZE_SWITCH
|
||||
# define CANNOT_DUMP
|
||||
/*# define XDEBUG*/
|
||||
# define X11
|
||||
/* X library implements these. */
|
||||
# define BSTRING
|
||||
/* X library is in 'nonstandard' location. */
|
||||
# define LD_SWITCH_MACHINE -L/usr/lib/X11/
|
||||
#else
|
||||
/* No sufficient justification for this. */
|
||||
/* # define C_DEBUG_SWITCH */
|
||||
# define C_OPTIMIZE_SWITCH -O
|
||||
#endif /* HAVE_X_WINDOWS */
|
||||
|
||||
/* enable batdevice-dependent code to compile. */
|
||||
#define BAT68K
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
|
||||
|
||||
|
||||
/* emacs's magic number isn't temacs's;
|
||||
temacs is writeable text (the default!). */
|
82
src/m/dual.h
Normal file
82
src/m/dual.h
Normal file
@ -0,0 +1,82 @@
|
||||
/* machine description file for Dual machines using unisoft port.
|
||||
Copyright (C) 1985 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="note"
|
||||
|
||||
NOTE-START
|
||||
Dual running System V (-machine=dual -opsystem=usg5-2)
|
||||
|
||||
As of 17.46, this works except for a few changes
|
||||
needed in unexec.c.
|
||||
|
||||
Dual running Uniplus (-machine=dual -opsystem=unipl5-2)
|
||||
|
||||
Works, as of 17.51.
|
||||
NOTE-END */
|
||||
|
||||
|
||||
/* 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
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000 are the ones defined so far. */
|
||||
|
||||
#ifndef m68000
|
||||
#define m68000
|
||||
#endif
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
/* These are commented out since it does not really work in uniplus */
|
||||
|
||||
/* #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) */
|
||||
|
||||
/* Change some things to avoid bugs in compiler */
|
||||
|
||||
#define SWITCH_ENUM_BUG 1
|
153
src/m/elxsi.h
Normal file
153
src/m/elxsi.h
Normal file
@ -0,0 +1,153 @@
|
||||
/* machine description file for Elxsi machine (running enix).
|
||||
Copyright (C) 1986 Free Software Foundation, Inc.
|
||||
Adapted by John Salmon
|
||||
|
||||
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" */
|
||||
|
||||
/* This file was modified by Matt Crawford <matt@tank.uchicago.edu>
|
||||
to work under Elxsi's 12.0 release of BSD unix. */
|
||||
|
||||
/* 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) ((int)c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
|
||||
#ifndef elxsi
|
||||
#define elxsi
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
||||
|
||||
/* Name of kernel load average variable */
|
||||
|
||||
#undef LDAV_SYMBOL
|
||||
#define LDAV_SYMBOL "avenrun"
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) (int) ((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.
|
||||
|
||||
The Elxsi can in principle dump, but the necessary changes to
|
||||
unexec, which involve byte-swapping, were too ugly to install.
|
||||
If someone submits simple code that supports dumping on the Elxsi,
|
||||
it can be installed and CANNOT_DUMP can be turned off. */
|
||||
|
||||
/* #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 */
|
||||
|
||||
/* 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 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*/
|
||||
|
||||
/* This is a guess for an alternate solution to whatever
|
||||
problem motivated defining _sobuf in sysdep,c with extern char *_sobuf. */
|
||||
#define _sobuf xsobuf
|
||||
|
||||
/* Address of start of text segment as loaded. */
|
||||
|
||||
#define TEXT_START 0x800
|
||||
|
||||
/* Tell crt0.c not to define environ. */
|
||||
|
||||
#define DONT_NEED_ENVIRON
|
||||
|
||||
/* The elxsi has no debugger, so might as well optimize instead
|
||||
of trying to make a symbol table. */
|
||||
|
||||
#define C_DEBUG_SWITCH -O
|
||||
|
||||
/* Elxsi uses COFF under both Sys V and BSD environments */
|
||||
|
||||
#define COFF
|
||||
|
||||
#define ADJUST_EXEC_HEADER {\
|
||||
extern int _init_brk;\
|
||||
_init_brk = bss_start;\
|
||||
}
|
83
src/m/gec63.h
Normal file
83
src/m/gec63.h
Normal file
@ -0,0 +1,83 @@
|
||||
/* machine description file for gec63
|
||||
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="usg5-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 */
|
||||
|
||||
/* GEC63 is big-endian: lowest numbered byte is most significant. */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* 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) (((c)<<24)>>24)
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
#define gec63
|
||||
|
||||
/* Use an int to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* GEC63 has alloca in the PW/ux63 library. */
|
||||
#define LIB_STANDARD -lPW -lc
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT
|
||||
since there is no /dev/kmem */
|
||||
|
||||
#undef ADDR_CORRECT(x)
|
||||
#define NO_ARG_ARRAY
|
||||
|
||||
#undef TERMCAP
|
||||
#define TERMINFO
|
||||
|
||||
/* Define sizes of portions of a Lisp_Object. */
|
||||
#define VALBITS 22
|
||||
#define GCTYPEBITS 5
|
||||
|
||||
#define VALAMASK (((1<<VALBITS) - 1)| 0xF0000000L)
|
||||
|
||||
#define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & GCTYPEMASK))
|
||||
#define XSETTYPE(a, b) ((a) = ((a) & VALAMASK) + ((int)(b) << VALBITS))
|
||||
|
||||
#define XPNTR(a) ((a) & VALAMASK)
|
||||
#define XSETPNTR(a, b) ((a) = ((a) & ~VALAMASK) + ((b) & VALAMASK))
|
||||
|
||||
#define XSET(var, type, ptr) \
|
||||
((var) = ((int)(type) << VALBITS) + ((int) (ptr) & VALAMASK))
|
||||
|
||||
/* Move some garbage-collector flag bits to different bit positions. */
|
||||
#define ARRAY_MARK_FLAG (1 << 27)
|
||||
#define DONT_COPY_FLAG (1 << 26)
|
||||
|
||||
#define NO_REMAP
|
208
src/m/gould.h
Normal file
208
src/m/gould.h
Normal file
@ -0,0 +1,208 @@
|
||||
/* machine description file for Gould PowerNodes with UTX/32 2.0 and 2.1.
|
||||
(See MACHINES for older versions.)
|
||||
|
||||
* NOTE: If you are running a pre-release of UTX/32 2.1 you should #define
|
||||
* RELEASE2_1 in config.h. This may also be necessary with un-updated
|
||||
* official releases of 2.1
|
||||
|
||||
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="note"
|
||||
|
||||
NOTE-START
|
||||
Gould Power Node (-machine=gould -opsystem=bsd4-2 or bsd4-3)
|
||||
(gould.h; s-bsd4-2.h or s-bsd4-3.h)
|
||||
|
||||
18.36 worked on versions 1.2 and 2.0 of the operating system.
|
||||
|
||||
On UTX/32 2.0, use -opsystem=bsd4-3
|
||||
|
||||
On UTX/32 1.2 and UTX/32S 1.0, use -opsystem=bsd4-2 and note that compiling
|
||||
lib-src/sorted-doc tickles a compiler bug: remove the -g flag to cc in the
|
||||
makefile.
|
||||
|
||||
UTX/32 1.3 has a bug in the bcopy library routine. Fix it by
|
||||
#undef BSTRING in gould.h.
|
||||
|
||||
Version 19 incorporates support for releases 2.1 and later of UTX/32.
|
||||
A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h.
|
||||
NOTE-END */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically */
|
||||
|
||||
#ifndef GOULD
|
||||
#define GOULD
|
||||
#endif
|
||||
|
||||
/* sel is an old preprocessor name on gould machines
|
||||
- it is no longer needed and interferes with a variable in xmenu.c */
|
||||
#undef sel
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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. */
|
||||
|
||||
#define 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 C_ALLOCA
|
||||
#define STACK_DIRECTION -1 /* grows towards lower addresses on Gould UTX/32 */
|
||||
|
||||
/* No need to extend the user stack. */
|
||||
|
||||
/* If this is a 2.1 system, COFF will be predefined by cpp. If it's */
|
||||
/* pre-2.1 COFF won't be defined, which is as it should be. */
|
||||
|
||||
#ifdef COFF
|
||||
|
||||
#define HEADER_INCL_IN_TEXT
|
||||
#define COFF_BSD_SYMBOLS
|
||||
|
||||
/* Seems to be necessary with coff */
|
||||
#define NO_REMAP
|
||||
|
||||
#ifndef GOULD_NP1
|
||||
/* gould-np1.h includes this file */
|
||||
/* keep the old value - don't skip over the headers */
|
||||
#define KEEP_OLD_TEXT_SCNPTR
|
||||
#define KEEP_OLD_PADDR
|
||||
#ifndef RELEASE2_1
|
||||
#define ADJUST_TEXTBASE
|
||||
#endif /*RELEASE2_1*/
|
||||
#endif /* GOULD_NP1 */
|
||||
|
||||
#ifdef IN_UNEXEC
|
||||
/* make Gould NP and PN COFF look like USG COFF */
|
||||
/* PN COFF */
|
||||
#define aouthdr old_exec
|
||||
/* PN COFF doesn't have a data_start or a_dtbase field in its */
|
||||
/* optional header, so substitute a junk field */
|
||||
#define a_dtbase a_ccvers
|
||||
/* Gould COFF */
|
||||
#define magic a_magic
|
||||
#define tsize a_text
|
||||
#define dsize a_data
|
||||
#define bsize a_bss
|
||||
#define entry a_entry
|
||||
#define text_start a_txbase
|
||||
#define data_start a_dtbase
|
||||
#endif /* IN_UNEXEC */
|
||||
|
||||
/* Define how to search all pty names.
|
||||
* This is for UTX 2.1 and greater on PN and all NP versions. It is only
|
||||
* accident that this happens to correspond to the same versions of UTX
|
||||
* as COFF does, but we'll take advantage of that here.
|
||||
*/
|
||||
|
||||
/*#define USE_PTY_PAIR*/
|
||||
|
||||
#endif /* COFF */
|
||||
|
||||
/* -g is sometimes broken on the Gould. */
|
||||
|
||||
#define C_DEBUG_SWITCH
|
||||
|
||||
/* Comparing pointers as unsigned ints tickles a bug in older compilers. */
|
||||
|
||||
#define PNTR_COMPARISON_TYPE int
|
||||
|
||||
/* The GOULD machine counts the a.out file header as part of the text. */
|
||||
|
||||
#define A_TEXT_OFFSET(HDR) sizeof (HDR)
|
||||
|
||||
/* Machine-dependent action when about to dump an executable file. */
|
||||
|
||||
#ifndef COFF
|
||||
#define ADJUST_EXEC_HEADER \
|
||||
unexec_text_start = hdr.a_txbase + sizeof (hdr);
|
||||
#endif
|
||||
|
||||
/* We use the system's crt0.o. Somehow it avoids losing
|
||||
with `environ' the way most standard crt0.o's do. */
|
||||
|
||||
#define START_FILES pre-crt0.o /lib/crt0.o
|
193
src/m/hp800.h
Normal file
193
src/m/hp800.h
Normal file
@ -0,0 +1,193 @@
|
||||
/* machine description file for hp9000 series 800 machines.
|
||||
Copyright (C) 1987 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="hpux" */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
#ifndef hp9000s800
|
||||
# define hp9000s800
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) (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. */
|
||||
|
||||
#undef 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
|
||||
|
||||
/* 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 HAVE_ALLOCA */
|
||||
|
||||
/* the data segment on this machine always starts at address 0x40000000. */
|
||||
|
||||
#define DATA_SEG_BITS 0x40000000
|
||||
|
||||
#define VALBITS 26
|
||||
#define GCTYPEBITS 5
|
||||
|
||||
#define DATA_START 0x40000000
|
||||
#define TEXT_START 0x00000000
|
||||
|
||||
#define STACK_DIRECTION 1
|
||||
|
||||
/* 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
|
||||
|
||||
/* This machine requires completely different unexec code
|
||||
which lives in a separate file. Specify the file name. */
|
||||
|
||||
#define UNEXEC unexhp9k800.o
|
||||
|
||||
#define LIBS_MACHINE
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/* Define NEED_BSDTTY if you have such. */
|
||||
|
||||
#define NEED_BSDTTY
|
||||
|
||||
/* The standard definitions of these macros would work ok,
|
||||
but these are faster because the constants are short. */
|
||||
|
||||
|
||||
#define XUINT(a) (((unsigned)(a) << INTBITS-VALBITS) >> INTBITS-VALBITS)
|
||||
|
||||
#define XSET(var, type, ptr) \
|
||||
((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << INTBITS-VALBITS) >> INTBITS-VALBITS))
|
||||
|
||||
#define XSETINT(a, b) XSET(a, XTYPE(a), b)
|
||||
#define XSETUINT(a, b) XSET(a, XTYPE(a), b)
|
||||
#define XSETPNTR(a, b) XSET(a, XTYPE(a), b)
|
||||
#define XMARKBIT(a) ((a) < 0)
|
||||
#define XSETMARKBIT(a,b) ((a) = ((b) ? (a)|MARKBIT : (a) & ~MARKBIT))
|
||||
|
||||
#if 0 /* Loses when sign bit of type field is set. */
|
||||
#define XUNMARK(a) ((a) = (((a) << INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS))
|
||||
#endif
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named _avenrun. At this time there are two major flavors
|
||||
of hp-ux (there is the s800 and s300 (s200) flavors). The
|
||||
differences are thusly moved to the corresponding machine description file.
|
||||
*/
|
||||
|
||||
/* no underscore please */
|
||||
#define LDAV_SYMBOL "avenrun"
|
||||
#define CPTIME_SYMBOL "cp_time"
|
||||
#define DKXFER_SYMBOL "dk_xfer"
|
||||
|
||||
#if 0 /* Supposedly no longer true. */
|
||||
/* In hpux, for unknown reasons, S_IFLNK is defined even though
|
||||
symbolic links do not exist.
|
||||
Make sure our conditionals based on S_IFLNK are not confused.
|
||||
|
||||
Here we assume that stat.h is included before config.h
|
||||
so that we can override it here. */
|
||||
|
||||
#undef S_IFLNK
|
||||
#endif
|
||||
|
||||
/* Define the BSTRING functions in terms of the sysV functions. */
|
||||
|
||||
#define bcopy(a,b,s) memcpy (b,a,s)
|
||||
#define bzero(a,s) memset (a,0,s)
|
||||
#define bcmp memcmp
|
||||
|
||||
/* On USG systems these have different names. */
|
||||
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
|
||||
/* Include the file bsdtty.h, since this machine has job control. */
|
||||
#define NEED_BSDTTY
|
224
src/m/hp9000s300.h
Normal file
224
src/m/hp9000s300.h
Normal file
@ -0,0 +1,224 @@
|
||||
/* machine description file for hp9000 series 200 or 300 on either HPUX or BSD.
|
||||
Copyright (C) 1985 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="note"
|
||||
|
||||
NOTE-START
|
||||
HP 9000 series 200 or 300 (-machine=hp9000s300)
|
||||
|
||||
These machines are 68000-series CPUs running HP-UX
|
||||
(a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah.
|
||||
|
||||
If you're running HP-UX, specify `-opsystem=hpux'.
|
||||
|
||||
If you're running Utah's BSD port, don't use this -machine option;
|
||||
instead, specify `-machine=hp300bsd' and `-opsystem=bsd4-3'.
|
||||
NOTE-END */
|
||||
|
||||
/* Define this symbol if you are running a version of HP-UX
|
||||
which predates version 6.5 */
|
||||
|
||||
/* #define NOMULTIPLEJOBS */
|
||||
|
||||
/* Define this symbol if you are running a version of HP-UX
|
||||
which predates version 6.01 */
|
||||
|
||||
/* #define HPUX_5 */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
#ifndef hp9000s300
|
||||
#define hp9000s300
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* For University of Utah 4.3bsd implemetation on HP300s.
|
||||
The #ifndef __GNUC__ definitions are required for the "standard" cc,
|
||||
a very old, brain-dead version of PCC. */
|
||||
|
||||
#ifdef BSD4_3
|
||||
/* Tell crt0.c that this is an ordinary 68020. */
|
||||
#undef hp9000s300
|
||||
#define CRT0_DUMMIES bogus_a6,
|
||||
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
#ifndef __GNUC__
|
||||
#define LIBS_DEBUG /* don't have -lg that works */
|
||||
#define C_DEBUG_SWITCH /* don't support -g */
|
||||
#endif
|
||||
|
||||
#undef LOAD_AVE_TYPE
|
||||
#undef LOAD_AVE_CVT
|
||||
#define LOAD_AVE_TYPE long
|
||||
#define LOAD_AVE_CVT(x) ((int) (((double) (x)) / 2048.0 * 100.0))
|
||||
|
||||
#endif /* BSD4_3 */
|
||||
|
||||
#ifndef BSD4_3
|
||||
/* The following definitions are for HPUX only. */
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named _avenrun on this machine. */
|
||||
|
||||
#define LDAV_SYMBOL "_avenrun"
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
/* This library is needed with -g, on the 200/300 only. */
|
||||
|
||||
#if !defined(__GNUC__) || defined(__HPUX_ASM__)
|
||||
#define LIBS_DEBUG /usr/lib/end.o
|
||||
#endif
|
||||
|
||||
/* The symbol FIONREAD is defined, but the feature does not work
|
||||
on the 200/300. */
|
||||
|
||||
#define BROKEN_FIONREAD
|
||||
|
||||
/* In older versions of hpux, for unknown reasons, S_IFLNK is defined
|
||||
even though symbolic links do not exist.
|
||||
Make sure our conditionals based on S_IFLNK are not confused.
|
||||
|
||||
Here we assume that stat.h is included before config.h
|
||||
so that we can override it here.
|
||||
|
||||
Version 6 of HP-UX has symbolic links. */
|
||||
|
||||
#ifdef HPUX_5
|
||||
#undef S_IFLNK
|
||||
#endif
|
||||
|
||||
/* Define the BSTRING functions in terms of the sysV functions.
|
||||
Version 6 of HP-UX supplies these in the BSD library. */
|
||||
|
||||
#ifdef HPUX_5
|
||||
#define bcopy(a,b,s) memcpy (b,a,s)
|
||||
#define bzero(a,s) memset (a,0,s)
|
||||
#define bcmp memcmp
|
||||
#endif
|
||||
|
||||
/* On USG systems these have different names.
|
||||
Version 6 of HP-UX supplies these in the BSD library. */
|
||||
|
||||
#ifdef HPUX_5
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
#endif
|
||||
|
||||
/* Define C_SWITCH_MACHINE to be +X if you want the s200/300
|
||||
* Emacs to run on both 68010 and 68020 based hp-ux's.
|
||||
*
|
||||
* Define OLD_HP_ASSEMBLER if you have an ancient assembler
|
||||
*
|
||||
* Define HPUX_68010 if you are using the new assembler but
|
||||
* compiling for a s200 (upgraded) or s310. 68010 based
|
||||
* processor without 68881.
|
||||
*/
|
||||
|
||||
/* These switches increase the size of some internal C compiler tables.
|
||||
They are required for compiling the X11 interface files. */
|
||||
|
||||
#ifndef HPUX_5
|
||||
#ifndef __GNUC__
|
||||
#define C_SWITCH_MACHINE -Wc,-Nd4000,-Ns3000
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* not BSD4_3 */
|
||||
|
||||
/* Define NEED_BSDTTY if you have such. */
|
||||
|
||||
#ifndef NOMULTIPLEJOBS
|
||||
#define NEED_BSDTTY
|
||||
#endif
|
||||
|
||||
#ifndef NOT_C_CODE
|
||||
#ifndef NO_SHORTNAMES
|
||||
#include <sys/wait.h>
|
||||
#define WAITTYPE int
|
||||
#endif
|
||||
#define WRETCODE(w) (((w) >> 8) & 0377)
|
||||
#endif
|
174
src/m/ibm370aix.h
Normal file
174
src/m/ibm370aix.h
Normal file
@ -0,0 +1,174 @@
|
||||
/* ibm370.h
|
||||
For IBM 3090 type systems running AIX370.
|
||||
Concocted by Scott Schwartz <schwartz@cs.psu.edu>
|
||||
Copyright (C) 1985, 1986 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY. No author or distributor
|
||||
accepts responsibility to anyone for the consequences of using it
|
||||
or for whether it serves any particular purpose or works at all,
|
||||
unless he says so in writing. Refer to the GNU Emacs General Public
|
||||
License for full details.
|
||||
|
||||
Everyone is granted permission to copy, modify and redistribute
|
||||
GNU Emacs, but only under the conditions described in the
|
||||
GNU Emacs General Public License. A copy of this license is
|
||||
supposed to have been given to you along with GNU Emacs so you
|
||||
can know your rights and responsibilities. It should be in a
|
||||
file named COPYING. Among other things, the copyright notice
|
||||
and this notice must be preserved on all copies. */
|
||||
|
||||
|
||||
/* 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) (((c) & 0x80) ? ((c) | 0xffffff80) : (c))
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
/* high-c defines _AIX370 */
|
||||
|
||||
/* 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
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
/* XXX */
|
||||
#define LOAD_AVE_CVT(x) (int)(((double) (x)) * 100.0 / 1.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 CANNOT_UNEXEC
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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 HAVE_ALLOCA
|
||||
|
||||
#ifndef NO_SHORTNAMES
|
||||
#include <alloca.h>
|
||||
#include <setjmp.h>
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
||||
/* Don't try to include sioctl.h. */
|
||||
#undef NEED_SIOCTL
|
||||
/* That probably means we shouldn't try ptem.h either. */
|
||||
#undef NEED_PTEM_H
|
||||
|
||||
/* Note we do not define IBMAIX, since the `hft' features
|
||||
don't exist on this machine. */
|
||||
|
||||
#define LIBS_DEBUG -lg
|
||||
#ifndef LD_SWITCH_SYSTEM
|
||||
#define LD_SWITCH_SYSTEM
|
||||
#endif
|
||||
|
||||
#define LIBS_SYSTEM -lbsd
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named _avenrun. */
|
||||
|
||||
#undef LDAV_SYMBOL
|
||||
#define LDAV_SYMBOL "_avenrun"
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
#define MAIL_USE_FLOCK
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
#define CLASH_DETECTION
|
||||
|
||||
#define BSTRING
|
||||
|
||||
/* First pty name is /dev/ptyp0. */
|
||||
#define FIRST_PTY_LETTER 'p'
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
#define HAVE_TIMEVAL
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
#define HAVE_SELECT
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
#define HAVE_SOCKETS
|
238
src/m/ibmps2-aix.h
Normal file
238
src/m/ibmps2-aix.h
Normal file
@ -0,0 +1,238 @@
|
||||
/* machine description file for ibm ps/2 aix386.
|
||||
Copyright (C) 1989 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="note"
|
||||
|
||||
NOTE-START
|
||||
Use -opsystem=usg5-3 on AIX 1.2.
|
||||
-opsystem=usg5-2-2 should work on either AIX 1.1 or 1.2, but may not
|
||||
work with certain new X window managers, and may be suboptimal.
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* i386 is not big-endian: lowest numbered byte is least significant. */
|
||||
|
||||
/* #undef 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:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
#define INTEL386
|
||||
#define aix386
|
||||
#undef SYSTEM_TYPE
|
||||
#define SYSTEM_TYPE "ibm-aix-386"
|
||||
|
||||
#define IBMAIX
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* crt0.c, if it is used, should use the i386-bsd style of entry.
|
||||
with no extra dummy args. On USG and XENIX,
|
||||
NO_REMAP says this isn't used. */
|
||||
|
||||
#define CRT0_DUMMIES bogus_fp,
|
||||
|
||||
/* crt0.c should define a symbol `start' and do .globl with a dot. */
|
||||
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
/* USG systems do not actually support the load average,
|
||||
so disable it for them. */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* Define addresses, macros, change some setup for dump */
|
||||
|
||||
#define NO_REMAP
|
||||
#undef static
|
||||
/* Since NO_REMAP, problem with statics doesn't exist */
|
||||
|
||||
#ifdef USG5_3
|
||||
#define TEXT_START 0x00000000
|
||||
#else
|
||||
#define TEXT_START 0x00400000
|
||||
#define TEXT_END 0
|
||||
#define DATA_START 0x00800000
|
||||
#define DATA_END 0
|
||||
|
||||
/* The data segment in this machine always starts at address 0x00800000.
|
||||
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 0x00800000
|
||||
#endif
|
||||
|
||||
#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
|
||||
|
||||
#define BSTRING
|
||||
#define HAVE_DUP2
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
#define HAVE_SELECT
|
||||
#define HAVE_TIMEVAL
|
||||
#define HAVE_VFORK
|
||||
|
||||
/*
|
||||
* Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
|
||||
* library functions. Almost, but not quite the same as
|
||||
* the 4.2 functions
|
||||
*/
|
||||
#define SYSV_SYSTEM_DIR
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
#undef NONSYSTEM_DIR_LIBRARY
|
||||
|
||||
/* 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
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE long /* For AIX (sysV) */
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) (int) (((double) (x)/65535.0) * 100.0)
|
||||
|
||||
/* This page was added in June 1990. It may be incorrect for some versions
|
||||
of aix, so delete it if it causes trouble. */
|
||||
|
||||
/* AIX has sigsetmask() */
|
||||
#undef sigsetmask
|
||||
|
||||
/* AIX386 has BSD4.3 PTYs */
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* 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 "8x13"
|
||||
|
||||
/* AIX has a wait.h. */
|
||||
|
||||
#define HAVE_WAIT_HEADER
|
||||
|
||||
/* sioctl.h should not be included, says bytheway@cs.utah.edu. */
|
||||
#undef NEED_SIOCTL
|
||||
/* I'm guessing that that means it doesn't want ptem.h either. */
|
||||
#undef NEED_PTEM_H
|
||||
|
||||
/* aix has `union wait' */
|
||||
#define HAVE_UNION_WAIT
|
||||
|
||||
/* Here override various assumptions in ymakefile */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define HAVE_ALLOCA
|
||||
#define alloca(n) __builtin_alloca(n)
|
||||
#define LIB_STANDARD /usr/local/lib/gcc-gnulib -lbsd -lrts -lc
|
||||
/* -g fails to work, so it is omitted. */
|
||||
/* tranle says that -fstrength-reduce does not help. */
|
||||
#define C_DEBUG_SWITCH -O -fwritable-strings
|
||||
#else
|
||||
#define C_ALLOCA
|
||||
#define STACK_DIRECTION -1 /* tell alloca.c which way it grows */
|
||||
#define LIBS_MACHINE -lbsd -lrts
|
||||
#endif
|
||||
|
||||
#define OBJECTS_MACHINE hftctl.o
|
||||
#define LD_SWITCH_MACHINE -T0x00400000 -K -e start
|
||||
|
||||
#ifdef USG5_3
|
||||
#define XICCC
|
||||
#define HAVE_GETWD
|
||||
#define HAVE_RENAME
|
||||
#undef LD_SWITCH_MACHINE
|
||||
#define LD_SWITCH_MACHINE -T0x0 -K -e start
|
||||
|
||||
/* Things defined in s-usg5-3.h that need to be overridden. */
|
||||
#undef NOMULTIPLEJOBS
|
||||
#undef BROKEN_TIOCGETC
|
||||
#undef LIBX10_SYSTEM
|
||||
#undef LIBX11_SYSTEM
|
||||
#endif
|
182
src/m/intel386.h
Normal file
182
src/m/intel386.h
Normal file
@ -0,0 +1,182 @@
|
||||
/* machine description file for intel 386.
|
||||
Copyright (C) 1987 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="note"
|
||||
|
||||
NOTE-START
|
||||
Intel 386 (-machine=intel386 or -machine=is386.h)
|
||||
|
||||
The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3,
|
||||
isc2-2, 386-ix, esix, or xenix.
|
||||
|
||||
18.58 should support a wide variety of operating systems.
|
||||
Use isc2-2 for Interactive 386/ix version 2.2.
|
||||
Use 386ix for prior versions.
|
||||
Use esix for Esix. It isn't clear what to do on an SCO system.
|
||||
|
||||
-machine=is386 is used for an Integrated Solutions 386 machine.
|
||||
It may also be correct for Microport systems.
|
||||
|
||||
Cubix QBx/386 (-machine=intel386 -opsystem=usg5-3)
|
||||
|
||||
Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c
|
||||
due to a compiler bug.
|
||||
|
||||
Prime EXL (-machine=intel386 -opsystem=usg5-3)
|
||||
|
||||
Minor changes merged in 19.1.
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* i386 is not big-endian: lowest numbered byte is least significant. */
|
||||
|
||||
/* #undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
#define INTEL386
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* crt0.c, if it is used, should use the i386-bsd style of entry.
|
||||
with no extra dummy args. On USG and XENIX,
|
||||
NO_REMAP says this isn't used. */
|
||||
|
||||
#define CRT0_DUMMIES bogus_fp,
|
||||
|
||||
/* crt0.c should define a symbol `start' and do .globl with a dot. */
|
||||
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
#ifdef XENIX
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
#define LOAD_AVE_TYPE short
|
||||
|
||||
/* 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 FSCALE 256.0 /* determined by experimentation... */
|
||||
#endif
|
||||
|
||||
#ifdef USG5_4 /* Older USG systems do not support the load average. */
|
||||
/* 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 */
|
||||
/* This is totally uncalibrated. */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((double) (x)) * 100.0 / FSCALE)
|
||||
#define FSCALE 256.0
|
||||
*endif
|
||||
|
||||
/* 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 */
|
||||
|
||||
#ifdef XENIX
|
||||
#define VALBITS 26
|
||||
#define GCTYPEBITS 5
|
||||
|
||||
/* 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 STACK_DIRECTION -1
|
||||
|
||||
/* Since cannot purify, use standard Xenix 386 startup code. */
|
||||
|
||||
#define START_FILES /lib/386/Sseg.o pre-crt0.o /lib/386/Scrt0.o
|
||||
|
||||
/* These really use terminfo. */
|
||||
|
||||
#define LIBS_TERMCAP /lib/386/Slibcurses.a \
|
||||
/lib/386/Slibtinfo.a /lib/386/Slibx.a
|
||||
|
||||
/* Standard libraries for this machine. Since `-l' doesn't work in `ld'. */
|
||||
/* '__fltused' is unresolved w/o Slibcfp.a */
|
||||
#define LIB_STANDARD /lib/386/Slibcfp.a /lib/386/Slibc.a
|
||||
#else /* not XENIX */
|
||||
|
||||
#ifdef USG
|
||||
#define LIB_STANDARD -lPW -lc
|
||||
#define HAVE_ALLOCA
|
||||
#define NO_REMAP
|
||||
#define TEXT_START 0
|
||||
#endif /* USG */
|
||||
#endif /* not XENIX */
|
||||
|
||||
#ifdef BSD
|
||||
#define HAVE_ALLOCA
|
||||
#endif /* BSD */
|
||||
BSD */
|
||||
|
||||
/* If compiling with GCC, let GCC implement alloca. */
|
||||
#if defined(__GNUC__) && !defined(alloca)
|
||||
#define alloca(n) __builtin_alloca(n)
|
||||
#define HAVE_ALLOCA
|
||||
#endif
|
||||
|
||||
/* Search these directories just in case; I'm told they might be needed. */
|
||||
#define C_SWITCH_MACHINE -I/usr/X/include -I/usr/netinclude
|
193
src/m/iris4d.h
Normal file
193
src/m/iris4d.h
Normal file
@ -0,0 +1,193 @@
|
||||
/* machine description file for Iris-4D machines. Use with s-iris3-6.h
|
||||
Copyright (C) 1987 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="irix3-3" */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
#ifndef mips
|
||||
#define mips
|
||||
#endif
|
||||
|
||||
#ifndef IRIS_4D
|
||||
#define IRIS_4D
|
||||
#endif
|
||||
|
||||
/* 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 /* This doesn't quite work on the 4D */
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) (int)(((double)(x)*100)/1024.0)
|
||||
|
||||
/* s-iris3-6.h uses /vmunix */
|
||||
|
||||
#undef KERNEL_FILE
|
||||
#define KERNEL_FILE "/unix"
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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 */
|
||||
|
||||
/* 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 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
|
||||
|
||||
/* This machine requires completely different unexec code
|
||||
which lives in a separate file. Specify the file name. */
|
||||
|
||||
#define UNEXEC unexmips.o
|
||||
|
||||
#define TEXT_START 0x400000
|
||||
|
||||
/*
|
||||
* DATA_SEG_BITS forces that bit to be or'd in with any pointers which
|
||||
* are trying to access pure strings (as gnu-emacs only allows 24 bits
|
||||
* for the value field of a LISP_OBJECT).
|
||||
*/
|
||||
|
||||
#define DATA_START 0x10000000
|
||||
#define DATA_SEG_BITS 0x10000000
|
||||
|
||||
#undef LIBS_MACHINE
|
||||
/* -lsun in case using Yellow Pages for passwords. */
|
||||
#define LIBS_MACHINE -lsun -lmld
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/* Define this if you have a fairly recent system,
|
||||
in which crt1.o and crt1.n should be used. */
|
||||
#define HAVE_CRTN
|
||||
|
||||
#ifdef HAVE_CRTN
|
||||
/* Must define START-FILES so that the linker can find /usr/lib/crt0.o. */
|
||||
#define START_FILES pre-crt0.o /usr/lib/crt1.o
|
||||
#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o
|
||||
#else
|
||||
#define START_FILES pre-crt0.o /usr/lib/crt0.o
|
||||
/* The entry-point label (start of text segment) is `start', not `__start'. */
|
||||
#define DEFAULT_ENTRY_ADDRESS start
|
||||
#define LIB_STANDARD -lbsd -lc
|
||||
#endif
|
||||
|
||||
/* Use terminfo instead of termcap. */
|
||||
|
||||
#define TERMINFO
|
||||
|
||||
/* sioctl.h should be included where appropriate. */
|
||||
|
||||
#define NEED_SIOCTL
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'a' means it is /dev/ptya0 */
|
||||
|
||||
#undef FIRST_PTY_LETTER
|
||||
#define FIRST_PTY_LETTER 'q'
|
||||
|
||||
/* Define STACK_DIRECTION for alloca.c */
|
||||
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* The standard definitions of these macros would work ok,
|
||||
but these are faster because the constants are short. */
|
||||
|
||||
#define XUINT(a) (((unsigned)(a) << INTBITS-VALBITS) >> INTBITS-VALBITS)
|
||||
|
||||
#define XSET(var, type, ptr) \
|
||||
((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << INTBITS-VALBITS) >> INTBITS-VALBITS))
|
||||
|
||||
#define XSETINT(a, b) XSET(a, XTYPE(a), b)
|
||||
#define XSETUINT(a, b) XSET(a, XTYPE(a), b)
|
||||
#define XSETPNTR(a, b) XSET(a, XTYPE(a), b)
|
||||
|
||||
#define XMARKBIT(a) ((a) < 0)
|
||||
#define XSETMARKBIT(a,b) ((a) = ((a) & ~MARKBIT) | ((b) ? MARKBIT : 0))
|
||||
#define XUNMARK(a) ((a) = (((unsigned)(a) << INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS))
|
155
src/m/irist.h
Normal file
155
src/m/irist.h
Normal file
@ -0,0 +1,155 @@
|
||||
/* machine description file for Silicon Graphics Iris 2500 Turbos;
|
||||
also possibly for non-turbo Irises with system release 2.5.
|
||||
Copyright (C) 1985, 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="note"
|
||||
NOTE-START
|
||||
Version 18 said to work; use -opsystem=irist3-5 for system version 2.5
|
||||
and -opsystem=iris3-6 for system versions 3.6 and up.
|
||||
NOTE-END */
|
||||
|
||||
#if 0
|
||||
Message-Id: <8705050653.AA20004@orville.arpa>
|
||||
Subject: gnu emacs 18.41 on iris [23].5 machines
|
||||
Date: 04 May 87 23:53:11 PDT (Mon)
|
||||
From: raible@orville.arpa
|
||||
|
||||
Aside from the SIGIOT, I know of only one bug, a real strange one:
|
||||
I wrote a utimes interface, which copies elements from timevals
|
||||
to utimbufs. This code is known good. The problem is that in
|
||||
emacs, the utime doesn't seem to take effect (i.e. doesn't change the
|
||||
dates at all) unless I call report_file_error *after* the utime returns!
|
||||
|
||||
if (utime (name, &utb) < 0)
|
||||
return;
|
||||
else
|
||||
/* XXX XXX XXX */
|
||||
/* For some reason, if this is taken out, then the utime above breaks! */
|
||||
/* (i.e. it doesn't set the time. This just makes no sense... */
|
||||
/* Eric - May 4, 1987 */
|
||||
report_file_error ("Worked just find\n", Qnil);
|
||||
|
||||
Without any sort of debugger that works on emacs (I know... but I don't have
|
||||
*time* right now to start with gdb), it was quite time consuming to track
|
||||
it down to this.
|
||||
|
||||
But since this code is only used for an optional 4th argument to one command
|
||||
(copy-file), it would say that it is non-critical...
|
||||
#endif /* 0 */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
#ifndef m68000
|
||||
#define m68000
|
||||
#endif
|
||||
|
||||
/* 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 FSCALE 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 */
|
||||
|
||||
/* 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 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 */
|
||||
|
||||
/* There is an inconsistency between the sgi assembler, linker which barfs
|
||||
on these. */
|
||||
|
||||
#define internal_with_output_to_temp_buffer stupid_long_name1
|
||||
#define Finsert_abbrev_table_description stupid_long_name2
|
105
src/m/isi-ov.h
Normal file
105
src/m/isi-ov.h
Normal file
@ -0,0 +1,105 @@
|
||||
/* machine description file for ISI 68000's
|
||||
Copyright (C) 1985, 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="note"
|
||||
|
||||
NOTE-START
|
||||
Use `-opsystem=bsd4-2' or `-opsystem=bsd4-3'.
|
||||
NOTE-END */
|
||||
|
||||
#define ISI68K
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
#define m68000
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#ifdef BSD4_3
|
||||
#define LOAD_AVE_TYPE long
|
||||
#else
|
||||
#define LOAD_AVE_TYPE double
|
||||
#endif BSD4_3
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#ifdef BSD4_3
|
||||
#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
|
||||
#else
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
#endif
|
||||
|
||||
/* Mask for address bits within a memory segment */
|
||||
|
||||
#define SEGMENT_MASK 0x1ffff
|
||||
|
||||
/* use the -20 switch to get the 68020 code */
|
||||
/* #define C_SWITCH_MACHINE -20 */
|
||||
|
||||
/* Use the version of the library for the 68020
|
||||
because the standard library requires some special hacks in crt0
|
||||
which the GNU crt0 does not have. */
|
||||
|
||||
#define LIB_STANDARD -lmc
|
||||
|
||||
/* macros to make unexec work right */
|
||||
|
||||
#define A_TEXT_OFFSET(HDR) sizeof(HDR)
|
||||
#define A_TEXT_SEEK(HDR) sizeof(HDR)
|
||||
|
||||
/* A few changes for the newer systems. */
|
||||
|
||||
#ifdef BSD4_3
|
||||
#define HAVE_ALLOCA
|
||||
/* The following line affects crt0.c. */
|
||||
#undef m68k
|
||||
|
||||
#undef LIB_STANDARD
|
||||
#define LIB_STANDARD -lmc -lc
|
||||
#define C_DEBUG_SWITCH -20 -O -X23
|
||||
#endif
|
150
src/m/masscomp.h
Normal file
150
src/m/masscomp.h
Normal file
@ -0,0 +1,150 @@
|
||||
/* machine description file for Masscomp 5000 series running RTU, ucb universe.
|
||||
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="rtu" */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
/* Masscomp predefines mc68000. */
|
||||
#define m68000 mc68000
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((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. */
|
||||
|
||||
#undef 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. */
|
||||
|
||||
/* On return from a subroutine, the 68020 compiler restores old contents of
|
||||
register variables relative to sp, so alloca() screws up such routines.
|
||||
The following definitions should work on all Masscomps. On the MC-5500
|
||||
(a 68000) one can #undef C_ALLOCA and #define HAVE_ALLOCA. */
|
||||
#ifdef mc500
|
||||
#undef C_ALLOCA
|
||||
#define HAVE_ALLOCA
|
||||
#else
|
||||
#define C_ALLOCA
|
||||
#undef HAVE_ALLOCA
|
||||
#endif
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef NO_REMAP
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry, with a dummy arg. */
|
||||
|
||||
#define CRT0_DUMMIES bogus_fp,
|
||||
|
||||
/* Name of file the to look in
|
||||
for the kernel symbol table (for load average) */
|
||||
|
||||
#define KERNEL_FILE "/unix"
|
||||
|
||||
/* This triggers some stuff to avoid a compiler bug */
|
||||
|
||||
#define MASSC_REGISTER_BUG
|
||||
|
||||
/* Prevent -lg from being used for debugging. Not implemented? */
|
||||
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/*
|
||||
* Define HAVE_TERMIO if the system provides sysV-style ioctls
|
||||
* for terminal control.
|
||||
*/
|
||||
|
||||
#define HAVE_TERMIO
|
||||
|
||||
/* Adjust a header field for the executable file about to be dumped. */
|
||||
|
||||
#define ADJUST_EXEC_HEADER \
|
||||
hdr.a_stamp = STAMP13; /* really want the latest stamp, whatever it is */
|
61
src/m/mega68.h
Normal file
61
src/m/mega68.h
Normal file
@ -0,0 +1,61 @@
|
||||
/* machine description file for Megatest 68000's.
|
||||
Copyright (C) 1985 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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
#define m68000
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
126
src/m/mg1.h
Normal file
126
src/m/mg1.h
Normal file
@ -0,0 +1,126 @@
|
||||
/* machine description file for Whitechapel Computer Works MG1 (ns16000 based).
|
||||
Copyright (C) 1985 Free Software Foundation, Inc.
|
||||
MG-1 version by L.M.McLoughlin
|
||||
|
||||
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="note"
|
||||
|
||||
NOTE-START
|
||||
We are in the dark about what operating system runs on the Whitechapel
|
||||
systems. Consult share-lib/MACHINES for information on which
|
||||
operating systems Emacs has already been ported to; one of them might
|
||||
work. If you find an existing system name that works or write your
|
||||
own configuration files, please let the Free Software Foundation in on
|
||||
your work; we'd like to distribute this information.
|
||||
NOTE-END */
|
||||
|
||||
/* 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. */
|
||||
/* ns16000 is not big-endian: lowest numbered byte is least significant. */
|
||||
#undef 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. */
|
||||
/* ns16000 call sequence used on mg1 means that &arg = the args as an array */
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
/* ns16000 addresses are byte addresses */
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
/* Say this machine is a 16000 and an mg1, cpp says its a 32000 */
|
||||
#define ns16000
|
||||
#define mg1
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
/* Not sure on mg-1 but this shouldn't hurt! */
|
||||
#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. */
|
||||
/* mg1 its an unsigned long */
|
||||
#define LOAD_AVE_TYPE unsigned long
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
#define FSCALE 1000.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. */
|
||||
/* ns16000's have an unexec, so should the mg-1 */
|
||||
#undef 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. */
|
||||
/* hmmmm... not sure. copied sequent.h */
|
||||
#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. */
|
||||
/* hmmmm... again not sure. so copied sequent.h again! */
|
||||
#undef C_ALLOCA
|
||||
#undef 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. */
|
||||
/* mapping seems screwy */
|
||||
#define NO_REMAP
|
||||
|
||||
/* Avoids a compiler bug */
|
||||
/* borrowed from sequent.h */
|
213
src/m/mips.h
Normal file
213
src/m/mips.h
Normal file
@ -0,0 +1,213 @@
|
||||
/* machine description file for Mips machines.
|
||||
Copyright (C) 1987, 1990 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="note"
|
||||
|
||||
NOTE-START
|
||||
Use -opsystem=usg5-2-2 normally, or -opsystem=bsd4-3 with the BSD
|
||||
world.
|
||||
NOTE-END */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
#ifndef mips
|
||||
# define mips
|
||||
#endif
|
||||
|
||||
/* 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 / 256.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. */
|
||||
|
||||
#undef 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 */
|
||||
|
||||
/* 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 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
|
||||
|
||||
/* This machine requires completely different unexec code
|
||||
which lives in a separate file. Specify the file name. */
|
||||
|
||||
#define UNEXEC unexmips.o
|
||||
|
||||
/* Describe layout of the address space in an executing process. */
|
||||
|
||||
#define TEXT_START 0x400000
|
||||
#define DATA_START 0x800000
|
||||
|
||||
/* Alter some of the options used when linking. */
|
||||
|
||||
#ifdef BSD
|
||||
|
||||
/* Supposedly the dec machine doesn't have this library.
|
||||
#define LIBS_MACHINE -lmld */
|
||||
|
||||
#define LD_SWITCH_MACHINE -D 800000
|
||||
#define LIBS_DEBUG
|
||||
|
||||
#else
|
||||
|
||||
#define LIBS_MACHINE -lmld
|
||||
#define LD_SWITCH_MACHINE -D 800000 -g3
|
||||
#define START_FILES pre-crt0.o /usr/lib/crt1.o
|
||||
#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o
|
||||
#define LIBS_TERMCAP -lcurses
|
||||
|
||||
#define C_SWITCH_SYSTEM -I/usr/include/bsd
|
||||
#define C_DEBUG_SWITCH -O -g3
|
||||
|
||||
#if defined(HAVE_X_WINDOWS) && defined(HAVE_X11)
|
||||
#define HAVE_VFORK /* Graciously provided by libX.a */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* The standard definitions of these macros would work ok,
|
||||
but these are faster because the constants are short. */
|
||||
|
||||
#define XUINT(a) (((unsigned)(a) << INTBITS-VALBITS) >> INTBITS-VALBITS)
|
||||
|
||||
#define XSET(var, type, ptr) \
|
||||
((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << INTBITS-VALBITS) >> INTBITS-VALBITS))
|
||||
|
||||
#define XSETINT(a, b) XSET(a, XTYPE(a), b)
|
||||
#define XSETUINT(a, b) XSET(a, XTYPE(a), b)
|
||||
#define XSETPNTR(a, b) XSET(a, XTYPE(a), b)
|
||||
|
||||
#define XUNMARK(a) ((a) = (((unsigned)(a) << INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS))
|
||||
#ifdef USG
|
||||
|
||||
/* Cancel certain parts of standard sysV support. */
|
||||
#undef NONSYSTEM_DIR_LIBRARY
|
||||
#define SYSV_SYSTEM_DIR
|
||||
#undef static
|
||||
|
||||
/* Don't try to use SIGIO or FIONREAD even though they are defined. */
|
||||
#undef SIGIO
|
||||
#define BROKEN_FIONREAD
|
||||
|
||||
/* Describe special kernel features. */
|
||||
|
||||
#define HAVE_SYSVIPC
|
||||
|
||||
#define HAVE_TIMEVAL
|
||||
#if defined(emacs)
|
||||
#include <bsd/sys/time.h>
|
||||
#endif
|
||||
|
||||
/* #define HAVE_SELECT
|
||||
The `select' in the system won't work for pipes,
|
||||
so don't use it. */
|
||||
|
||||
#define HAVE_DUP2
|
||||
#define HAVE_GETWD
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
|
||||
#define HAVE_PTYS
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
#undef NOMULTIPLEJOBS
|
||||
#define utimes utime /* Someone should check this. */
|
||||
|
||||
/* ??? */
|
||||
#define IRIS
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef BSD
|
||||
#define COFF
|
||||
#define TERMINFO
|
||||
#undef MAIL_USE_FLOCK /* Someone should check this. */
|
||||
#undef HAVE_UNION_WAIT
|
||||
#endif /* BSD */
|
33
src/m/mips4.h
Normal file
33
src/m/mips4.h
Normal file
@ -0,0 +1,33 @@
|
||||
/* machine description file for Mips running RISCOS version 4. */
|
||||
|
||||
#include "mips.h"
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="note"
|
||||
|
||||
NOTE-START
|
||||
Use -opsystem=usg5-2-2 normally, or -opsystem=bsd4-3 with the BSD
|
||||
world.
|
||||
NOTE-END */
|
||||
|
||||
/* Define MIPS2 if you have an R6000 or R4000. */
|
||||
/* #define MIPS2 */
|
||||
|
||||
#ifdef MIPS2
|
||||
#define C_DEBUG_SWITCH -systype bsd43 -O -Olimit 791 -g3 -mips2
|
||||
#else
|
||||
#define C_DEBUG_SWITCH -systype bsd43 -O -Olimit 791 -g3
|
||||
#endif
|
||||
|
||||
#ifdef TERMINFO
|
||||
#undef TERMINFO
|
||||
#endif
|
||||
|
||||
#define START_FILES pre-crt0.o /lib/crt1.o
|
||||
#define LIB_STANDARD -lmld -lc /lib/crtn.o
|
||||
|
||||
|
||||
#define COFF
|
||||
#undef LD_SWITCH_MACHINE
|
||||
#define LD_SWITCH_MACHINE -systype bsd43 -g3 -D 800000
|
76
src/m/news.h
Normal file
76
src/m/news.h
Normal file
@ -0,0 +1,76 @@
|
||||
/* machine description file for Sony's NEWS workstations, NEWS-OS 3.0.
|
||||
Copyright (C) 1985, 1986, 1989 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="note"
|
||||
|
||||
NOTE-START
|
||||
Use -opsystem=bsd4-2, or -opsystem=bsd4-3 for system release 3.
|
||||
NOTE-END */
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
#ifndef m68000
|
||||
#define m68000
|
||||
#endif
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* One CRT0 Dummy variable */
|
||||
|
||||
#define CRT0_DUMMIES one_dummy,
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* The News machine has alloca. */
|
||||
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
/* Must use the system's termcap. It does special things. */
|
||||
|
||||
#define LIBS_TERMCAP -ltermcap
|
||||
|
112
src/m/ns16000.h
Normal file
112
src/m/ns16000.h
Normal file
@ -0,0 +1,112 @@
|
||||
/* machine description file for ns16000.
|
||||
Copyright (C) 1985 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="note"
|
||||
|
||||
NOTE-START
|
||||
For the Encore, use `-opsystem=umax'.
|
||||
For a Tektronix 16000 box (a 6130, perhaps?), use `-opsystem=bsd4-2'.
|
||||
Use `-machine=ns16000' for both.
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 16000 is little-endian (lowest-numbered byte is least significant) */
|
||||
|
||||
/* #define BIG_ENDIAN */ /* So don't define this. */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a 16000 */
|
||||
|
||||
#define ns16000 1
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#ifndef USG
|
||||
#define LOAD_AVE_TYPE double
|
||||
#endif
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#ifndef USG
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
#endif
|
||||
|
||||
#ifdef USG
|
||||
|
||||
/* Control assembler syntax used in alloca.s. */
|
||||
#define NS5
|
||||
|
||||
/* On early NS systems ulimit was buggy. If set emacs uses this value
|
||||
* for the maximum sbrk value instead of getting it from ulimit.
|
||||
*/
|
||||
#define ULIMIT_BREAK_VALUE 0x7E0000
|
||||
|
||||
/* Early NS compilers have this bug. I believe it has been fixed in later
|
||||
* releases.
|
||||
*/
|
||||
#define SHORT_CAST_BUG
|
||||
|
||||
#define SEGMENT_MASK (NBPS - 1)
|
||||
|
||||
/* Variables to get crt0.c to come out correctly */
|
||||
#define CRT0_DUMMIES bogus_fp,
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
/* Control how emacsclient communicates. */
|
||||
#define HAVE_SYSVIPC
|
||||
|
||||
/* Set this to /bin/mail unless you have a better mail posting program */
|
||||
#define MAIL_PROGRAM_NAME "/usr/local/bin/remail"
|
||||
|
||||
/* Tell sysdep.c not to define bzero, etc. */
|
||||
#undef BSTRING
|
||||
#define BSTRING
|
||||
|
||||
/* Macro definitions to emulate BSD functions with SysV ones */
|
||||
#undef bcopy
|
||||
#undef bzero
|
||||
#undef bcmp
|
||||
|
||||
#define bcopy(a,b,s) memcpy(b,a,s)
|
||||
#define bzero(a,s) memset(a,0,s)
|
||||
#define bcmp memcmp
|
||||
|
||||
/* This avoids problems with uninitialized static variables going in .data. */
|
||||
#define static
|
||||
|
||||
#endif /* USG */
|
121
src/m/ns32000.h
Normal file
121
src/m/ns32000.h
Normal file
@ -0,0 +1,121 @@
|
||||
/* machine description file for Netional Semiconductor 32000, running Genix.
|
||||
Copyright (C) 1985, 1986 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY. No author or distributor
|
||||
accepts responsibility to anyone for the consequences of using it
|
||||
or for whether it serves any particular purpose or works at all,
|
||||
unless he says so in writing. Refer to the GNU Emacs General Public
|
||||
License for full details.
|
||||
|
||||
Everyone is granted permission to copy, modify and redistribute
|
||||
GNU Emacs, but only under the conditions described in the
|
||||
GNU Emacs General Public License. A copy of this license is
|
||||
supposed to have been given to you along with GNU Emacs so you
|
||||
can know your rights and responsibilities. It should be in a
|
||||
file named COPYING. Among other things, the copyright notice
|
||||
and this notice must be preserved on all copies. */
|
||||
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="usg5-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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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 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 TEXT_START 0
|
||||
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
#define EXEC_MAGIC 0410
|
||||
|
||||
#define PURESIZE 140000
|
||||
|
||||
#define START_FILES pre-crt0.o /lib/crt0.o
|
84
src/m/nu.h
Normal file
84
src/m/nu.h
Normal file
@ -0,0 +1,84 @@
|
||||
/* machine description file for TI Nu machines using system V.
|
||||
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="usg5-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
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000 are the ones defined so far. */
|
||||
|
||||
#ifndef m68000
|
||||
#define m68000
|
||||
#endif
|
||||
|
||||
#ifndef NU
|
||||
#define NU
|
||||
#endif
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
/* These are commented out since it does not really work in uniplus */
|
||||
|
||||
/* #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) */
|
||||
|
||||
/* Change some things to avoid bugs in compiler */
|
||||
|
||||
#define SWITCH_ENUM_BUG 1
|
||||
|
||||
/* The NU machine has a compiler that can handle long names. */
|
||||
|
||||
#undef SHORTNAMES
|
||||
|
||||
/* Specify alignment requirement for start of text and data sections
|
||||
in the executable file. */
|
||||
|
||||
#define SECTION_ALIGNMENT pagemask
|
84
src/m/orion.h
Normal file
84
src/m/orion.h
Normal file
@ -0,0 +1,84 @@
|
||||
/* machine description file for HLH Orion.
|
||||
Copyright (C) 1985 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. */
|
||||
|
||||
#undef BIG_ENDIAN
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
#ifndef orion
|
||||
#define orion
|
||||
#endif
|
||||
|
||||
/* 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) ((((int) (c)) << 24) >> 24)
|
||||
|
||||
/* 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 */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#ifndef FSCALE
|
||||
#define FSCALE 1.0
|
||||
#endif
|
||||
#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
|
||||
|
||||
/* It is necessary to use the portable imitation of alloca,
|
||||
since a true stack-allocating one is impossible. */
|
||||
|
||||
#define C_ALLOCA
|
90
src/m/orion105.h
Normal file
90
src/m/orion105.h
Normal file
@ -0,0 +1,90 @@
|
||||
/* machine description file for HLH Orion 1/05 (Clipper).
|
||||
Copyright (C) 1985 Free Software Foundation, Inc.
|
||||
Lee McLoughlin <lmjm%doc.imperial.ac.uk@nss.cs.ucl.ac.uk>
|
||||
|
||||
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. */
|
||||
|
||||
#undef 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 SIGN_EXTEND_CHAR(c) ((int)(c))
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
/* This used to be `double'. */
|
||||
|
||||
#define LOAD_AVE_TYPE long
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
/* This used to be 1.0. */
|
||||
#ifndef FSCALE
|
||||
#define FSCALE 256
|
||||
#endif
|
||||
#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
|
||||
|
||||
/* HLH have a SIGWINCH defined (but unimplemented) so we need a sigmask */
|
||||
#ifndef sigmask
|
||||
#define sigmask(m) (1 << ((m) - 1))
|
||||
#endif
|
||||
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* Here is where programs actually start running */
|
||||
#define TEXT_START 0x8000
|
||||
#define LD_TEXT_START_ADDR 8000
|
||||
|
||||
/* Arguments to ignore before argc in crt0.c. */
|
||||
#define DUMMIES dummy1, dummy2,
|
||||
|
||||
/* dbx can't cope so what the heck - currently (July 88) eval.c causes
|
||||
* the compiler to go into an infinite loop - so compile it by hand
|
||||
* cc -c -Demacs eval.c
|
||||
* before running make
|
||||
*/
|
||||
#define C_DEBUG_SWITCH -O
|
||||
|
||||
/* Since not debugging don't add dbx lib */
|
||||
#define LIBS_DEBUG
|
128
src/m/plexus.h
Normal file
128
src/m/plexus.h
Normal file
@ -0,0 +1,128 @@
|
||||
/* machine description file for the Plexus running System V.2.
|
||||
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="usg5-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. */
|
||||
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
/* Plexus predefines m68 instead of m68000. */
|
||||
#define m68000 m68
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#undef LOAD_AVE_TYPE
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#undef LOAD_AVE_CVT
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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. */
|
||||
|
||||
#undef C_ALLOCA
|
||||
#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. */
|
||||
|
||||
#undef NO_REMAP
|
||||
|
||||
/* Use the following on ld so we can use the gnu crt0
|
||||
The plexus ld looks for start */
|
||||
#define LD_SWITCH_MACHINE -e __start
|
||||
|
||||
/* Use the PW library, which contains alloca. */
|
||||
|
||||
#define LIB_STANDARD -lPW -lc
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
|
||||
|
||||
#define CRT0_DUMMIES zero1, zero2,
|
||||
|
||||
/* This triggers some stuff to avoid a compiler bug */
|
||||
|
||||
#define TAHOE_REGISTER_BUG
|
22
src/m/pmax.h
Normal file
22
src/m/pmax.h
Normal file
@ -0,0 +1,22 @@
|
||||
#include "mips.h"
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="bsd4-2" */
|
||||
|
||||
#undef BIG_ENDIAN
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/* This line starts being needed with ultrix 4.0. */
|
||||
/* You may need to delete it on version 3.1. */
|
||||
#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
|
||||
|
||||
/* Supposedly the following will overcome a kernel bug. */
|
||||
#undef LD_SWITCH_MACHINE
|
||||
#undef DATA_START
|
||||
#define DATA_START 0x10000000
|
||||
#define DATA_SEG_BITS 0x10000000
|
||||
|
||||
/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
|
||||
on defining malloc itself. This should avoid conflicting with it. */
|
||||
#define SYSTEM_MALLOC
|
76
src/m/pyramid.h
Normal file
76
src/m/pyramid.h
Normal file
@ -0,0 +1,76 @@
|
||||
/* machine description file for pyramid.
|
||||
Copyright (C) 1985, 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. */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define NO_ARG_ARRAY
|
||||
#endif
|
||||
|
||||
/* XINT must explicitly sign extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* pyramid preprocessor defines "pyr", however the following is clearer */
|
||||
#define pyramid
|
||||
|
||||
/* Don't use the union types any more. They were used until Emacs 17.45. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
/* Don't use the ordinary -g for debugging in cc */
|
||||
|
||||
#define C_DEBUG_SWITCH -gx
|
||||
|
||||
/* Reenable this #define for old versions of the Pyramid system. */
|
||||
|
||||
/* #define PYRAMID_OLD */
|
188
src/m/sequent.h
Normal file
188
src/m/sequent.h
Normal file
@ -0,0 +1,188 @@
|
||||
/* machine description file for SEQUENT BALANCE machines
|
||||
Copyright (C) 1985, 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="note"
|
||||
|
||||
NOTE-START
|
||||
Use -opsystem=bsd4-2, or -opsystem=bsd4-3 on newer systems.
|
||||
NOTE-END */
|
||||
|
||||
/* NOTE: this file works for DYNIX release 2.0
|
||||
(not tested on 1.3) on NS32000's */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
|
||||
/* BTW: DYNIX defines sequent, ns32000, and ns16000 (GENIX compatibility) */
|
||||
#ifndef sequent /* pre DYNIX 2.1 releases */
|
||||
# define sequent
|
||||
#endif
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
/* This is desirable for most machines. */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry, with these dummy args. */
|
||||
|
||||
#define CRT0_DUMMIES bogus_fp,
|
||||
|
||||
/* crt0.c should define a symbol `start' and do .globl with a dot. */
|
||||
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
/* 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 unsigned long
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define FSCALE 1000.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 */
|
||||
|
||||
/* 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 HAVE_ALLOCA
|
||||
|
||||
/* Name of file the to look in
|
||||
for the kernel symbol table (for load average) */
|
||||
|
||||
#undef KERNEL_FILE
|
||||
#define KERNEL_FILE "/dynix"
|
||||
|
||||
/* Avoids a compiler bug */
|
||||
|
||||
#define TAHOE_REGISTER_BUG
|
||||
|
||||
/* Say that the text segment of a.out includes the header;
|
||||
the header actually occupies the first few bytes of the text segment
|
||||
and is counted in hdr.a_text. Furthermore, the value written
|
||||
in the a_text in the file must have N_ADDRADJ added to it. */
|
||||
|
||||
#define A_TEXT_OFFSET(HDR) (sizeof (HDR) + N_ADDRADJ (HDR))
|
||||
|
||||
/* 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))
|
||||
|
||||
/* (short) negative-int doesn't sign-extend correctly */
|
||||
#define SHORT_CAST_BUG
|
||||
|
||||
/* Cause compilations to be done in parallel in ymakefile. */
|
||||
#define MAKE_PARALLEL &
|
||||
|
||||
/* Say that mailer interlocking uses flock. */
|
||||
#define MAIL_USE_FLOCK
|
||||
|
||||
/* On many 4.2-based systems, there's a rather tricky bug
|
||||
* with the interpretation of the pid/pgrp value given to
|
||||
* the F_SETOWN fcntl() call. It works as documented EXCEPT
|
||||
* when applied to filedescriptors for sockets, in which case
|
||||
* the sign must be reversed. If your emacs subprocesses get
|
||||
* SIGIO's when they shouldn't, while running on a socket
|
||||
* (e.g. under X windows), you should probably define this.
|
||||
*/
|
||||
|
||||
#define F_SETOWN_SOCK_NEG
|
||||
|
||||
/* Some really obscure 4.2-based systems (like Sequent DYNIX)
|
||||
* do not support asynchronous I/O (using SIGIO) on sockets,
|
||||
* even though it works fine on tty's. If you have one of
|
||||
* these systems, define the following, and then use it in
|
||||
* config.h (or elsewhere) to decide when (not) to use SIGIO.
|
||||
*/
|
||||
|
||||
#define NO_SOCK_SIGIO
|
||||
|
||||
/* Define how to search all pty names.
|
||||
This is for Dynix 3.0; delete next 5 definitions for older systems. */
|
||||
|
||||
#define PTY_MAJOR "pqrstuvwPQRSTUVW"
|
||||
#define PTY_MINOR "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
#define PTY_ITERATION \
|
||||
register int ma, mi; \
|
||||
for (ma = 0; ma < sizeof(PTY_MAJOR) - 1; ma++) \
|
||||
for (mi = 0; mi < sizeof(PTY_MINOR) - 1; mi++)
|
||||
#define PTY_NAME_SPRINTF \
|
||||
sprintf (ptyname, "/dev/pty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]);
|
||||
#define PTY_TTY_NAME_SPRINTF \
|
||||
sprintf (ptyname, "/dev/tty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]);
|
119
src/m/sparc.h
Normal file
119
src/m/sparc.h
Normal file
@ -0,0 +1,119 @@
|
||||
/* machine description file for Sun 4 SPARC.
|
||||
Copyright (C) 1987 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="note"
|
||||
|
||||
NOTE-START
|
||||
Use -opsystem=sunos4 for operating system version 4, and
|
||||
-opsystem=bsd4-2 for earlier versions.
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* SPARC has lowest-numbered byte as most significant */
|
||||
|
||||
#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) (c)
|
||||
|
||||
/* Say this machine is a sparc */
|
||||
|
||||
#ifndef sparc
|
||||
#define sparc
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define C_OPTIMIZE_SWITCH -O
|
||||
#else
|
||||
/* This level of optimization is reported to work. */
|
||||
# define C_OPTIMIZE_SWITCH -O2
|
||||
#endif
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#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 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
|
||||
#include <alloca.h>
|
||||
|
||||
/* Must use the system's termcap. It does special things. */
|
||||
|
||||
#define LIBS_TERMCAP -ltermcap
|
||||
|
||||
/* Mask for address bits within a memory segment */
|
||||
|
||||
#define SEGMENT_MASK (SEGSIZ - 1)
|
||||
|
||||
/* Arrange to link with sun windows, if requested. */
|
||||
/* For details on emacstool and sunfns, see etc/SUN-SUPPORT */
|
||||
/* These programs require Sun UNIX 4.2 Release 3.2 or greater */
|
||||
|
||||
#ifdef HAVE_SUN_WINDOWS
|
||||
#define OTHER_FILES ${etcdir}emacstool
|
||||
#define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect
|
||||
#define OBJECTS_MACHINE sunfns.o
|
||||
#define SYMS_MACHINE syms_of_sunfns ()
|
||||
#define PURESIZE 130000
|
||||
#endif
|
||||
|
||||
/* Say that the text segment of a.out includes the header;
|
||||
the header actually occupies the first few bytes of the text segment
|
||||
and is counted in hdr.a_text. */
|
||||
|
||||
#define A_TEXT_OFFSET(HDR) sizeof (HDR)
|
||||
|
||||
/* 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))
|
140
src/m/sps7.h
Normal file
140
src/m/sps7.h
Normal file
@ -0,0 +1,140 @@
|
||||
/* machine description file for Bull SPS-7.
|
||||
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="usg5-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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
#ifndef m68000
|
||||
#define m68000
|
||||
#endif
|
||||
|
||||
#define sps7
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
/* Suspect there is something wierd about this machine, so turn it off. */
|
||||
|
||||
/* #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) */
|
||||
|
||||
#define SMX
|
||||
#define V3x
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
#define HAVE_SELECT
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
/* Have the socketpair call
|
||||
*/
|
||||
|
||||
#define SKTPAIR
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
#define CLASH_DETECTION
|
||||
|
||||
/* Use Berkeley style interface to nlist */
|
||||
|
||||
#define NLIST_STRUCT
|
||||
|
||||
/* Define this to cause -N to be passed to ld. This is needed
|
||||
* in uniplus because of its funny memory space layout.
|
||||
* SMX--If you are using 32 bit (COFF) use "-N", else don't use anything.
|
||||
*/
|
||||
|
||||
#define LD_SWITCH_MACHINE -N -T32 -e __start
|
||||
|
||||
/* If you are compiling for a 68020, then use -lc32 else use -lc */
|
||||
|
||||
#define LIB_STANDARD -lc32
|
||||
|
||||
/* Fore 16 bit, -linet, for 32 bit -linet32 (be sure you have it!). */
|
||||
|
||||
#define LIBS_MACHINE -linet32
|
||||
|
||||
/* Use -T32 for 68020, -T16 otherwise */
|
||||
|
||||
#define C_SWITCH_MACHINE -T32
|
||||
|
||||
/*
|
||||
Here we assume that signal.h is included before config.h
|
||||
so that we can override it here. */
|
||||
|
||||
#undef SIGIO
|
||||
|
||||
/* Some additional system facilities exist. */
|
||||
|
||||
#define HAVE_DUP2
|
||||
|
||||
/* Other than 68020 use ld16, as32, or undefine (defaults ld and as). */
|
||||
|
||||
#define ASS as32
|
||||
|
||||
#ifdef V3x
|
||||
#define EXEC_MAGIC 0x10b
|
||||
#define SEGMENT_MASK (NBPS-1)
|
||||
#define ADJUST_EXEC_HEADER f_hdr.f_magic = SMROMAGIC;\
|
||||
f_ohdr.stsize = 0;
|
||||
#endif
|
136
src/m/stride.h
Normal file
136
src/m/stride.h
Normal file
@ -0,0 +1,136 @@
|
||||
/* Definitions file for GNU Emacs running on Stride Micro System-V.2.2
|
||||
Copyright (C) 1985, 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="usg5-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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#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. */
|
||||
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe, APOLLO and STRIDE
|
||||
are the ones defined so far. */
|
||||
|
||||
#define m68000 /* because the SGS compiler defines "m68k" */
|
||||
#ifndef STRIDE
|
||||
#define STRIDE
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((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. */
|
||||
|
||||
#undef 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
|
||||
|
||||
/* The STRIDE system is more powerful than standard USG5. */
|
||||
|
||||
#define HAVE_PTYS
|
||||
#define HAVE_TIMEVAL
|
||||
#define HAVE_SELECT
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
#define BSTRING
|
||||
#define SKTPAIR
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
#define MAIL_USE_FLOCK
|
||||
#undef TERMINFO
|
||||
#define EXEC_MAGIC 0413
|
||||
|
||||
/* USG wins again: Foo! I can't get SIGIO to work properly on the Stride, because I'm
|
||||
running a System V variant, and don't have a reliable way to block SIGIO
|
||||
signals without losing them. So, I've gone back to non-SIGIO mode, so
|
||||
please append this line to the file "stride.h":
|
||||
*/
|
||||
#undef SIGIO
|
||||
|
||||
/* Specify alignment requirement for start of text and data sections
|
||||
in the executable file. */
|
||||
|
||||
#define SECTION_ALIGNMENT (getpagesize() - 1)
|
||||
|
||||
/*
|
||||
* UniStride has this in /lib/libc.a.
|
||||
*/
|
||||
#undef NONSYSTEM_DIR_LIBRARY
|
||||
|
||||
/* UniStride defines getwd. */
|
||||
|
||||
#define HAVE_GETWD
|
||||
|
||||
/* Define this macro if system defines a type `union wait'. */
|
||||
|
||||
#define HAVE_UNION_WAIT
|
88
src/m/sun1.h
Normal file
88
src/m/sun1.h
Normal file
@ -0,0 +1,88 @@
|
||||
/* machine description file for Sun 68000's
|
||||
Copyright (C) 1985, 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="note"
|
||||
|
||||
NOTE-START
|
||||
Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
|
||||
-opsystem=bsd4-2 or -opsystem=sunos4)
|
||||
|
||||
Whether you should use sun1, sun2 or sun3 depends on the
|
||||
VERSION OF THE OPERATING SYSTEM
|
||||
you have. There are three machine types for different versions of
|
||||
SunOS. All are derived from Berkeley 4.2, meaning that you should
|
||||
use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will
|
||||
need to use sun3 on Sun 2's running SunOS release 3.
|
||||
|
||||
For SunOS release 4 on a Sun 3, use -machine=sun3 and
|
||||
-opsystem=sunos4. See the file share-lib/SUNBUG for how to solve
|
||||
problems caused by bugs in the "export" version of SunOS 4.
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
#define m68000
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Sun can't write competant compilers */
|
||||
#define COMPILER_REGISTER_BUG
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#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)
|
||||
|
||||
/* Must use the system's termcap. It does special things. */
|
||||
|
||||
#define LIBS_TERMCAP -ltermcap
|
||||
|
||||
/* Mask for address bits within a memory segment */
|
||||
|
||||
#define SEGMENT_MASK (SEGSIZ - 1)
|
109
src/m/sun2.h
Normal file
109
src/m/sun2.h
Normal file
@ -0,0 +1,109 @@
|
||||
/* machine description file for Sun 68000's OPERATING SYSTEM version 2.
|
||||
Note that "sun2.h" refers to the operating system version, not the
|
||||
CPU model number. See the MACHINES file for details.
|
||||
Copyright (C) 1985, 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="note"
|
||||
|
||||
NOTE-START
|
||||
Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
|
||||
-opsystem=bsd4-2 or -opsystem=sunos4)
|
||||
|
||||
Whether you should use sun1, sun2 or sun3 depends on the
|
||||
VERSION OF THE OPERATING SYSTEM
|
||||
you have. There are three machine types for different versions of
|
||||
SunOS. All are derived from Berkeley 4.2, meaning that you should
|
||||
use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will
|
||||
need to use sun3 on Sun 2's running SunOS release 3.
|
||||
|
||||
For SunOS release 4 on a Sun 3, use -machine=sun3 and
|
||||
-opsystem=sunos4. See the file share-lib/SUNBUG for how to solve
|
||||
problems caused by bugs in the "export" version of SunOS 4.
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a 68000 */
|
||||
|
||||
#ifndef m68000
|
||||
#define m68000
|
||||
#endif
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* Sun can't write competent compilers */
|
||||
#define COMPILER_REGISTER_BUG
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#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)
|
||||
|
||||
/* Say that this is a Sun 2; must check for and maybe reinitialize
|
||||
the "sky" board. */
|
||||
|
||||
#define sun2
|
||||
|
||||
/* Must use the system's termcap. It does special things. */
|
||||
|
||||
#define LIBS_TERMCAP -ltermcap
|
||||
|
||||
/* Mask for address bits within a memory segment */
|
||||
|
||||
#define SEGMENT_MASK (SEGSIZ - 1)
|
||||
|
||||
/* Arrange to link with sun windows, if requested. */
|
||||
/* For details on emacstool and sunfns, see etc/SUN-SUPPORT */
|
||||
/* These programs require Sun UNIX 4.2 Release 3.2 or greater */
|
||||
|
||||
#ifdef HAVE_SUN_WINDOWS
|
||||
#define OTHER_FILES ${etcdir}emacstool
|
||||
#define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect
|
||||
#define OBJECTS_MACHINE sunfns.o
|
||||
#define SYMS_MACHINE syms_of_sunfns ()
|
||||
#define PURESIZE 132000
|
||||
#endif
|
92
src/m/tahoe.h
Normal file
92
src/m/tahoe.h
Normal file
@ -0,0 +1,92 @@
|
||||
/* machine description file for tahoe.
|
||||
Copyright (C) 1985 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="note"
|
||||
|
||||
NOTE-START
|
||||
Use -opsystem=bsd4-2 or -opsystem=bsd4-3, depending on the version of
|
||||
Berkeley you are running.
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* lowest-numbered byte is most significant */
|
||||
|
||||
#define BIG_ENDIAN
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Say this machine is a tahoe */
|
||||
|
||||
#ifndef tahoe
|
||||
#define tahoe
|
||||
#endif /* not tahoe */
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
|
||||
|
||||
#define CRT0_DUMMIES
|
||||
|
||||
/* crt0.c should define a symbol `start' and do .globl with a dot. */
|
||||
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
/* This triggers some stuff to avoid a compiler bug */
|
||||
|
||||
#define TAHOE_REGISTER_BUG
|
||||
|
||||
/* System provides alloca. */
|
||||
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* Control header files used by loadst.c.
|
||||
Some users report machines have dkstat.h while others report dk.h,
|
||||
so it's hard to tell what this should say. */
|
||||
|
||||
#ifdef BSD
|
||||
#define DKSTAT_HEADER_FILE
|
||||
#endif
|
117
src/m/targon31.h
Normal file
117
src/m/targon31.h
Normal file
@ -0,0 +1,117 @@
|
||||
/* targon31 machine description file
|
||||
Copyright (C) 1985, 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="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. */
|
||||
|
||||
#define SIGN_EXTEND_CHAR(c) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
|
||||
/* #define m68k is defined by the Compiler */
|
||||
/* #define m68000 */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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. */
|
||||
|
||||
/* #define 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 C_ALLOCA */
|
||||
/* #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 */
|
||||
/* Supposedly NO_REMAP is not needed with the following change. */
|
||||
#define SEGMENT_MASK 0xffff
|
||||
|
||||
#define SWITCH_ENUM_BUG 1
|
98
src/m/tek4300.h
Normal file
98
src/m/tek4300.h
Normal file
@ -0,0 +1,98 @@
|
||||
/* machine description file for tek4300.
|
||||
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="bsd4-3" */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 68000 has lowest-numbered byte as most significant */
|
||||
|
||||
#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. */
|
||||
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically. */
|
||||
|
||||
#define tek4300
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* 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) (x)
|
||||
|
||||
/* 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 C_ALLOCA if this machine does not support a true alloca
|
||||
and the one written in C should be used instead. */
|
||||
|
||||
#define C_ALLOCA
|
||||
|
||||
/* setjmp and longjmp can safely replace _setjmp and _longjmp, */
|
||||
|
||||
#define _longjmp longjmp
|
||||
#define _setjmp setjmp
|
||||
|
||||
/* 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
|
||||
|
||||
/* The Tektronix exec struct for ZMAGIC files is struct zexec */
|
||||
|
||||
#define EXEC_HDR_TYPE struct zexec
|
||||
|
||||
/* The entry-point label (start of text segment) is `start', not `__start'. */
|
||||
|
||||
#define DEFAULT_ENTRY_ADDRESS start
|
110
src/m/template.h
Normal file
110
src/m/template.h
Normal file
@ -0,0 +1,110 @@
|
||||
/* machine description file template.
|
||||
Copyright (C) 1985, 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="<name of system .h file here, without the s- or .h>" */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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 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
|
134
src/m/tower32.h
Normal file
134
src/m/tower32.h
Normal file
@ -0,0 +1,134 @@
|
||||
/* machine description file for the NCR Tower 32 running System V.2.
|
||||
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="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. */
|
||||
|
||||
#define SIGN_EXTEND_CHAR(c) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
#define m68000
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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 HAVE_ALLOCA
|
||||
|
||||
/* Change some things to avoid bugs in compiler */
|
||||
|
||||
#define SWITCH_ENUM_BUG 1
|
||||
|
||||
/* The standard C library is -lcieee, not -lc.
|
||||
Also use the PW library, which contains alloca. */
|
||||
|
||||
#define LIB_STANDARD -lPW -lcieee
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry. Beware that if you have
|
||||
OS release 2.00.00 or later, *and* change src/ymakefile so that CFLAGS
|
||||
includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, you need to
|
||||
uncomment CRT0_DUMMIES and C_OPTIMIZE_SWITCH below. */
|
||||
|
||||
/* With the optimizer OFF */
|
||||
|
||||
#define CRT0_DUMMIES zero, bogus_fp,
|
||||
|
||||
/* With the optimizer ON */
|
||||
|
||||
/* #define CRT0_DUMMIES */
|
||||
/* #define C_OPTIMIZE_SWITCH -O2 */
|
||||
|
||||
/* emacs's magic number isn't temacs's;
|
||||
temacs is writeable text (the default!). */
|
||||
|
||||
#include <asld.h>
|
||||
#define EXEC_MAGIC AOUT1MAGIC
|
||||
#define EXEC_PAGESIZE DATACLICK
|
139
src/m/tower32v3.h
Normal file
139
src/m/tower32v3.h
Normal file
@ -0,0 +1,139 @@
|
||||
/* machine description file for the NCR Tower 32 running System V.3.
|
||||
Copyright (C) 1986 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY. No author or distributor
|
||||
accepts responsibility to anyone for the consequences of using it
|
||||
or for whether it serves any particular purpose or works at all,
|
||||
unless he says so in writing. Refer to the GNU Emacs General Public
|
||||
License for full details.
|
||||
|
||||
Everyone is granted permission to copy, modify and redistribute
|
||||
GNU Emacs, but only under the conditions described in the
|
||||
GNU Emacs General Public License. A copy of this license is
|
||||
supposed to have been given to you along with GNU Emacs so you
|
||||
can know your rights and responsibilities. It should be in a
|
||||
file named COPYING. Among other things, the copyright notice
|
||||
and this notice must be preserved on all copies. */
|
||||
|
||||
|
||||
/* The following line tells the configuration script what sort of
|
||||
operating system this machine is likely to run.
|
||||
USUAL-OPSYS="usg5-3" */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
#define m68000
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define HAVE_ALLOCA
|
||||
#define alloca __builtin_alloca
|
||||
#define C_OPTIMIZE_SWITCH -O -fstrength-reduce -fomit-frame-pointer
|
||||
#define LIB_STANDARD -lc /lib/crtn.o
|
||||
#else
|
||||
/* This section is correct if you do *not* change src/ymakefile so that
|
||||
CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH. */
|
||||
#define HAVE_ALLOCA
|
||||
#define C_DEBUG_SWITCH -g -O0
|
||||
#define LIB_STANDARD -lc -lPW /lib/crtn.o
|
||||
/* This section is correct if you do enable C_OPTIMIZE_SWITCH. */
|
||||
/* #define C_ALLOCA */
|
||||
/* #define STACK_DIRECTION -1 */
|
||||
/* #define C_OPTIMIZE_SWITCH -O2 */
|
||||
/* #define LIB_STANDARD -lc /lib/crtn.o */
|
||||
#endif
|
||||
|
||||
/* The OS maps the data section far away from the text section. */
|
||||
#define NO_REMAP
|
||||
#define TEXT_START 0
|
||||
#undef static
|
||||
#define START_FILES pre-crt0.o /lib/crt1.o
|
||||
|
||||
/* This is needed since many Tower models start the data/bss segment at
|
||||
an address as large as 0x2000000. */
|
||||
#define VALBITS 26
|
||||
#define GCTYPEBITS 5
|
||||
|
||||
/* The OS has an implementation of symlinks that is semantically different
|
||||
from BSD, but for some silly reason it partly has the same syntax. */
|
||||
#undef S_IFLNK
|
||||
|
||||
/* The OS needs stream.h+ptem.h included in sysdep.c. */
|
||||
#define NO_SIOCTL_H
|
||||
#define NEED_PTEM_H
|
158
src/m/ustation.h
Normal file
158
src/m/ustation.h
Normal file
@ -0,0 +1,158 @@
|
||||
/* machine description file for U-station (Nihon Unisys, SS5E; Sumitomo Denkoh, U-Station E30).
|
||||
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="usg5-3" */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
|
||||
are the ones defined so far. */
|
||||
/* Masscomp predefines mc68000. */
|
||||
|
||||
#define m68000 mc68000
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((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. */
|
||||
|
||||
#undef 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 data space precedes text 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. */
|
||||
|
||||
/* On return from a subroutine, the 68020 compiler restores old contents of
|
||||
register variables relative to sp, so alloca() screws up such routines.
|
||||
The following definitions should work on all Masscomps. On the MC-5500
|
||||
(a 68000) one can #undef C_ALLOCA and #define HAVE_ALLOCA. */
|
||||
|
||||
#define C_ALLOCA
|
||||
#undef 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. */
|
||||
|
||||
#undef NO_REMAP
|
||||
|
||||
/* Name of file the to look in
|
||||
for the kernel symbol table (for load average) */
|
||||
|
||||
#define KERNEL_FILE "/unix"
|
||||
|
||||
/* This triggers some stuff to avoid a compiler bug */
|
||||
|
||||
#define MASSC_REGISTER_BUG
|
||||
|
||||
/* Prevent -lg from being used for debugging. Not implemented? */
|
||||
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/*
|
||||
* Define HAVE_TERMIO if the system provides sysV-style ioctls
|
||||
* for terminal control.
|
||||
*/
|
||||
|
||||
#define HAVE_TERMIO
|
||||
|
||||
/* -lnet is not standard library */
|
||||
|
||||
#undef HAVE_SELECT
|
||||
#undef LIBS_SYSTEM
|
||||
|
||||
/* Compiler's bug */
|
||||
|
||||
#define SWITCH_ENUM_BUG
|
||||
|
||||
/* Termcap is available */
|
||||
|
||||
#define LIBS_TERMCAP -ltermcap
|
||||
|
||||
#define EXEC_PAGESIZE 1024
|
||||
#define PURESIZE 130000
|
||||
|
||||
#undef SIGIO
|
||||
#undef SIGTSTP
|
||||
#undef HAVE_TIMEVAL
|
132
src/m/vax.h
Normal file
132
src/m/vax.h
Normal file
@ -0,0 +1,132 @@
|
||||
/* machine description file for vax.
|
||||
Copyright (C) 1985, 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="note"
|
||||
|
||||
NOTE-START
|
||||
The vax (-machine=vax) runs zillions of different operating systems.
|
||||
|
||||
Vax running Berkeley Unix (-opsystem=bsd4-1, -opsystem=bsd4-2 or
|
||||
-opsystem=bsd4-3)
|
||||
|
||||
Works.
|
||||
|
||||
Vax running Ultrix (-opsystem=bsd4-2)
|
||||
|
||||
Works. See under Ultrix in share-lib/MACHINES for problems using X
|
||||
windows on Ultrix.
|
||||
|
||||
Vax running System V rel 2 (-opsystem=usg5-2)
|
||||
|
||||
18.27 Works.
|
||||
|
||||
Vax running System V rel 0 (-opsystem=usg5-0)
|
||||
|
||||
Works as of 18.36.
|
||||
|
||||
Vax running VMS (-opsystem=vms)
|
||||
|
||||
18.36 believed to work. Addition of features is necessary to make
|
||||
this Emacs version more usable.
|
||||
|
||||
NOTE-END */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* Vax is not big-endian: lowest numbered byte is least significant. */
|
||||
|
||||
/* #undef BIG_ENDIAN */
|
||||
|
||||
/* 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) (c)
|
||||
|
||||
/* #define vax -- appears to be done automatically */
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
|
||||
|
||||
#define CRT0_DUMMIES
|
||||
|
||||
/* crt0.c should define a symbol `start' and do .globl with a dot. */
|
||||
|
||||
#define DOT_GLOBAL_START
|
||||
|
||||
#ifdef BSD
|
||||
/* USG systems I know of running on Vaxes do not actually
|
||||
support the load average, so disable it for them. */
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#define LOAD_AVE_TYPE double
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
#endif /* BSD */
|
||||
|
||||
#ifdef VMS
|
||||
|
||||
/* Data type of load average, as read out of driver. */
|
||||
|
||||
#define LOAD_AVE_TYPE float
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
|
||||
|
||||
#endif /* VMS */
|
||||
|
||||
/* Vax sysV has alloca in the PW library. */
|
||||
|
||||
#ifdef USG
|
||||
#define LIB_STANDARD -lPW -lc
|
||||
#define HAVE_ALLOCA
|
||||
|
||||
/* There is some bug in unexec in for usg 5.2 on a vax
|
||||
which nobody who runs such a system has yet tracked down. */
|
||||
#ifndef USG5_0
|
||||
#define NO_REMAP
|
||||
#endif /* USG 5_0 */
|
||||
|
||||
#define TEXT_START 0
|
||||
#endif /* USG */
|
||||
|
||||
#ifdef BSD
|
||||
#define HAVE_ALLOCA
|
||||
#endif /* BSD */
|
||||
|
||||
#ifdef VMS
|
||||
#define C_ALLOCA
|
||||
#endif
|
168
src/m/wicat.h
Normal file
168
src/m/wicat.h
Normal file
@ -0,0 +1,168 @@
|
||||
/* machine description file for WICAT machines.
|
||||
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="usg5-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. */
|
||||
|
||||
#undef NO_ARG_ARRAY
|
||||
|
||||
/* Define WORD_MACHINE if addresses and such have
|
||||
* to be corrected before they can be used as byte counts. */
|
||||
|
||||
#undef 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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
vax, m68000, ns16000 are the ones defined so far. */
|
||||
|
||||
#ifndef m68000
|
||||
#define m68000
|
||||
#endif
|
||||
|
||||
/* This flag is used only in alloca.s. */
|
||||
#define WICAT
|
||||
|
||||
/* Use type int rather than a union, to represent Lisp_Object */
|
||||
|
||||
#define NO_UNION_TYPE
|
||||
|
||||
/* XINT must explicitly sign-extend */
|
||||
|
||||
#define EXPLICIT_SIGN_EXTEND
|
||||
|
||||
/* Data type of load average, as read out of kmem. */
|
||||
|
||||
#undef LOAD_AVE_TYPE
|
||||
|
||||
/* Convert that into an integer that is 100 for a load average of 1.0 */
|
||||
|
||||
#undef LOAD_AVE_CVT
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef 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. */
|
||||
|
||||
/* For the Wicat C compiler version 4.2, this can be removed
|
||||
and the alloca in alloca.s used. */
|
||||
#define C_ALLOCA
|
||||
#define STACK_DIRECTION -1 /* grows towards lower addresses on WICAT */
|
||||
|
||||
/* 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. */
|
||||
|
||||
#undef NO_REMAP
|
||||
|
||||
/* For WICAT, define TAHOE_REGISTER_BUG if you have a pre-4.2 C compiler */
|
||||
|
||||
#define TAHOE_REGISTER_BUG
|
||||
|
||||
/* pagesize definition */
|
||||
|
||||
#define EXEC_PAGESIZE 0x1000
|
||||
|
||||
/* Delete this for WICAT sys V releases before 2.0. */
|
||||
|
||||
#define LIB_STANDARD -lc-nofp
|
||||
|
||||
/* Special magic number */
|
||||
|
||||
#define EXEC_MAGIC MC68ROMAGIC
|
||||
|
||||
/* Special switches to give to ld. */
|
||||
|
||||
#define LD_SWITCH_MACHINE -e __start -N
|
||||
|
||||
/* Sigh...cannot define this for WICAT cuz 0 length memcpy blows chunks */
|
||||
|
||||
#undef BSTRING
|
||||
|
||||
#ifdef BSTRING
|
||||
#undef bcopy
|
||||
#undef bzero
|
||||
#undef bcmp
|
||||
|
||||
#define bcopy(a,b,s) memcpy(b,a,s)
|
||||
#define bzero(a,s) memset(a,0,s)
|
||||
#define bcmp memcmp
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Define optimflags if you want to optimize.
|
||||
* - Set to null string for pre-4.2 C compiler
|
||||
* - Set to "-O -Wopt,-O-f" for 4.2
|
||||
*/
|
||||
|
||||
#define C_OPTIMIZE_SWITCH /* -O -Wopt,-O-f */
|
||||
|
||||
/* For WICAT version supporting PTYs and select (currently internal only) */
|
||||
|
||||
#ifdef HAVE_PTYS
|
||||
#undef FIRST_PTY_LETTER
|
||||
#define FIRST_PTY_LETTER 'q'
|
||||
#endif
|
||||
|
||||
/* there is a select() in libcurses.a that causes a conflict so use termlib */
|
||||
#ifdef HAVE_SELECT
|
||||
#undef TERMINFO
|
||||
#define LIBS_TERMCAP select.o -ltermlib
|
||||
#endif
|
118
src/m/xps100.h
Normal file
118
src/m/xps100.h
Normal file
@ -0,0 +1,118 @@
|
||||
/* xps100.h for the Honeywell XPS100 running UNIX System V.2
|
||||
Mark J. Hewitt (mjh@uk.co.kernel)
|
||||
|
||||
Copyright (C) 1985, 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="usg5-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) (c)
|
||||
|
||||
/* Now define a symbol for the cpu type, if your compiler
|
||||
does not define it automatically:
|
||||
Ones defined so far include vax, m68000, ns16000, pyramid,
|
||||
orion, tahoe, APOLLO and many others */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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 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 STACK_DIRECTION -1
|
||||
#define TERMINFO
|
||||
#define SWITCH_ENUM_BUG
|
||||
#define LIB_STANDARD -lc
|
||||
#define LD_SWITCH_MACHINE -X
|
||||
#define SECTION_ALIGNMENT (0x3ff)
|
232
src/s/aix3-1.h
Normal file
232
src/s/aix3-1.h
Normal file
@ -0,0 +1,232 @@
|
||||
/* Definitions file for GNU Emacs running on IBM AIX version 3.1
|
||||
Copyright (C) 1985, 1986 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY. No author or distributor
|
||||
accepts responsibility to anyone for the consequences of using it
|
||||
or for whether it serves any particular purpose or works at all,
|
||||
unless he says so in writing. Refer to the GNU Emacs General Public
|
||||
License for full details.
|
||||
|
||||
Everyone is granted permission to copy, modify and redistribute
|
||||
GNU Emacs, but only under the conditions described in the
|
||||
GNU Emacs General Public License. A copy of this license is
|
||||
supposed to have been given to you along with GNU Emacs so you
|
||||
can know your rights and responsibilities. It should be in a
|
||||
file named COPYING. Among other things, the copyright notice
|
||||
and this notice must be preserved on all copies. */
|
||||
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
#define USG /* System III, System V, etc */
|
||||
#define USG5
|
||||
|
||||
/* Specify IBM AIX version of system */
|
||||
|
||||
#ifndef AIX
|
||||
#define AIX
|
||||
#endif
|
||||
|
||||
/* turn off c prototypes */
|
||||
#ifndef _NO_PROTO
|
||||
#define _NO_PROTO
|
||||
#endif
|
||||
|
||||
/* This symbol should be defined on AIX Version 3 ??????? */
|
||||
#ifndef _AIX
|
||||
#define _AIX
|
||||
#endif
|
||||
|
||||
/* Specify "_BSD" to invoke Berkeley compatibility in header files */
|
||||
/*#ifndef _BSD
|
||||
#define _BSD
|
||||
#endif
|
||||
*/
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "aix-v3"
|
||||
|
||||
|
||||
/* nomultiplejobs should be defined if your system's shell
|
||||
does not have "job control" (the ability to stop a program,
|
||||
run some other program, then continue the first one). */
|
||||
|
||||
/* #define NOMULTIPLEJOBS */
|
||||
|
||||
/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
|
||||
|
||||
/* #define INTERRUPT_INPUT */
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'p' means it is /dev/ptyp0 */
|
||||
|
||||
#define FIRST_PTY_LETTER 'p'
|
||||
|
||||
/*
|
||||
* Define HAVE_TERMIO if the system provides sysV-style ioctls
|
||||
* for terminal control.
|
||||
*/
|
||||
|
||||
#define HAVE_TERMIO
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
|
||||
#define HAVE_TIMEVAL
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
#define HAVE_SELECT
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
/* #define NONSYSTEM_DIR_LIBRARY */
|
||||
|
||||
/*
|
||||
* Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
|
||||
* library functions. Almost, but not quite the same as
|
||||
* the 4.2 functions
|
||||
*/
|
||||
|
||||
#define SYSV_SYSTEM_DIR
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc. */
|
||||
|
||||
#define BSTRING
|
||||
|
||||
/* subprocesses should be defined if you want to
|
||||
have code for asynchronous subprocesses
|
||||
(as used in M-x compile and M-x shell).
|
||||
This is supposed to work now on system V release 2. */
|
||||
|
||||
#define subprocesses
|
||||
|
||||
/* If your system uses COFF (Common Object File Format) then define the
|
||||
preprocessor symbol "COFF". */
|
||||
|
||||
/* #define COFF */
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
|
||||
/* #define MAIL_USE_FLOCK */
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
/* #define CLASH_DETECTION */
|
||||
|
||||
/* Define SHORTNAMES if the C compiler can distinguish only
|
||||
short names. It means that the stuff in ../shortnames
|
||||
must be run to convert the long names to short ones. */
|
||||
|
||||
/* #define SHORTNAMES */
|
||||
|
||||
/* We do NOT use the Berkeley (and usg5.2.2) interface to nlist. */
|
||||
|
||||
/* #define NLIST_STRUCT */
|
||||
|
||||
/* The file containing the kernel's symbol table is called /unix. */
|
||||
|
||||
#define KERNEL_FILE "/unix"
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named avenrun. */
|
||||
|
||||
#define LDAV_SYMBOL "avenrun"
|
||||
|
||||
/* Special itemss needed to make Emacs run on this system. */
|
||||
|
||||
/*
|
||||
* Make the sigsetmask function go away. Don't know what the
|
||||
* ramifications of this are, but doesn't seem possible to
|
||||
* emulate it properly anyway at this point.
|
||||
*/
|
||||
|
||||
#define sigsetmask(mask) /* Null expansion */
|
||||
|
||||
/* setjmp and longjmp can safely replace _setjmp and _longjmp,
|
||||
but they will run slower. */
|
||||
|
||||
#define _setjmp setjmp
|
||||
#define _longjmp longjmp
|
||||
|
||||
/* On USG systems the system calls are interruptable by signals
|
||||
that the user program has elected to catch. Thus the system call
|
||||
must be retried in these cases. To handle this without massive
|
||||
changes in the source code, we remap the standard system call names
|
||||
to names for our own functions in sysdep.c that do the system call
|
||||
with retries. */
|
||||
|
||||
#define read sys_read
|
||||
#define open sys_open
|
||||
#define write sys_write
|
||||
|
||||
#define INTERRUPTIBLE_OPEN
|
||||
#define INTERRUPTIBLE_IO
|
||||
|
||||
/* On USG systems these have different names */
|
||||
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
|
||||
/* USG systems tend to put everything declared static
|
||||
into the initialized data area, which becomes pure after dumping Emacs.
|
||||
Foil this. Emacs carefully avoids static vars inside functions. */
|
||||
|
||||
#undef static
|
||||
|
||||
/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
|
||||
|
||||
/* #define ADDR_CORRECT(x) (x) */
|
||||
|
||||
#define LD_CMD cc
|
||||
|
||||
/* Prevent -lg from being used for debugging. Not needed. */
|
||||
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/* No need to specify -lc when linking. */
|
||||
|
||||
#define LIB_STANDARD
|
||||
|
||||
/* Use terminfo instead of termcap. */
|
||||
|
||||
#define TERMINFO
|
||||
|
||||
/* The following definition seems to be needed in AIX version 3.1.6.8.
|
||||
It may not have been needed in certain earlier versions. */
|
||||
#define HAVE_TCATTR
|
||||
|
||||
#define SYSTEM_MALLOC
|
||||
|
||||
|
||||
|
129
src/s/bsd4-3.h
Normal file
129
src/s/bsd4-3.h
Normal file
@ -0,0 +1,129 @@
|
||||
/* Definitions file for GNU Emacs running on bsd 4.3
|
||||
Copyright (C) 1985, 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. */
|
||||
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
#ifndef BSD4_3
|
||||
#define BSD 43 /* 4.3 * 10, as cpp doesn't do floats */
|
||||
#endif /* BSD4_3 */
|
||||
|
||||
#ifndef BSD
|
||||
#define BSD4_3 1
|
||||
#endif /* BSD */
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "berkeley-unix"
|
||||
|
||||
/* nomultiplejobs should be defined if your system's shell
|
||||
does not have "job control" (the ability to stop a program,
|
||||
run some other program, then continue the first one). */
|
||||
|
||||
/* #define NOMULTIPLEJOBS */
|
||||
|
||||
/* Do not use interrupt_input = 1 by default, because in 4.3
|
||||
we can make noninterrupt input work properly. */
|
||||
|
||||
#undef INTERRUPT_INPUT
|
||||
|
||||
/* First pty name is /dev/ptyp0. */
|
||||
|
||||
#define FIRST_PTY_LETTER 'p'
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
|
||||
#define HAVE_TIMEVAL
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
#define HAVE_SELECT
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* Define this macro if system defines a type `union wait'. */
|
||||
|
||||
#define HAVE_UNION_WAIT
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
/* #define NONSYSTEM_DIR_LIBRARY */
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc. */
|
||||
|
||||
#define BSTRING
|
||||
|
||||
/* subprocesses should be defined if you want to
|
||||
have code for asynchronous subprocesses
|
||||
(as used in M-x compile and M-x shell).
|
||||
This is generally OS dependent, and not supported
|
||||
under most USG systems. */
|
||||
|
||||
#define subprocesses
|
||||
|
||||
/* If your system uses COFF (Common Object File Format) then define the
|
||||
preprocessor symbol "COFF". */
|
||||
|
||||
/* #define COFF */
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
|
||||
#define MAIL_USE_FLOCK
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
#define CLASH_DETECTION
|
||||
|
||||
/* We use the Berkeley (and usg5.2.2) interface to nlist. */
|
||||
|
||||
#define NLIST_STRUCT
|
||||
|
||||
/* The file containing the kernel's symbol table is called /vmunix. */
|
||||
|
||||
#define KERNEL_FILE "/vmunix"
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named _avenrun. */
|
||||
|
||||
#define LDAV_SYMBOL "_avenrun"
|
260
src/s/hpux.h
Normal file
260
src/s/hpux.h
Normal file
@ -0,0 +1,260 @@
|
||||
/* Definitions file for GNU Emacs running on HPUX release 7.0.
|
||||
Based on AT&T System V.2.
|
||||
Copyright (C) 1985, 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. */
|
||||
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
#define USG /* System III, System V, etc */
|
||||
|
||||
#define USG5
|
||||
|
||||
#define HPUX
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "hpux"
|
||||
|
||||
/* `nomultiplejobs' should be defined if your system's shell
|
||||
does not have "job control" (the ability to stop a program,
|
||||
run some other program, then continue the first one).
|
||||
|
||||
On hpux this depends on the precise kind of machine in use,
|
||||
so the m- file defines this symbol if appropriate. */
|
||||
|
||||
/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
|
||||
|
||||
/* #define INTERRUPT_INPUT */
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
|
||||
|
||||
#define FIRST_PTY_LETTER 'p'
|
||||
|
||||
/*
|
||||
* Define HAVE_TERMIO if the system provides sysV-style ioctls
|
||||
* for terminal control.
|
||||
*/
|
||||
|
||||
#define HAVE_TERMIO
|
||||
|
||||
/* Says to include time.h, and not include sys/time.h. */
|
||||
|
||||
#define NEED_TIME_H
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
|
||||
#define HAVE_TIMEVAL
|
||||
|
||||
/* With HAVE_TIMEVAL define, Emacs expects to use `utimes'.
|
||||
But HPUX does not have one. */
|
||||
|
||||
#define MISSING_UTIMES
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
#define HAVE_SELECT
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
/* #define NONSYSTEM_DIR_LIBRARY */
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc.
|
||||
* s800 and later versions of s300 (s200) kernels have equivilents
|
||||
* of the BSTRING functions of BSD. If your s200 kernel doesn't have
|
||||
* em comment out this section.
|
||||
*/
|
||||
|
||||
#define BSTRING
|
||||
|
||||
/* subprocesses should be defined if you want to
|
||||
have code for asynchronous subprocesses
|
||||
(as used in M-x compile and M-x shell).
|
||||
This is generally OS dependent, and not supported
|
||||
under most USG systems. */
|
||||
|
||||
#define subprocesses
|
||||
|
||||
/* If your system uses COFF (Common Object File Format) then define the
|
||||
preprocessor symbol "COFF". */
|
||||
|
||||
/* #define COFF */
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
|
||||
/* #define MAIL_USE_FLOCK */
|
||||
|
||||
/* Say we have the SYSV style of interprocess communication. */
|
||||
|
||||
#define HAVE_SYSVIPC
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
/* #define CLASH_DETECTION */
|
||||
|
||||
/* Define SHORTNAMES if the C compiler can distinguish only
|
||||
short names. It means that the stuff in ../shortnames
|
||||
must be run to convert the long names to short ones.
|
||||
|
||||
Some USG systems support long names.
|
||||
If yours is one, DO NOT change this file!
|
||||
Do #undef SHORTNAMES in the m- file or in config.h. */
|
||||
|
||||
/* #define SHORTNAMES */
|
||||
|
||||
/* We use the Berkeley (and usg5.2.2) interface to nlist. */
|
||||
|
||||
#define NLIST_STRUCT
|
||||
|
||||
/* The file containing the kernel's symbol table is called /hp-ux. */
|
||||
|
||||
#define KERNEL_FILE "/hp-ux"
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */
|
||||
|
||||
/* Special hacks needed to make Emacs run on this system. */
|
||||
|
||||
/*
|
||||
* Make the sigsetmask function go away. Don't know what the
|
||||
* ramifications of this are, but doesn't seem possible to
|
||||
* emulate it properly anyway at this point.
|
||||
*/
|
||||
|
||||
/* HPUX has sigsetmask */
|
||||
/* #define sigsetmask(mask) / * Null expansion * / */
|
||||
|
||||
/* setjmp and longjmp can safely replace _setjmp and _longjmp,
|
||||
but they will run slower. */
|
||||
|
||||
/* HP-UX has _setjmp and _longjmp */
|
||||
/*
|
||||
#define _setjmp setjmp
|
||||
#define _longjmp longjmp
|
||||
*/
|
||||
|
||||
/* On USG systems the system calls are interruptable by signals
|
||||
that the user program has elected to catch. Thus the system call
|
||||
must be retried in these cases. To handle this without massive
|
||||
changes in the source code, we remap the standard system call names
|
||||
to names for our own functions in sysdep.c that do the system call
|
||||
with retries. */
|
||||
|
||||
#define read sys_read
|
||||
#define open sys_open
|
||||
#define write sys_write
|
||||
|
||||
#define INTERRUPTIBLE_OPEN
|
||||
#define INTERRUPTIBLE_IO
|
||||
|
||||
/* Use the system provided termcap(3) library */
|
||||
#define TERMINFO
|
||||
|
||||
/* The 48-bit versions are more winning for Emacs. */
|
||||
|
||||
#define rand lrand48
|
||||
#define srand srand48
|
||||
|
||||
/* In hpux, the symbol SIGIO is defined, but the feature
|
||||
does not really exist.
|
||||
|
||||
Here we assume that signal.h is included before config.h
|
||||
so that we can override it here. */
|
||||
|
||||
#undef SIGIO
|
||||
|
||||
/* USG systems tend to put everything declared static
|
||||
into the initialized data area, which becomes pure after dumping Emacs.
|
||||
Foil this. Emacs carefully avoids static vars inside functions. */
|
||||
|
||||
#define static
|
||||
|
||||
/* Define extra libraries to load.
|
||||
This should have -lBSD, but that library is said to make
|
||||
`signal' fail to work. */
|
||||
|
||||
#ifdef HPUX_NET
|
||||
#define LIBS_SYSTEM -ln
|
||||
#else
|
||||
#define LIBS_SYSTEM
|
||||
#endif
|
||||
|
||||
/* Some additional system facilities exist. */
|
||||
|
||||
#define HAVE_DUP2
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
#define HAVE_VFORK
|
||||
#define HAVE_PERROR /* Delete this line for version 6. */
|
||||
|
||||
/* The following maps shared exec file to demand loaded exec.
|
||||
Don't do this as demand loaded exec is broken in hpux. */
|
||||
|
||||
#if 0
|
||||
|
||||
/* Adjust a header field for the executable file about to be dumped. */
|
||||
|
||||
#define ADJUST_EXEC_HEADER \
|
||||
hdr.a_magic = ((ohdr.a_magic.file_type == OLDMAGIC.file_type) ? \
|
||||
NEWMAGIC : ohdr.a_magic);
|
||||
|
||||
#endif
|
||||
|
||||
/* Baud-rate values in tty status have nonstandard meanings. */
|
||||
|
||||
#define BAUD_CONVERT \
|
||||
{ 0, 50, 75, 110, 135, 150, 200, 300, 600, 900, 1200, \
|
||||
1800, 2400, 3600, 4800, 7200, 9600, 19200, 38400 }
|
||||
|
||||
/* This is needed for HPUX version 6.2; it may not be needed for 6.2.1. */
|
||||
#define SHORT_CAST_BUG
|
||||
|
||||
/* This is how to get the device name of the tty end of a pty. */
|
||||
#define PTY_TTY_NAME_SPRINTF \
|
||||
sprintf (ptyname, "/dev/pty/tty%c%x", c, i);
|
||||
|
||||
/* This is how to get the device name of the control end of a pty. */
|
||||
#define PTY_NAME_SPRINTF \
|
||||
sprintf (ptyname, "/dev/ptym/pty%c%x", c, i);
|
13
src/s/hpux8.h
Normal file
13
src/s/hpux8.h
Normal file
@ -0,0 +1,13 @@
|
||||
/* system description file for hpux version 8.
|
||||
This contains changes that were suggested "for the hp700".
|
||||
They were not needed for the 800.
|
||||
Our conjecture that they are needed for hpux version 8,
|
||||
which is what runs on the 700. */
|
||||
|
||||
#include "hpux.h"
|
||||
|
||||
#define LIB_X11_LIB -L/usr/lib/X11R4 -lX11
|
||||
#define C_SWITCH_SYSTEM -I/usr/include/X11R4
|
||||
|
||||
/* Don't use shared libraries. unexec doesn't handle them. */
|
||||
#define LD_SWITCH_SYSTEM -a archive
|
193
src/s/iris3-6.h
Normal file
193
src/s/iris3-6.h
Normal file
@ -0,0 +1,193 @@
|
||||
/* Definitions file for GNU Emacs running on Silicon Graphics system 3.6.
|
||||
Copyright (C) 1987 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. */
|
||||
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
#define USG
|
||||
#define USG5
|
||||
#define IRIS
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "irix"
|
||||
|
||||
/* nomultiplejobs should be defined if your system's shell
|
||||
does not have "job control" (the ability to stop a program,
|
||||
run some other program, then continue the first one). */
|
||||
|
||||
#define NOMULTIPLEJOBS
|
||||
|
||||
/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
|
||||
|
||||
/* #define INTERRUPT_INPUT */
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'a' means it is /dev/ptya0 */
|
||||
|
||||
#define FIRST_PTY_LETTER 'a'
|
||||
|
||||
/*
|
||||
* Define HAVE_TERMIO if the system provides sysV-style ioctls
|
||||
* for terminal control.
|
||||
*/
|
||||
|
||||
#define HAVE_TERMIO
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
|
||||
#define HAVE_TIMEVAL
|
||||
|
||||
/* `utime' system call doesn't understand timevals. */
|
||||
|
||||
#define IRIS_UTIME
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
#define HAVE_SELECT
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
/* #define NONSYSTEM_DIR_LIBRARY */
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc. */
|
||||
|
||||
#define BSTRING
|
||||
|
||||
/* subprocesses should be defined if you want to
|
||||
have code for asynchronous subprocesses
|
||||
(as used in M-x compile and M-x shell).
|
||||
This is generally OS dependent, and not supported
|
||||
under most USG systems. */
|
||||
|
||||
#define subprocesses
|
||||
|
||||
/* If your system uses COFF (Common Object File Format) then define the
|
||||
preprocessor symbol "COFF". */
|
||||
|
||||
/* #define COFF */
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
|
||||
/* #define MAIL_USE_FLOCK */
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
/* #define CLASH_DETECTION */
|
||||
|
||||
/* We use the Berkeley (and usg5.2.2) interface to nlist. */
|
||||
|
||||
#define NLIST_STRUCT
|
||||
|
||||
/* The file containing the kernel's symbol table is called /vmunix. */
|
||||
|
||||
#define KERNEL_FILE "/vmunix"
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named _avenrun. */
|
||||
|
||||
#define LDAV_SYMBOL "_avenrun"
|
||||
|
||||
|
||||
/* Special hacks needed to make Emacs run on this system. */
|
||||
|
||||
/*
|
||||
* Make the sigsetmask function go away. Don't know what the
|
||||
* ramifications of this are, but doesn't seem possible to
|
||||
* emulate it properly anyway at this point.
|
||||
*/
|
||||
|
||||
#define sigsetmask(mask) /* Null expansion */
|
||||
#define sigblock(x) x
|
||||
|
||||
/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
|
||||
#undef SIGIO
|
||||
|
||||
#define LIBS_MACHINE -lbsd -ldbm -lPW
|
||||
#define C_SWITCH_MACHINE -I/usr/include/bsd
|
||||
|
||||
/* setjmp and longjmp can safely replace _setjmp and _longjmp,
|
||||
but they will run slower. */
|
||||
|
||||
#define _setjmp setjmp
|
||||
#define _longjmp longjmp
|
||||
|
||||
/* On USG systems the system calls are interruptable by signals
|
||||
that the user program has elected to catch. Thus the system call
|
||||
must be retried in these cases. To handle this without massive
|
||||
changes in the source code, we remap the standard system call names
|
||||
to names for our own functions in sysdep.c that do the system call
|
||||
with retries. */
|
||||
|
||||
#define read sys_read
|
||||
#define open sys_open
|
||||
#define write sys_write
|
||||
|
||||
#define INTERRUPTIBLE_OPEN
|
||||
#define INTERRUPTIBLE_IO
|
||||
|
||||
/* On USG systems these have different names */
|
||||
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
|
||||
/* USG systems tend to put everything declared static
|
||||
into the initialized data area, which becomes pure after dumping Emacs.
|
||||
Foil this. Emacs carefully avoids static vars inside functions. */
|
||||
|
||||
/* #define static */
|
||||
|
||||
/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
|
||||
|
||||
#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
|
||||
|
||||
/* some errno.h's don't actually allocate the variable itself */
|
||||
|
||||
#define NEED_ERRNO
|
||||
|
||||
/* This is how to get the device name of the tty end of a pty. */
|
||||
#define PTY_TTY_NAME_SPRINTF \
|
||||
sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
|
13
src/s/isc2-2.h
Normal file
13
src/s/isc2-2.h
Normal file
@ -0,0 +1,13 @@
|
||||
/* system description file for Interactive (ISC) Unix version 2.2 on
|
||||
the 386. */
|
||||
|
||||
#include "usg5-3.h"
|
||||
|
||||
#define HAVE_PTYS
|
||||
#define HAVE_RENAME
|
||||
#define HAVE_CLOSEDIR
|
||||
#define MAXNAMLEN 512
|
||||
#define LIB_STANDARD -lcposix -lc
|
||||
#define O_NDELAY O_NONBLOCK
|
||||
#define MEMORY_IN_STRING_H
|
||||
#undef SIGTSTP
|
172
src/s/rtu.h
Normal file
172
src/s/rtu.h
Normal file
@ -0,0 +1,172 @@
|
||||
/* Definitions file for GNU Emacs running on RTU 3.0, ucb universe.
|
||||
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. */
|
||||
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
#define BSD4_2
|
||||
#define BSD
|
||||
#define RTU
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "rtu"
|
||||
|
||||
/* NOMULTIPLEJOBS should be defined if your system's shell
|
||||
does not have "job control" (the ability to stop a program,
|
||||
run some other program, then continue the first one). */
|
||||
|
||||
#define NOMULTIPLEJOBS
|
||||
|
||||
/* Emacs can read input using SIGIO and buffering characters itself,
|
||||
or using CBREAK mode and making C-g cause SIGINT.
|
||||
The choice is controlled by the variable interrupt_input.
|
||||
Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
|
||||
|
||||
SIGIO can be used only on systems that implement it (4.2 and 4.3).
|
||||
CBREAK mode has two disadvatages
|
||||
1) At least in 4.2, it is impossible to handle the Meta key properly.
|
||||
I hear that in system V this problem does not exist.
|
||||
2) Control-G causes output to be discarded.
|
||||
I do not know whether this can be fixed in system V.
|
||||
|
||||
Another method of doing input is planned but not implemented.
|
||||
It would have Emacs fork off a separate process
|
||||
to read the input and send it to the true Emacs process
|
||||
through a pipe.
|
||||
*/
|
||||
|
||||
#undef INTERRUPT_INPUT
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'a' means it is /dev/ptya0 */
|
||||
|
||||
#define FIRST_PTY_LETTER 'z' /* i.e. no PTY_LETTERs */
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
|
||||
#define HAVE_TIMEVAL
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
#define HAVE_SELECT
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/* Define this macro if system defines a type `union wait'. */
|
||||
|
||||
#define HAVE_UNION_WAIT
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
#define HAVE_SOCKETS
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
#define NONSYSTEM_DIR_LIBRARY
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc. */
|
||||
/* The system library bcopy() is broken in RTU. For one thing, it expects
|
||||
the length to be less than 64k. */
|
||||
#undef BSTRING
|
||||
|
||||
/* subprocesses should be defined if you want to
|
||||
have code for asynchronous subprocesses
|
||||
(as used in M-x compile and M-x shell).
|
||||
This is generally OS dependent, and not supported
|
||||
under most USG systems. */
|
||||
|
||||
#define subprocesses
|
||||
|
||||
/* If your system uses COFF (Common Object File Format) then define the
|
||||
preprocessor symbol "COFF". */
|
||||
|
||||
#undef COFF
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
|
||||
#undef MAIL_USE_FLOCK
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
#undef CLASH_DETECTION
|
||||
|
||||
/* We use the Berkeley (and usg5.2.2) interface to nlist. */
|
||||
|
||||
#define NLIST_STRUCT
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named _avenrun. */
|
||||
|
||||
#define LDAV_SYMBOL "_avenrun"
|
||||
|
||||
/* Special hacks needed to make Emacs run on this system. */
|
||||
|
||||
/* On RTU systems (like USG) the system calls are interruptable by signals
|
||||
that the user program has elected to catch. Thus the system call
|
||||
must be retried in these cases. To handle this without massive
|
||||
changes in the source code, we remap the standard system call names
|
||||
to names for our own functions in sysdep.c that do the system call
|
||||
with retries. */
|
||||
|
||||
#define read sys_read
|
||||
#define open sys_open
|
||||
#define write sys_write
|
||||
|
||||
#define INTERRUPTIBLE_OPEN
|
||||
#define INTERRUPTIBLE_IO
|
||||
|
||||
/* The "fsync" call on RTU versions 3.0 and 3.1 is badly broken!
|
||||
This hack below isn't the best solution, but without it this
|
||||
program will cause the whole system to hang! !@#$#%$ Masscomp! */
|
||||
|
||||
#define fsync(x) 0 /* "Comment out" fsync calls */
|
||||
|
||||
/* RTU has IPC instead of Unix-domain sockets. */
|
||||
|
||||
#define HAVE_SYSVIPC
|
||||
|
||||
/* This is how to get the device name of the tty end of a pty. */
|
||||
#define PTY_TTY_NAME_SPRINTF \
|
||||
sprintf (ptyname, "/dev/ttyp%x", i);
|
||||
|
||||
/* This is how to get the device name of the control end of a pty. */
|
||||
#define PTY_NAME_SPRINTF \
|
||||
sprintf (ptyname, "/dev/pty%x", i);
|
30
src/s/sunos4shr.h
Normal file
30
src/s/sunos4shr.h
Normal file
@ -0,0 +1,30 @@
|
||||
#include "bsd4-2.h"
|
||||
|
||||
/* Say that the text segment of a.out includes the header;
|
||||
the header actually occupies the first few bytes of the text segment
|
||||
and is counted in hdr.a_text. */
|
||||
|
||||
#define O_NDELAY FNDELAY /* Non-blocking I/O (4.2 style) */
|
||||
|
||||
/* In SunOS 4.1, a static function called by tzsetwall reportedly
|
||||
clears the byte just past an eight byte region it mallocs, corrupting
|
||||
GNU malloc's memory pool. But Sun's malloc doesn't seem to mind. */
|
||||
|
||||
#define SYSTEM_MALLOC
|
||||
|
||||
/* Misleading! Actually gets loaded after crt0.o */
|
||||
#define START_FILES pre-crt0.o
|
||||
|
||||
/*
|
||||
* Kludge! can't get at symbol "start" in std crt0.o
|
||||
* Who the #$%&* decided to remove the __ characters!
|
||||
* Someone needs to fix this in sysdep.c with an #ifdef BROKEN_START in
|
||||
* sysdep.c. We do not use this address so any value should do really. Still
|
||||
* may need it in the future?
|
||||
*/
|
||||
#define BROKEN_START
|
||||
#define TEXT_START 0x2020
|
||||
|
||||
#define UNEXEC unexsunos4.o
|
||||
#define RUN_TIME_REMAP
|
||||
#define LD_CMD cc
|
143
src/s/template.h
Normal file
143
src/s/template.h
Normal file
@ -0,0 +1,143 @@
|
||||
/* Template for system description header files.
|
||||
This file describes the parameters that system description files
|
||||
should define or not.
|
||||
Copyright (C) 1985, 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. */
|
||||
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
/* #define UNIPLUS */
|
||||
/* #define USG5 */
|
||||
/* #define USG */
|
||||
/* #define HPUX */
|
||||
/* #define UMAX */
|
||||
/* #define BSD4_1 */
|
||||
/* #define BSD4_2 */
|
||||
/* #define BSD4_3 */
|
||||
/* #define BSD */
|
||||
/* #define VMS */
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "berkeley-unix"
|
||||
|
||||
/* NOMULTIPLEJOBS should be defined if your system's shell
|
||||
does not have "job control" (the ability to stop a program,
|
||||
run some other program, then continue the first one). */
|
||||
|
||||
/* #define NOMULTIPLEJOBS */
|
||||
|
||||
/* Emacs can read input using SIGIO and buffering characters itself,
|
||||
or using CBREAK mode and making C-g cause SIGINT.
|
||||
The choice is controlled by the variable interrupt_input.
|
||||
Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
|
||||
|
||||
SIGIO can be used only on systems that implement it (4.2 and 4.3).
|
||||
CBREAK mode has two disadvatages
|
||||
1) At least in 4.2, it is impossible to handle the Meta key properly.
|
||||
I hear that in system V this problem does not exist.
|
||||
2) Control-G causes output to be discarded.
|
||||
I do not know whether this can be fixed in system V.
|
||||
|
||||
Another method of doing input is planned but not implemented.
|
||||
It would have Emacs fork off a separate process
|
||||
to read the input and send it to the true Emacs process
|
||||
through a pipe.
|
||||
*/
|
||||
|
||||
#define INTERRUPT_INPUT
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'a' means it is /dev/ptya0 */
|
||||
|
||||
#define FIRST_PTY_LETTER 'a'
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
|
||||
#define HAVE_TIMEVAL
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
/* #define HAVE_SELECT */
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
#define HAVE_PTYS
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
#define NONSYSTEM_DIR_LIBRARY
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc. */
|
||||
|
||||
#define BSTRING
|
||||
|
||||
/* subprocesses should be defined if you want to
|
||||
have code for asynchronous subprocesses
|
||||
(as used in M-x compile and M-x shell).
|
||||
This is generally OS dependent, and not supported
|
||||
under most USG systems. */
|
||||
|
||||
#define subprocesses
|
||||
|
||||
/* If your system uses COFF (Common Object File Format) then define the
|
||||
preprocessor symbol "COFF". */
|
||||
|
||||
/* #define COFF */
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
|
||||
#define MAIL_USE_FLOCK
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
#define CLASH_DETECTION
|
||||
|
||||
/* Here, on a separate page, add any special hacks needed
|
||||
to make Emacs work on this system. For example,
|
||||
you might define certain system call names that don't
|
||||
exist on your system, or that do different things on
|
||||
your system and must be used only through an encapsulation
|
||||
(Which you should place, by convention, in sysdep.c). */
|
||||
|
||||
/* Some compilers tend to put everything declared static
|
||||
into the initialized data area, which becomes pure after dumping Emacs.
|
||||
On these systems, you must #define static as nothing to foil this.
|
||||
Note that emacs carefully avoids static vars inside functions. */
|
||||
|
||||
/* #define static */
|
215
src/s/usg5-3.h
Normal file
215
src/s/usg5-3.h
Normal file
@ -0,0 +1,215 @@
|
||||
/* Definitions file for GNU Emacs running on AT&T's System V Release 3
|
||||
Copyright (C) 1987 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. */
|
||||
|
||||
|
||||
/*
|
||||
* Define symbols to identify the version of Unix this is.
|
||||
* Define all the symbols that apply correctly.
|
||||
*/
|
||||
|
||||
#define USG /* System III, System V, etc */
|
||||
|
||||
#define USG5
|
||||
|
||||
/* SYSTEM_TYPE should indicate the kind of system you are using.
|
||||
It sets the Lisp variable system-type. */
|
||||
|
||||
#define SYSTEM_TYPE "usg-unix-v"
|
||||
|
||||
/* nomultiplejobs should be defined if your system's shell
|
||||
does not have "job control" (the ability to stop a program,
|
||||
run some other program, then continue the first one). */
|
||||
|
||||
#define NOMULTIPLEJOBS
|
||||
|
||||
/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
|
||||
|
||||
/* #define INTERRUPT_INPUT */
|
||||
|
||||
/* Letter to use in finding device name of first pty,
|
||||
if system supports pty's. 'p' means it is /dev/ptyp0 */
|
||||
|
||||
#define FIRST_PTY_LETTER 'p'
|
||||
|
||||
/*
|
||||
* Define HAVE_TERMIO if the system provides sysV-style ioctls
|
||||
* for terminal control.
|
||||
*/
|
||||
|
||||
#define HAVE_TERMIO
|
||||
|
||||
/*
|
||||
* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
|
||||
* Look in <sys/time.h> for a timeval structure.
|
||||
*/
|
||||
|
||||
/* #define HAVE_TIMEVAL */
|
||||
|
||||
/*
|
||||
* Define HAVE_SELECT if the system supports the `select' system call.
|
||||
*/
|
||||
|
||||
/* #define HAVE_SELECT */
|
||||
|
||||
/*
|
||||
* Define HAVE_PTYS if the system supports pty devices.
|
||||
*/
|
||||
|
||||
/* Some versions of V.3 have this, but not all.
|
||||
#define HAVE_PTYS
|
||||
#define SYSV_PTYS */
|
||||
|
||||
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
|
||||
|
||||
/* #define HAVE_SOCKETS */
|
||||
|
||||
/*
|
||||
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
|
||||
* The 4.2 opendir, etc., library functions.
|
||||
*/
|
||||
|
||||
/* #define NONSYSTEM_DIR_LIBRARY */
|
||||
|
||||
/*
|
||||
* Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
|
||||
* library functions. Almost, but not quite the same as
|
||||
* the 4.2 functions
|
||||
*/
|
||||
#define SYSV_SYSTEM_DIR
|
||||
|
||||
/* Define this symbol if your system has the functions bcopy, etc. */
|
||||
|
||||
/* #define BSTRING */
|
||||
|
||||
/* subprocesses should be defined if you want to
|
||||
have code for asynchronous subprocesses
|
||||
(as used in M-x compile and M-x shell).
|
||||
This is supposed to work now on system V release 2. */
|
||||
|
||||
#define subprocesses
|
||||
|
||||
/* If your system uses COFF (Common Object File Format) then define the
|
||||
preprocessor symbol "COFF". */
|
||||
|
||||
#define COFF
|
||||
|
||||
/* define MAIL_USE_FLOCK if the mailer uses flock
|
||||
to interlock access to /usr/spool/mail/$USER.
|
||||
The alternative is that a lock file named
|
||||
/usr/spool/mail/$USER.lock. */
|
||||
|
||||
/* #define MAIL_USE_FLOCK */
|
||||
|
||||
/* Define CLASH_DETECTION if you want lock files to be written
|
||||
so that Emacs can tell instantly when you try to modify
|
||||
a file that someone else has modified in his Emacs. */
|
||||
|
||||
/* #define CLASH_DETECTION */
|
||||
|
||||
/* Define SHORTNAMES if the C compiler can distinguish only
|
||||
short names. It means that the stuff in ../shortnames
|
||||
must be run to convert the long names to short ones. */
|
||||
|
||||
/* #define SHORTNAMES */
|
||||
|
||||
/* We use the Berkeley (and usg5.2.2) interface to nlist. */
|
||||
|
||||
#define NLIST_STRUCT
|
||||
|
||||
/* The file containing the kernel's symbol table is called /unix. */
|
||||
|
||||
#define KERNEL_FILE "/unix"
|
||||
|
||||
/* The symbol in the kernel where the load average is found
|
||||
is named avenrun. */
|
||||
|
||||
#define LDAV_SYMBOL "avenrun"
|
||||
|
||||
/* Define this if system V IPC is available. */
|
||||
|
||||
#define HAVE_SYSVIPC
|
||||
|
||||
/* Special hacks needed to make Emacs run on this system. */
|
||||
|
||||
/*
|
||||
* Make the sigsetmask function go away. Don't know what the
|
||||
* ramifications of this are, but doesn't seem possible to
|
||||
* emulate it properly anyway at this point.
|
||||
*/
|
||||
|
||||
#define sigsetmask(mask) /* Null expansion */
|
||||
|
||||
/* setjmp and longjmp can safely replace _setjmp and _longjmp,
|
||||
but they will run slower. */
|
||||
|
||||
#define _setjmp setjmp
|
||||
#define _longjmp longjmp
|
||||
|
||||
/* On USG systems the system calls are interruptable by signals
|
||||
that the user program has elected to catch. Thus the system call
|
||||
must be retried in these cases. To handle this without massive
|
||||
changes in the source code, we remap the standard system call names
|
||||
to names for our own functions in sysdep.c that do the system call
|
||||
with retries. */
|
||||
|
||||
#define read sys_read
|
||||
#define write sys_write
|
||||
#define open sys_open
|
||||
#define close sys_close
|
||||
|
||||
#define INTERRUPTIBLE_OPEN
|
||||
#define INTERRUPTIBLE_CLOSE
|
||||
#define INTERRUPTIBLE_IO
|
||||
|
||||
/* On USG systems these have different names */
|
||||
|
||||
#define index strchr
|
||||
#define rindex strrchr
|
||||
|
||||
/* USG systems tend to put everything declared static
|
||||
into the initialized data area, which becomes pure after dumping Emacs.
|
||||
Foil this. Emacs carefully avoids static vars inside functions. */
|
||||
|
||||
#define static
|
||||
|
||||
/* Compiler bug bites on many systems when default ADDR_CORRECT is used. */
|
||||
|
||||
#define ADDR_CORRECT(x) (x)
|
||||
|
||||
/* Prevent -lg from being used for debugging. Not implemented? */
|
||||
|
||||
#define LIBS_DEBUG
|
||||
|
||||
/* Use terminfo instead of termcap. */
|
||||
|
||||
#define TERMINFO
|
||||
|
||||
/* X needs to talk on the network, so search the network library. */
|
||||
|
||||
#define LIBX10_SYSTEM -lnsl_s
|
||||
#define LIBX11_SYSTEM -lnsl_s
|
||||
|
||||
/* Some variants have TIOCGETC, but the structures to go with it
|
||||
are not declared. */
|
||||
|
||||
#define BROKEN_TIOCGETC
|
||||
|
||||
/* Enable support for shared libraries in unexec. */
|
||||
|
||||
#define USG_SHARED_LIBRARIES
|
163
src/s/usg5-4.h
Normal file
163
src/s/usg5-4.h
Normal file
@ -0,0 +1,163 @@
|
||||
/* Definitions file for GNU Emacs running on AT&T's System V Release 4
|
||||
Copyright (C) 1987 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY. No author or distributor
|
||||
accepts responsibility to anyone for the consequences of using it
|
||||
or for whether it serves any particular purpose or works at all,
|
||||
unless he says so in writing. Refer to the GNU Emacs General Public
|
||||
License for full details.
|
||||
|
||||
Everyone is granted permission to copy, modify and redistribute
|
||||
GNU Emacs, but only under the conditions described in the
|
||||
GNU Emacs General Public License. A copy of this license is
|
||||
supposed to have been given to you along with GNU Emacs so you
|
||||
can know your rights and responsibilities. It should be in a
|
||||
file named COPYING. Among other things, the copyright notice
|
||||
and this notice must be preserved on all copies. */
|
||||
|
||||
/* This file written by James Van Artsdalen of Dell Computer Corporation.
|
||||
* james@bigtex.cactus.org.
|
||||
*/
|
||||
|
||||
/* Use the SysVr3 file for at least base configuration. */
|
||||
|
||||
#include "usg5-3.h"
|
||||
|
||||
#define USG5_4
|
||||
|
||||
/* We do have multiple jobs. Handle ^Z. */
|
||||
|
||||
#undef NOMULTIPLEJOBS
|
||||
|
||||
/* If compiled by GNU C, we must have gnulib */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define GNULIB /usr/local/lib/gcc-gnulib
|
||||
#define LIBS_DEBUG
|
||||
#else
|
||||
#define GNULIB
|
||||
#endif
|
||||
|
||||
#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o
|
||||
|
||||
#define LIB_STANDARD GNULIB -lsocket -lnsl -lelf -lc /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o
|
||||
|
||||
#define DATA_SEG_BITS 0x08000000
|
||||
|
||||
/* Use ptem.h to get structures related to windows. */
|
||||
|
||||
#define NEED_PTEM_H
|
||||
|
||||
/* Undump with ELF */
|
||||
|
||||
#undef COFF
|
||||
|
||||
#define UNEXEC unexelf.o
|
||||
|
||||
/* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct
|
||||
* tchars. But get <termio.h> first to make sure ttold.h doesn't
|
||||
* interfere. And don't try to use SIGIO yet.
|
||||
*/
|
||||
|
||||
#ifdef emacs
|
||||
#include <sys/filio.h>
|
||||
#include <termio.h>
|
||||
#include <sys/ttold.h>
|
||||
#include <signal.h>
|
||||
#undef SIGIO
|
||||
#endif
|
||||
|
||||
/* libc has this stuff, but not utimes. */
|
||||
|
||||
#define HAVE_RENAME
|
||||
#define HAVE_SELECT
|
||||
#define HAVE_TIMEVAL
|
||||
#define HAVE_CLOSEDIR
|
||||
#define HAVE_GETTIMEOFDAY
|
||||
#define HAVE_DUP2
|
||||
|
||||
#define USE_UTIME
|
||||
|
||||
/* <sys/stat.h> *defines* stat(2) as a static function. If "static"
|
||||
* is blank, then many files will have a public definition for stat(2).
|
||||
*/
|
||||
|
||||
#undef static
|
||||
|
||||
/* We need bss_end from emacs.c for undumping */
|
||||
|
||||
#ifndef USG_SHARED_LIBRARIES
|
||||
#define USG_SHARED_LIBRARIES
|
||||
#endif
|
||||
|
||||
/* We can support this */
|
||||
|
||||
#define CLASH_DETECTION
|
||||
|
||||
#define HAVE_PTYS
|
||||
#define HAVE_SETSID
|
||||
|
||||
/* It is possible to receive SIGCHLD when there are no children
|
||||
waiting, because a previous waitsys(2) cleaned up the carcass of child
|
||||
without clearing the SIGCHLD pending info. So, use a non-blocking
|
||||
wait3 instead, which maps to waitpid(2) in SysVr4. */
|
||||
|
||||
#define HAVE_WAIT_HEADER
|
||||
#define WAITTYPE int
|
||||
#define wait3(status, options, rusage) \
|
||||
waitpid((pid_t) -1, (status), (options))
|
||||
#define WRETCODE(w) (w >> 8)
|
||||
|
||||
/* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY
|
||||
subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and
|
||||
this is all we need. */
|
||||
|
||||
#define TIOCSIGSEND TIOCSIGNAL
|
||||
|
||||
/* This change means that we don't loop through allocate_pty too many
|
||||
times in the (rare) event of a failure. */
|
||||
|
||||
#undef FIRST_PTY_LETTER
|
||||
#define FIRST_PTY_LETTER 'z'
|
||||
|
||||
/* This sets the name of the master side of the PTY. */
|
||||
|
||||
#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
|
||||
|
||||
/* This sets the name of the slave side of the PTY. On SysVr4,
|
||||
grantpt(3) forks a subprocess, so keep sigchld_handler() from
|
||||
intercepting that death. If any child but grantpt's should die
|
||||
within, it should be caught after sigrelse(2). */
|
||||
|
||||
#define PTY_TTY_NAME_SPRINTF \
|
||||
{ \
|
||||
char *ptsname(), *ptyname; \
|
||||
\
|
||||
sighold(SIGCLD); \
|
||||
if (grantpt(fd) == -1) \
|
||||
fatal("could not grant slave pty"); \
|
||||
sigrelse(SIGCLD); \
|
||||
if (unlockpt(fd) == -1) \
|
||||
fatal("could not unlock slave pty"); \
|
||||
if (!(ptyname = ptsname(fd))) \
|
||||
fatal ("could not enable slave pty"); \
|
||||
strncpy(pty_name, ptyname, sizeof(pty_name)); \
|
||||
pty_name[sizeof(pty_name) - 1] = 0; \
|
||||
}
|
||||
|
||||
/* Push various streams modules onto a PTY channel. */
|
||||
|
||||
#define SETUP_SLAVE_PTY \
|
||||
if (ioctl (xforkin, I_PUSH, "ptem") == -1) \
|
||||
fatal ("ioctl I_PUSH ptem", errno); \
|
||||
if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \
|
||||
fatal ("ioctl I_PUSH ldterm", errno); \
|
||||
if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
|
||||
fatal ("ioctl I_PUSH ttcompat", errno);
|
||||
|
||||
/* The definition of this in usg5-3.h is not needed in 5.4. */
|
||||
|
||||
#undef LIBX11_SYSTEM
|
Loading…
Reference in New Issue
Block a user