/* machine description file for Sun 4 SPARC.
- Copyright (C) 1987 Free Software Foundation, Inc.
+ Copyright (C) 1987, 2002 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
+the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
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 line tells the configuration script what sort of
operating system this machine is likely to run.
-opsystem=bsd4-2 for earlier versions.
NOTE-END */
-/* The following three symbols give information on
- the size of various data types. */
+/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+ is the most significant byte. */
-#define SHORTBITS 16 /* Number of bits in a short */
-
-#define INTBITS 32 /* Number of bits in an int */
-
-#define LONGBITS 32 /* Number of bits in a long */
-
-/* SPARC has lowest-numbered byte as most significant */
-
-#define BIG_ENDIAN
+#define WORDS_BIG_ENDIAN
/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
* group of arguments and treat it as an array of the arguments. */
#define sparc
#endif
-#ifdef __GNUC__
-# define C_OPTIMIZE_SWITCH -O
-#else
- /* This level of optimization is reported to work. */
-# define C_OPTIMIZE_SWITCH -O2
-#endif
-
/* Use type int rather than a union, to represent Lisp_Object */
#define NO_UNION_TYPE
#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
-/* Define C_ALLOCA if this machine does not support a true alloca
- and the one written in C should be used instead.
- Define HAVE_ALLOCA to say that the system provides a properly
- working alloca function and it should be used.
- Define neither one if an assembler-language alloca
- in the file alloca.s should be used. */
-
-#define HAVE_ALLOCA
+#ifndef NOT_C_CODE
+#if __GNUC__ < 2 /* Modern versions of GCC handle alloca directly. */
#include <alloca.h>
-
-/* Must use the system's termcap, if we use any termcap.
- It does special things. */
-
-#ifndef TERMINFO
-#define LIBS_TERMCAP -ltermcap
+#endif
#endif
/* Mask for address bits within a memory segment */
#define PURESIZE 130000
#endif
+#if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__)
+/* This really belongs in s/sun.h. */
+
/* Say that the text segment of a.out includes the header;
the header actually occupies the first few bytes of the text segment
and is counted in hdr.a_text. */
/* This is the offset of the executable's text, from the start of the file. */
#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
+
+#endif /* not __NetBSD__ and not __linux__ and not __OpenBSD__ */
+
+#ifdef __arch64__ /* GCC, 64-bit ABI. */
+#define BITS_PER_LONG 64
+#ifndef _LP64
+#define _LP64 /* Done on Alpha -- not sure if it
+ should be here. -- fx */
+#endif
+#endif