Mercurial > emacs
annotate src/s/aix4-2.h @ 107521:54f3a4d055ee
Document font-use-system-font.
* cmdargs.texi (Font X): Move most content to Fonts.
* frames.texi (Fonts): New node. Document font-use-system-font.
* emacs.texi (Top):
* xresources.texi (Table of Resources):
* mule.texi (Defining Fontsets, Charsets): Update xrefs.
| author | Chong Yidong <cyd@stupidchicken.com> |
|---|---|
| date | Sat, 20 Mar 2010 13:24:06 -0400 |
| parents | 1d1d5d9bd884 |
| children | ed20cbe62401 376148b31b5e |
| rev | line source |
|---|---|
| 96303 | 1 /* |
| 106815 | 2 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 96303 | 3 Free Software Foundation, Inc. |
| 4 | |
| 5 This file is part of GNU Emacs. | |
| 6 | |
| 7 GNU Emacs is free software: you can redistribute it and/or modify | |
| 8 it under the terms of the GNU General Public License as published by | |
| 9 the Free Software Foundation, either version 3 of the License, or | |
| 10 (at your option) any later version. | |
| 11 | |
| 12 GNU Emacs is distributed in the hope that it will be useful, | |
| 13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 GNU General Public License for more details. | |
| 16 | |
| 17 You should have received a copy of the GNU General Public License | |
| 18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |
| 19 | |
| 20 /* | |
| 21 * Define symbols to identify the version of Unix this is. | |
| 22 * Define all the symbols that apply correctly. | |
| 23 */ | |
| 24 | |
| 25 #define USG /* System III, System V, etc */ | |
| 26 #define USG5 | |
| 27 | |
| 28 /* This symbol should be defined on AIX Version 3 ??????? */ | |
| 29 #ifndef _AIX | |
| 30 #define _AIX | |
| 31 #endif | |
| 32 | |
| 33 /* SYSTEM_TYPE should indicate the kind of system you are using. | |
| 34 It sets the Lisp variable system-type. */ | |
| 35 | |
| 36 #define SYSTEM_TYPE "aix" | |
| 37 | |
| 38 /* In AIX, you allocate a pty by opening /dev/ptc to get the master side. | |
| 39 To get the name of the slave side, you just ttyname() the master side. */ | |
| 40 | |
| 41 #define PTY_ITERATION for (c = 0; !c ; c++) | |
| 42 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc"); | |
| 43 #define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd)); | |
| 44 | |
| 45 /* | |
| 46 * Define HAVE_TERMIO if the system provides sysV-style ioctls | |
| 47 * for terminal control. | |
| 48 */ | |
| 49 | |
| 50 #define HAVE_TERMIOS | |
| 51 | |
| 52 /* | |
| 53 * Define HAVE_PTYS if the system supports pty devices. | |
| 54 */ | |
| 55 | |
| 56 #define HAVE_PTYS | |
| 57 | |
| 58 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ | |
| 59 | |
| 60 #define HAVE_SOCKETS | |
| 61 | |
| 62 | |
| 63 /* | |
| 64 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir | |
| 65 * library functions. Almost, but not quite the same as | |
| 66 * the 4.2 functions | |
| 67 */ | |
| 68 | |
| 69 #define SYSV_SYSTEM_DIR | |
| 70 | |
| 71 /* Define this symbol if your system has the functions bcopy, etc. */ | |
| 72 | |
| 73 #define BSTRING | |
| 74 | |
| 75 /* The file containing the kernel's symbol table is called /unix. */ | |
| 76 | |
| 77 #define KERNEL_FILE "/unix" | |
| 78 | |
| 79 /* The symbol in the kernel where the load average is found | |
| 80 is named avenrun. */ | |
| 22824 | 81 |
| 96303 | 82 #define LDAV_SYMBOL "avenrun" |
| 83 | |
| 84 /* Special itemss needed to make Emacs run on this system. */ | |
| 85 | |
| 86 #ifndef __GNUC__ | |
| 87 #define LINKER cc | |
| 88 #endif | |
| 89 | |
| 90 /* Prevent -lg from being used for debugging. Not needed. */ | |
| 91 | |
| 92 #define LIBS_DEBUG | |
| 93 | |
| 94 /* No need to specify -lc when linking. */ | |
| 95 | |
| 96 #define LIB_STANDARD | |
| 97 | |
| 98 /* Use terminfo instead of termcap. */ | |
| 99 | |
| 100 #define TERMINFO | |
| 101 | |
| 102 /* The following definition seems to be needed in AIX version 3.1.6.8. | |
| 103 It may not have been needed in certain earlier versions. */ | |
| 104 #define HAVE_TCATTR | |
| 105 | |
| 106 /* Include unistd.h, even though we don't define POSIX. */ | |
| 107 #define NEED_UNISTD_H | |
| 108 | |
| 109 /* AIX doesn't define this. */ | |
| 110 #define unix 1 | |
| 111 | |
| 112 #ifndef __GNUC__ | |
| 113 /* Some programs in src produce warnings saying certain subprograms | |
| 114 are to comples and need a MAXMEM value greater than 2000 for | |
| 115 additional optimization. --nils@exp-math.uni-essen.de */ | |
| 116 #define C_SWITCH_SYSTEM -ma -qmaxmem=4000 | |
| 117 #endif | |
| 118 | |
| 119 /* string.h defines rindex as a macro, at least with native cc, so we | |
| 120 lose declaring char * rindex without this. | |
| 121 It is just a guess which versions of AIX need this definition. */ | |
| 122 #undef HAVE_STRING_H | |
| 123 | |
| 124 /* For AIX, it turns out compiling emacs under AIX 3.2.4 REQUIRES "cc -g" | |
| 125 because "cc -O" crashes. Under AIX 3.2.5, "cc -O" is required because | |
| 126 "cc -g" crashes. Go figure. --floppy@merlin.mit.edu */ | |
| 127 /* The above isn't generally true. If it occurs with some compiler | |
| 128 release, seek a fixed version, be it XLC or GCC. The XLC version | |
| 129 isn't tied to the OS version on AIX any more than elsewhere. XLC | |
| 130 (the IBM compiler) can use -g with -O. (-O3 is also a possibility | |
| 131 for the optimization level.) -- fx, after David Edelsohn. */ | |
| 132 #define C_DEBUG_SWITCH -g -O | |
| 133 | |
| 134 /* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */ | |
| 135 #define SIGNALS_VIA_CHARACTERS | |
| 136 #define MAIL_USE_LOCKF | |
| 137 #define CLASH_DETECTION | |
| 138 | |
| 139 /* Perry Smith <pedz@ddivt1.austin.ibm.com> says these are correct. */ | |
| 140 #define POSIX_SIGNALS | |
| 141 #undef sigmask | |
| 142 | |
| 143 /* olson@mcs.anl.gov says -li18n is needed by -lXm. */ | |
| 144 #define LIB_MOTIF -lXm -li18n | |
| 145 | |
| 146 #ifndef HAVE_LIBXMU | |
| 147 #define LIBXMU | |
| 148 | |
| 149 /* Unfortunately without libXmu we cannot support EditRes. */ | |
| 150 #define NO_EDITRES | |
| 151 #endif | |
| 52401 | 152 |
|
65657
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
153 /* On AIX Emacs uses the gmalloc.c malloc implementation. But given |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
154 the way this system works, libc functions that return malloced |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
155 memory use the libc malloc implementation. Calling xfree or |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
156 xrealloc on the results of such functions results in a crash. |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
157 |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
158 One solution for this could be to define SYSTEM_MALLOC here, but |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
159 that does not currently work on this system. |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
160 |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
161 It is possible to completely override the malloc implementation on |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
162 AIX, but that involves putting the malloc functions in a shared |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
163 library and setting the MALLOCTYPE environment variable to point to |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
164 tha shared library. |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
165 |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
166 Emacs currently calls xrealloc on the results of get_current_dir name, |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
167 to avoid a crash just use the Emacs implementation for that function. |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
168 */ |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
169 #define BROKEN_GET_CURRENT_DIR_NAME 1 |
|
c6e45e9a83bf
* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
170 |
| 52401 | 171 /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 |
| 172 (do not change this comment) */ |
