home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / emacs / src / m-sun2.h < prev    next >
C/C++ Source or Header  |  1991-01-08  |  3KB  |  90 lines

  1. /* m- file for Sun 68000's OPERATING SYSTEM version 2.
  2.   Note that "m-sun2.h" refers to the operating system version, not the
  3.   CPU model number.  See the MACHINES file for details.
  4.    Copyright (C) 1985, 1986 Free Software Foundation, Inc.
  5.  
  6. This file is part of GNU Emacs.
  7.  
  8. GNU Emacs is free software; you can redistribute it and/or modify
  9. it under the terms of the GNU General Public License as published by
  10. the Free Software Foundation; either version 1, or (at your option)
  11. any later version.
  12.  
  13. GNU Emacs is distributed in the hope that it will be useful,
  14. but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. GNU General Public License for more details.
  17.  
  18. You should have received a copy of the GNU General Public License
  19. along with GNU Emacs; see the file COPYING.  If not, write to
  20. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  21.  
  22.  
  23. /* The following three symbols give information on
  24.  the size of various data types.  */
  25.  
  26. #define SHORTBITS 16        /* Number of bits in a short */
  27.  
  28. #define INTBITS 32        /* Number of bits in an int */
  29.  
  30. #define LONGBITS 32        /* Number of bits in a long */
  31.  
  32. /* 68000 has lowest-numbered byte as most significant */
  33.  
  34. #define BIG_ENDIAN
  35.  
  36. /* Define how to take a char and sign-extend into an int.
  37.    On machines where char is signed, this is a no-op.  */
  38.  
  39. #define SIGN_EXTEND_CHAR(c) (c)
  40.  
  41. /* Say this machine is a 68000 */
  42.  
  43. #ifndef m68000
  44. #define m68000
  45. #endif
  46.  
  47. /* Use type int rather than a union, to represent Lisp_Object */
  48.  
  49. #define NO_UNION_TYPE
  50.  
  51. /* Sun can't write competent compilers */
  52. #define COMPILER_REGISTER_BUG
  53.  
  54. /* XINT must explicitly sign-extend */
  55.  
  56. #define EXPLICIT_SIGN_EXTEND
  57.  
  58. /* Data type of load average, as read out of kmem.  */
  59.  
  60. #define LOAD_AVE_TYPE long
  61.  
  62. /* Convert that into an integer that is 100 for a load average of 1.0  */
  63.  
  64. #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
  65.  
  66. /* Say that this is a Sun 2; must check for and maybe reinitialize
  67.    the "sky" board.  */
  68.  
  69. #define sun2
  70.  
  71. /* Must use the system's termcap.  It does special things.  */
  72.  
  73. #define LIBS_TERMCAP -ltermcap
  74.  
  75. /* Mask for address bits within a memory segment */
  76.  
  77. #define SEGMENT_MASK (SEGSIZ - 1)
  78.  
  79. /* Arrange to link with sun windows, if requested.  */
  80. /* For details on emacstool and sunfns, see etc/SUN-SUPPORT */
  81. /* These programs require Sun UNIX 4.2 Release 3.2 or greater */
  82.  
  83. #ifdef HAVE_SUN_WINDOWS
  84. #define OTHER_FILES  ${etcdir}emacstool
  85. #define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect
  86. #define OBJECTS_MACHINE sunfns.o
  87. #define SYMS_MACHINE syms_of_sunfns ()
  88. #define PURESIZE 132000
  89. #endif
  90.