annotate src/s/sol2-6.h @ 108561:23f4cd23ea89

merge trunk
author Kenichi Handa <handa@etlken>
date Fri, 14 May 2010 13:15:58 +0900
parents b9b3b94979ee
children 9bb47406ffb6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
1 /* Definitions file for GNU Emacs running on Solaris 2.6.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
2
108310
17d73312ed65 Move TERMINFO, LIBS_TERMCAP from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108234
diff changeset
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
17d73312ed65 Move TERMINFO, LIBS_TERMCAP from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108234
diff changeset
4 2008, 2009, 2010 Free Software Foundation, Inc.
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
5
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
6 This file is part of GNU Emacs.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
7
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
8 GNU Emacs is free software: you can redistribute it and/or modify
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
9 it under the terms of the GNU General Public License as published by
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
10 the Free Software Foundation, either version 3 of the License, or
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
11 (at your option) any later version.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
12
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
13 GNU Emacs is distributed in the hope that it will be useful,
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
16 GNU General Public License for more details.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
17
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
18 You should have received a copy of the GNU General Public License
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
20
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
21 #include "usg5-4.h"
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
22
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
23 #define SOLARIS2
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
24
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
25 /* This triggers a conditional in xfaces.c. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
26 #define XOS_NEEDS_TIME_H
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
27
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
28 #define POSIX
47342
5bdc7af4b905 Fix typo. Add comment.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47336
diff changeset
29
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
30 /* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
31 ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
32 (e.g., by config.h). */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
33 #ifndef HAVE_LIBKSTAT
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
34 #define HAVE_LIBKSTAT
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
35 #endif
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
36
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
37 /* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
38 XIM support. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
39 #define INHIBIT_X11R6_XIM
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
40
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
41 /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
108234
06c34f190db1 Remove POSIX_SIGNALS.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 108073
diff changeset
42 rather than sighold/sigrelse, which appear to be BSD4.1 specific.
06c34f190db1 Remove POSIX_SIGNALS.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 108073
diff changeset
43 It may also be appropriate for SVR4.x
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
44 (x<2) but I'm not sure. fnf@cygnus.com */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
45 /* This sets the name of the slave side of the PTY. On SysVr4,
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
46 grantpt(3) forks a subprocess, so keep sigchld_handler() from
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
47 intercepting that death. If any child but grantpt's should die
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
48 within, it should be caught after sigrelse(2). */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
49
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
50 #define PTY_TTY_NAME_SPRINTF \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
51 { \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
52 char *ptsname (), *ptyname; \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
53 \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
54 sigblock (sigmask (SIGCLD)); \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
55 if (grantpt (fd) == -1) \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
56 { emacs_close (fd); return -1; } \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
57 sigunblock (sigmask (SIGCLD)); \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
58 if (unlockpt (fd) == -1) \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
59 { emacs_close (fd); return -1; } \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
60 if (!(ptyname = ptsname (fd))) \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
61 { emacs_close (fd); return -1; } \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
62 strncpy (pty_name, ptyname, sizeof (pty_name)); \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
63 pty_name[sizeof (pty_name) - 1] = 0; \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
64 }
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
65
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
66 /* This is the only known way to avoid some crashes
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
67 that seem to relate to screwed up malloc data
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
68 after deleting a frame. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
69 /* rms: I think the problems using ralloc had to do with system
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
70 libraries that called the system malloc even if we linked in the
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
71 GNU malloc. I could not see any way to fix the problem except to
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
72 have just one malloc and that had to be the system one. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
73 /* This is not always necessary. Turned off at present for testers to
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
74 identify any problems with gmalloc more accurately. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
75 /* #define SYSTEM_MALLOC */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
76
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
77 /* Probably OK also on earlier versions. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
78 #define GC_SETJMP_WORKS 1
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
79 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47473
diff changeset
80
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47473
diff changeset
81 /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47473
diff changeset
82 (do not change this comment) */