diff options
| author | Jim Blandy | 1991-12-13 18:50:18 +0000 |
|---|---|---|
| committer | Jim Blandy | 1991-12-13 18:50:18 +0000 |
| commit | 9b71f02b8a03ec8b8d0f5e4053a76e8f71920a57 (patch) | |
| tree | 4cb729aa379a5b81906065849777be98ed8e8c74 /src | |
| parent | 20c428fd9d239eca0a835e3b0fe2629e789ce562 (diff) | |
| download | emacs-9b71f02b8a03ec8b8d0f5e4053a76e8f71920a57.tar.gz emacs-9b71f02b8a03ec8b8d0f5e4053a76e8f71920a57.zip | |
entered into RCS
Diffstat (limited to 'src')
| -rw-r--r-- | src/m/alliant1.h | 9 | ||||
| -rw-r--r-- | src/m/alliant4.h | 24 | ||||
| -rw-r--r-- | src/m/gould-np1.h | 87 | ||||
| -rw-r--r-- | src/m/is386.h | 27 | ||||
| -rw-r--r-- | src/m/news-risc.h | 21 | ||||
| -rw-r--r-- | src/m/sgi3000.h | 1 | ||||
| -rw-r--r-- | src/m/sun3-68881.h | 28 | ||||
| -rw-r--r-- | src/m/sun3-fpa.h | 28 | ||||
| -rw-r--r-- | src/m/sun3-soft.h | 29 | ||||
| -rw-r--r-- | src/m/sun3.h | 50 | ||||
| -rw-r--r-- | src/m/sun386.h | 75 | ||||
| -rw-r--r-- | src/m/symmetry.h | 103 | ||||
| -rw-r--r-- | src/m/tandem-s2.h | 24 | ||||
| -rw-r--r-- | src/s/386-ix.h | 20 | ||||
| -rw-r--r-- | src/s/bsd4-1.h | 149 | ||||
| -rw-r--r-- | src/s/bsd4-2.h | 128 | ||||
| -rw-r--r-- | src/s/dgux.h | 254 | ||||
| -rw-r--r-- | src/s/esix.h | 29 | ||||
| -rw-r--r-- | src/s/iris3-5.h | 196 | ||||
| -rw-r--r-- | src/s/irix3-3.h | 175 | ||||
| -rw-r--r-- | src/s/sunos4-0.h | 14 | ||||
| -rw-r--r-- | src/s/sunos4-1.h | 12 | ||||
| -rw-r--r-- | src/s/umax.h | 178 | ||||
| -rw-r--r-- | src/s/umips.h | 77 | ||||
| -rw-r--r-- | src/s/unipl5-0.h | 192 | ||||
| -rw-r--r-- | src/s/unipl5-2.h | 186 | ||||
| -rw-r--r-- | src/s/usg5-0.h | 183 | ||||
| -rw-r--r-- | src/s/usg5-2-2.h | 186 | ||||
| -rw-r--r-- | src/s/usg5-2.h | 186 | ||||
| -rw-r--r-- | src/s/vms.h | 230 | ||||
| -rw-r--r-- | src/s/vms4-0.h | 2 | ||||
| -rw-r--r-- | src/s/vms4-2.h | 3 | ||||
| -rw-r--r-- | src/s/vms4-4.h | 3 | ||||
| -rw-r--r-- | src/s/xenix.h | 238 |
34 files changed, 3147 insertions, 0 deletions
diff --git a/src/m/alliant1.h b/src/m/alliant1.h new file mode 100644 index 00000000000..95f56cf1804 --- /dev/null +++ b/src/m/alliant1.h | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | /* config.h should include this file for version 1 of Alliant's | ||
| 2 | operating system. */ | ||
| 3 | |||
| 4 | /* The following line tells the configuration script what sort of | ||
| 5 | operating system this machine is likely to run. | ||
| 6 | USUAL-OPSYS="bsd4-2" */ | ||
| 7 | |||
| 8 | #define ALLIANT_1 | ||
| 9 | #include "alliant.h" | ||
diff --git a/src/m/alliant4.h b/src/m/alliant4.h new file mode 100644 index 00000000000..ade3dbbaae5 --- /dev/null +++ b/src/m/alliant4.h | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | /* machine description file for Alliant Concentrix 4.0 or later. | ||
| 2 | Use alliant.h for versions 2 and 3. */ | ||
| 3 | |||
| 4 | /* The following line tells the configuration script what sort of | ||
| 5 | operating system this machine is likely to run. | ||
| 6 | USUAL-OPSYS="bsd4-2" */ | ||
| 7 | |||
| 8 | #include "alliant.h" | ||
| 9 | |||
| 10 | /* Concentrix uses a different kernel symbol for load average. */ | ||
| 11 | |||
| 12 | #undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */ | ||
| 13 | #define LDAV_SYMBOL "_Loadavg" | ||
| 14 | |||
| 15 | /* Data type of load average, as read out of kmem. */ | ||
| 16 | |||
| 17 | #define LOAD_AVE_TYPE long | ||
| 18 | |||
| 19 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 20 | |||
| 21 | #define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE) | ||
| 22 | |||
| 23 | /* include <sys/param.h> for the definition of LOADAVG_SCALE, and also | ||
| 24 | LOADAVG_SIZE, the number of items in the Loadavg array. */ | ||
diff --git a/src/m/gould-np1.h b/src/m/gould-np1.h new file mode 100644 index 00000000000..014fa68fb53 --- /dev/null +++ b/src/m/gould-np1.h | |||
| @@ -0,0 +1,87 @@ | |||
| 1 | /* machine description file for Gould NP1 with UTX/32 3.0 (first release for NP1). */ | ||
| 2 | |||
| 3 | /* The following line tells the configuration script what sort of | ||
| 4 | operating system this machine is likely to run. | ||
| 5 | USUAL-OPSYS="bsd4-3" */ | ||
| 6 | |||
| 7 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 8 | preprocessor symbol "COFF". */ | ||
| 9 | /* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */ | ||
| 10 | /* at least currently, already defined by cpp, but make sure */ | ||
| 11 | #ifndef COFF | ||
| 12 | #define COFF | ||
| 13 | #endif COFF | ||
| 14 | |||
| 15 | #include "gould.h" | ||
| 16 | |||
| 17 | /* undefine what gould.h defined */ | ||
| 18 | #undef ADJUST_EXEC_HEADER | ||
| 19 | |||
| 20 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 21 | preprocessor symbol "COFF". */ | ||
| 22 | /* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */ | ||
| 23 | #ifndef COFF /* at least currently, already defined by cpp */ | ||
| 24 | #define COFF | ||
| 25 | #endif COFF | ||
| 26 | |||
| 27 | /* make Gould NP1 and PN COFF look like USG COFF */ | ||
| 28 | /* NP1 COFF */ | ||
| 29 | #undef aouthdr /* Since gould.h already defined these */ | ||
| 30 | #undef a_dtbase | ||
| 31 | |||
| 32 | #ifdef IN_UNEXEC | ||
| 33 | #define aouthdr exec | ||
| 34 | #define ADJUST_TEXT_SCNHDR_SIZE | ||
| 35 | |||
| 36 | /* Gould COFF - these are already defined in gould.h */ | ||
| 37 | /* | ||
| 38 | * #define COFF_WITH_BSD_SYMTAB | ||
| 39 | * #define HEADER_INCL_IN_TEXT | ||
| 40 | * #define magic a_magic | ||
| 41 | * #define tsize a_text | ||
| 42 | * #define dsize a_data | ||
| 43 | * #define bsize a_bss | ||
| 44 | * #define entry a_entry | ||
| 45 | * #define text_start a_txbase | ||
| 46 | * #define data_start a_dtbase | ||
| 47 | */ | ||
| 48 | /* End Gould COFF */ | ||
| 49 | #endif /* IN_UNEXEC */ | ||
| 50 | |||
| 51 | /* NP1 supports a slightly different set than PowerNode */ | ||
| 52 | #define BAUD_CONVERT { 0, 50, 75, 110, 134, 150, 300, 450, 600, 1200, \ | ||
| 53 | 1800, 2000, 2400, 3600, 4800, 7200, 9600, \ | ||
| 54 | 19200, 38400 } | ||
| 55 | |||
| 56 | #define LD_SWITCH_SYSTEM -BS -e start | ||
| 57 | |||
| 58 | /* Undef C_DEBUG_SWITCH because it may have been set in gould.h */ | ||
| 59 | /* It will compile and load and works with dbx. Runs under an incomplete | ||
| 60 | port of gdb, but gdb doesn't always find things correctly. */ | ||
| 61 | #undef C_DEBUG_SWITCH | ||
| 62 | #define C_DEBUG_SWITCH -g | ||
| 63 | #define LIBS_DEBUG -lg | ||
| 64 | |||
| 65 | |||
| 66 | /* The data segment in this machine always starts at address 0x1000000 = 16M. | ||
| 67 | An address of data cannot be stored correctly in a Lisp object; | ||
| 68 | we always lose the high bits. We must tell XPNTR to add them back. */ | ||
| 69 | |||
| 70 | #define DATA_SEG_BITS 0x1000000 | ||
| 71 | #define DATA_START 0x1000000 | ||
| 72 | |||
| 73 | /* The text segment always starts at 0. | ||
| 74 | This way we don't need to have a label _start defined. */ | ||
| 75 | #define TEXT_START 0 | ||
| 76 | |||
| 77 | /* Data isn't right next to text on an NP1 */ | ||
| 78 | #define NO_REMAP | ||
| 79 | |||
| 80 | /* The bcopy bug has reappeared */ | ||
| 81 | #undef BSTRING | ||
| 82 | |||
| 83 | #ifndef GOULD_NP1 | ||
| 84 | #define GOULD_NP1 | ||
| 85 | #endif | ||
| 86 | |||
| 87 | |||
diff --git a/src/m/is386.h b/src/m/is386.h new file mode 100644 index 00000000000..45f9273e910 --- /dev/null +++ b/src/m/is386.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | /* machine description file for Integrated Solutions 386 machine. */ | ||
| 2 | |||
| 3 | #include "intel386.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Intel 386 (-machine=intel386 or -machine=is386.h) | ||
| 11 | |||
| 12 | The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3, | ||
| 13 | isc2-2, 386-ix, esix, or xenix. | ||
| 14 | |||
| 15 | 18.58 should support a wide variety of operating systems. | ||
| 16 | Use isc2-2 for Interactive 386/ix version 2.2. | ||
| 17 | Use 386ix for prior versions. | ||
| 18 | Use esix for Esix. It isn't clear what to do on an SCO system. | ||
| 19 | |||
| 20 | -machine=is386 is used for an Integrated Solutions 386 machine. | ||
| 21 | It may also be correct for Microport systems. | ||
| 22 | NOTE-END */ | ||
| 23 | |||
| 24 | #define LIBX10_MACHINE -lnsl_s | ||
| 25 | #define LIBX11_MACHINE -lnsl_s | ||
| 26 | |||
| 27 | #define LIBS_DEBUG -lg | ||
diff --git a/src/m/news-risc.h b/src/m/news-risc.h new file mode 100644 index 00000000000..a74babceac1 --- /dev/null +++ b/src/m/news-risc.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* news-risc.h is for the "RISC News". */ | ||
| 2 | |||
| 3 | #include "mips.h" | ||
| 4 | #undef LIBS_MACHINE | ||
| 5 | |||
| 6 | /* The following line tells the configuration script what sort of | ||
| 7 | operating system this machine is likely to run. | ||
| 8 | USUAL-OPSYS="bsd4-3" */ | ||
| 9 | |||
| 10 | #define LIBS_MACHINE -lmld | ||
| 11 | |||
| 12 | #define COFF | ||
| 13 | #undef LD_SWITCH_MACHINE | ||
| 14 | #define LD_SWITCH_MACHINE -x -D 800000 | ||
| 15 | |||
| 16 | /* #define C_OPTIMIZE_SWITCH -O2 */ | ||
| 17 | #define C_OPTIMIZE_SWITCH -O | ||
| 18 | |||
| 19 | #define C_DEBUG_SWITCH -g3 | ||
| 20 | |||
| 21 | #undef TERMINFO | ||
diff --git a/src/m/sgi3000.h b/src/m/sgi3000.h new file mode 100644 index 00000000000..79249b61911 --- /dev/null +++ b/src/m/sgi3000.h | |||
| @@ -0,0 +1 @@ | |||
| #include "irist.h" | |||
diff --git a/src/m/sun3-68881.h b/src/m/sun3-68881.h new file mode 100644 index 00000000000..b74758fa4fc --- /dev/null +++ b/src/m/sun3-68881.h | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | /* sun3-68881.h, for a Sun 3, using the 68881. */ | ||
| 2 | |||
| 3 | #include "sun3.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Sun with 68881 co-processor (-machine=sun3-68881; | ||
| 11 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 12 | |||
| 13 | Versions 1, 2, and 3 of the operating system are derived from | ||
| 14 | Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. | ||
| 15 | |||
| 16 | For SunOS release 4 on a Sun 3 with a 68881, use -machine=sun3-68881 | ||
| 17 | and -opsystem=sunos4. See the file share-lib/SUNBUG for how to | ||
| 18 | solve problems caused by bugs in the "export" version of SunOS 4. | ||
| 19 | NOTE-END */ | ||
| 20 | |||
| 21 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 22 | |||
| 23 | #ifndef __GNUC__ | ||
| 24 | #define C_SWITCH_MACHINE -f68881 | ||
| 25 | #endif | ||
| 26 | |||
| 27 | #define sun_68881 | ||
| 28 | #define START_FILES crt0.o /usr/lib/Mcrt1.o | ||
diff --git a/src/m/sun3-fpa.h b/src/m/sun3-fpa.h new file mode 100644 index 00000000000..da959cac361 --- /dev/null +++ b/src/m/sun3-fpa.h | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | /* sun3-fpa.h, for a Sun 3, using the Sun fpa. */ | ||
| 2 | |||
| 3 | #include "sun3.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Sun with FPA co-processor (-machine=sun3-fpa; | ||
| 11 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 12 | |||
| 13 | Versions 1, 2, and 3 of the operating system are derived from | ||
| 14 | Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. | ||
| 15 | |||
| 16 | For SunOS release 4 on a Sun 3 with an FPA, use -machine=sun3-fpa | ||
| 17 | and -opsystem=sunos4. See the file share-lib/SUNBUG for how to | ||
| 18 | solve problems caused by bugs in the "export" version of SunOS 4. | ||
| 19 | NOTE-END */ | ||
| 20 | |||
| 21 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 22 | |||
| 23 | #ifndef __GNUC__ | ||
| 24 | #define C_SWITCH_MACHINE -ffpa | ||
| 25 | #endif | ||
| 26 | |||
| 27 | #define sun_fpa | ||
| 28 | #define START_FILES crt0.o /usr/lib/Wcrt1.o | ||
diff --git a/src/m/sun3-soft.h b/src/m/sun3-soft.h new file mode 100644 index 00000000000..05a1e9e7f49 --- /dev/null +++ b/src/m/sun3-soft.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* sun3-soft.h, for a Sun 3, using the Sun with software floating point. */ | ||
| 2 | |||
| 3 | #include "sun3.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="note" | ||
| 8 | |||
| 9 | NOTE-START | ||
| 10 | Sun with software floating point (-machine=sun3-soft; | ||
| 11 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 12 | |||
| 13 | Versions 1, 2, and 3 of the operating system are derived from | ||
| 14 | Berkeley 4.2, meaning that you should use -opsystem=bsd4-2. | ||
| 15 | |||
| 16 | If you want to use software floating point on SunOS release 4 on a | ||
| 17 | Sun 3, use -machine=sun3-68881 and -opsystem=sunos4. See the file | ||
| 18 | share-lib/SUNBUG for how to solve problems caused by bugs in the | ||
| 19 | "export" version of SunOS 4. | ||
| 20 | NOTE-END */ | ||
| 21 | |||
| 22 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 23 | |||
| 24 | #ifndef __GNUC__ | ||
| 25 | #define C_SWITCH_MACHINE -fsoft | ||
| 26 | #endif | ||
| 27 | |||
| 28 | #define sun_soft | ||
| 29 | #define START_FILES crt0.o /usr/lib/Fcrt1.o | ||
diff --git a/src/m/sun3.h b/src/m/sun3.h new file mode 100644 index 00000000000..b20889c25b8 --- /dev/null +++ b/src/m/sun3.h | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | /* machine description file for Sun 68000's OPERATING SYSTEM version 3 | ||
| 2 | (for either 68000 or 68020 systems). */ | ||
| 3 | |||
| 4 | #include "sun2.h" | ||
| 5 | #undef sun2 | ||
| 6 | #ifndef sun3 | ||
| 7 | #define sun3 | ||
| 8 | #endif | ||
| 9 | |||
| 10 | /* The following line tells the configuration script what sort of | ||
| 11 | operating system this machine is likely to run. | ||
| 12 | USUAL-OPSYS="note" | ||
| 13 | |||
| 14 | NOTE-START | ||
| 15 | Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3; | ||
| 16 | -opsystem=bsd4-2 or -opsystem=sunos4) | ||
| 17 | |||
| 18 | Whether you should use sun1, sun2 or sun3 depends on the | ||
| 19 | VERSION OF THE OPERATING SYSTEM | ||
| 20 | you have. There are three machine types for different versions of | ||
| 21 | SunOS. All are derived from Berkeley 4.2, meaning that you should | ||
| 22 | use -opsystem=bsd4-2. Emacs 17 has run on all of them. You will | ||
| 23 | need to use sun3 on Sun 2's running SunOS release 3. | ||
| 24 | |||
| 25 | For SunOS release 4 on a Sun 3, use -machine=sun3 and | ||
| 26 | -opsystem=sunos4. See the file share-lib/SUNBUG for how to solve | ||
| 27 | problems caused by bugs in the "export" version of SunOS 4. | ||
| 28 | NOTE-END */ | ||
| 29 | |||
| 30 | /* Say that the text segment of a.out includes the header; | ||
| 31 | the header actually occupies the first few bytes of the text segment | ||
| 32 | and is counted in hdr.a_text. */ | ||
| 33 | |||
| 34 | #define A_TEXT_OFFSET(HDR) sizeof (HDR) | ||
| 35 | |||
| 36 | /* This is the offset of the executable's text, from the start of the file. */ | ||
| 37 | |||
| 38 | #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) | ||
| 39 | |||
| 40 | /* In case we are using floating point, work together with crt0.c. */ | ||
| 41 | |||
| 42 | #ifndef __GNUC__ | ||
| 43 | #define C_SWITCH_MACHINE -fsoft | ||
| 44 | #endif | ||
| 45 | |||
| 46 | /* This line is needed if you are linking with X windows | ||
| 47 | and the library xlib was compiled to use the 68881. | ||
| 48 | For maximum cleanliness, don't edit this file; | ||
| 49 | instead, insert this line in config.h. */ | ||
| 50 | /* #define START_FILES crt0.o /usr/lib/Mcrt1.o */ | ||
diff --git a/src/m/sun386.h b/src/m/sun386.h new file mode 100644 index 00000000000..1daf25601b5 --- /dev/null +++ b/src/m/sun386.h | |||
| @@ -0,0 +1,75 @@ | |||
| 1 | /* machine description file for Sun's 386-based RoadRunner. This file borrows heavily from | ||
| 2 | "sun2.h", but since that file is heavily cpu-specific, it was easier | ||
| 3 | not to include it. | ||
| 4 | |||
| 5 | Copyright (C) 1988 Free Software Foundation, Inc. | ||
| 6 | |||
| 7 | This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 10 | it under the terms of the GNU General Public License as published by | ||
| 11 | the Free Software Foundation; either version 1, or (at your option) | ||
| 12 | any later version. | ||
| 13 | |||
| 14 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | GNU General Public License for more details. | ||
| 18 | |||
| 19 | You should have received a copy of the GNU General Public License | ||
| 20 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 21 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 22 | |||
| 23 | /* The following line tells the configuration script what sort of | ||
| 24 | operating system this machine is likely to run. | ||
| 25 | USUAL-OPSYS="note" | ||
| 26 | |||
| 27 | NOTE-START | ||
| 28 | Use s-sunos4-0.h for operating system version 4.0, and s-sunos4-1.h | ||
| 29 | for later versions. See the file share-lib/SUNBUG for how to solve | ||
| 30 | problems caused by bugs in the "export" version of SunOS 4. | ||
| 31 | NOTE-END */ | ||
| 32 | |||
| 33 | /* Say this machine is a bird */ | ||
| 34 | #ifndef roadrunner | ||
| 35 | #define roadrunner | ||
| 36 | #endif | ||
| 37 | |||
| 38 | /* Actual cpu-specific defs */ | ||
| 39 | #include "intel386.h" | ||
| 40 | |||
| 41 | /* Data type of load average, as read out of kmem. */ | ||
| 42 | |||
| 43 | #define LOAD_AVE_TYPE long | ||
| 44 | |||
| 45 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 46 | |||
| 47 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 48 | |||
| 49 | /* Underscores are not prepended to C symbols on this machine. */ | ||
| 50 | #undef LDAV_SYMBOL | ||
| 51 | #define LDAV_SYMBOL "avenrun" | ||
| 52 | |||
| 53 | /* Must use the system's termcap. It does special things. */ | ||
| 54 | |||
| 55 | #define LIBS_TERMCAP -ltermcap | ||
| 56 | |||
| 57 | /* Arrange to link with sun windows, if requested. */ | ||
| 58 | /* For details on emacstool and sunfns, see etc/SUN-SUPPORT */ | ||
| 59 | /* These programs require Sun UNIX 4.2 Release 3.2 or greater */ | ||
| 60 | |||
| 61 | #ifdef HAVE_SUN_WINDOWS | ||
| 62 | #define OTHER_FILES ${etcdir}emacstool | ||
| 63 | #define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect | ||
| 64 | #define OBJECTS_MACHINE sunfns.o | ||
| 65 | #define SYMS_MACHINE syms_of_sunfns () | ||
| 66 | #define PURESIZE 132000 | ||
| 67 | #endif | ||
| 68 | |||
| 69 | /* Roadrunner uses 'COFF' format */ | ||
| 70 | #define COFF | ||
| 71 | |||
| 72 | #define C_SWITCH_MACHINE -Bstatic /* avoid dynamic linking */ | ||
| 73 | #define LD_SWITCH_MACHINE -n -Bstatic | ||
| 74 | /* Get rid of the -e __start that s-sunos4.h does. */ | ||
| 75 | #undef LD_SWITCH_SYSTEM | ||
diff --git a/src/m/symmetry.h b/src/m/symmetry.h new file mode 100644 index 00000000000..d89e5346ef4 --- /dev/null +++ b/src/m/symmetry.h | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | /* machine description file for SEQUENT SYMMETRY machines | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | /* CHANGE: [Eric H. Herrin II; eric@ms.uky.edu - 15 Sept 1988] | ||
| 21 | * Modified the sequent.h file for the Sequent Symmetry machine. | ||
| 22 | * Biggest change was to align the sections in the a.out to 4K | ||
| 23 | * boundaries (this is the page size). | ||
| 24 | */ | ||
| 25 | |||
| 26 | |||
| 27 | /* NOTICE: this file works for DYNIX release 3.0.12 on Sequent Symmetry | ||
| 28 | * (Intel 80386) machines. Hasn't been tested on anything else. | ||
| 29 | */ | ||
| 30 | |||
| 31 | /* The following line tells the configuration script what sort of | ||
| 32 | operating system this machine is likely to run. | ||
| 33 | USUAL-OPSYS="bsd4-3" */ | ||
| 34 | |||
| 35 | #include "intel386.h" | ||
| 36 | |||
| 37 | /* Data type of load average, as read out of kmem. */ | ||
| 38 | |||
| 39 | #define LOAD_AVE_TYPE unsigned long | ||
| 40 | |||
| 41 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | ||
| 42 | |||
| 43 | #define FSCALE 1000.0 | ||
| 44 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | ||
| 45 | |||
| 46 | /* Define C_ALLOCA if this machine does not support a true alloca | ||
| 47 | and the one written in C should be used instead. | ||
| 48 | Define HAVE_ALLOCA to say that the system provides a properly | ||
| 49 | working alloca function and it should be used. | ||
| 50 | Define neither one if an assembler-language alloca | ||
| 51 | in the file alloca.s should be used. */ | ||
| 52 | |||
| 53 | /* #define C_ALLOCA */ | ||
| 54 | /*#define HAVE_ALLOCA*/ | ||
| 55 | |||
| 56 | /* Name of file the to look in | ||
| 57 | for the kernel symbol table (for load average) */ | ||
| 58 | |||
| 59 | #undef KERNEL_FILE | ||
| 60 | #define KERNEL_FILE "/dynix" | ||
| 61 | |||
| 62 | /* define HAVE_GETPAGESIZE for Symmetry */ | ||
| 63 | #define HAVE_GETPAGESIZE | ||
| 64 | |||
| 65 | /* Avoids a compiler bug */ | ||
| 66 | |||
| 67 | #define TAHOE_REGISTER_BUG | ||
| 68 | |||
| 69 | /* Say that the text segment of a.out includes the header; | ||
| 70 | the header actually occupies the first few bytes of the text segment | ||
| 71 | and is counted in hdr.a_text. Furthermore, the value written | ||
| 72 | in the a_text in the file must have N_ADDRADJ added to it. */ | ||
| 73 | |||
| 74 | #define A_TEXT_OFFSET(HDR) (sizeof (HDR) + N_ADDRADJ (HDR)) | ||
| 75 | |||
| 76 | /* This is the offset of the executable's text, from the start of the file. */ | ||
| 77 | |||
| 78 | #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) | ||
| 79 | |||
| 80 | /* The file sections in the Symmetry a.out must be on 4K boundaries. | ||
| 81 | */ | ||
| 82 | #define SEGSIZ 4096 | ||
| 83 | #define SECTION_ALIGNMENT (SEGSIZ-1) | ||
| 84 | |||
| 85 | /* (short) negative-int doesn't sign-extend correctly */ | ||
| 86 | #define SHORT_CAST_BUG | ||
| 87 | |||
| 88 | /* Cause compilations to be done in parallel in ymakefile. */ | ||
| 89 | #define MAKE_PARALLEL & | ||
| 90 | |||
| 91 | /* Define how to search all pty names. | ||
| 92 | This is for Dynix 3.0; delete next 5 definitions for older systems. */ | ||
| 93 | |||
| 94 | #define PTY_MAJOR "pqrstuvwPQRSTUVW" | ||
| 95 | #define PTY_MINOR "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" | ||
| 96 | #define PTY_ITERATION \ | ||
| 97 | register int ma, mi; \ | ||
| 98 | for (ma = 0; ma < sizeof(PTY_MAJOR) - 1; ma++) \ | ||
| 99 | for (mi = 0; mi < sizeof(PTY_MINOR) - 1; mi++) | ||
| 100 | #define PTY_NAME_SPRINTF \ | ||
| 101 | sprintf (ptyname, "/dev/pty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]); | ||
| 102 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 103 | sprintf (ptyname, "/dev/tty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]); | ||
diff --git a/src/m/tandem-s2.h b/src/m/tandem-s2.h new file mode 100644 index 00000000000..7c31225a413 --- /dev/null +++ b/src/m/tandem-s2.h | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | /* machine description file for the Tandem Integrity S2. */ | ||
| 2 | |||
| 3 | #include "mips.h" | ||
| 4 | |||
| 5 | /* The following line tells the configuration script what sort of | ||
| 6 | operating system this machine is likely to run. | ||
| 7 | USUAL-OPSYS="usg5-3" */ | ||
| 8 | |||
| 9 | /* This overrides some of the usual support for the mips and system V.3. */ | ||
| 10 | |||
| 11 | /* The S2 does not know about utimes() */ | ||
| 12 | #define USE_UTIME | ||
| 13 | |||
| 14 | /* The operating system apparently defines TIOCGETC | ||
| 15 | but it doesn't work. */ | ||
| 16 | #undef BROKEN_TIOCGETC | ||
| 17 | |||
| 18 | /* rs@ai.mit.edu said this was necessary for it to work. However, some | ||
| 19 | user of this machine ought to try to get subprocesses to work. */ | ||
| 20 | #undef subprocesses | ||
| 21 | |||
| 22 | /* Correct some library file names. */ | ||
| 23 | #define START_FILES pre-crt0.o /usr/lib/crt1.o1.31 | ||
| 24 | #define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o1.31 | ||
diff --git a/src/s/386-ix.h b/src/s/386-ix.h new file mode 100644 index 00000000000..5f764563e84 --- /dev/null +++ b/src/s/386-ix.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | /* Interactive 386/ix. */ | ||
| 2 | |||
| 3 | #include "usg5-3.h" | ||
| 4 | |||
| 5 | #define HAVE_SELECT | ||
| 6 | |||
| 7 | #define BROKEN_TIOCGETC | ||
| 8 | |||
| 9 | /* There are some reports that the following is needed | ||
| 10 | with some version of this system. | ||
| 11 | #undef LIBX11_SYSTEM | ||
| 12 | #define LIBX11_SYSTEM -linet | ||
| 13 | |||
| 14 | #define HAVE_TIMEVAL | ||
| 15 | #define USE_UTIME | ||
| 16 | */ | ||
| 17 | |||
| 18 | /* This is said to be needed as a result of having _insque rather | ||
| 19 | than insque in -loldX. This may not always be the right thing. */ | ||
| 20 | #define WRONG_NAME_INSQUE | ||
diff --git a/src/s/bsd4-1.h b/src/s/bsd4-1.h new file mode 100644 index 00000000000..6a4d8408dd9 --- /dev/null +++ b/src/s/bsd4-1.h | |||
| @@ -0,0 +1,149 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on bsd 4.1. | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #define BSD4_1 | ||
| 27 | |||
| 28 | #define BSD | ||
| 29 | |||
| 30 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 31 | It sets the Lisp variable system-type. */ | ||
| 32 | |||
| 33 | #define SYSTEM_TYPE "berkeley-unix" | ||
| 34 | |||
| 35 | /* nomultiplejobs should be defined if your system's shell | ||
| 36 | does not have "job control" (the ability to stop a program, | ||
| 37 | run some other program, then continue the first one). */ | ||
| 38 | |||
| 39 | /* #define NOMULTIPLEJOBS */ | ||
| 40 | |||
| 41 | /* Default is to set interrupt_input to 1: do input buffering within Emacs */ | ||
| 42 | |||
| 43 | #define INTERRUPT_INPUT | ||
| 44 | |||
| 45 | /* First pty name is /dev/ptyp0. */ | ||
| 46 | |||
| 47 | #define FIRST_PTY_LETTER 'p' | ||
| 48 | |||
| 49 | /* | ||
| 50 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 51 | * Look in <sys/time.h> for a timeval structure. | ||
| 52 | */ | ||
| 53 | |||
| 54 | #undef HAVE_TIMEVAL | ||
| 55 | |||
| 56 | /* | ||
| 57 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 58 | */ | ||
| 59 | |||
| 60 | /* #define HAVE_SELECT */ | ||
| 61 | |||
| 62 | /* | ||
| 63 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 64 | */ | ||
| 65 | |||
| 66 | /* #define HAVE_PTYS */ | ||
| 67 | |||
| 68 | /* Define this macro if system defines a type `union wait'. */ | ||
| 69 | |||
| 70 | #define HAVE_UNION_WAIT | ||
| 71 | |||
| 72 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 73 | |||
| 74 | /* #define HAVE_SOCKETS */ | ||
| 75 | |||
| 76 | /* | ||
| 77 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 78 | * The 4.2 opendir, etc., library functions. | ||
| 79 | */ | ||
| 80 | |||
| 81 | #define NONSYSTEM_DIR_LIBRARY | ||
| 82 | |||
| 83 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 84 | |||
| 85 | /* #define BSTRING */ | ||
| 86 | |||
| 87 | /* subprocesses should be defined if you want to | ||
| 88 | have code for asynchronous subprocesses | ||
| 89 | (as used in M-x compile and M-x shell). | ||
| 90 | This is generally OS dependent, and not supported | ||
| 91 | under most USG systems. */ | ||
| 92 | |||
| 93 | #define subprocesses | ||
| 94 | |||
| 95 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 96 | preprocessor symbol "COFF". */ | ||
| 97 | |||
| 98 | /* #define COFF */ | ||
| 99 | |||
| 100 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 101 | to interlock access to /usr/spool/mail/$USER. | ||
| 102 | The alternative is that a lock file named | ||
| 103 | /usr/spool/mail/$USER.lock. */ | ||
| 104 | |||
| 105 | /* #define MAIL_USE_FLOCK */ | ||
| 106 | |||
| 107 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 108 | so that Emacs can tell instantly when you try to modify | ||
| 109 | a file that someone else has modified in his Emacs. */ | ||
| 110 | |||
| 111 | #undef CLASH_DETECTION /* Might work; not tried yet. */ | ||
| 112 | |||
| 113 | /* We use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 114 | |||
| 115 | #define NLIST_STRUCT | ||
| 116 | |||
| 117 | /* The file containing the kernel's symbol table is called /vmunix. */ | ||
| 118 | |||
| 119 | #define KERNEL_FILE "/vmunix" | ||
| 120 | |||
| 121 | /* The symbol in the kernel where the load average is found | ||
| 122 | is named _avenrun. */ | ||
| 123 | |||
| 124 | #define LDAV_SYMBOL "_avenrun" | ||
| 125 | |||
| 126 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 127 | |||
| 128 | /* Make the function `signal' act as in 4.2. */ | ||
| 129 | |||
| 130 | #define signal sigset | ||
| 131 | |||
| 132 | #define _longjmp longjmp | ||
| 133 | #define _setjmp setjmp | ||
| 134 | |||
| 135 | #define lstat stat | ||
| 136 | |||
| 137 | /* sys_open handles the necessary 4.2 features for open. */ | ||
| 138 | |||
| 139 | #define open sys_open | ||
| 140 | |||
| 141 | /* Names of flags for open. */ | ||
| 142 | #define O_RDONLY 0 | ||
| 143 | #define O_WRONLY 1 | ||
| 144 | #define O_RDWR 2 | ||
| 145 | #define O_EXCL 2000 | ||
| 146 | #define O_CREAT 1000 | ||
| 147 | |||
| 148 | /* Special library needed for linking for 4.1. */ | ||
| 149 | #define LIBS_SYSTEM -ljobs | ||
diff --git a/src/s/bsd4-2.h b/src/s/bsd4-2.h new file mode 100644 index 00000000000..ea9334c520c --- /dev/null +++ b/src/s/bsd4-2.h | |||
| @@ -0,0 +1,128 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on bsd 4.2 | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #ifndef BSD4_2 | ||
| 27 | #define BSD4_2 | ||
| 28 | #endif /* BSD4_2 */ | ||
| 29 | |||
| 30 | #ifndef BSD | ||
| 31 | #define BSD | ||
| 32 | #endif /* BSD */ | ||
| 33 | |||
| 34 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 35 | It sets the Lisp variable system-type. */ | ||
| 36 | |||
| 37 | #define SYSTEM_TYPE "berkeley-unix" | ||
| 38 | |||
| 39 | /* nomultiplejobs should be defined if your system's shell | ||
| 40 | does not have "job control" (the ability to stop a program, | ||
| 41 | run some other program, then continue the first one). */ | ||
| 42 | |||
| 43 | /* #define NOMULTIPLEJOBS */ | ||
| 44 | |||
| 45 | /* Default is to set interrupt_input to 1: do input buffering within Emacs */ | ||
| 46 | |||
| 47 | #define INTERRUPT_INPUT | ||
| 48 | |||
| 49 | /* First pty name is /dev/ptyp0. */ | ||
| 50 | |||
| 51 | #define FIRST_PTY_LETTER 'p' | ||
| 52 | |||
| 53 | /* | ||
| 54 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 55 | * Look in <sys/time.h> for a timeval structure. | ||
| 56 | */ | ||
| 57 | |||
| 58 | #define HAVE_TIMEVAL | ||
| 59 | |||
| 60 | /* | ||
| 61 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 62 | */ | ||
| 63 | |||
| 64 | #define HAVE_SELECT | ||
| 65 | |||
| 66 | /* | ||
| 67 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 68 | */ | ||
| 69 | |||
| 70 | #define HAVE_PTYS | ||
| 71 | |||
| 72 | /* Define this macro if system defines a type `union wait'. */ | ||
| 73 | |||
| 74 | #define HAVE_UNION_WAIT | ||
| 75 | |||
| 76 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 77 | |||
| 78 | #define HAVE_SOCKETS | ||
| 79 | |||
| 80 | /* | ||
| 81 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 82 | * The 4.2 opendir, etc., library functions. | ||
| 83 | */ | ||
| 84 | |||
| 85 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 86 | |||
| 87 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 88 | |||
| 89 | #define BSTRING | ||
| 90 | |||
| 91 | /* subprocesses should be defined if you want to | ||
| 92 | have code for asynchronous subprocesses | ||
| 93 | (as used in M-x compile and M-x shell). | ||
| 94 | This is generally OS dependent, and not supported | ||
| 95 | under most USG systems. */ | ||
| 96 | |||
| 97 | #define subprocesses | ||
| 98 | |||
| 99 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 100 | preprocessor symbol "COFF". */ | ||
| 101 | |||
| 102 | /* #define COFF */ | ||
| 103 | |||
| 104 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 105 | to interlock access to /usr/spool/mail/$USER. | ||
| 106 | The alternative is that a lock file named | ||
| 107 | /usr/spool/mail/$USER.lock. */ | ||
| 108 | |||
| 109 | /* #define MAIL_USE_FLOCK */ | ||
| 110 | |||
| 111 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 112 | so that Emacs can tell instantly when you try to modify | ||
| 113 | a file that someone else has modified in his Emacs. */ | ||
| 114 | |||
| 115 | #define CLASH_DETECTION | ||
| 116 | |||
| 117 | /* We use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 118 | |||
| 119 | #define NLIST_STRUCT | ||
| 120 | |||
| 121 | /* The file containing the kernel's symbol table is called /vmunix. */ | ||
| 122 | |||
| 123 | #define KERNEL_FILE "/vmunix" | ||
| 124 | |||
| 125 | /* The symbol in the kernel where the load average is found | ||
| 126 | is named _avenrun. */ | ||
| 127 | |||
| 128 | #define LDAV_SYMBOL "_avenrun" | ||
diff --git a/src/s/dgux.h b/src/s/dgux.h new file mode 100644 index 00000000000..4759395d4d1 --- /dev/null +++ b/src/s/dgux.h | |||
| @@ -0,0 +1,254 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Data General's DG/UX | ||
| 2 | version 4.32 and above. | ||
| 3 | Copyright (C) 1985, 1986, 1991 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 1, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 20 | |||
| 21 | |||
| 22 | /* | ||
| 23 | * Define symbols to identify the version of Unix this is. | ||
| 24 | * Define all the symbols that apply correctly. | ||
| 25 | */ | ||
| 26 | |||
| 27 | /* #define UNIPLUS */ | ||
| 28 | /* #define USG5 */ | ||
| 29 | /* #define USG */ | ||
| 30 | /* #define HPUX */ | ||
| 31 | /* #define UMAX */ | ||
| 32 | /* #define BSD4_1 */ | ||
| 33 | #define BSD4_2 | ||
| 34 | #define BSD4_3 | ||
| 35 | #define BSD | ||
| 36 | /* #define VMS */ | ||
| 37 | |||
| 38 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 39 | It sets the Lisp variable system-type. */ | ||
| 40 | |||
| 41 | #define SYSTEM_TYPE "dgux-unix" | ||
| 42 | |||
| 43 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 44 | does not have "job control" (the ability to stop a program, | ||
| 45 | run some other program, then continue the first one). */ | ||
| 46 | |||
| 47 | /* #define NOMULTIPLEJOBS */ | ||
| 48 | |||
| 49 | /* Emacs can read input using SIGIO and buffering characters itself, | ||
| 50 | or using CBREAK mode and making C-g cause SIGINT. | ||
| 51 | The choice is controlled by the variable interrupt_input. | ||
| 52 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | ||
| 53 | |||
| 54 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | ||
| 55 | CBREAK mode has two disadvatages | ||
| 56 | 1) At least in 4.2, it is impossible to handle the Meta key properly. | ||
| 57 | I hear that in system V this problem does not exist. | ||
| 58 | 2) Control-G causes output to be discarded. | ||
| 59 | I do not know whether this can be fixed in system V. | ||
| 60 | |||
| 61 | Another method of doing input is planned but not implemented. | ||
| 62 | It would have Emacs fork off a separate process | ||
| 63 | to read the input and send it to the true Emacs process | ||
| 64 | through a pipe. | ||
| 65 | */ | ||
| 66 | |||
| 67 | #define INTERRUPT_INPUT | ||
| 68 | |||
| 69 | /* Letter to use in finding device name of first pty, | ||
| 70 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 71 | |||
| 72 | #define FIRST_PTY_LETTER 'r' | ||
| 73 | |||
| 74 | /* | ||
| 75 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 76 | * Look in <sys/time.h> for a timeval structure. | ||
| 77 | */ | ||
| 78 | |||
| 79 | #define HAVE_TIMEVAL | ||
| 80 | |||
| 81 | /* | ||
| 82 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 83 | */ | ||
| 84 | |||
| 85 | #define HAVE_SELECT | ||
| 86 | |||
| 87 | /* | ||
| 88 | * Define HAVE_SOCKETS if the system supports sockets. | ||
| 89 | */ | ||
| 90 | |||
| 91 | #define HAVE_SOCKETS | ||
| 92 | |||
| 93 | /* | ||
| 94 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 95 | */ | ||
| 96 | |||
| 97 | #define HAVE_PTYS | ||
| 98 | |||
| 99 | /* | ||
| 100 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 101 | * The 4.2 opendir, etc., library functions. | ||
| 102 | */ | ||
| 103 | |||
| 104 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 105 | |||
| 106 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 107 | |||
| 108 | #define BSTRING | ||
| 109 | |||
| 110 | /* subprocesses should be defined if you want to | ||
| 111 | have code for asynchronous subprocesses | ||
| 112 | (as used in M-x compile and M-x shell). | ||
| 113 | This is generally OS dependent, and not supported | ||
| 114 | under most USG systems. */ | ||
| 115 | |||
| 116 | #define subprocesses | ||
| 117 | |||
| 118 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 119 | preprocessor symbol "COFF". */ | ||
| 120 | |||
| 121 | #define COFF | ||
| 122 | |||
| 123 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 124 | to interlock access to /usr/spool/mail/$USER. | ||
| 125 | The alternative is that a lock file named | ||
| 126 | /usr/spool/mail/$USER.lock. */ | ||
| 127 | |||
| 128 | /* #define MAIL_USE_FLOCK */ | ||
| 129 | |||
| 130 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 131 | so that Emacs can tell instantly when you try to modify | ||
| 132 | a file that someone else has modified in his Emacs. */ | ||
| 133 | |||
| 134 | /* #define CLASH_DETECTION */ | ||
| 135 | |||
| 136 | /* Define a replacement for the baud rate switch, since DG/UX uses a different | ||
| 137 | from BSD. */ | ||
| 138 | |||
| 139 | #define BAUD_CONVERT { 0, 110, 134, 150, 300, 600, 1200, 1800, 2400, \ | ||
| 140 | 4800, 9600, 19200, 38400 } | ||
| 141 | |||
| 142 | /* | ||
| 143 | * Define HAVE_GETTIMEOFDAY if gettimeofday() system call is available. | ||
| 144 | */ | ||
| 145 | |||
| 146 | #define HAVE_GETTIMEOFDAY | ||
| 147 | |||
| 148 | /* | ||
| 149 | * Define NLIST_STRUCT if the system has nlist.h | ||
| 150 | */ | ||
| 151 | |||
| 152 | #define NLIST_STRUCT | ||
| 153 | |||
| 154 | /* | ||
| 155 | * Make WM Interface Compliant. | ||
| 156 | */ | ||
| 157 | |||
| 158 | #define XICCC | ||
| 159 | |||
| 160 | /* Here, on a separate page, add any special hacks needed | ||
| 161 | to make Emacs work on this system. For example, | ||
| 162 | you might define certain system call names that don't | ||
| 163 | exist on your system, or that do different things on | ||
| 164 | your system and must be used only through an encapsulation | ||
| 165 | (Which you should place, by convention, in sysdep.c). */ | ||
| 166 | |||
| 167 | /* Some compilers tend to put everything declared static | ||
| 168 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 169 | On these systems, you must #define static as nothing to foil this. | ||
| 170 | Note that emacs carefully avoids static vars inside functions. */ | ||
| 171 | |||
| 172 | /* #define static */ | ||
| 173 | |||
| 174 | /* DG/UX SPECIFIC ADDITIONS TO TEMPLATE FOLLOW: */ | ||
| 175 | |||
| 176 | /* Use the Berkeley flavors of the library routines, instead of System V. */ | ||
| 177 | |||
| 178 | #define setpgrp(pid,pgrp) setpgrp2(pid,pgrp) | ||
| 179 | #define getpgrp(pid) getpgrp2(pid) | ||
| 180 | |||
| 181 | /* Act like Berkeley. */ | ||
| 182 | |||
| 183 | #define _setjmp(env) sigsetjmp(env,0) | ||
| 184 | #define _longjmp(env,val) longjmp(env,val) | ||
| 185 | |||
| 186 | /* Use TERMINFO instead of termcap */ | ||
| 187 | |||
| 188 | #define TERMINFO | ||
| 189 | |||
| 190 | /* | ||
| 191 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 192 | * for terminal control. | ||
| 193 | * DG/UX has both BSD and AT&T style ioctl's. Bsd ioctl's don't | ||
| 194 | * seem to wait for the output to drain properly, so use System V. | ||
| 195 | */ | ||
| 196 | |||
| 197 | /* #define HAVE_TERMIO */ | ||
| 198 | |||
| 199 | /* | ||
| 200 | * DG/UX 4.10 needs the following to turn on berkeley ioctl's. | ||
| 201 | */ | ||
| 202 | |||
| 203 | #ifndef HAVE_TERMIO | ||
| 204 | #define _BSD_TTY_FLAVOR | ||
| 205 | #endif | ||
| 206 | |||
| 207 | /* | ||
| 208 | * Use a Berkeley style sys/wait.h. | ||
| 209 | * This makes WIF* macros operate on structures instead of ints. | ||
| 210 | */ | ||
| 211 | |||
| 212 | #define _BSD_WAIT_FLAVOR | ||
| 213 | |||
| 214 | /* Enable the x-rebind keysym function. Do not try to map function | ||
| 215 | keys internally. */ | ||
| 216 | |||
| 217 | #define XREBINDKEYSYM | ||
| 218 | |||
| 219 | /* | ||
| 220 | * Use BSD and POSIX-style signals. This is crucial! | ||
| 221 | */ | ||
| 222 | |||
| 223 | /* MAKING_MAKEFILE must be defined in "ymakefile" before including config.h */ | ||
| 224 | #ifndef MAKING_MAKEFILE | ||
| 225 | |||
| 226 | /* Make sure signal.h is included so macros below don't mess with it. */ | ||
| 227 | /* DG/UX include files prevent multiple inclusion. */ | ||
| 228 | |||
| 229 | #include <signal.h> | ||
| 230 | |||
| 231 | #define POSIX_SIGNALS | ||
| 232 | |||
| 233 | /* Not worth converting the old GNU malloc to work with POSIX_SIGNALS. */ | ||
| 234 | #define SYSTEM_MALLOC | ||
| 235 | |||
| 236 | /* Define this if you use System 5 Release 4 Streams */ | ||
| 237 | #define SYSV4_PTYS | ||
| 238 | #define open sys_open | ||
| 239 | #define close sys_close | ||
| 240 | #define read sys_read | ||
| 241 | #define write sys_write | ||
| 242 | |||
| 243 | #define INTERRUPTABLE_OPEN | ||
| 244 | #define INTERRUPTABLE_CLOSE | ||
| 245 | /* can't hurt to define these, even though read/write should auto restart */ | ||
| 246 | #define INTERRUPTABLE_IO | ||
| 247 | |||
| 248 | /* Can't use sys_signal because then etc/server.c would need sysdep.o. */ | ||
| 249 | #define signal(SIG,FUNC) berk_signal(SIG,FUNC) | ||
| 250 | |||
| 251 | #else /* MAKING_MAKEFILE */ | ||
| 252 | /* force gcc to be used */ | ||
| 253 | CC=gcc | ||
| 254 | #endif /* not MAKING_MAKEFILE */ | ||
diff --git a/src/s/esix.h b/src/s/esix.h new file mode 100644 index 00000000000..6a228590a2b --- /dev/null +++ b/src/s/esix.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* Definitions for ESIX, a variant of v.5.3 for the 386. */ | ||
| 2 | /* These are based on reports for ESIX 5.3.2 D. */ | ||
| 3 | |||
| 4 | #include "usg5-3.h" | ||
| 5 | |||
| 6 | #define HAVE_TIMEVAL | ||
| 7 | |||
| 8 | /* Some versions of V.3 have this, but not all. ESIX does. */ | ||
| 9 | #define HAVE_PTYS | ||
| 10 | #define SYSV_PTYS | ||
| 11 | |||
| 12 | /* Have -lg be used for debugging. */ | ||
| 13 | #undef LIBS_DEBUG | ||
| 14 | #define LIBS_DEBUG -lg | ||
| 15 | |||
| 16 | /* If using Roell's X server, define X11R4 */ | ||
| 17 | #ifdef X11R4 /* Roell's X server */ | ||
| 18 | #define HAVE_GETTIMEOFDAY /* Thomas Roell's X11R4 lib defines gettimeofday */ | ||
| 19 | #define select sys_select /* Emacs select() not good enough? */ | ||
| 20 | #undef LIBX11_SYSTEM | ||
| 21 | #define LIBX11_SYSTEM -lpt | ||
| 22 | #endif /* X11R4 */ | ||
| 23 | |||
| 24 | /* ESIX does not need <sys/sioctl.h>, but needs <sys/ptem.h> */ | ||
| 25 | #define NO_SIOCTL_H | ||
| 26 | #define NEED_PTEM_H | ||
| 27 | #define USG_SYS_TIME | ||
| 28 | #define USE_UTIME | ||
| 29 | #define BROKEN_FIONREAD | ||
diff --git a/src/s/iris3-5.h b/src/s/iris3-5.h new file mode 100644 index 00000000000..20a36caa32a --- /dev/null +++ b/src/s/iris3-5.h | |||
| @@ -0,0 +1,196 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Silicon Graphics 3.5 | ||
| 2 | Copyright (C) 1987 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #define USG | ||
| 27 | #define USG5 | ||
| 28 | #define IRIS | ||
| 29 | |||
| 30 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 31 | It sets the Lisp variable system-type. */ | ||
| 32 | |||
| 33 | #define SYSTEM_TYPE "irix" | ||
| 34 | |||
| 35 | /* nomultiplejobs should be defined if your system's shell | ||
| 36 | does not have "job control" (the ability to stop a program, | ||
| 37 | run some other program, then continue the first one). */ | ||
| 38 | |||
| 39 | #define NOMULTIPLEJOBS | ||
| 40 | |||
| 41 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 42 | |||
| 43 | /* #define INTERRUPT_INPUT */ | ||
| 44 | |||
| 45 | /* Letter to use in finding device name of first pty, | ||
| 46 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 47 | |||
| 48 | #define FIRST_PTY_LETTER 'a' | ||
| 49 | |||
| 50 | /* | ||
| 51 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 52 | * for terminal control. | ||
| 53 | */ | ||
| 54 | |||
| 55 | #define HAVE_TERMIO | ||
| 56 | |||
| 57 | /* | ||
| 58 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 59 | * Look in <sys/time.h> for a timeval structure. | ||
| 60 | */ | ||
| 61 | |||
| 62 | #define HAVE_TIMEVAL | ||
| 63 | |||
| 64 | /* `utime' system call doesn't understand timevals. */ | ||
| 65 | |||
| 66 | #define IRIS_UTIME | ||
| 67 | |||
| 68 | /* | ||
| 69 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 70 | */ | ||
| 71 | |||
| 72 | #define HAVE_SELECT | ||
| 73 | |||
| 74 | /* | ||
| 75 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 76 | */ | ||
| 77 | |||
| 78 | #define HAVE_PTYS | ||
| 79 | |||
| 80 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 81 | |||
| 82 | #define HAVE_SOCKETS | ||
| 83 | |||
| 84 | /* | ||
| 85 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 86 | * The 4.2 opendir, etc., library functions. | ||
| 87 | */ | ||
| 88 | |||
| 89 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 90 | |||
| 91 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 92 | |||
| 93 | #define BSTRING | ||
| 94 | |||
| 95 | /* subprocesses should be defined if you want to | ||
| 96 | have code for asynchronous subprocesses | ||
| 97 | (as used in M-x compile and M-x shell). | ||
| 98 | This is generally OS dependent, and not supported | ||
| 99 | under most USG systems. */ | ||
| 100 | |||
| 101 | #define subprocesses | ||
| 102 | |||
| 103 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 104 | preprocessor symbol "COFF". */ | ||
| 105 | |||
| 106 | /* #define COFF */ | ||
| 107 | |||
| 108 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 109 | to interlock access to /usr/spool/mail/$USER. | ||
| 110 | The alternative is that a lock file named | ||
| 111 | /usr/spool/mail/$USER.lock. */ | ||
| 112 | |||
| 113 | /* #define MAIL_USE_FLOCK */ | ||
| 114 | |||
| 115 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 116 | so that Emacs can tell instantly when you try to modify | ||
| 117 | a file that someone else has modified in his Emacs. */ | ||
| 118 | |||
| 119 | /* #define CLASH_DETECTION */ | ||
| 120 | |||
| 121 | /* We use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 122 | |||
| 123 | #define NLIST_STRUCT | ||
| 124 | |||
| 125 | /* The file containing the kernel's symbol table is called /vmunix. */ | ||
| 126 | |||
| 127 | #define KERNEL_FILE "/vmunix" | ||
| 128 | |||
| 129 | /* The symbol in the kernel where the load average is found | ||
| 130 | is named _avenrun. */ | ||
| 131 | |||
| 132 | #define LDAV_SYMBOL "_avenrun" | ||
| 133 | |||
| 134 | |||
| 135 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 136 | |||
| 137 | /* | ||
| 138 | * Make the sigsetmask function go away. Don't know what the | ||
| 139 | * ramifications of this are, but doesn't seem possible to | ||
| 140 | * emulate it properly anyway at this point. | ||
| 141 | */ | ||
| 142 | |||
| 143 | #define sigsetmask(mask) /* Null expansion */ | ||
| 144 | |||
| 145 | /* The IRIS defines SIGIO in signal.h, but doesn't implement it. */ | ||
| 146 | #undef SIGIO | ||
| 147 | |||
| 148 | #define LIBS_MACHINE -lbsd -ldbm -lPW | ||
| 149 | #define C_SWITCH_MACHINE -I/usr/include/bsd | ||
| 150 | |||
| 151 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 152 | but they will run slower. */ | ||
| 153 | |||
| 154 | #define _setjmp setjmp | ||
| 155 | #define _longjmp longjmp | ||
| 156 | |||
| 157 | /* On USG systems the system calls are interruptable by signals | ||
| 158 | that the user program has elected to catch. Thus the system call | ||
| 159 | must be retried in these cases. To handle this without massive | ||
| 160 | changes in the source code, we remap the standard system call names | ||
| 161 | to names for our own functions in sysdep.c that do the system call | ||
| 162 | with retries. */ | ||
| 163 | |||
| 164 | #define read sys_read | ||
| 165 | #define open sys_open | ||
| 166 | #define write sys_write | ||
| 167 | |||
| 168 | #define INTERRUPTIBLE_OPEN | ||
| 169 | #define INTERRUPTIBLE_IO | ||
| 170 | |||
| 171 | /* On USG systems these have different names */ | ||
| 172 | |||
| 173 | #define index strchr | ||
| 174 | #define rindex strrchr | ||
| 175 | |||
| 176 | /* USG systems tend to put everything declared static | ||
| 177 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 178 | Foil this. Emacs carefully avoids static vars inside functions. */ | ||
| 179 | |||
| 180 | /* #define static */ | ||
| 181 | |||
| 182 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 183 | |||
| 184 | #define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0) | ||
| 185 | |||
| 186 | /* some errno.h's don't actually allocate the variable itself */ | ||
| 187 | |||
| 188 | #define NEED_ERRNO | ||
| 189 | |||
| 190 | /* The symbol FIONREAD is defined, but the feature does not work. */ | ||
| 191 | |||
| 192 | #define BROKEN_FIONREAD | ||
| 193 | |||
| 194 | /* This is how to get the device name of the tty end of a pty. */ | ||
| 195 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 196 | sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev)); | ||
diff --git a/src/s/irix3-3.h b/src/s/irix3-3.h new file mode 100644 index 00000000000..02a0cbdc070 --- /dev/null +++ b/src/s/irix3-3.h | |||
| @@ -0,0 +1,175 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Silicon Graphics Irix system 3.3. | ||
| 2 | Copyright (C) 1987,1990 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #define USG | ||
| 27 | #define USG5 | ||
| 28 | #define IRIS | ||
| 29 | |||
| 30 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 31 | It sets the Lisp variable system-type. */ | ||
| 32 | |||
| 33 | #define SYSTEM_TYPE "irix" | ||
| 34 | |||
| 35 | /* nomultiplejobs should be defined if your system's shell | ||
| 36 | does not have "job control" (the ability to stop a program, | ||
| 37 | run some other program, then continue the first one). */ | ||
| 38 | |||
| 39 | /* #define NOMULTIPLEJOBS */ | ||
| 40 | |||
| 41 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 42 | |||
| 43 | /* #define INTERRUPT_INPUT */ | ||
| 44 | |||
| 45 | /* Letter to use in finding device name of first pty, | ||
| 46 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 47 | |||
| 48 | #define FIRST_PTY_LETTER 'a' | ||
| 49 | |||
| 50 | /* | ||
| 51 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 52 | * for terminal control. | ||
| 53 | */ | ||
| 54 | |||
| 55 | #define HAVE_TERMIO | ||
| 56 | |||
| 57 | /* | ||
| 58 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 59 | * Look in <sys/time.h> for a timeval structure. | ||
| 60 | */ | ||
| 61 | |||
| 62 | #define HAVE_TIMEVAL | ||
| 63 | |||
| 64 | /* `utime' system call doesn't understand timevals. */ | ||
| 65 | |||
| 66 | #define IRIS_UTIME | ||
| 67 | |||
| 68 | /* | ||
| 69 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 70 | */ | ||
| 71 | |||
| 72 | #define HAVE_SELECT | ||
| 73 | |||
| 74 | /* | ||
| 75 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 76 | */ | ||
| 77 | |||
| 78 | #define HAVE_PTYS | ||
| 79 | |||
| 80 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 81 | |||
| 82 | #define HAVE_SOCKETS | ||
| 83 | |||
| 84 | /* | ||
| 85 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 86 | * The 4.2 opendir, etc., library functions. | ||
| 87 | */ | ||
| 88 | |||
| 89 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 90 | |||
| 91 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 92 | |||
| 93 | #define BSTRING | ||
| 94 | |||
| 95 | /* subprocesses should be defined if you want to | ||
| 96 | have code for asynchronous subprocesses | ||
| 97 | (as used in M-x compile and M-x shell). | ||
| 98 | This is generally OS dependent, and not supported | ||
| 99 | under most USG systems. */ | ||
| 100 | |||
| 101 | #define subprocesses | ||
| 102 | |||
| 103 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 104 | preprocessor symbol "COFF". */ | ||
| 105 | |||
| 106 | /* #define COFF */ | ||
| 107 | |||
| 108 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 109 | to interlock access to /usr/spool/mail/$USER. | ||
| 110 | The alternative is that a lock file named | ||
| 111 | /usr/spool/mail/$USER.lock. */ | ||
| 112 | |||
| 113 | /* #define MAIL_USE_FLOCK */ | ||
| 114 | |||
| 115 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 116 | so that Emacs can tell instantly when you try to modify | ||
| 117 | a file that someone else has modified in his Emacs. */ | ||
| 118 | |||
| 119 | /* #define CLASH_DETECTION */ | ||
| 120 | |||
| 121 | /* We use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 122 | |||
| 123 | #define NLIST_STRUCT | ||
| 124 | |||
| 125 | /* The file containing the kernel's symbol table is called /unix. */ | ||
| 126 | |||
| 127 | #define KERNEL_FILE "/unix" | ||
| 128 | |||
| 129 | /* The symbol in the kernel where the load average is found | ||
| 130 | is named _avenrun. */ | ||
| 131 | |||
| 132 | #define LDAV_SYMBOL "avenrun" | ||
| 133 | |||
| 134 | |||
| 135 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 136 | but they will run slower. */ | ||
| 137 | |||
| 138 | #define _setjmp setjmp | ||
| 139 | #define _longjmp longjmp | ||
| 140 | |||
| 141 | /* On USG systems the system calls are interruptable by signals | ||
| 142 | that the user program has elected to catch. Thus the system call | ||
| 143 | must be retried in these cases. To handle this without massive | ||
| 144 | changes in the source code, we remap the standard system call names | ||
| 145 | to names for our own functions in sysdep.c that do the system call | ||
| 146 | with retries. */ | ||
| 147 | |||
| 148 | #define read sys_read | ||
| 149 | #define open sys_open | ||
| 150 | #define write sys_write | ||
| 151 | |||
| 152 | #define INTERRUPTIBLE_OPEN | ||
| 153 | #define INTERRUPTIBLE_IO | ||
| 154 | |||
| 155 | /* On USG systems these have different names */ | ||
| 156 | |||
| 157 | #define index strchr | ||
| 158 | #define rindex strrchr | ||
| 159 | |||
| 160 | /* USG systems tend to put everything declared static | ||
| 161 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 162 | Foil this. Emacs carefully avoids static vars inside functions. */ | ||
| 163 | |||
| 164 | /* #define static */ | ||
| 165 | |||
| 166 | /* This is how to get the device name of the tty end of a pty. */ | ||
| 167 | #define PTY_TTY_NAME_SPRINTF \ | ||
| 168 | sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev)); | ||
| 169 | |||
| 170 | |||
| 171 | /* getwd is defined. */ | ||
| 172 | |||
| 173 | #define HAVE_GETWD | ||
| 174 | |||
| 175 | #define HAVE_SYSVIPC | ||
diff --git a/src/s/sunos4-0.h b/src/s/sunos4-0.h new file mode 100644 index 00000000000..5c949bba673 --- /dev/null +++ b/src/s/sunos4-0.h | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #include "bsd4-2.h" | ||
| 2 | |||
| 3 | #if 0 /* This may have been needed for an earlier version of Sun OS 4. | ||
| 4 | It seems to cause warnings in 4.0.3 and 4.1. */ | ||
| 5 | #define O_NDELAY FNDELAY /* Non-blocking I/O (4.2 style) */ | ||
| 6 | #endif | ||
| 7 | |||
| 8 | #define LD_SWITCH_SYSTEM -e __start -Bstatic | ||
| 9 | |||
| 10 | /* In SunOS 4.1, a static function called by tzsetwall reportedly | ||
| 11 | clears the byte just past an eight byte region it mallocs, corrupting | ||
| 12 | GNU malloc's memory pool. But Sun's malloc doesn't seem to mind. */ | ||
| 13 | |||
| 14 | #define SYSTEM_MALLOC | ||
diff --git a/src/s/sunos4-1.h b/src/s/sunos4-1.h new file mode 100644 index 00000000000..3e243e550e7 --- /dev/null +++ b/src/s/sunos4-1.h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | #include "sunos4-0.h" | ||
| 2 | |||
| 3 | /* 4.1.1 makes these system calls interruptable. */ | ||
| 4 | |||
| 5 | #define read sys_read | ||
| 6 | #define write sys_write | ||
| 7 | #define open sys_open | ||
| 8 | #define close sys_close | ||
| 9 | |||
| 10 | #define INTERRUPTIBLE_OPEN | ||
| 11 | #define INTERRUPTIBLE_CLOSE | ||
| 12 | #define INTERRUPTIBLE_IO | ||
diff --git a/src/s/umax.h b/src/s/umax.h new file mode 100644 index 00000000000..a67f15c22e1 --- /dev/null +++ b/src/s/umax.h | |||
| @@ -0,0 +1,178 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on UMAX 4.2 | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | /* #define UNIPLUS */ | ||
| 27 | /* #define USG5 */ | ||
| 28 | /* #define USG */ | ||
| 29 | /* #define BSD4_1 */ | ||
| 30 | #define BSD4_2 | ||
| 31 | /* #define BSD4_3 */ | ||
| 32 | #define BSD | ||
| 33 | #define UMAX4_2 | ||
| 34 | #define UMAX | ||
| 35 | /* #define VMS */ | ||
| 36 | |||
| 37 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 38 | It sets the Lisp variable system-type. */ | ||
| 39 | |||
| 40 | #define SYSTEM_TYPE "berkeley-unix" | ||
| 41 | |||
| 42 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 43 | does not have "job control" (the ability to stop a program, | ||
| 44 | run some other program, then continue the first one). */ | ||
| 45 | |||
| 46 | /* #define NOMULTIPLEJOBS */ | ||
| 47 | |||
| 48 | /* Emacs can read input using SIGIO and buffering characters itself, | ||
| 49 | or using CBREAK mode and making C-g cause SIGINT. | ||
| 50 | The choice is controlled by the variable interrupt_input. | ||
| 51 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | ||
| 52 | |||
| 53 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | ||
| 54 | CBREAK mode has two disadvatages | ||
| 55 | 1) At least in 4.2, it is impossible to handle the Meta key properly. | ||
| 56 | I hear that in system V this problem does not exist. | ||
| 57 | 2) Control-G causes output to be discarded. | ||
| 58 | I do not know whether this can be fixed in system V. | ||
| 59 | |||
| 60 | Another method of doing input is planned but not implemented. | ||
| 61 | It would have Emacs fork off a separate process | ||
| 62 | to read the input and send it to the true Emacs process | ||
| 63 | through a pipe. | ||
| 64 | */ | ||
| 65 | |||
| 66 | #define INTERRUPT_INPUT | ||
| 67 | |||
| 68 | /* Letter to use in finding device name of first pty, | ||
| 69 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 70 | |||
| 71 | #define FIRST_PTY_LETTER 'p' | ||
| 72 | |||
| 73 | /* | ||
| 74 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 75 | * Look in <sys/time.h> for a timeval structure. | ||
| 76 | */ | ||
| 77 | |||
| 78 | #define HAVE_TIMEVAL | ||
| 79 | |||
| 80 | /* | ||
| 81 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 82 | */ | ||
| 83 | |||
| 84 | #define HAVE_SELECT | ||
| 85 | |||
| 86 | /* | ||
| 87 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 88 | */ | ||
| 89 | |||
| 90 | #define HAVE_PTYS | ||
| 91 | |||
| 92 | /* Define this macro if system defines a type `union wait'. */ | ||
| 93 | |||
| 94 | #define HAVE_UNION_WAIT | ||
| 95 | |||
| 96 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 97 | |||
| 98 | #define HAVE_SOCKETS | ||
| 99 | |||
| 100 | /* | ||
| 101 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 102 | * The 4.2 opendir, etc., library functions. | ||
| 103 | */ | ||
| 104 | |||
| 105 | /* #define NONSYSTEM_DIR_LIBRARY */ | ||
| 106 | |||
| 107 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 108 | |||
| 109 | #define BSTRING | ||
| 110 | |||
| 111 | /* subprocesses should be defined if you want to | ||
| 112 | have code for asynchronous subprocesses | ||
| 113 | (as used in M-x compile and M-x shell). | ||
| 114 | This is generally OS dependent, and not supported | ||
| 115 | under most USG systems. */ | ||
| 116 | |||
| 117 | #define subprocesses | ||
| 118 | |||
| 119 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 120 | preprocessor symbol "COFF". */ | ||
| 121 | |||
| 122 | #define COFF | ||
| 123 | |||
| 124 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 125 | to interlock access to /usr/spool/mail/$USER. | ||
| 126 | The alternative is that a lock file named | ||
| 127 | /usr/spool/mail/$USER.lock. */ | ||
| 128 | |||
| 129 | #define MAIL_USE_FLOCK | ||
| 130 | |||
| 131 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 132 | so that Emacs can tell instantly when you try to modify | ||
| 133 | a file that someone else has modified in his Emacs. */ | ||
| 134 | |||
| 135 | #define CLASH_DETECTION | ||
| 136 | |||
| 137 | /* We use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 138 | |||
| 139 | #define NLIST_STRUCT | ||
| 140 | |||
| 141 | /* The file containing the kernel's symbol table is called /vmunix. */ | ||
| 142 | |||
| 143 | #define KERNEL_FILE "/vmunix" | ||
| 144 | |||
| 145 | /* The symbol in the kernel where the load average is found | ||
| 146 | is named _avenrun. */ | ||
| 147 | |||
| 148 | #define LDAV_SYMBOL "_avenrun" | ||
| 149 | |||
| 150 | /* Here, on a separate page, add any special hacks needed | ||
| 151 | to make Emacs work on this system. For example, | ||
| 152 | you might define certain system call names that don't | ||
| 153 | exist on your system, or that do different things on | ||
| 154 | your system and must be used only through an encapsulation | ||
| 155 | (Which you should place, by convention, in sysdep.c). */ | ||
| 156 | |||
| 157 | /* Specify alignment requirement for start of text and data sections | ||
| 158 | in the executable file. */ | ||
| 159 | |||
| 160 | #define SECTION_ALIGNMENT pagemask | ||
| 161 | |||
| 162 | |||
| 163 | #define SEGMENT_MASK (64 * 1024 - 1) | ||
| 164 | |||
| 165 | |||
| 166 | /* crt0.c needs this for compilation because it uses asm. */ | ||
| 167 | |||
| 168 | #define C_SWITCH_ASM -q nodirect_code | ||
| 169 | |||
| 170 | /* Encore machines with APC processor boards align sections on 4M | ||
| 171 | boundaries, so it is not easy to remap the start of the text segment | ||
| 172 | in the unexec() routine. For them you need the following two lines. | ||
| 173 | For DPC processors you can enable these or not, as you wish, but | ||
| 174 | you will get better performance without them. */ | ||
| 175 | |||
| 176 | /* #define NO_REMAP | ||
| 177 | #define TEXT_START 0 | ||
| 178 | */ | ||
diff --git a/src/s/umips.h b/src/s/umips.h new file mode 100644 index 00000000000..5aea3439dac --- /dev/null +++ b/src/s/umips.h | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on Mips operating system. | ||
| 2 | That system can emulate either BSD or Sys V, in either case with changes. | ||
| 3 | If BSD is defined, we assume BSD is being emulated; otherwise, Sys V. */ | ||
| 4 | |||
| 5 | #ifdef BSD | ||
| 6 | #include "bsd4-3.h" | ||
| 7 | |||
| 8 | #define C_SWITCH_SYSTEM -systype bsd43 | ||
| 9 | #define LD_SWITCH_SYSTEM -systype bsd43 | ||
| 10 | #define LIBS_SYSTEM -lmld | ||
| 11 | #define LIBS_DEBUG | ||
| 12 | #define START_FILES pre-crt0.o /lib/crt1.o | ||
| 13 | #define LIB_STANDARD -lc /usr/lib/crtn.o | ||
| 14 | |||
| 15 | #define COFF | ||
| 16 | #define TERMINFO | ||
| 17 | #undef MAIL_USE_FLOCK /* Someone should check this. */ | ||
| 18 | #undef HAVE_UNION_WAIT | ||
| 19 | |||
| 20 | #else /* not BSD */ | ||
| 21 | |||
| 22 | #include "usg5-2-2.h" | ||
| 23 | |||
| 24 | #define LIBS_SYSTEM -lmld | ||
| 25 | #define LIBS_DEBUG | ||
| 26 | #define START_FILES pre-crt0.o /usr/lib/crt1.o | ||
| 27 | #define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o | ||
| 28 | /* #define LIBS_TERMCAP -lcurses */ | ||
| 29 | |||
| 30 | #define C_SWITCH_SYSTEM -I/usr/include/bsd | ||
| 31 | |||
| 32 | /* Cancel certain parts of standard sysV support. */ | ||
| 33 | #undef NONSYSTEM_DIR_LIBRARY | ||
| 34 | #define SYSV_SYSTEM_DIR | ||
| 35 | #undef static | ||
| 36 | |||
| 37 | /* Don't try to use SIGIO or FIONREAD even though they are defined. */ | ||
| 38 | #undef SIGIO | ||
| 39 | #define BROKEN_FIONREAD | ||
| 40 | |||
| 41 | /* Describe special kernel features. */ | ||
| 42 | |||
| 43 | #define HAVE_SYSVIPC | ||
| 44 | |||
| 45 | #define HAVE_TIMEVAL | ||
| 46 | #if defined(emacs) | ||
| 47 | #include <bsd/sys/time.h> | ||
| 48 | #endif | ||
| 49 | |||
| 50 | /* #define HAVE_SELECT | ||
| 51 | The `select' in the system won't work for pipes, | ||
| 52 | so don't use it. */ | ||
| 53 | |||
| 54 | #define HAVE_DUP2 | ||
| 55 | #define HAVE_GETWD | ||
| 56 | #define HAVE_GETTIMEOFDAY | ||
| 57 | |||
| 58 | #define HAVE_PTYS | ||
| 59 | #define HAVE_SOCKETS | ||
| 60 | /* #define BSTRING Supposedly removed. */ | ||
| 61 | |||
| 62 | #undef NOMULTIPLEJOBS | ||
| 63 | |||
| 64 | #define CLASH_DETECTION | ||
| 65 | |||
| 66 | #if defined(HAVE_X_WINDOWS) && defined(HAVE_X11) | ||
| 67 | #define HAVE_VFORK /* Graciously provided by libX.a */ | ||
| 68 | #endif | ||
| 69 | |||
| 70 | #define utimes utime /* Someone should check this. */ | ||
| 71 | /* ??? */ | ||
| 72 | #define IRIS | ||
| 73 | |||
| 74 | #endif /* not BSD */ | ||
| 75 | |||
| 76 | /* High order bit must be stripped off nlist return values */ | ||
| 77 | #define FIXUP_KERNEL_SYMBOL_ADDR(NL) (NL)[0].n_value &= 0x7fffffff; | ||
diff --git a/src/s/unipl5-0.h b/src/s/unipl5-0.h new file mode 100644 index 00000000000..3df79561fb4 --- /dev/null +++ b/src/s/unipl5-0.h | |||
| @@ -0,0 +1,192 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.0 | ||
| 2 | Support for this system is not finished; don't expect this to work. | ||
| 3 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation; either version 1, or (at your option) | ||
| 10 | any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 19 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 20 | |||
| 21 | |||
| 22 | /* | ||
| 23 | * Define symbols to identify the version of Unix this is. | ||
| 24 | * Define all the symbols that apply correctly. | ||
| 25 | */ | ||
| 26 | |||
| 27 | #define USG /* System III, System V, etc */ | ||
| 28 | |||
| 29 | #define USG5 | ||
| 30 | |||
| 31 | #define UNIPLUS | ||
| 32 | |||
| 33 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 34 | It sets the Lisp variable system-type. */ | ||
| 35 | |||
| 36 | #define SYSTEM_TYPE "unisoft-unix" | ||
| 37 | |||
| 38 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 39 | does not have "job control" (the ability to stop a program, | ||
| 40 | run some other program, then continue the first one). */ | ||
| 41 | |||
| 42 | /* #define NOMULTIPLEJOBS */ | ||
| 43 | |||
| 44 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 45 | |||
| 46 | /* #define INTERRUPT_INPUT */ | ||
| 47 | |||
| 48 | /* Letter to use in finding device name of first pty, | ||
| 49 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 50 | |||
| 51 | /* #define FIRST_PTY_LETTER 'a' */ | ||
| 52 | |||
| 53 | /* | ||
| 54 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 55 | * for terminal control. | ||
| 56 | */ | ||
| 57 | |||
| 58 | #define HAVE_TERMIO | ||
| 59 | |||
| 60 | /* | ||
| 61 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 62 | * Look in <sys/time.h> for a timeval structure. | ||
| 63 | */ | ||
| 64 | |||
| 65 | /* #define HAVE_TIMEVAL */ | ||
| 66 | |||
| 67 | /* | ||
| 68 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 69 | */ | ||
| 70 | |||
| 71 | /* #define HAVE_SELECT */ | ||
| 72 | |||
| 73 | /* | ||
| 74 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 75 | */ | ||
| 76 | |||
| 77 | /* #define HAVE_PTYS */ | ||
| 78 | |||
| 79 | /* Define this macro if system defines a type `union wait'. */ | ||
| 80 | |||
| 81 | #define HAVE_UNION_WAIT | ||
| 82 | |||
| 83 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 84 | |||
| 85 | /* #define HAVE_SOCKETS */ | ||
| 86 | |||
| 87 | /* | ||
| 88 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 89 | * The 4.2 opendir, etc., library functions. | ||
| 90 | */ | ||
| 91 | |||
| 92 | #define NONSYSTEM_DIR_LIBRARY | ||
| 93 | |||
| 94 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 95 | |||
| 96 | /* #define BSTRING */ | ||
| 97 | |||
| 98 | /* subprocesses should be defined if you want to | ||
| 99 | have code for asynchronous subprocesses | ||
| 100 | (as used in M-x compile and M-x shell). | ||
| 101 | This is generally OS dependent, and not supported | ||
| 102 | under most USG systems. */ | ||
| 103 | |||
| 104 | /* #define subprocesses */ | ||
| 105 | |||
| 106 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 107 | preprocessor symbol "COFF". */ | ||
| 108 | |||
| 109 | /* #define COFF */ | ||
| 110 | |||
| 111 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 112 | to interlock access to /usr/spool/mail/$USER. | ||
| 113 | The alternative is that a lock file named | ||
| 114 | /usr/spool/mail/$USER.lock. */ | ||
| 115 | |||
| 116 | /* #define MAIL_USE_FLOCK */ | ||
| 117 | |||
| 118 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 119 | so that Emacs can tell instantly when you try to modify | ||
| 120 | a file that someone else has modified in his Emacs. */ | ||
| 121 | |||
| 122 | /* #define CLASH_DETECTION */ | ||
| 123 | |||
| 124 | /* Define SHORTNAMES if the C compiler can distinguish only | ||
| 125 | short names. It means that the stuff in ../shortnames | ||
| 126 | must be run to convert the long names to short ones. | ||
| 127 | |||
| 128 | Some USG systems support long names. | ||
| 129 | If yours is one, DO NOT change this file! | ||
| 130 | Do #undef SHORTNAMES in the m- file or in config.h. */ | ||
| 131 | |||
| 132 | #define SHORTNAMES | ||
| 133 | |||
| 134 | /* We do NOT use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 135 | |||
| 136 | /* #define NLIST_STRUCT */ | ||
| 137 | |||
| 138 | /* The file containing the kernel's symbol table is called /unix. */ | ||
| 139 | |||
| 140 | #define KERNEL_FILE "/unix" | ||
| 141 | |||
| 142 | /* The symbol in the kernel where the load average is found | ||
| 143 | is named avenrun. */ | ||
| 144 | |||
| 145 | #define LDAV_SYMBOL "avenrun" | ||
| 146 | |||
| 147 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 148 | |||
| 149 | /* | ||
| 150 | * Make the sigsetmask function go away. Don't know what the | ||
| 151 | * ramifications of this are, but doesn't seem possible to | ||
| 152 | * emulate it properly anyway at this point. | ||
| 153 | */ | ||
| 154 | |||
| 155 | #define sigsetmask(mask) /* Null expansion */ | ||
| 156 | |||
| 157 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 158 | but they will run slower. */ | ||
| 159 | |||
| 160 | #define _setjmp setjmp | ||
| 161 | #define _longjmp longjmp | ||
| 162 | |||
| 163 | /* On USG systems the system calls are interruptable by signals | ||
| 164 | that the user program has elected to catch. Thus the system call | ||
| 165 | must be retried in these cases. To handle this without massive | ||
| 166 | changes in the source code, we remap the standard system call names | ||
| 167 | to names for our own functions in sysdep.c that do the system call | ||
| 168 | with retries. */ | ||
| 169 | |||
| 170 | #define read sys_read | ||
| 171 | #define open sys_open | ||
| 172 | #define write sys_write | ||
| 173 | |||
| 174 | #define INTERRUPTIBLE_OPEN | ||
| 175 | #define INTERRUPTIBLE_IO | ||
| 176 | |||
| 177 | /* On USG systems these have different names */ | ||
| 178 | |||
| 179 | #define index strchr | ||
| 180 | #define rindex strrchr | ||
| 181 | |||
| 182 | /* Compiler bug bites when default ADDR_CORRECT is used. */ | ||
| 183 | |||
| 184 | #define ADDR_CORRECT(x) (x) | ||
| 185 | |||
| 186 | /* Special library needed for linking for Uniplus */ | ||
| 187 | |||
| 188 | #define LIBS_SYSTEM -lnet | ||
| 189 | |||
| 190 | /* A system-specific loader switch is needed. */ | ||
| 191 | |||
| 192 | #define LD_SWITCH_SYSTEM -N -L/lib/libg /usr/lib/unshared.ld | ||
diff --git a/src/s/unipl5-2.h b/src/s/unipl5-2.h new file mode 100644 index 00000000000..6850f8d55c9 --- /dev/null +++ b/src/s/unipl5-2.h | |||
| @@ -0,0 +1,186 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.2 | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #define USG /* System III, System V, etc */ | ||
| 27 | |||
| 28 | #define USG5 | ||
| 29 | |||
| 30 | #define UNIPLUS | ||
| 31 | |||
| 32 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 33 | It sets the Lisp variable system-type. */ | ||
| 34 | |||
| 35 | #define SYSTEM_TYPE "unisoft-unix" | ||
| 36 | |||
| 37 | /* nomultiplejobs should be defined if your system's shell | ||
| 38 | does not have "job control" (the ability to stop a program, | ||
| 39 | run some other program, then continue the first one). */ | ||
| 40 | |||
| 41 | /* #define NOMULTIPLEJOBS */ | ||
| 42 | |||
| 43 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 44 | |||
| 45 | /* #define INTERRUPT_INPUT */ | ||
| 46 | |||
| 47 | /* Letter to use in finding device name of first pty, | ||
| 48 | if system supports pty's. 'p' means it is /dev/ptyp0 */ | ||
| 49 | |||
| 50 | #define FIRST_PTY_LETTER 'p' | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 54 | * for terminal control. | ||
| 55 | */ | ||
| 56 | |||
| 57 | #define HAVE_TERMIO | ||
| 58 | |||
| 59 | /* | ||
| 60 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 61 | * Look in <sys/time.h> for a timeval structure. | ||
| 62 | */ | ||
| 63 | |||
| 64 | #define HAVE_TIMEVAL | ||
| 65 | |||
| 66 | /* | ||
| 67 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 68 | */ | ||
| 69 | |||
| 70 | #define HAVE_SELECT | ||
| 71 | |||
| 72 | /* | ||
| 73 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 74 | */ | ||
| 75 | |||
| 76 | #define HAVE_PTYS | ||
| 77 | |||
| 78 | /* Define this macro if system defines a type `union wait'. */ | ||
| 79 | |||
| 80 | #define HAVE_UNION_WAIT | ||
| 81 | |||
| 82 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 83 | |||
| 84 | /* #define HAVE_SOCKETS */ | ||
| 85 | |||
| 86 | /* | ||
| 87 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 88 | * The 4.2 opendir, etc., library functions. | ||
| 89 | */ | ||
| 90 | |||
| 91 | #define NONSYSTEM_DIR_LIBRARY | ||
| 92 | |||
| 93 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 94 | |||
| 95 | /* #define BSTRING */ | ||
| 96 | |||
| 97 | /* subprocesses should be defined if you want to | ||
| 98 | have code for asynchronous subprocesses | ||
| 99 | (as used in M-x compile and M-x shell). | ||
| 100 | This is generally OS dependent, and not supported | ||
| 101 | under most USG systems. It is supported under UniPlus | ||
| 102 | System V Release 2. */ | ||
| 103 | |||
| 104 | #define subprocesses | ||
| 105 | |||
| 106 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 107 | preprocessor symbol "COFF". */ | ||
| 108 | |||
| 109 | #define COFF | ||
| 110 | |||
| 111 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 112 | to interlock access to /usr/spool/mail/$USER. | ||
| 113 | The alternative is that a lock file named | ||
| 114 | /usr/spool/mail/$USER.lock. */ | ||
| 115 | |||
| 116 | /* #define MAIL_USE_FLOCK */ | ||
| 117 | |||
| 118 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 119 | so that Emacs can tell instantly when you try to modify | ||
| 120 | a file that someone else has modified in his Emacs. */ | ||
| 121 | |||
| 122 | /* #define CLASH_DETECTION */ | ||
| 123 | |||
| 124 | /* Uniplus 5.2 supports long names in C */ | ||
| 125 | |||
| 126 | /* #define SHORTNAMES */ | ||
| 127 | |||
| 128 | /* We do NOT use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 129 | |||
| 130 | /* #define NLIST_STRUCT */ | ||
| 131 | |||
| 132 | /* The file containing the kernel's symbol table is called /unix. */ | ||
| 133 | |||
| 134 | #define KERNEL_FILE "/unix" | ||
| 135 | |||
| 136 | /* The symbol in the kernel where the load average is found | ||
| 137 | is named avenrun. */ | ||
| 138 | |||
| 139 | #define LDAV_SYMBOL "avenrun" | ||
| 140 | |||
| 141 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 142 | |||
| 143 | /* | ||
| 144 | * Make the sigsetmask function go away. Don't know what the | ||
| 145 | * ramifications of this are, but doesn't seem possible to | ||
| 146 | * emulate it properly anyway at this point. | ||
| 147 | */ | ||
| 148 | |||
| 149 | #define sigsetmask(mask) /* Null expansion */ | ||
| 150 | |||
| 151 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 152 | but they will run slower. */ | ||
| 153 | |||
| 154 | #define _setjmp setjmp | ||
| 155 | #define _longjmp longjmp | ||
| 156 | |||
| 157 | /* On USG systems the system calls are interruptable by signals | ||
| 158 | that the user program has elected to catch. Thus the system call | ||
| 159 | must be retried in these cases. To handle this without massive | ||
| 160 | changes in the source code, we remap the standard system call names | ||
| 161 | to names for our own functions in sysdep.c that do the system call | ||
| 162 | with retries. */ | ||
| 163 | |||
| 164 | #define read sys_read | ||
| 165 | #define open sys_open | ||
| 166 | #define write sys_write | ||
| 167 | |||
| 168 | #define INTERRUPTIBLE_OPEN | ||
| 169 | #define INTERRUPTIBLE_IO | ||
| 170 | |||
| 171 | /* On USG systems these have different names */ | ||
| 172 | |||
| 173 | #define index strchr | ||
| 174 | #define rindex strrchr | ||
| 175 | |||
| 176 | /* Compiler bug bites when default ADDR_CORRECT is used. */ | ||
| 177 | |||
| 178 | #define ADDR_CORRECT(x) (x) | ||
| 179 | |||
| 180 | /* Special library needed for linking for Uniplus */ | ||
| 181 | |||
| 182 | #define LIBS_SYSTEM -lnet | ||
| 183 | |||
| 184 | /* A system-specific loader switch is needed. */ | ||
| 185 | |||
| 186 | #define LD_SWITCH_SYSTEM -N -L/lib/libg /usr/lib/unshared.ld | ||
diff --git a/src/s/usg5-0.h b/src/s/usg5-0.h new file mode 100644 index 00000000000..16271c8a4f3 --- /dev/null +++ b/src/s/usg5-0.h | |||
| @@ -0,0 +1,183 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on AT&T's System V.0 | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #define USG /* System III, System V, etc */ | ||
| 27 | |||
| 28 | #define USG5 | ||
| 29 | #define USG5_0 | ||
| 30 | |||
| 31 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 32 | It sets the Lisp variable system-type. */ | ||
| 33 | |||
| 34 | #define SYSTEM_TYPE "usg-unix-v" | ||
| 35 | |||
| 36 | /* nomultiplejobs should be defined if your system's shell | ||
| 37 | does not have "job control" (the ability to stop a program, | ||
| 38 | run some other program, then continue the first one). */ | ||
| 39 | |||
| 40 | #define NOMULTIPLEJOBS | ||
| 41 | |||
| 42 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 43 | |||
| 44 | /* #define INTERRUPT_INPUT */ | ||
| 45 | |||
| 46 | /* Letter to use in finding device name of first pty, | ||
| 47 | if system supports pty's. 'p' means it is /dev/ptyp0 */ | ||
| 48 | |||
| 49 | #define FIRST_PTY_LETTER 'p' | ||
| 50 | |||
| 51 | /* | ||
| 52 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 53 | * for terminal control. | ||
| 54 | */ | ||
| 55 | |||
| 56 | #define HAVE_TERMIO | ||
| 57 | |||
| 58 | /* | ||
| 59 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 60 | * Look in <sys/time.h> for a timeval structure. | ||
| 61 | */ | ||
| 62 | |||
| 63 | /* #define HAVE_TIMEVAL */ | ||
| 64 | |||
| 65 | /* | ||
| 66 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 67 | */ | ||
| 68 | |||
| 69 | /* #define HAVE_SELECT */ | ||
| 70 | |||
| 71 | /* | ||
| 72 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 73 | */ | ||
| 74 | |||
| 75 | /* #define HAVE_PTYS */ | ||
| 76 | |||
| 77 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 78 | |||
| 79 | /* #define HAVE_SOCKETS */ | ||
| 80 | |||
| 81 | /* | ||
| 82 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 83 | * The 4.2 opendir, etc., library functions. | ||
| 84 | */ | ||
| 85 | |||
| 86 | #define NONSYSTEM_DIR_LIBRARY | ||
| 87 | |||
| 88 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 89 | |||
| 90 | /* #define BSTRING */ | ||
| 91 | |||
| 92 | /* subprocesses should be defined if you want to | ||
| 93 | have code for asynchronous subprocesses | ||
| 94 | (as used in M-x compile and M-x shell). | ||
| 95 | This is supposed to work now on system V release 2. */ | ||
| 96 | |||
| 97 | #define subprocesses | ||
| 98 | |||
| 99 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 100 | preprocessor symbol "COFF". */ | ||
| 101 | |||
| 102 | #define COFF | ||
| 103 | |||
| 104 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 105 | to interlock access to /usr/spool/mail/$USER. | ||
| 106 | The alternative is that a lock file named | ||
| 107 | /usr/spool/mail/$USER.lock. */ | ||
| 108 | |||
| 109 | /* #define MAIL_USE_FLOCK */ | ||
| 110 | |||
| 111 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 112 | so that Emacs can tell instantly when you try to modify | ||
| 113 | a file that someone else has modified in his Emacs. */ | ||
| 114 | |||
| 115 | /* #define CLASH_DETECTION */ | ||
| 116 | |||
| 117 | /* Define SHORTNAMES if the C compiler can distinguish only | ||
| 118 | short names. It means that the stuff in ../shortnames | ||
| 119 | must be run to convert the long names to short ones. */ | ||
| 120 | |||
| 121 | #define SHORTNAMES | ||
| 122 | |||
| 123 | /* We do NOT use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 124 | |||
| 125 | /* #define NLIST_STRUCT */ | ||
| 126 | |||
| 127 | /* The file containing the kernel's symbol table is called /unix. */ | ||
| 128 | |||
| 129 | #define KERNEL_FILE "/unix" | ||
| 130 | |||
| 131 | /* The symbol in the kernel where the load average is found | ||
| 132 | is named avenrun. */ | ||
| 133 | |||
| 134 | #define LDAV_SYMBOL "avenrun" | ||
| 135 | |||
| 136 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 137 | |||
| 138 | /* | ||
| 139 | * Make the sigsetmask function go away. Don't know what the | ||
| 140 | * ramifications of this are, but doesn't seem possible to | ||
| 141 | * emulate it properly anyway at this point. | ||
| 142 | */ | ||
| 143 | |||
| 144 | #define sigsetmask(mask) /* Null expansion */ | ||
| 145 | |||
| 146 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 147 | but they will run slower. */ | ||
| 148 | |||
| 149 | #define _setjmp setjmp | ||
| 150 | #define _longjmp longjmp | ||
| 151 | |||
| 152 | /* On USG systems the system calls are interruptable by signals | ||
| 153 | that the user program has elected to catch. Thus the system call | ||
| 154 | must be retried in these cases. To handle this without massive | ||
| 155 | changes in the source code, we remap the standard system call names | ||
| 156 | to names for our own functions in sysdep.c that do the system call | ||
| 157 | with retries. */ | ||
| 158 | |||
| 159 | #define read sys_read | ||
| 160 | #define open sys_open | ||
| 161 | #define write sys_write | ||
| 162 | |||
| 163 | #define INTERRUPTIBLE_OPEN | ||
| 164 | #define INTERRUPTIBLE_IO | ||
| 165 | |||
| 166 | /* On USG systems these have different names */ | ||
| 167 | |||
| 168 | #define index strchr | ||
| 169 | #define rindex strrchr | ||
| 170 | |||
| 171 | /* USG systems tend to put everything declared static | ||
| 172 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 173 | Foil this. Emacs carefully avoids static vars inside functions. */ | ||
| 174 | |||
| 175 | #define static | ||
| 176 | |||
| 177 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 178 | |||
| 179 | #define ADDR_CORRECT(x) (x) | ||
| 180 | |||
| 181 | /* Prevent -lg from being used for debugging. Not implemented? */ | ||
| 182 | |||
| 183 | #define LIBS_DEBUG | ||
diff --git a/src/s/usg5-2-2.h b/src/s/usg5-2-2.h new file mode 100644 index 00000000000..982f3e32107 --- /dev/null +++ b/src/s/usg5-2-2.h | |||
| @@ -0,0 +1,186 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on AT&T's System V Release 2.2 | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #define USG /* System III, System V, etc */ | ||
| 27 | |||
| 28 | #define USG5 | ||
| 29 | |||
| 30 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 31 | It sets the Lisp variable system-type. */ | ||
| 32 | |||
| 33 | #define SYSTEM_TYPE "usg-unix-v" | ||
| 34 | |||
| 35 | /* nomultiplejobs should be defined if your system's shell | ||
| 36 | does not have "job control" (the ability to stop a program, | ||
| 37 | run some other program, then continue the first one). */ | ||
| 38 | |||
| 39 | #define NOMULTIPLEJOBS | ||
| 40 | |||
| 41 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 42 | |||
| 43 | /* #define INTERRUPT_INPUT */ | ||
| 44 | |||
| 45 | /* Letter to use in finding device name of first pty, | ||
| 46 | if system supports pty's. 'p' means it is /dev/ptyp0 */ | ||
| 47 | |||
| 48 | #define FIRST_PTY_LETTER 'p' | ||
| 49 | |||
| 50 | /* | ||
| 51 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 52 | * for terminal control. | ||
| 53 | */ | ||
| 54 | |||
| 55 | #define HAVE_TERMIO | ||
| 56 | |||
| 57 | /* | ||
| 58 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 59 | * Look in <sys/time.h> for a timeval structure. | ||
| 60 | */ | ||
| 61 | |||
| 62 | /* #define HAVE_TIMEVAL */ | ||
| 63 | |||
| 64 | /* | ||
| 65 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 66 | */ | ||
| 67 | |||
| 68 | /* #define HAVE_SELECT */ | ||
| 69 | |||
| 70 | /* | ||
| 71 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 72 | */ | ||
| 73 | |||
| 74 | /* #define HAVE_PTYS */ | ||
| 75 | |||
| 76 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 77 | |||
| 78 | /* #define HAVE_SOCKETS */ | ||
| 79 | |||
| 80 | /* | ||
| 81 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 82 | * The 4.2 opendir, etc., library functions. | ||
| 83 | */ | ||
| 84 | |||
| 85 | #define NONSYSTEM_DIR_LIBRARY | ||
| 86 | |||
| 87 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 88 | |||
| 89 | /* #define BSTRING */ | ||
| 90 | |||
| 91 | /* subprocesses should be defined if you want to | ||
| 92 | have code for asynchronous subprocesses | ||
| 93 | (as used in M-x compile and M-x shell). | ||
| 94 | This is supposed to work now on system V release 2. */ | ||
| 95 | |||
| 96 | #define subprocesses | ||
| 97 | |||
| 98 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 99 | preprocessor symbol "COFF". */ | ||
| 100 | |||
| 101 | #define COFF | ||
| 102 | |||
| 103 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 104 | to interlock access to /usr/spool/mail/$USER. | ||
| 105 | The alternative is that a lock file named | ||
| 106 | /usr/spool/mail/$USER.lock. */ | ||
| 107 | |||
| 108 | /* #define MAIL_USE_FLOCK */ | ||
| 109 | |||
| 110 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 111 | so that Emacs can tell instantly when you try to modify | ||
| 112 | a file that someone else has modified in his Emacs. */ | ||
| 113 | |||
| 114 | /* #define CLASH_DETECTION */ | ||
| 115 | |||
| 116 | /* Define SHORTNAMES if the C compiler can distinguish only | ||
| 117 | short names. It means that the stuff in ../shortnames | ||
| 118 | must be run to convert the long names to short ones. */ | ||
| 119 | |||
| 120 | /* #define SHORTNAMES */ | ||
| 121 | |||
| 122 | /* We use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 123 | |||
| 124 | #define NLIST_STRUCT | ||
| 125 | |||
| 126 | /* The file containing the kernel's symbol table is called /unix. */ | ||
| 127 | |||
| 128 | #define KERNEL_FILE "/unix" | ||
| 129 | |||
| 130 | /* The symbol in the kernel where the load average is found | ||
| 131 | is named avenrun. */ | ||
| 132 | |||
| 133 | #define LDAV_SYMBOL "avenrun" | ||
| 134 | |||
| 135 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 136 | |||
| 137 | /* | ||
| 138 | * Make the sigsetmask function go away. Don't know what the | ||
| 139 | * ramifications of this are, but doesn't seem possible to | ||
| 140 | * emulate it properly anyway at this point. | ||
| 141 | */ | ||
| 142 | |||
| 143 | #define sigsetmask(mask) /* Null expansion */ | ||
| 144 | |||
| 145 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 146 | but they will run slower. */ | ||
| 147 | |||
| 148 | #define _setjmp setjmp | ||
| 149 | #define _longjmp longjmp | ||
| 150 | |||
| 151 | /* On USG systems the system calls are interruptable by signals | ||
| 152 | that the user program has elected to catch. Thus the system call | ||
| 153 | must be retried in these cases. To handle this without massive | ||
| 154 | changes in the source code, we remap the standard system call names | ||
| 155 | to names for our own functions in sysdep.c that do the system call | ||
| 156 | with retries. */ | ||
| 157 | |||
| 158 | #define read sys_read | ||
| 159 | #define open sys_open | ||
| 160 | #define write sys_write | ||
| 161 | |||
| 162 | #define INTERRUPTIBLE_OPEN | ||
| 163 | #define INTERRUPTIBLE_IO | ||
| 164 | |||
| 165 | /* On USG systems these have different names */ | ||
| 166 | |||
| 167 | #define index strchr | ||
| 168 | #define rindex strrchr | ||
| 169 | |||
| 170 | /* USG systems tend to put everything declared static | ||
| 171 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 172 | Foil this. Emacs carefully avoids static vars inside functions. */ | ||
| 173 | |||
| 174 | #define static | ||
| 175 | |||
| 176 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 177 | |||
| 178 | #define ADDR_CORRECT(x) (x) | ||
| 179 | |||
| 180 | /* Prevent -lg from being used for debugging. Not implemented? */ | ||
| 181 | |||
| 182 | #define LIBS_DEBUG | ||
| 183 | |||
| 184 | /* Use terminfo instead of termcap. */ | ||
| 185 | |||
| 186 | #define TERMINFO | ||
diff --git a/src/s/usg5-2.h b/src/s/usg5-2.h new file mode 100644 index 00000000000..46346005dfb --- /dev/null +++ b/src/s/usg5-2.h | |||
| @@ -0,0 +1,186 @@ | |||
| 1 | /* Definitions file for GNU Emacs running on AT&T's System V Release 2.0 | ||
| 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* | ||
| 22 | * Define symbols to identify the version of Unix this is. | ||
| 23 | * Define all the symbols that apply correctly. | ||
| 24 | */ | ||
| 25 | |||
| 26 | #define USG /* System III, System V, etc */ | ||
| 27 | |||
| 28 | #define USG5 | ||
| 29 | |||
| 30 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 31 | It sets the Lisp variable system-type. */ | ||
| 32 | |||
| 33 | #define SYSTEM_TYPE "usg-unix-v" | ||
| 34 | |||
| 35 | /* nomultiplejobs should be defined if your system's shell | ||
| 36 | does not have "job control" (the ability to stop a program, | ||
| 37 | run some other program, then continue the first one). */ | ||
| 38 | |||
| 39 | #define NOMULTIPLEJOBS | ||
| 40 | |||
| 41 | /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ | ||
| 42 | |||
| 43 | /* #define INTERRUPT_INPUT */ | ||
| 44 | |||
| 45 | /* Letter to use in finding device name of first pty, | ||
| 46 | if system supports pty's. 'p' means it is /dev/ptyp0 */ | ||
| 47 | |||
| 48 | #define FIRST_PTY_LETTER 'p' | ||
| 49 | |||
| 50 | /* | ||
| 51 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 52 | * for terminal control. | ||
| 53 | */ | ||
| 54 | |||
| 55 | #define HAVE_TERMIO | ||
| 56 | |||
| 57 | /* | ||
| 58 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 59 | * Look in <sys/time.h> for a timeval structure. | ||
| 60 | */ | ||
| 61 | |||
| 62 | /* #define HAVE_TIMEVAL */ | ||
| 63 | |||
| 64 | /* | ||
| 65 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 66 | */ | ||
| 67 | |||
| 68 | /* #define HAVE_SELECT */ | ||
| 69 | |||
| 70 | /* | ||
| 71 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 72 | */ | ||
| 73 | |||
| 74 | /* #define HAVE_PTYS */ | ||
| 75 | |||
| 76 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 77 | |||
| 78 | /* #define HAVE_SOCKETS */ | ||
| 79 | |||
| 80 | /* | ||
| 81 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 82 | * The 4.2 opendir, etc., library functions. | ||
| 83 | */ | ||
| 84 | |||
| 85 | #define NONSYSTEM_DIR_LIBRARY | ||
| 86 | |||
| 87 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 88 | |||
| 89 | /* #define BSTRING */ | ||
| 90 | |||
| 91 | /* subprocesses should be defined if you want to | ||
| 92 | have code for asynchronous subprocesses | ||
| 93 | (as used in M-x compile and M-x shell). | ||
| 94 | This is supposed to work now on system V release 2. */ | ||
| 95 | |||
| 96 | #define subprocesses | ||
| 97 | |||
| 98 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 99 | preprocessor symbol "COFF". */ | ||
| 100 | |||
| 101 | #define COFF | ||
| 102 | |||
| 103 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 104 | to interlock access to /usr/spool/mail/$USER. | ||
| 105 | The alternative is that a lock file named | ||
| 106 | /usr/spool/mail/$USER.lock. */ | ||
| 107 | |||
| 108 | /* #define MAIL_USE_FLOCK */ | ||
| 109 | |||
| 110 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 111 | so that Emacs can tell instantly when you try to modify | ||
| 112 | a file that someone else has modified in his Emacs. */ | ||
| 113 | |||
| 114 | /* #define CLASH_DETECTION */ | ||
| 115 | |||
| 116 | /* Define SHORTNAMES if the C compiler can distinguish only | ||
| 117 | short names. It means that the stuff in ../shortnames | ||
| 118 | must be run to convert the long names to short ones. */ | ||
| 119 | |||
| 120 | /* #define SHORTNAMES */ | ||
| 121 | |||
| 122 | /* We do NOT use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 123 | |||
| 124 | /* #define NLIST_STRUCT */ | ||
| 125 | |||
| 126 | /* The file containing the kernel's symbol table is called /unix. */ | ||
| 127 | |||
| 128 | #define KERNEL_FILE "/unix" | ||
| 129 | |||
| 130 | /* The symbol in the kernel where the load average is found | ||
| 131 | is named avenrun. */ | ||
| 132 | |||
| 133 | #define LDAV_SYMBOL "avenrun" | ||
| 134 | |||
| 135 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 136 | |||
| 137 | /* | ||
| 138 | * Make the sigsetmask function go away. Don't know what the | ||
| 139 | * ramifications of this are, but doesn't seem possible to | ||
| 140 | * emulate it properly anyway at this point. | ||
| 141 | */ | ||
| 142 | |||
| 143 | #define sigsetmask(mask) /* Null expansion */ | ||
| 144 | |||
| 145 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 146 | but they will run slower. */ | ||
| 147 | |||
| 148 | #define _setjmp setjmp | ||
| 149 | #define _longjmp longjmp | ||
| 150 | |||
| 151 | /* On USG systems the system calls are interruptable by signals | ||
| 152 | that the user program has elected to catch. Thus the system call | ||
| 153 | must be retried in these cases. To handle this without massive | ||
| 154 | changes in the source code, we remap the standard system call names | ||
| 155 | to names for our own functions in sysdep.c that do the system call | ||
| 156 | with retries. */ | ||
| 157 | |||
| 158 | #define read sys_read | ||
| 159 | #define open sys_open | ||
| 160 | #define write sys_write | ||
| 161 | |||
| 162 | #define INTERRUPTIBLE_OPEN | ||
| 163 | #define INTERRUPTIBLE_IO | ||
| 164 | |||
| 165 | /* On USG systems these have different names */ | ||
| 166 | |||
| 167 | #define index strchr | ||
| 168 | #define rindex strrchr | ||
| 169 | |||
| 170 | /* USG systems tend to put everything declared static | ||
| 171 | into the initialized data area, which becomes pure after dumping Emacs. | ||
| 172 | Foil this. Emacs carefully avoids static vars inside functions. */ | ||
| 173 | |||
| 174 | #define static | ||
| 175 | |||
| 176 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 177 | |||
| 178 | #define ADDR_CORRECT(x) (x) | ||
| 179 | |||
| 180 | /* Prevent -lg from being used for debugging. Not implemented? */ | ||
| 181 | |||
| 182 | #define LIBS_DEBUG | ||
| 183 | |||
| 184 | /* Use terminfo instead of termcap. */ | ||
| 185 | |||
| 186 | #define TERMINFO | ||
diff --git a/src/s/vms.h b/src/s/vms.h new file mode 100644 index 00000000000..ad2df144c64 --- /dev/null +++ b/src/s/vms.h | |||
| @@ -0,0 +1,230 @@ | |||
| 1 | /* system description header for VMS | ||
| 2 | Copyright (C) 1986 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | /* | ||
| 21 | * Define symbols to identify the version of Unix this is. | ||
| 22 | * Define all the symbols that apply correctly. | ||
| 23 | */ | ||
| 24 | |||
| 25 | #ifndef VMS /* Decus cpp doesn't define this but VAX C does */ | ||
| 26 | #define VMS | ||
| 27 | #endif /* VMS */ | ||
| 28 | /* Note that this file is used indirectly via vms4-0.h, or some other | ||
| 29 | such file. These other files define a symbol VMS4_0, VMS4_2, etc. */ | ||
| 30 | |||
| 31 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 32 | It sets the Lisp variable system-type. */ | ||
| 33 | |||
| 34 | #define SYSTEM_TYPE "vax-vms" | ||
| 35 | |||
| 36 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 37 | does not have "job control" (the ability to stop a program, | ||
| 38 | run some other program, then continue the first one). */ | ||
| 39 | |||
| 40 | /* #define NOMULTIPLEJOBS */ | ||
| 41 | |||
| 42 | /* INTERRUPT_INPUT controls a default for Unix systems. | ||
| 43 | VMS uses a separate mechanism. */ | ||
| 44 | |||
| 45 | /* #define INTERRUPT_INPUT */ | ||
| 46 | |||
| 47 | /* Letter to use in finding device name of first pty, | ||
| 48 | if system supports pty's. 'a' means it is /dev/ptya0 */ | ||
| 49 | |||
| 50 | #define FIRST_PTY_LETTER 'a' | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 54 | * Look in <sys/time.h> for a timeval structure. | ||
| 55 | */ | ||
| 56 | |||
| 57 | /* #define HAVE_TIMEVAL */ | ||
| 58 | |||
| 59 | /* | ||
| 60 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 61 | */ | ||
| 62 | |||
| 63 | /* #define HAVE_SELECT */ | ||
| 64 | |||
| 65 | /* | ||
| 66 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 67 | */ | ||
| 68 | |||
| 69 | /* #define HAVE_PTYS */ | ||
| 70 | |||
| 71 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 72 | |||
| 73 | /* #define HAVE_SOCKETS */ | ||
| 74 | |||
| 75 | /* | ||
| 76 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 77 | * The 4.2 opendir, etc., library functions. | ||
| 78 | */ | ||
| 79 | |||
| 80 | #define NONSYSTEM_DIR_LIBRARY | ||
| 81 | |||
| 82 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 83 | |||
| 84 | /* #define BSTRING */ | ||
| 85 | |||
| 86 | /* subprocesses should be defined if you want to | ||
| 87 | have code for asynchronous subprocesses | ||
| 88 | (as used in M-x compile and M-x shell). | ||
| 89 | This is generally OS dependent, and not supported | ||
| 90 | under most USG systems. */ | ||
| 91 | |||
| 92 | #define subprocesses | ||
| 93 | |||
| 94 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 95 | preprocessor symbol "COFF". */ | ||
| 96 | |||
| 97 | /* #define COFF */ | ||
| 98 | |||
| 99 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 100 | to interlock access to /usr/spool/mail/$USER. | ||
| 101 | The alternative is that a lock file named | ||
| 102 | /usr/spool/mail/$USER.lock. */ | ||
| 103 | |||
| 104 | /* #define MAIL_USE_FLOCK */ | ||
| 105 | |||
| 106 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 107 | so that Emacs can tell instantly when you try to modify | ||
| 108 | a file that someone else has modified in his Emacs. */ | ||
| 109 | |||
| 110 | /* #define CLASH_DETECTION */ | ||
| 111 | |||
| 112 | /* Define the maximum record length for print strings, if needed. */ | ||
| 113 | |||
| 114 | #define MAX_PRINT_CHARS 300 | ||
| 115 | |||
| 116 | |||
| 117 | /* Here, on a separate page, add any special hacks needed | ||
| 118 | to make Emacs work on this system. For example, | ||
| 119 | you might define certain system call names that don't | ||
| 120 | exist on your system, or that do different things on | ||
| 121 | your system and must be used only through an encapsulation | ||
| 122 | (Which you should place, by convention, in sysdep.c). */ | ||
| 123 | |||
| 124 | /* Do you have the shareable library bug? If you link with a shareable | ||
| 125 | library that contains psects with the NOSHR attribute and also refer to | ||
| 126 | those psects in your program, the linker give you a private version of | ||
| 127 | the psect which is not related to the version used by the shareable | ||
| 128 | library. The end result is that your references to variables in that | ||
| 129 | psect have absolutely nothing to do with library references to what is | ||
| 130 | supposed to be the same variable. If you intend to link with the standard | ||
| 131 | C library (NOT the shareable one) you don't need to define this. (This | ||
| 132 | is NOT fixed in V4.4...) */ | ||
| 133 | |||
| 134 | #define SHAREABLE_LIB_BUG | ||
| 135 | |||
| 136 | /* Partially due to the above mentioned bug and also so that we don't need | ||
| 137 | to require that people have a shareable C library, the default for Emacs | ||
| 138 | is to link with the non-shared library. If you want to link with the | ||
| 139 | shared library, define this and remake xmakefile and fileio.c. This allows | ||
| 140 | us to ship a guaranteed executable image. */ | ||
| 141 | |||
| 142 | #define LINK_CRTL_SHARE | ||
| 143 | |||
| 144 | /* Define this if you want to read the file SYS$SYSTEM:SYSUAF.DAT for user | ||
| 145 | information. If you do use this, you must either make SYSUAF.DAT world | ||
| 146 | readable or install Emacs with SYSPRV. */ | ||
| 147 | |||
| 148 | /* #define READ_SYSUAF */ | ||
| 149 | |||
| 150 | /* On VMS these have a different name */ | ||
| 151 | |||
| 152 | #define index strchr | ||
| 153 | #define rindex strrchr | ||
| 154 | #define unlink delete | ||
| 155 | |||
| 156 | /* On later versions of VMS these exist in the C run time library, but | ||
| 157 | we are using our own implementations. Hide their names to avoid | ||
| 158 | linker errors */ | ||
| 159 | #define rename sys_rename | ||
| 160 | #define execvp sys_execvp | ||
| 161 | #define system sys_system | ||
| 162 | |||
| 163 | /* Hide these names so that we don't get linker errors */ | ||
| 164 | #define malloc sys_malloc | ||
| 165 | #define free sys_free | ||
| 166 | #define realloc sys_realloc | ||
| 167 | #define calloc sys_calloc | ||
| 168 | |||
| 169 | /* Don't use the standard brk and sbrk */ | ||
| 170 | #define sbrk sys_sbrk | ||
| 171 | #define brk sys_brk | ||
| 172 | |||
| 173 | /* On VMS we want to avoid reading and writing very large amounts of | ||
| 174 | data at once, so we redefine read and write here. */ | ||
| 175 | |||
| 176 | #define read sys_read | ||
| 177 | #define write sys_write | ||
| 178 | |||
| 179 | /* sys_creat just calls the real creat with additional args of | ||
| 180 | "rfm=var", "rat=cr" to get "normal" VMS files... */ | ||
| 181 | #define creat sys_creat | ||
| 182 | |||
| 183 | /* fwrite forces an RMS PUT on every call. This is abysmally slow, so | ||
| 184 | we emulate fwrite with fputc, which forces buffering and is much | ||
| 185 | faster! */ | ||
| 186 | #define fwrite sys_fwrite | ||
| 187 | |||
| 188 | /* getuid only returns the member number, which is not unique on most VMS | ||
| 189 | systems. We emulate it with (getgid()<<16 | getuid()). */ | ||
| 190 | #define getuid sys_getuid | ||
| 191 | |||
| 192 | /* If user asks for TERM, check first for EMACS_TERM. */ | ||
| 193 | #define getenv sys_getenv | ||
| 194 | |||
| 195 | /* Standard C abort is less useful than it should be. */ | ||
| 196 | #define abort sys_abort | ||
| 197 | |||
| 198 | /* Case conflicts with C library fread. */ | ||
| 199 | #define Fread F_read | ||
| 200 | |||
| 201 | /* Case conflicts with C library srandom. */ | ||
| 202 | #define Srandom S_random | ||
| 203 | |||
| 204 | /* Cause initialization of vmsfns.c to be run. */ | ||
| 205 | #define SYMS_SYSTEM syms_of_vmsfns () | ||
| 206 | |||
| 207 | /* VAXCRTL access doesn't deal with SYSPRV very well (among other oddites...) | ||
| 208 | Here, we use $CHKPRO to really determine access. */ | ||
| 209 | #define access sys_access | ||
| 210 | |||
| 211 | #define PAGESIZE 512 | ||
| 212 | |||
| 213 | #define _longjmp longjmp | ||
| 214 | #define _setjmp setjmp | ||
| 215 | |||
| 216 | globalref char sdata[]; | ||
| 217 | #define DATA_START (((int) sdata + 511) & ~511) | ||
| 218 | #define TEXT_START 512 | ||
| 219 | |||
| 220 | /* Baud-rate values from tty status are not standard. */ | ||
| 221 | |||
| 222 | #define BAUD_CONVERT \ | ||
| 223 | { 0, 50, 75, 110, 134, 150, 300, 600, 1200, 1800, \ | ||
| 224 | 2000, 2400, 3600, 4800, 7200, 9600, 19200 } | ||
| 225 | |||
| 226 | #define PURESIZE 132000 | ||
| 227 | |||
| 228 | /* Stdio FILE type has extra indirect on VMS, so must alter this macro. */ | ||
| 229 | |||
| 230 | #define PENDING_OUTPUT_COUNT(FILE) ((*(FILE))->_ptr - (*(FILE))->_base) | ||
diff --git a/src/s/vms4-0.h b/src/s/vms4-0.h new file mode 100644 index 00000000000..3f11a3de30a --- /dev/null +++ b/src/s/vms4-0.h | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | #include "vms.h" | ||
| 2 | #define VMS4_0 | ||
diff --git a/src/s/vms4-2.h b/src/s/vms4-2.h new file mode 100644 index 00000000000..e632b87e09f --- /dev/null +++ b/src/s/vms4-2.h | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | #include "vms.h" | ||
| 2 | #define VMS4_2 | ||
| 3 | |||
diff --git a/src/s/vms4-4.h b/src/s/vms4-4.h new file mode 100644 index 00000000000..c0f60900d53 --- /dev/null +++ b/src/s/vms4-4.h | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | #include "vms.h" | ||
| 2 | #define VMS4_4 | ||
| 3 | |||
diff --git a/src/s/xenix.h b/src/s/xenix.h new file mode 100644 index 00000000000..83d48a1b56e --- /dev/null +++ b/src/s/xenix.h | |||
| @@ -0,0 +1,238 @@ | |||
| 1 | /* Definitions file for GNU Emacs running SCO Xenix 386 Release 2.2 | ||
| 2 | Copyright (C) 1988 Free Software Foundation, Inc. | ||
| 3 | |||
| 4 | This file is part of GNU Emacs. | ||
| 5 | |||
| 6 | GNU Emacs is free software; you can redistribute it and/or modify | ||
| 7 | it under the terms of the GNU General Public License as published by | ||
| 8 | the Free Software Foundation; either version 1, or (at your option) | ||
| 9 | any later version. | ||
| 10 | |||
| 11 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | GNU General Public License for more details. | ||
| 15 | |||
| 16 | You should have received a copy of the GNU General Public License | ||
| 17 | along with GNU Emacs; see the file COPYING. If not, write to | ||
| 18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | ||
| 19 | |||
| 20 | /* | ||
| 21 | * Define symbols to identify the version of Unix this is. | ||
| 22 | * Define all the symbols that apply correctly. | ||
| 23 | */ | ||
| 24 | |||
| 25 | /* #define UNIPLUS */ | ||
| 26 | #define XENIX | ||
| 27 | #define USG5 | ||
| 28 | #define USG | ||
| 29 | /* #define HPUX */ | ||
| 30 | /* #define UMAX */ | ||
| 31 | /* #define BSD4_1 */ | ||
| 32 | /* #define BSD4_2 */ | ||
| 33 | /* #define BSD4_3 */ | ||
| 34 | /* #define BSD */ | ||
| 35 | /* #define VMS */ | ||
| 36 | |||
| 37 | /* SYSTEM_TYPE should indicate the kind of system you are using. | ||
| 38 | It sets the Lisp variable system-type. */ | ||
| 39 | |||
| 40 | #define SYSTEM_TYPE "xenix" | ||
| 41 | |||
| 42 | /* NOMULTIPLEJOBS should be defined if your system's shell | ||
| 43 | does not have "job control" (the ability to stop a program, | ||
| 44 | run some other program, then continue the first one). */ | ||
| 45 | |||
| 46 | #define NOMULTIPLEJOBS | ||
| 47 | |||
| 48 | /* Emacs can read input using SIGIO and buffering characters itself, | ||
| 49 | or using CBREAK mode and making C-g cause SIGINT. | ||
| 50 | The choice is controlled by the variable interrupt_input. | ||
| 51 | Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) | ||
| 52 | |||
| 53 | SIGIO can be used only on systems that implement it (4.2 and 4.3). | ||
| 54 | CBREAK mode has two disadvatages | ||
| 55 | 1) At least in 4.2, it is impossible to handle the Meta key properly. | ||
| 56 | I hear that in system V this problem does not exist. | ||
| 57 | 2) Control-G causes output to be discarded. | ||
| 58 | I do not know whether this can be fixed in system V. | ||
| 59 | |||
| 60 | Another method of doing input is planned but not implemented. | ||
| 61 | It would have Emacs fork off a separate process | ||
| 62 | to read the input and send it to the true Emacs process | ||
| 63 | through a pipe. | ||
| 64 | */ | ||
| 65 | |||
| 66 | /* #define INTERRUPT_INPUT */ | ||
| 67 | |||
| 68 | /* Letter to use in finding device name of first pty, | ||
| 69 | if system supports pty's. 'p' means it is /dev/ptyp0 */ | ||
| 70 | |||
| 71 | /* #define FIRST_PTY_LETTER 'p' */ | ||
| 72 | |||
| 73 | /* | ||
| 74 | * Define HAVE_TERMIO if the system provides sysV-style ioctls | ||
| 75 | * for terminal control. | ||
| 76 | */ | ||
| 77 | |||
| 78 | #define HAVE_TERMIO | ||
| 79 | |||
| 80 | /* | ||
| 81 | * Define HAVE_TIMEVAL if the system supports the BSD style clock values. | ||
| 82 | * Look in <sys/time.h> for a timeval structure. | ||
| 83 | */ | ||
| 84 | |||
| 85 | /* #define HAVE_TIMEVAL */ | ||
| 86 | |||
| 87 | /* | ||
| 88 | * Define HAVE_SELECT if the system supports the `select' system call. | ||
| 89 | */ | ||
| 90 | |||
| 91 | /* #define HAVE_SELECT */ | ||
| 92 | |||
| 93 | /* | ||
| 94 | * Define HAVE_PTYS if the system supports pty devices. | ||
| 95 | */ | ||
| 96 | |||
| 97 | /* #define HAVE_PTYS */ | ||
| 98 | |||
| 99 | /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | ||
| 100 | |||
| 101 | /* #define HAVE_SOCKETS */ | ||
| 102 | |||
| 103 | /* | ||
| 104 | * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate | ||
| 105 | * The 4.2 opendir, etc., library functions. | ||
| 106 | */ | ||
| 107 | |||
| 108 | #define NONSYSTEM_DIR_LIBRARY | ||
| 109 | |||
| 110 | /* Define this symbol if your system has the functions bcopy, etc. */ | ||
| 111 | |||
| 112 | /* #define BSTRING */ | ||
| 113 | |||
| 114 | /* subprocesses should be defined if you want to | ||
| 115 | have code for asynchronous subprocesses | ||
| 116 | (as used in M-x compile and M-x shell). | ||
| 117 | This is supposed to work now on system V release 2. */ | ||
| 118 | |||
| 119 | #define subprocesses | ||
| 120 | |||
| 121 | /* If your system uses COFF (Common Object File Format) then define the | ||
| 122 | preprocessor symbol "COFF". */ | ||
| 123 | |||
| 124 | /* #define COFF */ | ||
| 125 | |||
| 126 | /* Xenix requires completely different unexec code | ||
| 127 | which lives in a separate file. Specify the file name. */ | ||
| 128 | |||
| 129 | #define UNEXEC unexenix.o | ||
| 130 | |||
| 131 | /* define MAIL_USE_FLOCK if the mailer uses flock | ||
| 132 | to interlock access to /usr/spool/mail/$USER. | ||
| 133 | The alternative is that a lock file named | ||
| 134 | /usr/spool/mail/$USER.lock. */ | ||
| 135 | |||
| 136 | #define MAIL_USE_FLOCK | ||
| 137 | |||
| 138 | /* Define CLASH_DETECTION if you want lock files to be written | ||
| 139 | so that Emacs can tell instantly when you try to modify | ||
| 140 | a file that someone else has modified in his Emacs. */ | ||
| 141 | |||
| 142 | /* The way this is implemented requires long filenames... */ | ||
| 143 | /* #define CLASH_DETECTION */ | ||
| 144 | |||
| 145 | /* Define SHORTNAMES if the C compiler can distinguish only | ||
| 146 | short names. It means that the stuff in ../shortnames | ||
| 147 | must be run to convert the long names to short ones. */ | ||
| 148 | |||
| 149 | /* #define SHORTNAMES */ | ||
| 150 | |||
| 151 | /* We do not use the Berkeley (and usg5.2.2) interface to nlist. */ | ||
| 152 | |||
| 153 | /* #define NLIST_STRUCT */ | ||
| 154 | |||
| 155 | /* Compensate for one incompatibility between Xenix and V.0. */ | ||
| 156 | #define n_zeroes n_name[0] | ||
| 157 | |||
| 158 | /* The file containing the kernel's symbol table is called /xenix. */ | ||
| 159 | |||
| 160 | #define KERNEL_FILE "/xenix" | ||
| 161 | |||
| 162 | /* The symbol in the kernel where the load average is found | ||
| 163 | is named avenrun. */ | ||
| 164 | |||
| 165 | #define LDAV_SYMBOL "_avenrun" | ||
| 166 | |||
| 167 | /* Special hacks needed to make Emacs run on this system. */ | ||
| 168 | |||
| 169 | /* | ||
| 170 | * Make the sigsetmask function go away. Don't know what the | ||
| 171 | * ramifications of this are, but doesn't seem possible to | ||
| 172 | * emulate it properly anyway at this point. | ||
| 173 | */ | ||
| 174 | |||
| 175 | #define sigsetmask(mask) /* Null expansion */ | ||
| 176 | |||
| 177 | /* setjmp and longjmp can safely replace _setjmp and _longjmp, | ||
| 178 | but they will run slower. */ | ||
| 179 | |||
| 180 | #define _setjmp setjmp | ||
| 181 | #define _longjmp longjmp | ||
| 182 | |||
| 183 | /* On USG systems the system calls are interruptable by signals | ||
| 184 | that the user program has elected to catch. Thus the system call | ||
| 185 | must be retried in these cases. To handle this without massive | ||
| 186 | changes in the source code, we remap the standard system call names | ||
| 187 | to names for our own functions in sysdep.c that do the system call | ||
| 188 | with retries. */ | ||
| 189 | |||
| 190 | #define read sys_read | ||
| 191 | #define open sys_open | ||
| 192 | #define write sys_write | ||
| 193 | |||
| 194 | #define INTERRUPTIBLE_OPEN | ||
| 195 | #define INTERRUPTIBLE_IO | ||
| 196 | |||
| 197 | /* On USG systems these have different names */ | ||
| 198 | |||
| 199 | #define index strchr | ||
| 200 | #define rindex strrchr | ||
| 201 | |||
| 202 | /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ | ||
| 203 | |||
| 204 | #define ADDR_CORRECT(x) (x) | ||
| 205 | |||
| 206 | /* Prevent -lg from being used for debugging. Not implemented? */ | ||
| 207 | |||
| 208 | #define LIBS_DEBUG | ||
| 209 | |||
| 210 | /* Switches for linking temacs. */ | ||
| 211 | |||
| 212 | #define LD_SWITCH_SYSTEM -i | ||
| 213 | |||
| 214 | /* Xenix implements sysV style IPC. */ | ||
| 215 | |||
| 216 | #define HAVE_SYSVIPC | ||
| 217 | |||
| 218 | /* Use terminfo instead of termcap. */ | ||
| 219 | |||
| 220 | /* Tell Emacs to use Terminfo. */ | ||
| 221 | |||
| 222 | #define TERMINFO | ||
| 223 | |||
| 224 | /* Tell Xenix curses to BE Terminfo. */ | ||
| 225 | #define M_TERMINFO | ||
| 226 | |||
| 227 | /* Control program name for etc/fakemail to run. */ | ||
| 228 | |||
| 229 | #ifdef SMAIL | ||
| 230 | #define MAIL_PROGRAM_NAME "/usr/bin/smail -q0" | ||
| 231 | #else | ||
| 232 | #define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail" | ||
| 233 | #endif | ||
| 234 | |||
| 235 | /* Some variants have TIOCGETC, but the structures to go with it | ||
| 236 | are not declared. */ | ||
| 237 | |||
| 238 | #define BROKEN_TIOCGETC | ||