home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / emacs-18.59-src.tgz / emacs-18.59-src.tar / fsf / emacs18 / src / m-ibmrs6000.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  5KB  |  152 lines

  1. /* R2 AIX machine/system dependent defines
  2.    Copyright (C) 1988 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.  
  21. /* The following three symbols give information on
  22.  the size of various data types.  */
  23.  
  24. #define SHORTBITS 16        /* Number of bits in a short */
  25.  
  26. #define INTBITS 32        /* Number of bits in an int */
  27.  
  28. #define LONGBITS 32        /* Number of bits in a long */
  29.  
  30. /* Define BIG_ENDIAN iff lowest-numbered byte in a word
  31.    is the most significant byte.  */
  32.  
  33. #define BIG_ENDIAN 4321
  34.  
  35. /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
  36.  * group of arguments and treat it as an array of the arguments.  */
  37.  
  38. #define NO_ARG_ARRAY
  39.  
  40. /* Define how to take a char and sign-extend into an int.
  41.    On machines where char is signed, this is a no-op.  */
  42.  
  43. #define SIGN_EXTEND_CHAR(c) ((((int) (c)) << 24) >> 24)
  44.  
  45. /* Now define a symbol for the cpu type, if your compiler
  46.    does not define it automatically.  */
  47.  
  48. #define IBMR2AIX
  49.  
  50. /* Use type int rather than a union, to represent Lisp_Object */
  51. /* This is desirable for most machines.     */
  52.  
  53. #define NO_UNION_TYPE
  54.  
  55. /* Define CANNOT_DUMP on machines where unexec does not work.
  56.    Then the function dump-emacs will not be defined
  57.    and temacs will do (load "loadup") automatically unless told otherwise.  */
  58. /* #define CANNOT_DUMP */
  59.  
  60. #define UNEXEC unexaix.o
  61.  
  62. /* Define addresses, macros, change some setup for dump */
  63.  
  64. #define NO_REMAP
  65.  
  66. #define TEXT_START 0x10000000
  67. #define TEXT_END 0
  68. #define DATA_START 0x20000000
  69. #define DATA_END 0
  70.  
  71. /* The data segment in this machine always starts at address 0x20000000.
  72.    An address of data cannot be stored correctly in a Lisp object;
  73.    we always lose the high bits.  We must tell XPNTR to add them back.    */
  74.  
  75. #define DATA_SEG_BITS 0x20000000
  76.  
  77. #ifdef CANNOT_DUMP
  78. /* Define shared memory segment symbols */
  79.  
  80. #define PURE_SEG_BITS 0x30000000
  81.  
  82. /* Use shared memory.  */
  83. /* This is turned off because it does not always work.    See etc/AIX.DUMP.  */
  84. /* #define HAVE_SHM */
  85. #define SHMKEY 5305035        /* used for shared memory code segments */
  86. #endif /* CANNOT_DUMP */
  87.  
  88. #define N_BADMAG(x) BADMAG(x)
  89. #define N_TXTOFF(x) A_TEXTPOS(x)
  90. #define N_SYMOFF(x) A_SYMPOS(x)
  91. #define A_TEXT_OFFSET(HDR) sizeof(HDR)
  92. /* #define ADJUST_EXEC_HEADER \
  93.     unexec_text_start += sizeof(hdr); \
  94.     unexec_data_start = ohdr.a_dbase
  95. */
  96. #undef ADDR_CORRECT
  97. #define ADDR_CORRECT(x) ((int)(x))
  98.  
  99. /* Define C_ALLOCA if this machine does not support a true alloca
  100.    and the one written in C should be used instead.
  101.    Define HAVE_ALLOCA to say that the system provides a properly
  102.    working alloca function and it should be used.
  103.    Define neither one if an assembler-language alloca
  104.    in the file alloca.s should be used.     */
  105.  
  106. #define C_ALLOCA
  107. #define STACK_DIRECTION -1 /* tell alloca.c which way it grows */
  108.  
  109. /* Specify the font for X to use.  */
  110.  
  111. #define X_DEFAULT_FONT "Rom14.500"
  112.  
  113. /* Here override various assumptions in ymakefile */
  114.  
  115. #define OBJECTS_MACHINE hftctl.o
  116. /* C_SWITCH_MACHINE used to have -D_BSD, but chip@tct.com says no need.  */
  117. #define C_SWITCH_MACHINE
  118. #define LIBS_MACHINE -lrts
  119. #define START_FILES
  120. #define HAVE_DUP2
  121. #define HAVE_GETTIMEOFDAY
  122. #define HAVE_SYSVIPC
  123. #define HAVE_SETSID
  124. #define HAVE_GETWD
  125. /*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
  126. #define BROKEN_FIONREAD
  127. #define NO_SIOCTL_H
  128.  
  129. #undef LINKER
  130. #define LINKER cc -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp
  131.  
  132. /* The header files seem to be from X11R4, but the library is not.
  133.    So don don't use the r4 library features.  */
  134.  
  135. #ifndef SPECIFY_X11R4
  136. #define SPECIFY_X11R4 0
  137. #endif
  138.  
  139. #ifdef __STDC__
  140. #ifndef DONT_DEFINE_SIGNAL
  141. /* Cast the function argument to avoid warnings.  */
  142. #define signal(sig, func) (signal (sig, (void (*) (int)) (func)))
  143. #endif
  144. #endif
  145.  
  146. #if 0 /* s-aix3-1.h seems to do this.  */
  147. /* Special way to find a pty.  */
  148. #define PTY_ITERATION        for (i = 0; i < 4; ++i)
  149. #define PTY_NAME_SPRINTF     strcpy (pty_name, "/dev/ptc");
  150. #define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
  151. #endif
  152.