home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / emacs / src / m-next.h < prev    next >
C/C++ Source or Header  |  1995-03-21  |  4KB  |  134 lines

  1. /* Configuration file for NeXT machine.
  2.    Copyright (C) 1990 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 1, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /* Say this machine is a next if not previously defined */
  21.  
  22. #ifndef NeXT
  23. #define NeXT
  24. #endif
  25.  
  26. /* The following three symbols give information on
  27.  the size of various data types.  */
  28.  
  29. #define SHORTBITS 16        /* Number of bits in a short */
  30.  
  31. #define INTBITS 32        /* Number of bits in an int */
  32.  
  33. #define LONGBITS 32        /* Number of bits in a long */
  34.  
  35. /* Note: Byte sex is now indicated using the __BIG_ENDIAN__ and
  36.  * __LITTLE_ENDIAN__ defines due to conflicts with machine/endian.h's
  37.  * use of BIG_ENDIAN and LITTLE_ENDIAN.
  38.  */
  39.  
  40. /* Taking a pointer to the first arg doesn't guarantee a pointer to the
  41.  * arg list on these machines...
  42.  */
  43. #if defined(hppa) || defined(sparc)
  44. #define NO_ARG_ARRAY
  45. #endif
  46.  
  47. /* Define how to take a char and sign-extend into an int.
  48.    On machines where char is signed, this is a no-op.  */
  49.  
  50. #define SIGN_EXTEND_CHAR(c) (c)
  51.  
  52. /* Use type int rather than a union, to represent Lisp_Object */
  53.  
  54. #define NO_UNION_TYPE
  55.  
  56. /* XINT must explicitly sign-extend */
  57.  
  58. #define EXPLICIT_SIGN_EXTEND
  59.  
  60. /* Data type of load average, as read out of kmem.  */
  61.  
  62. #define LOAD_AVE_TYPE long
  63.  
  64. /* Convert that into an integer that is 100 for a load average of 1.0  */
  65.  
  66. #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
  67.  
  68. /* Say that the text segment of a.out includes the header;
  69.    the header actually occupies the first few bytes of the text segment
  70.    and is counted in hdr.a_text.  */
  71.  
  72. #define A_TEXT_OFFSET(HDR) sizeof (HDR)
  73.  
  74. /* Use dk.h, not dkstat.h, in loadst.c.  */
  75.  
  76. #define DK_HEADER_FILE
  77.  
  78. /* Mask for address bits within a memory segment */
  79.  
  80. #define SEGSIZ 0x20000
  81. #define SEGMENT_MASK (SEGSIZ - 1)
  82.  
  83. #define HAVE_ALLOCA
  84.  
  85. #define SYSTEM_MALLOC
  86.  
  87. #define HAVE_UNIX_DOMAIN
  88.  
  89. #define LIB_X11_LIB -L/usr/lib/X11 -lX11
  90.  
  91. /* Conflicts in process.c between ioctl.h & tty.h use of t_foo fields */
  92.  
  93. #define NO_T_CHARS_DEFINES
  94.  
  95. /* Use our own unexec routines */
  96.  
  97. #define UNEXEC unexnext.o
  98.  
  99. /* We don't use _start, etext, or edata */
  100.  
  101. #define TEXT_START    NULL /* wrong: but nobody uses it anyway */
  102. #define TEXT_END    get_etext()
  103. #define DATA_END    get_edata()
  104.  
  105. /* We don't have a g library either, so override the -lg LIBS_DEBUG switch */
  106.  
  107. #define LIBS_DEBUG
  108.  
  109. /* We don't have a libgcc.a, so we can't let LIB_GCC default to -lgcc */
  110.  
  111. #define LIB_GCC
  112.  
  113. /* Compile "strict bsd" to avoid warnings from include files */
  114. /* Also, we can't dump ourselves in a dynashlib compatible fashion yet.. */
  115.  
  116. #define C_SWITCH_MACHINE    -static -bsd -O
  117. #define LD_SWITCH_MACHINE    -static
  118.  
  119. /* Link this program just by running cc.  */
  120. #define ORDINARY_LINK
  121.  
  122. /* This was needed before we used ORDINARY_LINK.  */
  123. #if 0
  124. /* Use our own crt0 routine */
  125. #define NO_REMAP
  126.  
  127. /* Standard library is libsys_s, not libc */
  128.  
  129. #define LIB_STANDARD -lsys_s
  130. #endif
  131.  
  132. /* Where to find the kernel, for load average.  */
  133. #define KERNEL_FILE "/mach"
  134.