]> code.delx.au - gnu-emacs/blobdiff - src/m/iris4d.h
(LD_SWITCH_MACHINE): Conditionalize this
[gnu-emacs] / src / m / iris4d.h
index 420092e81e174f6e7f076f0922bb134c50aab70a..129206d0e8047e14f284b8957de7b0ee53a41dce 100644 (file)
@@ -1,4 +1,4 @@
-/* machine description file for Iris-4D machines.  Use with s/irix[45]-*.h.
+/* machine description file for Iris-4D machines.  Use with s/irix*.h.
    Copyright (C) 1987 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -15,18 +15,10 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 
-/* The following three symbols give information on
- the size of various data types.  */
-
-#define SHORTBITS 16           /* Number of bits in a short */
-
-#define INTBITS 32             /* Number of bits in an int */
-
-#define LONGBITS 32            /* Number of bits in a long */
-
 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
    is the most significant byte.  */
 
@@ -61,7 +53,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define NO_UNION_TYPE
 
 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
-   the 24-bit bit field into an int.  In other words, if bit fields
+   the bit field into an int.  In other words, if bit fields
    are always unsigned.
 
    If you use NO_UNION_TYPE, this flag does not matter.  */
@@ -121,7 +113,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #ifdef USG5_4
 #undef UNEXEC
-#define UNEXEC unexelfsgi.o
+#define UNEXEC unexsgi.o
 #else
 #define UNEXEC unexmips.o
 #endif
@@ -129,9 +121,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define TEXT_START 0x400000
 
 /*
- * DATA_SEG_BITS forces that bit to be or'd in with any pointers which
- * are trying to access pure strings (as gnu-emacs only allows 24 bits
- * for the value field of a LISP_OBJECT).
+ * DATA_SEG_BITS forces extra bits to be or'd in with any pointers which
+ * were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for
+ * the value field of a LISP_OBJECT).
  */
 
 #define DATA_START 0x10000000
@@ -139,7 +131,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #undef LIBS_MACHINE
 /* -lsun in case using Yellow Pages for passwords.  */
-#define LIBS_MACHINE -lsun -lmld
+#if defined(__GNUC__) && defined(_ABIN32)
+#define LIBS_MACHINE
+#else
+#define LIBS_MACHINE -lmld
+#endif
 #define LIBS_DEBUG
 
 /* Define this if you have a fairly recent system,
@@ -171,26 +167,28 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* Define STACK_DIRECTION for alloca.c */
 
+#undef STACK_DIRECTION
 #define STACK_DIRECTION -1
 \f
 /* The standard definitions of these macros would work ok,
    but these are faster because the constants are short.  */
 
-#define XUINT(a) (((unsigned)(a) << INTBITS-VALBITS) >> INTBITS-VALBITS)
+#define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)
 
 #define XSET(var, type, ptr) \
-   ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << INTBITS-VALBITS) >> INTBITS-VALBITS))
-
-#define XSETINT(a, b)  XSET(a, XTYPE(a), b)
-#define XSETUINT(a, b) XSET(a, XTYPE(a), b)
-#define XSETPNTR(a, b) XSET(a, XTYPE(a), b)
+   ((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS))
 
 #define XMARKBIT(a) ((a) < 0)
 #define XSETMARKBIT(a,b) ((a) = ((a) & ~MARKBIT) | ((b) ? MARKBIT : 0))
-#define XUNMARK(a) ((a) = (((unsigned)(a) << INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS))
+#define XUNMARK(a) ((a) = (((unsigned)(a) << BITS_PER_INT-GCTYPEBITS-VALBITS) >> BITS_PER_INT-GCTYPEBITS-VALBITS))
 
 #ifndef __GNUC__
 /* Turn off some "helpful" error checks for type mismatches
    that we can't fix without breaking other machines.  */
-#define C_SWITCH_MACHINE -cckr
+#ifdef IRIX_FORCE_32_BITS
+#ifdef THIS_IS_MAKEFILE
+#define C_SWITCH_MACHINE -32
 #endif
+#endif
+
+#endif /* not __GNUC__ */