]> code.delx.au - gnu-emacs/blobdiff - src/m/intel386.h
* lisp.h:
[gnu-emacs] / src / m / intel386.h
index 0d2aacf8d192672b0349a8df30adc312df8d03ee..9353283c0b200b5bd145ee6c0b4a83b642672eaa 100644 (file)
@@ -1,13 +1,13 @@
 /* Machine description file for intel 386.
-   Copyright (C) 1987, 2002, 2003, 2004, 2005,
-                 2006 Free Software Foundation, Inc.
+   Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+                 200 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
-GNU Emacs is free software; you can redistribute it and/or modify
+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 2, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,9 +15,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
 /* The following line tells the configuration script what sort of
@@ -25,15 +23,14 @@ Boston, MA 02110-1301, USA.  */
    USUAL-OPSYS="note"
 
 NOTE-START
-Intel 386 (-machine=intel386 or -machine=is386.h)
+Intel 386 (-machine=intel386)
 
   The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3,
-  isc2-2, 386-ix, esix, linux, sco3.2v4, and xenix.
+  isc2-2, 386-ix, and linux.
 
   18.58 should support a wide variety of operating systems.
   Use isc2-2 for Interactive 386/ix version 2.2.
   Use 386ix for prior versions.
-  Use esix for Esix.
   Use linux for Linux.
   It isn't clear what to do on an SCO system.
 
@@ -50,7 +47,7 @@ Prime EXL (-machine=intel386 -opsystem=usg5-3)
   Minor changes merged in 19.1.
 NOTE-END */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
@@ -60,22 +57,6 @@ NOTE-END */
 
 /* #define NO_ARG_ARRAY */
 
-/* Define WORD_MACHINE if addresses and such have
- * to be corrected before they can be used as byte counts.  */
-
-/* #define WORD_MACHINE */
-
-/* Now define a symbol for the cpu type, if your compiler
-   does not define it automatically:
-   Ones defined so far include vax, m68000, ns16000, pyramid,
-   orion, tahoe, APOLLO and many others */
-
-#define INTEL386
-
-/* Use type int rather than a union, to represent Lisp_Object */
-
-#define NO_UNION_TYPE
-
 /* crt0.c, if it is used, should use the i386-bsd style of entry.
    with no extra dummy args.  On USG and XENIX,
    NO_REMAP says this isn't used. */
@@ -86,17 +67,6 @@ NOTE-END */
 
 #define DOT_GLOBAL_START
 
-#ifdef XENIX
-/* Data type of load average, as read out of kmem.  */
-#define LOAD_AVE_TYPE short
-
-/* Convert that into an integer that is 100 for a load average of 1.0  */
-#define LOAD_AVE_CVT(x) (((double) (x)) * 100.0 / FSCALE)
-
-#define FSCALE 256.0         /* determined by experimentation...  */
-#endif
-
-
 #ifdef SOLARIS2
 /* Data type of load average, as read out of kmem.  */
 #define LOAD_AVE_TYPE long
@@ -110,17 +80,6 @@ NOTE-END */
    And handa@etl.gov.jp says that -lkvm needs -llelf, at least on 2.5.  */
 #define LIBS_MACHINE -lkvm -lelf
 
-#ifndef SOLARIS2_4
-/* J.W.hawtin@lut.ac.uk says Solaris 2.1 on the X86 has FSCALE defined in a
-   system header. */
-#else /* SOLARIS2_4 */
-#ifndef __GNUC__
-#if 0 /* wisner@gryphon.com says this screws up cpp */
-#define C_SWITCH_MACHINE -Xa
-#endif
-#endif /* not __GNUC__ */
-#endif /* SOLARIS2_4 */
-
 /* configure thinks solaris X86 has gethostname, but it does not work,
    so undefine it.  */
 #undef HAVE_GETHOSTNAME
@@ -154,28 +113,6 @@ NOTE-END */
 
 /* #define VIRT_ADDR_VARIES */
 
-#ifdef XENIX
-/* Define NO_REMAP if memory segmentation makes it not work well
-   to change the boundary between the text section and data section
-   when Emacs is dumped.  If you define this, the preloaded Lisp
-   code will not be sharable; but that's better than failing completely.  */
-
-#define NO_REMAP
-
-/* Since cannot purify, use standard Xenix 386 startup code. */
-
-#define START_FILES    /lib/386/Sseg.o pre-crt0.o /lib/386/Scrt0.o
-
-/* These really use terminfo.  */
-
-#define LIBS_TERMCAP /lib/386/Slibcurses.a  \
-   /lib/386/Slibtinfo.a /lib/386/Slibx.a
-
-/* Standard libraries for this machine.  Since `-l' doesn't work in `ld'.  */
-/* '__fltused' is unresolved w/o Slibcfp.a */
-#define LIB_STANDARD /lib/386/Slibcfp.a /lib/386/Slibc.a
-#else /* not XENIX */
-
 /* this brings in alloca() if we're using cc */
 #ifdef USG
 #ifndef LIB_STANDARD
@@ -189,7 +126,6 @@ NOTE-END */
 #define NO_REMAP
 #define TEXT_START 0
 #endif /* USG */
-#endif /* not XENIX */
 
 #ifdef USG5_4
 #define DATA_SEG_BITS 0x08000000
@@ -214,5 +150,12 @@ NOTE-END */
 #define SEGMENT_MASK ((SEGMENT_SIZE)-1)
 #endif
 
+#if defined (MAC_OSX) || defined (DARWIN)
+#ifdef _LP64
+/* For Intel Mac, with CC='gcc -arch x86_64'.  */
+#define NO_ARG_ARRAY
+#endif
+#endif
+
 /* arch-tag: 746338f0-cb7b-4f49-a98c-cb50817cf2ec
    (do not change this comment) */