1/* machine description file for Silicon Graphics Iris 2500 Turbos; 2 also possibly for non-turbo Irises with system release 2.5. 3 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 4 2005, 2006, 2007 Free Software Foundation, Inc. 5 6This file is part of GNU Emacs. 7 8GNU Emacs is free software; you can redistribute it and/or modify 9it under the terms of the GNU General Public License as published by 10the Free Software Foundation; either version 2, or (at your option) 11any later version. 12 13GNU Emacs is distributed in the hope that it will be useful, 14but WITHOUT ANY WARRANTY; without even the implied warranty of 15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16GNU General Public License for more details. 17 18You should have received a copy of the GNU General Public License 19along with GNU Emacs; see the file COPYING. If not, write to 20the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 21Boston, MA 02110-1301, USA. */ 22 23 24/* The following line tells the configuration script what sort of 25 operating system this machine is likely to run. 26 USUAL-OPSYS="note" 27NOTE-START 28Version 18 said to work; use -opsystem=irist3-5 for system version 2.5 29and -opsystem=iris3-6 for system versions 3.6 and up. 30NOTE-END */ 31 32#if 0 33 Message-Id: <8705050653.AA20004@orville.arpa> 34 Subject: gnu emacs 18.41 on iris [23].5 machines 35 Date: 04 May 87 23:53:11 PDT (Mon) 36 From: raible@orville.arpa 37 38 Aside from the SIGIOT, I know of only one bug, a real strange one: 39 I wrote a utimes interface, which copies elements from timevals 40 to utimbufs. This code is known good. The problem is that in 41 emacs, the utime doesn't seem to take effect (i.e. doesn't change the 42 dates at all) unless I call report_file_error *after* the utime returns! 43 44 if (utime (name, &utb) < 0) 45 return; 46 else 47 /* XXX XXX XXX */ 48 /* For some reason, if this is taken out, then the utime above breaks! */ 49 /* (i.e. it doesn't set the time. This just makes no sense... */ 50 /* Eric - May 4, 1987 */ 51 report_file_error ("Worked just find\n", Qnil); 52 53 Without any sort of debugger that works on emacs (I know... but I dont have 54 *time* right now to start with gdb), it was quite time consuming to track 55 it down to this. 56 57 But since this code is only used for an optional 4th argument to one command 58 (copy-file), it would say that it is non-critical... 59#endif /* 0 */ 60 61/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word 62 is the most significant byte. */ 63 64#define WORDS_BIG_ENDIAN 65 66/* Define NO_ARG_ARRAY if you cannot take the address of the first of a 67 * group of arguments and treat it as an array of the arguments. */ 68 69/* #define NO_ARG_ARRAY */ 70 71/* Define WORD_MACHINE if addresses and such have 72 * to be corrected before they can be used as byte counts. */ 73 74/* #define WORD_MACHINE */ 75 76/* Now define a symbol for the cpu type, if your compiler 77 does not define it automatically: 78 Ones defined so far include vax, m68000, ns16000, pyramid, 79 orion, tahoe, APOLLO and many others */ 80 81#ifndef m68000 82#define m68000 83#endif 84 85/* Use type int rather than a union, to represent Lisp_Object */ 86/* This is desirable for most machines. */ 87 88#define NO_UNION_TYPE 89 90/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 91 the 24-bit bit field into an int. In other words, if bit fields 92 are always unsigned. 93 94 If you use NO_UNION_TYPE, this flag does not matter. */ 95 96#define EXPLICIT_SIGN_EXTEND 97 98/* Data type of load average, as read out of kmem. */ 99 100#define LOAD_AVE_TYPE long 101 102/* Convert that into an integer that is 100 for a load average of 1.0 */ 103 104#define FSCALE 1.0 105#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 106 107/* Define CANNOT_DUMP on machines where unexec does not work. 108 Then the function dump-emacs will not be defined 109 and temacs will do (load "loadup") automatically unless told otherwise. */ 110 111/* #define CANNOT_DUMP */ 112 113/* Define VIRT_ADDR_VARIES if the virtual addresses of 114 pure and impure space as loaded can vary, and even their 115 relative order cannot be relied on. 116 117 Otherwise Emacs assumes that text space precedes data space, 118 numerically. */ 119 120/* #define VIRT_ADDR_VARIES */ 121 122/* Define NO_REMAP if memory segmentation makes it not work well 123 to change the boundary between the text section and data section 124 when Emacs is dumped. If you define this, the preloaded Lisp 125 code will not be sharable; but that's better than failing completely. */ 126 127/* #define NO_REMAP */ 128 129/* There is an inconsistency between the sgi assembler, linker which barfs 130 on these. */ 131 132#define internal_with_output_to_temp_buffer stupid_long_name1 133#define Finsert_abbrev_table_description stupid_long_name2 134 135/* arch-tag: 4076b26c-1fe6-4c28-94f3-3c863f074767 136 (do not change this comment) */ 137